...
By default, all recorded items are returned, as configured from within the Source application (Running scenarios). Alternatively, you can specify specific items to record by using a command line argument:
...
The next example runs the project from start to finish and puts all recorded values in the file ‘test.csv’.
Code Block |
---|
>RiverSystem.CommandLine.exe -p "C:\ProjectDir\test.rsproj" -o test.csv Loading 100% Meta-Parameters: + $inflow -r "Forest\Catchment for node #2\Quick Flow\Flow" + Straight-Through Routing\Default Link #1\Upstream Flow Volume + Straight-Through Routing\Default Link #1\Downstream Flow Volume + Straight-Through Routing\Default Link #1\Mass Balance + Inflow\Inflow 1\Upstream Flow Volume + Inflow\Inflow 1\Downstream Flow Volume + Inflow\Inflow 1\Inflow Volume + Inflow\Inflow 1\Mass Balance + Gauge\Gauge 2\Upstream Flow Volume + Gauge\Gauge 2\Mass Balance + Global Expressions\$inflow\Value Running 100% |
...
Display option commands | Function | Example | |||||
---|---|---|---|---|---|---|---|
-p, --project | Path to project, or project name on server followed by these optional parameters: scenario within that project, start and end times, name of data input set | -p "projectName.rsproj" or -p "c:\somePath\projectName.rsproj;someScenarioName;1/1/2011;31/12/2011;dry" | |||||
-m, --mode | Application mode Client/Server/InProcess. | -m Client or -m Server | |||||
-d, --directory | Directory in which to look for projects. | -d "c:\ProjectFiles" | |||||
-o, --output | File to save output into. The extension selects the output format based on the standard TIME I/O formats. A directory of the name specifed will be created if the format only supports a single time series. | -o "output.res.csv" for CSV or -o "output.nc" for NetCDF etc. | |||||
-r, --results | Which results to return. This can appear multiple times.
| -r "someResult" -r "someOtherResult" | |||||
-v, --value | Set value of meta-parameter or internal setting. | -v "$metaparam=25", or -v "$anotherMetaParam=2.3" | |||||
-s, --step | Number of time-steps to run. | --step 1 | |||||
-t, --reset | Reset the loaded project. | ||||||
-e, --timeout | Operation timeout for WCF service in seconds. | -e 2000 | |||||
-b, -baseSIUnits | Ignore units set within project and output base SI units | ||||||
-a, --address | Address for server to create, or client to connect. | -a "net.pipe://localhost/PipeReverse" or "net.tcp://localhost:8523/eWater/Services/RiverSystemService" |
PEST calibration using the command line
PEST (Parameter ESTimation and uncertainty analysis) allows analysis of complex environmental models, and can be used in Source for calibration of catchments. You can use the command line to do calibration and uncertainty in a catchments model. The steps to do the calibration are as follows:
- Starting with a Source Catchment project file, use the new calibration tool to set up ‘global expressions’ for the parameters of the rainfall runoff models. When defining the metaparameters in the Calibration Wizard, the list of Existing Metaparameters will be used in the parameter file for invoking riversystem.commandline;
- Turn on any recorders for the hydrological quantities that will be used in the objective function. In step 4 of the Calibration Wizard, choose Manual optimisation and enable Create global expressions for use from an external tool;
- Save the project;
- Set up the Riversystem.Commandline input file;
- Setup the PEST input and template files;
- Prepare a batch file to invoke the commandline and pre-processors; and
- Run PEST.
Once the Calibration wizard has been set up, start the command line server (riversystem.commandline -p projectname.rsproj -m server) and then PEST (pest pestcontrolfile.pst).
Batch
runsrunning using the command line
You can undertake thousands of different model runs, each with varying time series inputs. This can be accomplished by running multiple instances on a single server (locally - one per CPU), or over a cluster of servers (across a network).
To undertake a batch run, you must:
- Configure the script settings directly;
- Pass a .cmd settings file to the script; or
- Run a simple GUI for editing configurations and running them (this has not been implemented in Source 3.5.0).
The parameters required to configure a local batch run are summarised in Table 2.
Table 2. Parameters for Local Run Settings
Parameter | Description | Example |
---|---|---|
Server.Exe | Location of the RiverSystem.CommandLine.exe that will be run for the server. This should be the same as ClientExe when running locally or a path than can be reached from the server. | \\Server\Source\RiverSystem.Commandline.exe |
ProjectFile | The template project file that will be run on the server. The file location (including the directory tree) will be copied multiple times and merged with the directories from InputDir. | \ExampleMasterProject\Batch.rsproj |
ProjectDestinationDir | The working location that should be accessible from the Server and client machines. Files from the InputDir will be copied to this location to change input files. | \\Server\Volume_1\ExampleProjectLoadLocation |
InputDir | Contains a directory for each run. Files that change should be in these directories, and are copied to the ProjectDestinationDir during a run. | |
OutputDir | The location that output files from runs are saved in the form Result_nameOfInputDir. | |
NumServers | The number of servers that will be started for the job to be distributed over. |
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Please see /wiki/spaces/SD50/pages/50137610 in the Source community for details and an example.