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

Read more

Summary

Introduction

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

Objectives
Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call