.. ARIA SIMPAC platform documentation mapdata service file, created by simpac@aria.fr 01/2021. ============================= SIMPAC detailled Architecture ============================= .. Note:: The following section will present the Architecture of the SIMPAC platform. --------------------------------------------- General Architecture -------------------- .. figure:: ./images/Imageppt1.png :align: center :width: 50ex Architecture client-server: Solution SaaS .. admonition:: 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. .. admonition:: 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. .. figure:: ./images/Imageppt2.png :align: center :width: 80ex General Architecture of the SIMPAC platform. .. figure:: ./images/Imageppt3.png :align: center :width: 80ex Detailed architecture of the platform. --------------------------------------------- FrontEnd infrastructure ----------------------- .. figure:: ./images/Imageppt4.png :align: center :width: 80ex FrontEnd infrastructure --------------------------------------------- Middleware / BackEnd infrastructure powered by container -------------------------------------------------------- .. figure:: ./images/Imageppt9.png :align: center :width: 80ex Bash scripts calling the container .. figure:: ./images/Imageppt10.png :align: center :width: 80ex 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. .. figure:: ./images/Imageppt12.png :align: center :width: 50ex 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 .. figure:: ./images/Imageppt13.png :align: center :width: 80ex Focus on the monitor routine