Handle arrays used for exchanging data between glc and land model. Based on clm_atmlnd (but without mapping routines because glc data is send and received on the lnd decomposition, at least for now).
The fields sent from the lnd component to the glc component via the coupler are labeled 's2x', or sno to coupler. The fields received by the lnd component from the glc component via the coupler are labeled 'x2s', or coupler to sno. 'Sno' is a misnomer in that the exchanged data are related to the ice beneath the snow, not the snow itself. But by CESM convention, 'ice' refers to sea ice, not land ice.
USES:
use decompMod , only : get_proc_bounds, get_proc_bounds_atm use shr_kind_mod, only : r8 => shr_kind_r8 use nanMod , only : nan use spmdMod , only : masterproc use clm_varctl , only : iulog use clm_varctl , only : glc_necREVISION HISTORY:
Created by William Lipscomb, Dec. 2007, based on clm_atmlnd.F90.PUBLIC TYPES:
implicit none ---------------------------------------------------- glc -> land variables structure ---------------------------------------------------- type glc2lnd_type real(r8), pointer :: frac(:,:) real(r8), pointer :: topo(:,:) real(r8), pointer :: rofi(:,:) real(r8), pointer :: rofl(:,:) real(r8), pointer :: hflx(:,:) end type glc2lnd_type ---------------------------------------------------- land -> glc variables structure ---------------------------------------------------- type lnd2glc_type real(r8), pointer :: tsrf(:,:) real(r8), pointer :: topo(:,:) real(r8), pointer :: qice(:,:) end type lnd2glc_type type (lnd2glc_type), public, target :: clm_s2x ! s2x fields on clm grid type (glc2lnd_type), public, target :: clm_x2s ! x2s fields on clm grid type (lnd2glc_type), public, target :: atm_s2x ! s2x fields on atm grid type (glc2lnd_type), public, target :: atm_x2s ! x2s fields on atm gridPUBLIC MEMBER FUNCTIONS:
public :: init_glc2lnd_type public :: init_lnd2glc_type public :: clm_maps2x public :: clm_mapx2sPRIVATE MEMBER FUNCTIONS: