 
      CALL SEQUENCE...
       gsapzl  GSPHI GSPHIS GSLNSP GPPHI GPTEMP INPUT OUTPUT \ 
                      [ -plv VAL1 -a VAL2 -b    VAL3 -c VAL4 \ 
                        -d   VAL5 -i VAL6 -kind VAL5 -def ]
 
 
      DESCRIPTION...
       gsapzl  - CALCULATES T & PHI ON PRESSURE LEVELS FROM PHI ON ETA
                (SIGMA/HYBRID) LEVELS
 
 
      AUTHOR  - R. Laprise, FEB 29/88.
      LAST REVISION: $Header: /data/armnraid1/cvs/RMNLIB/utils/rdiag/lspgm/gsapzl.ptn,v 4.23 2012/07/02 21:19:46 dugas Exp $
 
 
      PURPOSE - CALCULATES T AND PHI ON PRESSURE LEVELS FROM "PHI" OR
                "TEMP" ON MODEL LEVELS.
      NOTES A)  THE FOLLOWINGS ARE THE NECESSARY STEPS TO BE TAKEN
                IF TEMP IS USED INSTEAD OF PHI AS INPUT AND COORD
                IS 'SIG' OR 'ETA':
 
                1) INPUT FILE... GETEMP, INSTEAD OF GSPHI.
                2) READ-IN LAYERING PARAMETER LAY.
                3) FILEV RETURNS SH, TEMPERATURE MID LAYER POSITION,
                4) BASCAL COMPUTES SHB (LAYER BASES) FROM SH AND LAY.
                5) COORDAB COMPUTES PARAMETERS A AND B (ETA COORD)
                   FROM SHB.
                6) MODIFY ETAPHI TO EXTRAPOLATE UPWARD USING UPPERMOST
                   TEMPERATURE.
            B)  If COORD is any type of GEM coordinates, the procedure
                should receive virtual temperatures, but will still
                continue if it receives temperatures.
 
 
      INPUT FILES...
       GSPHI  = IF COORD = 'SIG'/'ETA',
                 SETS OF "PHI" ON MODEL LEVELS, DEFINED AS
                  "PHI"=PHIS + INT(R*T*D LN ETA)  IN PAKGCMH
                IF COORD = 'GEM?",
                 SETS OF "VT" or "TT" ON MODEL LEVELS.
       GSPHIS = MOUNTAINS (SURFACE GEOPOTENTIAL).
       GSLNSP = SET OF LN(SURFACE PRESSURE).
 
      OUTPUT FILES...
       GPPHI  = PRESSURE LEVEL GEOPOTENTIALS.
       GPTEMP = PRESSURE LEVEL TEMPERATURES.
 
 
      INPUT PARAMETERS...
 
       NPL    (plv)  = NUMBER OF PRESSURE LEVELS, ((DEF 16, MAX 999).
                       IF NPL IS NEGATIVE, EACH -NPL LEVP VALUES ARE
                       READ WITH A I10 FORMAT OR AN E10.0 IF ITS
                       VALUE CONTAINS A DECIMAL POINT.
       RLUP   (a)    = DT/D LN(P) FOR TEMP EXTRAP UPWARDS.
       GAMMA  (b)    = DT/D LN(P) FOR TEMP EXTRAP DOWNWARD.
       PTOIT  (c)    = PRESSURE (PA) OF LID AT TOP OF MODEL.
       COORD  (kind) = 'SIG'/'ETA' OR 'GEM'/'GEM2'/'GEM3'/'GEM4' FOR
                       SIGMA, ETA AND FOUR VARIANTS OF THE GEM VERTICAL
                       COORDINATES, RESPECTIVELY. THE FILE CONTENTS IS USED TO
                       DETERMINE THE RPN DEFAULTS ('GEM2','GEM3' OR 'GEM4').
       PREF   (d)    = REF PRESSURE USED WHEN COORD='GEM2' OR 'GEM3' (DEF 80000 PA).
       R      (i)    = EXPONENT USED ONLY WHEN COORD='GEM2' OR 'GEM3' (DEF 1.0)
 
       LP            = PRESSURE LEVELS (MB).  THE DEFAULTS
                       ARE AS SPECIFIED IN THE EXAMPLE BELOW.
 
       Notes: 1) The first input line is NOT read if any
                 command-line parameters are passed.
              2) Furthermore, the second line will not be read either
                 if the -def defaults processing mode is requested.
 
       READ( 5,5010 ) NPL,RLUP,GAMMA,COORD,PTOIT,PREF,R
       IF (NPL.GT.0)
       READ( 5,5020 ) (LEVP(I),I=1,NPL)
       IF (NPL.LT.0)
       READ( 5,5030 ) (LEVP(I),I=1,-NPL)
 5010  FORMAT(10X,I5,2E10.0,1X,A4,3E10.0)
 5020  FORMAT(16I5)
 5030  FORMAT(8E10.0)
 
 
      EXAMPLE OF INPUT CARDS...
 
  GSAPZL.    16        0.    6.5E-3  ETA      0.01
   10   20   30   50   70  100  150  200  250  300  400  500  700  850  925 1000
 
         01234567890123456789012345678901234567890123456789012345678901234567890
         1         2         3         4         5         6         7
 
 
      EXIT CONDITIONS...
        0 NO PROBLEMS
        1 NUMBER OF PRESSURE LEVELS GREATER THAN MAXLEV
        2 PRESSURE OR MODEL LEVELS NOT MONOTONIC/INCREASING
        3 ERROR READING FIRST SET IN GSLNSP
        4 ERROR READING SURFACE GEOPOTENTIAL
        5 ERROR READING FIRST SET IN GSPHI
        6 GSPHI,GSPHIS,GSLNSP NOT THE SAME SIZE
        7 FOUND NAME OTHER THAN PHI OR GZ IN GSPHI
        8 MORE THAN ONE SIZE IN GSPHI
        9 MISSING GSLNSP
       10 ERROR ABORT READING INPUT CARD 1
       11 ERROR ABORT READING INPUT CARD 2
       12 GSPHI/GSPHIS/GSLNSP NAME PROBLEM
       13 LP DOES NOT CONTAIN PRESSURE DATA
       14 UNSUPPORTED VERTICAL COORDINATE IN GSPHI
       15 UNABLE TO ALLOCATE WORKING MEMORY
       16 COORD PARAMETRE AND GSPHI DATA MISMATCH
       17 MORE THAN ONE VERTICAL COORDINATE IN GSPHI
       18 PTOIT GREATER THAN TOP MODEL LEVEL (=ETA(TOP)*PREF)
 
