Skip to content

Dependencies

FireTristan edited this page Nov 9, 2020 · 6 revisions

Note: this overview is preliminary and will be adapted in the future.

While using PROPTI, there are some dependencies to be aware of:

  • Propti is written in Python 3.6.
  • Python packages necessary:
    • numpy
    • pandas
    • scipy
    • matplotlib
    • typing
    • spotpy >=1.5
  • SPOTPY is used as algorithm library and some other functionality, like MPI execution of algorithms and creating data bases.
  • For parallel computing, mpi4py is used.
  • FDS needs to be compiled without MPI (serial).

It may be helpful to install the Anaconda distribution of Python 3.6. By using "pip", SPOTPY can be easily installed.

MPI

When SPOTPY is to be used in a parallel computing setup, where FDS simulations need to be conducted for the different threads, some difficulties are encountered. Mainly, because FDS can see all the available threads and it stops since the available number is higher than the amount needed by the given FDS instance. To avoid this, one could either compile a FDS version without the MPI functionality (serial version, as it was called in earlier verions of FDS) or one needs to have SPOTPY/PROPTI open new environments for the SPOTPY threads in which the different FDS instances are executed. For Linux there is an example batch script provided. This batch script needs to be called in the PROPTI input.py file as the model_executable in the SimulationSetup, see here. Obviously, the content of said script needs to be customised according to your system.

When setting up mpi4py under Windows, some issues have been encountered in the past. Some resources that might be helpful for debugging the issues could be:

Zenodo DOI: DOI

Clone this wiki locally