Thursday, October 29, 2015

CLM Modules

by Jen Jefferson
Keywords: CLM, modules, flowchart, steps

At some point when using PF-CLM you might want to know more about the data that is output to you. For example, you might want to know how CLM is computing a particular quantity of interest or what value is being used for a constant within the code. In order to do so you are going to need to know where to look!

CLM is called as a subroutine within PF and consists of a series of modules that contain a lot of equations (too many to count!). These equations are used to parameterize land surface processes and, in some cases, use soil moisture information that is passed from PF to CLM. PF is coupled to a modified version of CLM 3.0 as its “base” [Dai et al., 2001, 2003]; where PF replaces the subsurface and certain equations within the CLM modules have been modified to include soil moisture.

The flowchart below shows the general order of how computations within CLM are executed. A brief description and list of some of the variables computed in each module are also included.

The actual modules can be located in the “clm” folder (e.g., …/ParF/parflow/pfsimulator/clm). A couple other files might be of interest if you decide to dig into the modules:
   1.     A list of global CLM variables (denoted by clm%abc) and their units can be found in clm_typini.F90. Keep in mind that there are several variables computed within the modules that are not global variables. 
   2.     A list of constant values used in computations are located in clm_varcon.F90.

References
Dai, Y., X. Zeng, and R. E. Dickinson (2001), Common Land Model (CLM) 
Technical Documentation and User’s Guide.

Dai, Y. et al. (2003), The Common Land Model, Bull. Am. Meteorol. Soc., 84(8), 1013–1023, doi:10.1175/BAMS-84-8-1013.