next up previous contents
Next: surfrd Up: Fortran: Module Interface surfrdMod Previous: surfrd_get_latlon   Contents

surfrd_get_grid


INTERFACE:

   subroutine surfrd_get_grid(domain,filename,beg,end,clmlevel)
DESCRIPTION:

This is called after the domain decomposition has been created Read the surface dataset grid related information: o real edges of grid o integer number of longitudes per latitude o real latitude of grid cell (degrees) o real longitude of grid cell (degrees) If grid is read in from dataset, grid is assumed to be global but does not have to be regular. If grid is generated by model, grid does not have to be global but must then define the north, east, south, and west edges:

o edges(1) = northern edge of grid (degrees): > -90 and <= 90 o edges(2) = eastern edge of grid (degrees) : see following notes o edges(3) = southern edge of grid (degrees): >= -90 and < 90 o edges(4) = western edge of grid (degrees) : see following notes

For partial grids, northern and southern edges are any latitude between 90 (North Pole) and -90 (South Pole). Western and eastern edges are any longitude between -180 and 180, with longitudes west of Greenwich negative. That is, western edge >= -180 and < 180; eastern edge > western edge and <= 180.

For global grids, northern and southern edges are 90 (North Pole) and -90 (South Pole). The western and eastern edges depend on whether the grid starts at Dateline or Greenwich. Regardless, these edges must span 360 degrees. Examples:

West edge East edge ------------------------- (1) Dateline : -180 to 180 (negative W of Greenwich) (2) Greenwich (centered): 0 - dx/2 to 360 - dx/2

Grid 2 is the grid for cam and cesm mode since the NCAR CAM starts at Greenwich, centered on Greenwich


USES:

     use clm_varcon, only : spval
     use domainMod , only : domain_type,domain_init
     use fileutils , only : getfil
ARGUMENTS:
     implicit none
     type(domain_type),intent(inout) :: domain   ! domain to init
     character(len=*) ,intent(in)    :: filename ! grid filename
     integer          ,intent(in)    :: beg      ! local beg index
     integer          ,intent(in)    :: end      ! local end index
     character(len=*) ,intent(in)    :: clmlevel ! type of grid
CALLED FROM:
   subroutine surfrd in this module
REVISION HISTORY:
   Created by Mariana Vertenstein
LOCAL VARIABLES:



next up previous contents
Next: surfrd Up: Fortran: Module Interface surfrdMod Previous: surfrd_get_latlon   Contents
Erik Kluzek 2011-06-15