next up previous contents
Next: init_glc2lnd_type Up: Routine/Function Prologues Previous: write_diagnostic   Contents

Fortran: Module Interface clm_glclnd (Source File: clm_glclnd.F90)

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.


   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_nec
   Created by William Lipscomb, Dec. 2007, based on clm_atmlnd.F90.
   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 grid
   public :: init_glc2lnd_type
   public :: init_lnd2glc_type
   public :: clm_maps2x
   public :: clm_mapx2s


Erik Kluzek 2011-06-15