6.3 Sympl and CliMT: Building Model Hierarchies, the Python Way.

Tuesday, 9 January 2018: 11:00 AM
Room 8 ABC (ACC) (Austin, Texas)
Joy Merwin Monteiro, Stockholm Univ., Stockholm, Sweden; and R. Caballero and J. McGibbon

Sympl (System for Modelling Planets) and CliMT (Climate Modelling and diagnostics Toolkit) represent an attempt to rethink climate modelling frameworks from the ground up. The aim is to use expressive data structures available in the Scientific Python ecosystem along with best practices in software design to build models that are self-documenting, highly interoperable and modular. We believe that such an approach towards building models is essential, especially given the recent interest in using a hierarchy of models to improve our understanding of Earth and planetary climates.


Sympl is a framework which formulates the model in terms of a "state" which gets evolved forward in time by TimeStepper and Implicit components, and can be modified by Diagnostic components. Components contain all the information about the kinds of inputs they expect and outputs that they provide. Components can be used interchangeably, even when they rely on different units or array configurations. Sympl provides basic functions and objects which could be used by any type of Earth system model.

CliMT is an earth system model that contains scientific components built over the Sympl base objects. Components can be written in any language accessible from Python, and Fortran/C libraries are accessed via Cython. CliMT provides different user APIs which tradeoff simplicity of use against flexibility of model building, thus appealing to a wide audience. This flexibility of usage ensures CliMT is easy to use both in the classroom and for non-trivial research problems. Our attempts to interface Fortran model components in CliMT make clear implicit assumptions underlying traditional climate models, some advantageous and others not very.

Model building, configuration and execution is through a Python script (or Jupyter Notebook), enabling researchers to build an end to end Python based pipeline along with popular Python based data analysis tools. Because of the modularity of the individual components, using online data analysis, visualization or assimilation algorithms and tools with Sympl/CliMT components is extremely simple.

- Indicates paper has been withdrawn from meeting
- Indicates an Award Winner