next up previous contents
Next: map_init Up: Routine/Function Prologues Previous: latlon_check   Contents

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

Area averaging routines These routines are used for area-average mapping of a field from one grid to another for the purposes of downscaling and using the fine mesh grid


USES:

   use clm_varpar   , only : numrad
   use clm_varctl   , only : iulog
   use domainMod    , only : domain_type, domain_setptrs, latlon_type
   use shr_const_mod, only : SHR_CONST_PI
   use shr_kind_mod , only : r8 => shr_kind_r8
   use spmdMod      , only : iam,masterproc
   use abortutils   , only : endrun
   use nanMod
PUBLIC TYPES:
   implicit none
   private
 
   type map_type
      private
      ! lower level in hierarchy
      character(len=32) :: name
      character(len=16) :: type        ! global, dst, src, etc
      integer           :: ni_i,nj_i   ! size of src grid ni,nj
      integer           :: ni_o,nj_o   ! size of dst grid ni,nj
      integer           :: nwts        ! size of row, col, S (local)
      integer , pointer :: src(:)      ! src index (COL)
      integer , pointer :: dst(:)      ! dst index (ROW)
      real(r8), pointer :: S(:)        ! wt of overlap input cell
      integer           :: dstmo       ! max num of overlaps of dst cell
   end type map_type
   public map_type
 
   type(map_type),public        :: map1dl_a2l   ! a2l mapping 1d loc glo to gdc
   type(map_type),public        :: map1dl_l2a   ! l2a mapping 1d loc gdc to glo
 
   character(len=16),parameter,public :: map_typelocal  = 'local'
   character(len=16),parameter,public :: map_typeglobal = 'global'
PUBLIC MEMBER FUNCTIONS:
   public :: map_init
   public :: map_setptrs
   public :: map_setmapsFM
   public :: map_setgatmFM
   public :: map_maparrayl
   public :: map_maparrayg
 
   interface map_maparrayl
      module procedure map_maparrayl_arr
      module procedure map_maparrayl_rev
      module procedure map_maparrayl_av
   end interface
REVISION HISTORY:
   Created by Sam Levis
   Updated to clm2.1 data structures by Mariana Vertenstein
   2005.11.01 Updated and cleaned by T Craig
PRIVATE MEMBER FUNCTIONS:




Subsections

Erik Kluzek 2011-06-15