SUBROUTINE GRIDCHECK ( )

Description
                                                                    * 
            TRAJECTORY MODEL SUBROUTINE GRIDCHECK                   * 
            FLEXPART VERSION -> DO NOT USE IN FLEXTRA, PRAEPRO      * 
                                                                    * 
 
                                                                    * 
            AUTHOR:      G. WOTAWA                                  * 
            DATE:        1997-08-06                                 * 
            LAST UPDATE: 1997-10-10                                 * 
                                                                    * 
            Update:      1999-02-08, global fields allowed, A. Stohl* 
                                                                    * 
 
                                                                    * 
DESCRIPTION:                                                        * 
                                                                    * 
THIS SUBROUTINE DETERMINES THE GRID SPECIFICATIONS (LOWER LEFT      * 
LONGITUDE, LOWER LEFT LATITUDE, NUMBER OF GRID POINTS, GRID DIST-   * 
ANCE AND VERTICAL DISCRETIZATION OF THE ECMWF MODEL) FROM THE       * 
GRIB HEADER OF THE FIRST INPUT FILE. THE CONSISTANCY (NO CHANGES    * 
WITHIN ONE FLEXPART RUN) IS CHECKED IN THE ROUTINE "READWIND" AT    * 
ANY CALL.                                                           * 
                                                                    * 
XLON0                geographical longitude of lower left gridpoint * 
YLAT0                geographical latitude of lower left gridpoint  * 
NX                   number of grid points x-direction              * 
NY                   number of grid points y-direction              * 
DX                   grid distance x-direction                      * 
DY                   grid distance y-direction                      * 
NUVZ                 number of grid points for horizontal wind      * 
                     components in z direction                      * 
NWZ                  number of grid points for vertical wind        * 
                     component in z direction                       * 
sizesouth, sizenorth give the map scale (i.e. number of virtual grid* 
                     points of the polar stereographic grid):       * 
                     used to check the CFL criterion                * 
UVHEIGHT(1)-         heights of gridpoints where u and v are        * 
UVHEIGHT(NUVZ)       given                                          * 
WHEIGHT(1)-          heights of gridpoints where w is given         * 
WHEIGHT(NWZ)                                                        * 
                                                                    *
Source file:gridcheck.f
I/O Operations:
Unit ID  Unit No       Access  Form   Operation
      *                   SEQ  FMTD          RW  

Operation codes A=rewind,B=backspace,C=close,E=endfile
                I=inquire,O=open,R=read,W=write
