The Higher Education and Research forge

Home My Page Projects Code Snippets Project Openings EMULSION public releases
Summary Activity Surveys SCM Listes Sympa

SCM Repository

1 ************
2 Installation
3 ************
5 Requirements
6 ************
8 System
9     EMULSION has been tested with **MacOS** and **Linux**. This
10     installation procedure works for both.
12     Also, in what follows, we assume you are working with a **bash**
13     shell. If you are not sure, typing: ``echo $SHELL`` should print
14     ``/bin/bash``. Otherwise, please refer to the documentation of
15     your shell to adapt the commands below.
17 Language
18     EMULSION is written in Python3 (version 3.6 or higher). In what
19     follows, we assume that ``python3`` and ``pip3`` refer to your
20     Python3 installation. If not, replace them by your own
21     configuration in the commands below.
23     To install Python on your system, please consult `Python website <https://www.python.org/downloads/>`_
27 Install with ``pip``
28 ********************
30 .. code-block:: bash
32    sudo pip3 install emulsion
33    init_emulsion
34    source $HOME/.basrc
36 The second command (``init_emulsion``) initializes command-line
37 completion (available with a bash shell, under Linux or MacOS) allows
38 to use ``TAB`` key to get suggestions on what is expected (options,
39 files, parameters...) in the command.
41 When installing with ``pip``, `documentation <https://sourcesup.renater.fr/emulsion-public>`_
42 is provided on-line.
45 Install with ``git``
46 ********************
48 #. Install ``git`` on your system (e.g. with Linux: ``sudo apt install git``)
50 #. Install (or update) required packages
52    .. code-block:: bash
54       sudo pip3 install numpy scipy matplotlib pandas 'sympy<1.3' mpmath
55       sudo pip3 install networkx docopt jinja2 textx
56       sudo pip3 install sortedcontainers tqdm pyyaml colorama
57       sudo pip3 install bokeh sqlalchemy utm
59 #. Clone the EMULSION repository
61    .. code-block:: bash
63       git clone https://git.renater.fr/emulsion-public.git
64       cd emulsion-public
66 #. Add the ``src`` directory to your ``PYTHONPATH`` environment
67    variable.
69    .. code-block:: bash
71       echo "export PYTHONPATH=$(pwd)/src" >>$HOME/.bashrc
73 #. Install command-line completion (optional but very convenient).
75    .. code-block:: bash
77       echo "source $(pwd)/src/emulsion/scripts/emulsion-completion.sh" >>$HOME/.bashrc
79    Command-line completion (available with a bash shell, under Linux
80    or MacOS) allows to use ``TAB`` key to get suggestions on what is
81    expected (options, files, parameters...) in the command.
83 #. Create command ``emulsion``:
85    .. code-block:: bash
87       echo "alias emulsion='python3 -m emulsion'" >>$HOME/.bashrc
89 #. Force the shell to update your init file:
91    .. code-block:: bash
93       source $HOME/.bashrc
96 Install third-party software
97 ****************************
99 `Graphviz <http://www.graphviz.org>`_ is highly recommended
100 (otherwise, simulations will run but you will not be able to get the
101 nice diagrams representing model structure).
103 To install on Linux:
105 .. code-block:: bash
107    sudo apt install graphviz
109 To install on MacOS, use for instance `homebrew <https://brew.sh/>`_
111 .. code-block:: bash
113    brew install graphviz
116 Test your installation
117 **********************
119 Download **model examples**
120 `here. <https://sourcesup.renater.fr/emulsion-public/models.zip>`_
122 Extract the archive, open a terminal in the ``models`` directory, then type:
124 .. code-block:: bash
126    cd quickstart
127    emulsion run --plot quickstart.yaml --view-model --silent
129 This should produce the following output::
131     Simulation level: herd
132     Generated state machine diagram img/Quickstart_age_group_machine.png
133     Generated state machine diagram img/Quickstart_life_cycle_machine.png
134     Generated state machine diagram img/Quickstart_health_state_machine.png
135     100%|*************************************************************| 10/10
136     Simulation finished in 9.48 s
137     Outputs stored in outputs/counts.csv
138     Outputs plot in file: img/Quickstart.html
140 and the following figures should appear in your navigator:
142 .. graphviz:: ../_images/Quickstart_age_group.dot
143    :align: center
145 .. image:: ../_images/Quickstart_JA.png
146    :align: left
148 .. graphviz:: ../_images/Quickstart_life_cycle.dot
149    :align: center
151 .. image:: ../_images/Quickstart_GNG.png
152    :align: left
154 .. graphviz:: ../_images/Quickstart_health_state.dot
155    :align: center
157 .. image:: ../_images/Quickstart_MSEIRQ.png
158    :align: left
160 .. image:: ../_images/Quickstart_others.png
161    :align: left