SIMPAC detailled Architecture¶
Note
The following section will present the Architecture of the SIMPAC platform.
General Architecture¶

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.

General Architecture of the SIMPAC platform.¶

Detailed architecture of the platform.¶
Middleware / BackEnd infrastructure powered by container¶

Bash scripts calling the container¶

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.

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

Focus on the monitor routine¶