An Automation is a mechanism to replay a specific scenario which has been already defined. Automation can be used :
Automation supports input variations. This allow to play the same scenario with different parameters combination. This can be usefull to do for instance a sensitivity analysis on a particular model.
Menu Project → Automation → Import
You can use internal variable in the string values:
To generate a list of values at once, use the following syntax: [inf:sup:step]
.
Example: [2.0:3.0:0.2]
will generate 2.0, 2.2, 2.4, 2.6, 2.8.
To run an automation with 4 threads
Under linux:
sh capsis.sh -p automation tmp/test.xml 4 output.txt
Under windows
capsis -p automation tmp/test.xml 4 output.txt
The 2 classes should implement the interface Automatable
The class fields should be annotated to define how they should be processed.
@Ignore
: not a parameter.@Param
: a parameter (optional).@RecursiveParam
: allows to edit sub object field.@ListParam
: allows to change list element.Use the @Ignore annotation if a class field should not be considered as a parameter.
You will need to add these imports:
Exemple
class MyInitParam extends AbstractSettings implements InitialParameters, Automatable { @Param public String filename; @RecursiveParam public PlotDescription plotDesc; @ListParam public List<TreePosition> treePositions; @Ignore public GScene stand; }
The extension classes should also implement the Automatable interface. Class field should also be annotated.
Note : PaleoExtension are not supported.