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.


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_nec
REVISION 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 grid
PUBLIC MEMBER FUNCTIONS:
   public :: init_glc2lnd_type
   public :: init_lnd2glc_type
   public :: clm_maps2x
   public :: clm_mapx2s
PRIVATE MEMBER FUNCTIONS:




Subsections

Erik Kluzek 2011-06-15