SIMPAC detailled Architecture

Note

The following section will present the Architecture of the SIMPAC platform.


General Architecture

_images/Imageppt1.png

Architecture client-server: Solution SaaS

Advantages:

  • Cost optimisation of exploitation in the case of Cloud’ solution.

  • Accessibility: a Web browser and a connection to a network are enough.

  • One platform for multiple clients and users: Simplified maintenance and upgrades because only one source code to maintain.

Disadvantages:

  • Service’ suspension: if the server connection (local or cloud) breaks, all the fonctionnalities will be unavailable.

  • Safety and confidentiality: in case of Cloud hosting.

  • Compliance with the relevant gouvernmental regulations regarding data protection in the case of Cloud hosting.

  • Performance: Analysis of results through a web browser may be limited compared to client software.

_images/Imageppt2.png

General Architecture of the SIMPAC platform.

_images/Imageppt3.png

Detailed architecture of the platform.


FrontEnd infrastructure

_images/Imageppt4.png

FrontEnd infrastructure


Middleware / BackEnd infrastructure powered by container

_images/Imageppt9.png

Bash scripts calling the container

_images/Imageppt10.png

Python and Bash scripts called into the container


BackEnd Detailed description pre-processing SWIFT, SPRAY

Detailed of the launchsim.py functions.

  • readparamxml(…) : read the simulation type (SWIFT or SPRAY) in an XML exchange file.

  • readsitexml (…) : read the spatial area modeled in an XML exchange file.

  • readchronoxml (…) : read the modeled period in an XML exchange file.

  • readdispxml (…) : read the type of SPRAY simulation in an XML exchange file.

  • adjust_emis (…) : read the modeled emissions in an XML exchange file.

  • readmetheadxml (…) : read the meteo input specification in an XML exchange file.

  • LaunchSim (…) : Main function calls monitor.py.

_images/Imageppt12.png

Focus on launchSim subroutine


Detailed of the monitor.py functions.

  • readdispxml (…) : read the type of SPRAY simlation in an XML exchange file.

  • UpdateStatus (…) : Calls Web services updated the calculation status.

  • monitor (…) : Main, copy input files to tmp dir, launch CREATE_SWIFT.sh or CREATE_SPRAY.sh, copy output files to output dir.

    • Role: General Launcher, Switch among the different types of simulation according to specification written in the param.xml file.

    • Description:

      • Entry point of the preprocessor

      • Validation of working directories

        • Input:

          • /[rootdir]/interface/[hostname]/[userID]/[simID]/input

          • Clients files: param.xml, site.xml, …

        • Reading of parameters of the simulation in the XML file

        • Running the monitor routine

_images/Imageppt13.png

Focus on the monitor routine