Intrinsic Functions Called
REAL               FLOAT
GENERIC            ABS,        MAX
External Functions and Subroutines Called
SUBROUTINE         GRIBEX,     PBCLOSE,    PBGRIB,     PBOPEN
SUBROUTINE         SHIFT_FIELD_0,          STCM2P,     STLMBR
Parameter Variables Used
INTEGER            NUMPATH            (NUMPATH = 4)
INTEGER            IDIFFNORM          (IDIFFNORM = 10800)
INTEGER            NXMAX              (NXMAX = 361)
INTEGER            NYMAX              (NYMAX = 181)
INTEGER            NUVZMAX            (NUVZMAX = 61)
INTEGER            NWZMAX             (NWZMAX = 61)
INTEGER            NZMAX              (NZMAX = 61)
INTEGER            NXSHIFT            (NXSHIFT = 359)
INTEGER            NCONVLEVMAX        (NCONVLEVMAX = NUVZMAX-1)
INTEGER            NA                 (NA = NCONVLEVMAX+1)
INTEGER            MAXNESTS           (MAXNESTS = 1)
INTEGER            NXMAXN             (NXMAXN = 1)
INTEGER            NYMAXN             (NYMAXN = 1)
INTEGER            JPACK              (JPACK = 4*NXMAX*NYMAX)
INTEGER            JPUNP              (JPUNP = 4*JPACK)
INTEGER            MAXXGRID           (MAXXGRID = 180)
INTEGER            MAXYGRID           (MAXYGRID = 90)
INTEGER            MAXXGRIDN          (MAXXGRIDN = 1)
INTEGER            MAXYGRIDN          (MAXYGRIDN = 1)
INTEGER            MAXAGECLASS        (MAXAGECLASS = 1)
INTEGER            MAXZGRID           (MAXZGRID = 14)
INTEGER            NCLASSUNC          (NCLASSUNC = 10)
INTEGER            MAXRECEPTOR        (MAXRECEPTOR = 200)
INTEGER            MAXPART            (MAXPART = 1000000)
INTEGER            MAXPOINT           (MAXPOINT = 10000)
INTEGER            MAXSPEC            (MAXSPEC = 1)
INTEGER            MAXPOINTSPEC       (MAXPOINTSPEC = MAXSPEC)
INTEGER            MAXWF              (MAXWF = 50000)
INTEGER            MAXTABLE           (MAXTABLE = 1000)
INTEGER            NUMCLASS           (NUMCLASS = 9)
INTEGER            NI                 (NI = 11)
INTEGER            MAXCOLUMN          (MAXCOLUMN = 3000)
INTEGER            MAXRAND            (MAXRAND = 2000000)
REAL               PI                 (PI = 3.14159265)
REAL               R_EARTH            (R_EARTH = 6.371E6)
REAL               GA                 (GA = 9.81)
REAL               SWITCHNORTH        (SWITCHNORTH = 75.)
REAL               SWITCHSOUTH        (SWITCHSOUTH = -75.)
Local Variables (+ indicates altered content)
CHARACTER         +OPT,       +YOPER
INTEGER           +I,         +IERR,      +IFIELD,    +IFN
INTEGER            ILEN,       INBUFF(JPACK),          ISEC0(2)
INTEGER            ISEC1(56),  ISEC2(22+NXMAX+NYMAX),  ISEC3(2)
INTEGER            ISEC4(64), +IUMAX,     +IWMAX,      IWORD
INTEGER           +IX,        +J,         +JY,        +K
INTEGER            LUNIT,     +NUMSKIP
REAL              +PINT,      +SIZENORTH, +SIZESOUTH, +XAUX1
REAL              +XAUX2,     +XAUXA,     +YAUX1,     +YAUX2
REAL               ZSEC2(60+2*NUVZMAX),    ZSEC3(2)
REAL               ZSEC4(JPUNP)
Referenced Common Block Variables (+ indicates altered content)
CONVECTBLOCK       INTEGER           +NCONVLEV
GLOBALI            INTEGER            IDELTAS
GLOBALI            INTEGER            LEN(NUMPATH+2*MAXNESTS)
GLOBALI            INTEGER           +NLEV_EC,   NUMBWF
GLOBALI            INTEGER           +NUVZ,     +NWZ
GLOBALI            INTEGER           +NX,       +NXFIELD
GLOBALI            INTEGER           +NXMIN1,   +NY
GLOBALI            INTEGER           +NYMIN1,   +NZ
GLOBALL            CHARACTER*120      PATH(NUMPATH+2*MAXNESTS)
GLOBALL            CHARACTER*11       WFNAME(MAXWF)
GLOBALL            LOGICAL           +NGLOBAL,  +SGLOBAL
GLOBALL            LOGICAL           +XGLOBAL
GLOBALR            REAL              +AKM(NWZMAX)
GLOBALR            REAL              +AKNEW(NZMAX)
GLOBALR            REAL              +AKZ(NUVZMAX)
GLOBALR            REAL              +BKM(NWZMAX)
GLOBALR            REAL              +BKNEW(NZMAX)
GLOBALR            REAL              +BKZ(NUVZMAX)
GLOBALR            REAL              +DX,       +DXCONST
GLOBALR            REAL              +DY,       +DYCONST
GLOBALR            REAL              +EXCESSORO(0:NXMAX-1,0:NYMAX-1)
GLOBALR            REAL              +LSM(0:NXMAX-1,0:NYMAX-1)
GLOBALR            REAL               NORTHPOLEMAP(9)
GLOBALR            REAL              +ORO(0:NXMAX-1,0:NYMAX-1)
GLOBALR            REAL               SOUTHPOLEMAP(9)
GLOBALR            REAL              +SWITCHNORTHG
GLOBALR            REAL              +SWITCHSOUTHG
GLOBALR            REAL              +XLON0,    +YLAT0