What is a script?
A script is a code block that contains a series of statements or procedure. A program causes the statements to be executed by calling the script and specifying any required arguments.
What are the uses of Scripts in the DSS?
In the DSS, scripts can be used to for the following various reasons:
· Automate repetitive tasks. Imagine you have daily task of checking daily rainfall data records of a number of catchment gauges. To do this, you can write a script to import and check this data using the DSS tools.
· Calculate the value of an indicator. For example, if you want to calculate the evaporation losses from a reservoir, you can write a script that processes the evaporation time series of this reservoir (i.e. using the reservoir model results) and then calculates the total evaporation losses from this reservoir.
· Create customized functionality in the DSS such as creating other Managers Tools, or model Adapters.
What is the 'Iron Python' scripting language?
Iron Python is the scripting language of the DSS. It is an open-source implementation of the Python programming language. Iron Python is integrated within the Microsoft .NET Framework and can use both the .NET Framework and Python libraries. Other .NET languages can also use Iron Python code. It is considered as an excellent addition to the .NET Framework, providing Python developers with the power of the .NET framework. Existing .NET developers can also use Iron Python as a fast and expressive scripting language for embedding, testing, or writing new applications. For more details about the language see the IronPython primer section
Script types in the DSS
The scripts in the DSS have the following two types:
· Scripts with no arguments (i.e. simple scripts) which does not need arguments (i.e. data) to be passed to it before running. So it is a self-contained script that has all the data and code that are needed to run.
· Scripts with arguments (i.e. complex scripts) which does need arguments (i.e. data) to be passed to it before running. Complex scripts usually return a value after running. So it is a self-contained in terms of code but not data. Data passed to a script may be a time series and values such as the maximum, minimum, average of a time series may be returned depending on what the script is designed to return. Complex scripts can also be perceived as functions that define relationships involving one or more variables (arguments).
 See more details at http://python.org/