-
Notifications
You must be signed in to change notification settings - Fork 207
Developers Introduction
CIME Development typically occurs in one of 3 areas: the Case Control System, the data models and the coupler/driver.
The Case class is the heart of the CIME Case Control system. All interactions with a Case take part through this class. All of the variables used to create and manipulate a case are defined in xml files and for every xml file there is a python class to interact with that file.
XML files which are part of the CIME distribution and are meant to be readonly with respect to a case are typically named config_something.xml and the corresponding python Class is Something and can be found in file CIME.XML.something.py. We refer to these as the CIME config classes.
XML files which are part of a case and thus are read/write to a case are typically named env_whatever.xml and the cooresponding python modules are CIME.XML.env_whatever.py and classes are EnvWhatever. We refer to these as the Case env classes.
The Case Class includes an array of the Case env classes, in the configure function and it's supporting functions defined below the case object creates and manipulates the Case env classes by reading and interpreting the CIME config classes.