Since version 4.4.2.1, ISIS-Fish now includes a new command line action to run simulation with existing region and a random prescript file.
Here is the command line that can be used from R:
java -jar target/isis-fish-4.4.x.y.jar --simulationWithRegionNameAndScript simulationID regionName prescriptPath
With:
isis-fish-4/isis-database/region
In the prescript file, the context
object (SimulationContext
) can be used to modify simulation before execution.
Keep in mind that, using simulationWithRegionNameAndScript
action, simulation parameters are totally empty
(no population, no strategie, no effective…), so your prescript will have to valuate them.
But your can restore a default “parameters.properties” to avoid a lot of coding using
SimulationParameter params = context.getSimulationStorage().getParameter();
Properties props = new Properties();
props.load(new FileReader(new File("/path/to/simulation/parameters.properties")));
params.setProperties(props);
Using context
and database DAO (data access object), you can manipulate all your region objects. For example
GearDAO dao = context.getGearDAO();
Gear engin = dao.findByName("Senne");
engin.setStandardisationFactor(0.01);
You also can import or use Matrix
to valuate your region's objects. For example, to change the capturability matrix
of a specific population:
PopulationDAO pDao = context.getPopulationDAO();
Population pop = pDao.findByName("Anchois_long");
MatrixND mCap = pop.getCapturability();
pop.setCapturabilityEquationUsed(false);
mCap.importCSV(new FileReader("/path/to/csv/file.csv"), new int[] {0, 0});
In case you need to use a dynamic parameter to generate or read external file in prescript depending of a specific simulation execution, you can use the simulation name:
String simulationName = context.getSimulationStorage().getName();