French Forest Sector Model (FFSM++)

Laboratoire d'Economie Forestière - LEF - Nancy, France

User Tools

Site Tools


en:doc:installation

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

en:doc:installation [2018/06/18 16:45] (current)
Line 1: Line 1:
 +====== Installing and running FFSM++ ======
 +
 +===== Installing the compiled software =====
 +
 +FFSM, as any model developed in C++, must be firstly compiled for the specific environment in use. For windows users a pre-compiled version of the model is provided in a self-installation package that take care of installing the dependencies.\\
 +Just run the installer, choose the components to install (next Figure) and the FFSM program will be available within the installed programs.\\
 +For Linux users pre-compiled packages can be released at user's request.\\
 +{{ :​en:​dev:​ffsm_installation_screenshot.png |FFSM++ installer for windows, component selection page.}}
 +
 +
 +===== Running the model =====
 +
 +==== Gui mode ====
 +
 +Clicking on the FFSM icon allows the software to open in GUI mode (next Figure). From here we can load a new data input file (or leave the default one at ''​data/​ffsmInput.ods''​) and start the simulation with the “play” button”.\\
 +We will then be presented with a pop-up to choose between the available scenarios in the loaded input file and continue.\\
 +During the proceeding of the simulation we can observe its status loading any of the layers using the drop-down menu,  analyse the live logs or retrieve any pixel detail right clicking on it.\\
 +At any time we can either pause the simulation or abort it.
 +
 +At the end of the simulation, provided that we have a compatible spreadsheet application with macro enabled, we can click on the results button to analyse the results directly on it.
 +
 +{{ :​en:​dev:​ffsm_gui_screenshot.png |GUI screenshot of FFSM++}}
 +
 +
 +==== Command line options ====
 +
 +FFSM has also a command line mode that is activable using the DOS or unix prompt.\\
 +It accepts the following options:
 +^ Short option version ​      ^ Long option version ​                 ^ Description ​                                                  ^
 +| ''​-h'' ​                    | ''​--help'' ​                          | Print the help                                                |
 +| ''​-c'' ​                    | ''​--console'' ​                       | Run in console mode (no gui, default: false) ​                 |
 +| ''​-i ​ [input_file_name]'' ​ | ''​--input_file ​ [input_file_name]'' ​ | Input file (relative path, default: '​data/​ffsmInput.ods'​) ​    |
 +| ''​-s [scenario_name]'' ​    | ''​--scenario [scenario_name]'' ​      | Scenario name (default: the first defined in the input file)  |
 +
 +Command line mode is very useful for unattended simulations of the model, e.g.  when working on sensitivity analysis that requires the run of many similar scenarios.\\
 +In such case it is advisable to prepare the desired scenarios in the input file and then run the model sequentially in a batch mode changing only the -s switch.
 +
 +While the program use a single process, in Linux you can use the following scripts to run several scenarios in parallel, hence benefitting of modern multi-core processes:
 +
 +<file bash run_single_scenario.sh>​
 +#!/bin/bash
 +
 +#​---------------------------------------
 +#  Shell script to run a single ffsm scenario, where the scenario name is the first argument.
 +#​---------------------------------------
 +
 +./ffsm -c -s $1 > logs/​${1}.txt
 +echo "Ended running scenario " $1
 +</​file>​
 +
 +<file bash runscenarios.sh>​
 +#!/bin/bash
 +
 +#​---------------------------------------
 +#  Shell script to run ffsm scenarios
 +#​---------------------------------------
 +
 +# Safe parallel..
 +./ffsm -c -s scenarioName1 > logs/​scenarioName1.txt &
 +./ffsm -c -s scenarioName2 > logs/​scenarioName2.txt &
 +
 +
 +# Running the same scenario (e.g. for repetitions) in parallel is safe as long as newRandomSeed
 +# is set to true and outputSingleFile is set to false..
 +for i in {1..30}
 +do
 +   ​./​ffsm -c -s randomSpace 1> /dev/null 2> /dev/null &
 +done
 +
 +# A better approach to run scenarios in parallel is using GNU parallel: you can set the maximum
 +# number of processes and then the jobs are put in a queue.
 +# In that case run this script as:
 +# parallel --jobs <n of jobs> -a runscenarios.sh ​
 +# and put something like this in the script
 +
 +./​run_single_scenario.sh '​scenarioName1'​
 +./​run_single_scenario.sh '​scenarioName2'​
 +</​file>​
  
en/doc/installation.txt · Last modified: 2018/06/18 16:45 (external edit)