|
PyCCSM
Overview of the PyCCSM codebase
IntroductionOverviewPython filesmain.py coupler.py flux.py frac.py cpl/ cpl/__init__.py cpl/attributevector.py - Python wrapper class for MCT.AttrVect object exported by Babel. cpl/bundle.py - Defunct "bundle" object. cpl/comm.py - Sets up communication at run time automatically. Essentially, a simple MPH replacement tailored to our appplication. cpl/const.py - Defines a series of physical constants, many simply refer to the values defined in cpl/shr/const.py cpl/contract.py - Defines the main coupler setup routines and intercommunication cpl/control.py - Defines a series of coupler control flags and a function for reading a namelist file cpl/debug.py - Defines a simple replacement for "print <msg>". i.e.: "debugPrint(<msg>)". cpl/decomposition.py - Defines the primary decomposition scheme used by domain objects along with placeholder functions for several other possible schemes. cpl/domain.py - A python wrapper class for the MCT.GlobalSegMap type exposed by Babel. cpl/error.py - Defines a number of coupler exceptions for the various classes. (AttributeVectorError, BundleError, etc). They provide a base to create customized exceptions for each class. cpl/fields.py - Defines a number of lists and dictionaries defining all the fields into and out of each component. This is just a simple translation of a fortran file. cpl/infobuffer.py - A complete reimplementation of the infobuffer class, which is not an MCT type, but a CPL6 type. cpl/interface.py - Placeholder for simple interface functions to be used by coupler.py. This file corresponds not to a MCT file but to a CPL6 file. cpl/map.py - A conversion of the CPL6 mapping routines. Uses MCT.SparseMatrix and Rearranger.py. cpl/rearranger.py - Wrapper class around MCT.Rearranger which is exported by Babel. cpl/timer.py - Pure python timer class. Used to do basic timings in the python coupler. cpl/shr/__init__.py cpl/shr/cal.py - Reimplementation of simple F90 file cpl_shr_cal.F90. This is a simplified julian calendar. cpl/shr/const.py - Simply defines a number of constants cpl/shr/date.py - A basic date class taht corresponds to cpl_shr_date.F90 (reimplemenation of a CPL6 file) cpl/shr/orb.py - Basic orbital physics functions (Reimplemented from CPL6) In-depthReimplemented from CPL6Basic Dependencies
Coupler
New Code
NewCouplerCode Dropped Code
Wrapped Babel+MCT types
For some justification of why these layers were deemed necessary take a look at WhyWrapBabelTypes |
Sign in to add a comment