 
      CALL SEQUENCE (gpasg)...
       gpasg  GPFLD GSLNSP GSFLD [ GPTOP ] INPUT OUTPUT  \ 
              -n VAL1 -kind VAL2 -i VAL3 -b VAL4 -c VAL5 \ 
                  -j VAL6 [VAL7] -k VAL8 [VAL9] -def
                                   
 
      CALL SEQUENCE (gsasg)...
       gsasg  GSFLD GSLNSP GSFLD [ GPTOP ] INPUT OUTPUT                \ 
       -n VAL1 -kind VAL2 [ VAL3 ] -i  VAL4 [  VAL5 [ VAL6 ] ] -b VAL7 \ 
       -c VAL8 -j    VAL8 [ VAL9 ] -k VAL10 [ VAL11 [ VAL12 ] ] \ 
       -def [ VAL13 ]
 
 
      CALL SEQUENCE (gsahy)...
       gsahy  GSFLD GSLNSP GSFLD [ GPTOP ] INPUT OUTPUT                \ 
       -n VAL1 -b VAL2  -c VAL3 -kind VAL4 [ VAL5 ]
       -i VAL6 [ VAL7 ] -k VAL10 [ VAL11 ] 
       -j VAL8 [ VAL9 ] -l VAL12 [ VAL13 ] -m VAL14 [ VAL15 ] -def
 
      DESCRIPTIONS...
       gpasg  - INTERPOLATE FROM PRESSURE TO SIGMA/HYBRID/GEM/GEM(2/3/4) LEVELS
       gsasg  - INTERPOLATE BETWEEN SIGMA/HYBRID/GEM/GEM(2/3) LEVELS
       gsahy  - INTERPOLATE BETWEEN SIGMA/HYBRID/GEM/GEM(2/3/4) LEVELS
 
 
      AUTHORS - Nils Ek, Bernard Dugas, RPN: Sept 1998 (after GSAPL)
      LAST REVISION: $Header: /data/armnraid1/cvs/RMNLIB/utils/rdiag/lspgm/gpasg.ptn,v 4.22 2012/05/17 22:23:23 dugas Exp $
 
 
      PURPOSE - INTERPOLATES FROM PRESSURE OR ETA (SIGMA/HYBRID/GEM/GEM2/GEM3/GEM4)
                LEVELS TO ANOTHER SET OF ETA LEVELS. THE INTERPOLATION IS
                LINEAR IN LN(PRES)
 
 
      INPUT FILES...
       GPFLD  = SETS OF PRESSURE LEVEL GRID DATA                              (gpasg)
       GSFLD  = SETS OF ETA (SIGMA/HYBRID/GEM/GEM2/GEM3/GEM4) LEVEL GRID DATA (gsasg)
       GSLNSP = SERIES OF GRIDS OF LN(SF PRES)
     [ GPTOP  = SERIES OF GRIDS OF PRESSURE AT TOP OF MODEL (OPTIONAL, GEM ONLY) ]
 
       GPTOP AND GSLNSP HAVE UNITS OF MB AND LN(MB), RESPECTIVELY.
 
      OUTPUT FILE...
       GSFLD  = SETS OF ETA (SIGMA/HYBRID/GEM/GEM2/GEM3/GEM4) LEVEL GRID DATA
 
 
      INPUT PARAMETERS USED BY ALL COMMANDS...
 
       NSL    (n)     = NUMBER OF REQUESTED MODEL LEVELS (DEF 28, MAX 999).
                        IF NSL IS NEGATIVE, EACH -NSL LEVS VALUES ARE READ WITH
                        A I10 FORMAT OR AN E10.0 IF ITS VALUE CONTAINS A DECIMAL
                        POINT.
       COORD  (kind)  = 'SIG'/'ETA'/'GEM'/'GEM2'/'GEM3'/'GEM4' FOR OUTPUT SIGMA/ETA
                        AND FOUR VARIANTS OF THE GEM VERTICAL COORDINATES. THE FILE
                        CONTENTS IS USED TO DETERMINE THE RPN DEFAULTS (CAN BE EITHER
                        OF 'GEM2','GEM3' OR 'GEM4').
       RLUP   (b)     = LAPSE RATE USED TO EXTRAPOLATE UPWARDS (DEF 0.0).
       RLDN   (c)     = LAPSE RATE USED TO EXTRAPOLATE DOWNWARDS (DEF 0.0).
       PTOIT  (i)     = PRESSURE (PA) AT THE OUTPUT LID (DEF pression_au_toit).
       PREF   (j)     = REF PRESSURE USED WHEN COORD='GEM2' OR 'GEM3' (DEF 80000 PA).
       R      (k)     = EXPONENT USED ONLY WHEN COORD='GEM2' OR 'GEM3' (DEF 1.0)
 
       LEVS           = ETA LEVELS *1000 (READ FROM STANDARD INPUT). THE
                        DEFAULTS ARE AS SPECIFIED IN THE EXAMPLE BELOW.
 
      THE NEXT TWO INPUT PARAMETRES ARE USED BY GSASG AND GSAHY...
 
       COORDI (kind2) = 'SIG'/'ETA'/'GEM'/'GEM2'/'GEM3'/'GEM4' AS WELL AS ETA
                        AND SEVERAL OTHER VARIANTS OF THE GCM VERTICAL COORDINATES.
       PTOITI (i2)    = PRESSURE (PA) AT THE LID OF INPUT MODEL         (DEF = PTOIT)
 
 
      THE NEXT TWO INPUT PARAMETRES ARE ONLY USED BY GSASG...
 
       PREFI  (j2)    = REF PRESSURE USED WHEN COORDI='GEM2' OR 'GEM3'  (DEF = PREF).
       RI     (k2)    = EXPONENT USED ONLY WHEN COORDI='GEM2' OR 'GEM3' (DEF = R)
 
      THE NEXT FOUR INPUT PARAMETRES ARE ONLY USED BY GSAHY...
 
       PREFI1 (l1)    = FIRST REF PRESSURE USED WHEN COORDI='GEM2/3/4'  (DEF = PREF).
       PREFI2 (l2)    = SECOND REF PRESSURE USED WHEN COORDI='GEM4'     (DEF = PREF).
       RI1    (m1)    = FIRST EXPONENT USED WHEN COORDI='GEM2/3/4'      (DEF = R)
       RI2    (m2)    = SECOND EXPONENT USED WHEN COORDI='GEM4'         (DEF = R)
 
 
       Notes: 1) When COORD='GEM', PTOIT is only used if GPTOP is empty
              2) When COORD='GEM', RLUP and LAY are ignored 
              3) Units for RLUP and RLDN are that of D(GSFLD)/D(LN PRES)
              4) The first input line is NOT read if any command-line
                 parameters are passed.
              5) Furthermore, the second line will not be read either
                 if the "-def" defaults processing mode is requested.
              6) 'GEM' is the original gem coordinate. 'GEM2' is the
                 hybrid coordinate implemented by Edouard & Gravel
                 in GEM/DM V2.2.0, while 'GEM3' is the normalized
                 version that was implemented in GEM/DM v2.3.1.
                 'GEM4' is the version used from v4.0.6. 
              7) The default value of COORDI is determined by the file type
                 and the program will also try to determine it by the
                 (internal) coding used for the coordinate itself.
              8) The parametres needed to read/write 'GEM2' or 'GEM3' arrays
                 can only be specified in command-line input mode.
              9) Specifying "-def AABB" will force the attempt to read
                 a text file called aabb.nml, containing a FORTRAN
                 namelist AABB_NML, which in turns will hold two arrays,
                 A and B such that the local pressure at level K, PL(K),
                 can be calculated as "A(K)+B(K)*PS". This then by-passes
                 all of the normal COORD-related calculations for PL(K),
                 ** but is un-supported for GEM4 vertical coordinates **
 
       READ( 5,5010 ) NSL,COORD,PTOIT,              RLUP,RLDN (gpasg)
       READ( 5,5015 ) NSL,COORD,PTOIT,COORDI,PTOITI,RLUP,RLDN (gsasg)
       IF (NSL.GT.0)
       READ( 5,5020 ) (LEVS(I),I=1,NSL)
       IF (NSL.LT.0)
       READ( 5,5030 ) (LEVS(I),I=1,-NSL)
 5010  FORMAT(10X,I5,1X,A4,3E10.0)
 5015  FORMAT(10X,I5,2(1X,A4,E10.0),2E10.0)
 5020  FORMAT(16E5.0)
 5030  FORMAT(8E10.0)
 
 
      EXAMPLE OF (gsasg) INPUT CARDS...
 
  GSASG.     27 GEM2      0.01 ET15    7.2E-3        0.        0.
   0. .010 .020 .040 .061 .091 .131 .177 .222 .273 .328 .384 .444 .500 .555 .611
 .666 .722 .773 .818 .859 .894 .925 .950 .970 .985 .995
 
         01234567890123456789012345678901234567890123456789012345678901234567890
         1         2         3         4         5         6         7
 
 
      (gsasg+gpasg) EXIT CONDITIONS...
        0 NO PROBLEMS
        1 NUMBER ETA LEVELS GREATER THAN MAXLEV
        2 PRESSURE OR MODEL VERT COORDINATE NOT MONOTONIC
        3 ERROR READING FIRST SET IN GSLNSP
        4 ERROR READING FIRST SET IN GPFLD OR GSFLD
        5 GPFLD OR GSFLD AND GSLNSP NOT THE SAME SIZE
        6 ERROR READING FIRST SET IN GPTOP
        7 GPTOP, GSLNSP NOT THE SAME SIZE
        8 ERROR UNPACKING FIRST SET IN GPFLD
        9 MORE THAN ONE SIZE IN GPFLD OR GSFLD
       10 MISSING GSLNSP FIELD
       11 MORE THAN ONE SIZE IN GSLNSP
       12 MISSING GPTOP FIELD
       13 MORE THAN ONE SIZE IN GPTOP
       14 ERROR ABORT READING INPUT CARD 1
       15 ERROR ABORT READING INPUT CARD 2
       16 UNSUPPORTED VERTICAL COORDINATE IN GPFLD
       17 COORD PARAMETRE AND GPFLD DATA MISMATCH
       18 FOUND DATA NOT OF TYPE 'GRID' OR 'SUBA'
       19 UNSUPPORTED VERTICAL COORDINATE ON INPUT CARD 2
       20 UNABLE TO READ AABB NAMELIST
       21 GSLNSP DOES NOT CONTAIN LN( SURFP ) FOR EARTH
 
      (gsahy) EXIT CONDITIONS...
        1 CODE NOT YET ACTIVE
 
