Framework Aims |
Top Previous Next |
The implementation of SIMPLACE infrastructure primarily attempts to balance three paradigms: flexibility, performance and transparency:
Fig: Main paradigms of the technical implementation. The three paradigms contradict each other in parts, and promoting one weakens the other. It is, therefore, necessary to balance flexibility and performance (source: https://doi.org/10.1093/insilicoplants/diad006)
The flexibility to configure SIMPLACE according to the user's needs is implemented at all levels of the model application. Users, more specifically scientists and model developers, should not be limited by a fixed data format convention imposed by the platform but to use a variety of data formats directly from the original source (e.g. “raw data”) and according to their needs. Consequently, the platform should provide support for the various data harmonisation, aggregation and intermediate calculation steps needed to conform the ingested data to the targeted model structure (Porter et al. 2014). It may also support the creation of different data output formats and structures, as well as provide support to external interfaces (e.g. Python, R). To achieve model flexibility, whole models should be modularised to a level of granularity that allows the combination and exchange of multiple sub-models and the representation of a well-defined system in multiple ways and detail.
High flexibility generally comes at the expense of computing performance. Although typical simulation experiments can be easily handled on personal computers, SIMPLACE include features aimed at overcoming performance issues enabling computationally intensive applications (gridded simulations, model calibration, scenario analysis and uncertainty analysis). Features like flexible frequency of parameters update and multi-threading allow modellers to improve computational runtime performance (see Appendix B). Additionally, common computation performance practices are part of users' capacity building. The framework is also intended to be compatible with multiple platforms, allowing scalability of processing power, for example in High-Performance Computing (HPC) systems which are becoming more accessible in research facilities (Vetter 2013).
Transparency is a central aspect of the scientific field. Therefore, scientific modelling software should inevitably fulfil the paradigm of transparency, enabling scientists to clearly understand, reproduce and identify the limitations of a model framework (Janssen et al. 2017; Martre et al. 2018). The SIMPLACE infrastructure is developed as open-source software (GNU lesser public license) and is freely available to the modelling community (https://www.simplace.net/). Centralized and standard module documentations are maintained, with an explicit description of variables, constants and underlying units promoting transparency, assisting scientists in rapid model design (https://simplace.net/doc/simplace_modules/). The control of model versions and an open channel to report model issues facilitate the collaboration of model developers and the reproducibility of results. We also provide template simulation examples and protocols to document and maintain the quality of SIMPLACE components (Quality assurance).
*** It is highly recommended to visit the SIMPLACE Model Engine topic for a detailed description of how these paradigms are implemented