Abstract
Ocean models are long-living software systems facing challenges with increasing complexity, architecture erosion, and managing legacy code. These challenges increase maintenance costs in development and use, which reduces the time and resources available for research. Software engineering addresses these challenges by separation of concerns and modularization. One particular approach is to separate concerns by tailor-made notations, i.e. Domain-Specific Languages (DSLs). Using DSLs, the model developer can focus on one concern at a time without the need to consider other concerns of a software system simultaneously. In ocean and climate models, DSL tooling, like PSyclone and Dusk/Dawn, is used for instance to separate scientific and technical code. CP-DSL complements this approach with a focus on configuration and parametrization, which play an important role in ocean models, especially in parameter optimization and scenario-based simulations. CP-DSL is designed to be model agnostic and provides a unified interface to different ocean models. Furthermore, the DSL can be integrated into tools and processes used by domain experts. In this paper we report on the DSL design, implementation, and the evaluation with scientists and research software engineers. The implementation of CP-DSL is available as open source software and a replication package for configuration and parameterization of UVic and MITgcm is provided.
Highlights
15 Ocean modeling provides mathematical abstractions of the real ocean and builds software systems as implementations of these mathematical abstractions
30 While the aforementioned projects PSyclone and Dusk/Dawn address the discretization and implementation of Partial Differential Equations (PDEs), we focus in the present paper on the configuration and parametrization of ocean and climate models to supplement the whole process of development and application
We applied an iterative evaluation process where we evaluated CP-Domain-Specific Languages (DSLs) versions via user studies and interviews with domain experts
Summary
15 Ocean modeling provides mathematical abstractions of the real ocean and builds software systems as implementations of these mathematical abstractions. Ocean models are used to study the behavior of natural processes in the ocean, like currents, CO2 uptake, and growth of plankton. Due to the continually applied extensions and modifications over the years, ocean models face typical issues of long-living software, like code complexity, legacy code, architecture erosion; similar to software from other domains (Goltz et al, 2015). This impedes maintenance and hinders scientific progress as scientists spend extra time on technical problems rather than on scientific challenges
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.