!=============================================================================== ! SVN $Id: README 19883 2009-12-14 23:19:10Z erik $ ! SVN $URL: https://svn-ccsm-models.cgd.ucar.edu/csm_share/trunk_tags/share3_121022/README $ !=============================================================================== A description of csm_share This module exists to collect code shared between various CCSM components. Excluding this "shared code" module, CCSM components are built using disjoint sets of source code. The use of this shared code is similar to the use of object code libraries where each subdirectory of csm_share is equivalant to one library. While object library routines are accessed by linking to libraries during the load phase, these shared code routines are accessed by including the appropriate source code directory path during the compile phase. Motivation for this code sharing includes: - facilitating consistent physics between all models. For example, uniform solar-zenith-angle/orbital calculations and uniform physical constants. - providing an interface/API between component models and the flux-coupler component in the CCSM framework. - avoiding the need for redundant implementations of commonly needed functionality. For example netCDF file reading, basic mapping (re-gridding) functionality, and common character string manipulations. Current subsets ("libraries") of shared code only include: shr - very generic, general-purpose code that is likely to be useful to all CCSM components. CCSM components may be explicitly required to use some parts of this code, for example the physical constants module.