 
      CALL SEQUENCE...
       grset  GG INPUT OUTPUT \ 
           [ -n   VAL1  -name VAL2  -plv  VAL3  -lon  VAL4  \ 
             -lat VAL5  -npg  VAL6  -a    VAL7  -b    VAL8  \ 
             -c   VAL9  -d    VAL10 -delt VAL11 -kind VAL12 \ 
             -t1  VAL13 VAL14 -lv1  VAL15 [ VAL16 [ VAL17 ] ] \ 
             -def  ]
 
 
      DESCRIPTION...
       CGRSET   - CREATES A GAUSSIAN GRID FIELD FOR TESTING PURPOSES
 
 
      AUTHOR  - R.LAPRISE, CCC  MAY 11/83.
      LAST REVISION: $Header: /home/cvs/RMNLIB/utils/rdiag/lspgm/grset.ptn,v 4.17 2014/09/25 20:20:49 dugas Exp $
 
 
      PURPOSE - CREATES A FILE, GG, CONTAINING NSETS OF ILEV LEVELS OF GRID
                OF SIZE (ILG,ILAT). FIELDS ARE SET BY THIS EQUATION...
                GG(T,LON,LAT,P) =
                    A + B*P + (C+D*P)*(SIN(2PI*T/NSETS)+2.*SIN(LON))*COS(LAT)
                WHERE T   = 1,NSTEPS
                      LON = 1,ILG
                      LAT = 1,ILA
                      P   = LVL(1), ... , LVL(ILEV)
 
 
      OUTPUT FILE...
       GG = OUTPUT SETS OF MULTI OR SINGLE LEVEL GRIDS
 
 
      INPUT PARAMETERS...
 
       NSETS (n)   = NUMBER OF INDIVIDUAL TIMESTEPS (DEF=1).
       DELT        = TIME DELTA BETWEEN SAMPLES IN SECONDS (DEF=0).
                     THIS ARGUMENT IS ALWAYS LESS THAN 99999 AND CAN
                     ONLY BE SET VIA THE COMMAND LINEY.
       DATEO (t1/t2) = INITIAL TIME (DEF=19790101/00). THESE TWO NUMBERS
                     STAND FOR YYYYMMDD AND HHMMSS. AGAIN, THEY CAN
                     ONLY BE SET VIA THE COMMAND LINE.
       NAME        = NAME ASSIGNED TO THE SET LABEL (DEF='DATA').
       ILEV  (plv) = NUMBER OF PRESSURE LEVELS IN SETS (DEF=16;MAX=999)
                     IF ILEV IS NEGATIVE, EACH -ILEV LVL VALUES ARE READ WITH
                     A I10 FORMAT OR AN E10.0 IF ITS VALUE CONTAINS A DECIMAL
                     POINT.
       ILG   (lon) = NUMBER OF DISTINCT LONGITUDE POINTS (DEF=128).
       ILAT  (lat) = NUMBER OF GAUSSIAN LATITUDES POINTS (DEF=64).
       NPACK (npg) = PACKING DENSITY DESIRED. NEGATIVE PACKING SUPPORTED
                     AND THE DEFAULT IS NO PACKING (DEF=-32).
       A,B,C,D     = PARAMETERS USED TO CALCULATE VALUES ON THE GRID (DEF=1.0).
       KIND        = VERTICAL LEVEL TYPE. IT CAN ONLY BE USED WITH CMC/RPN STD
                     FILES AND THEN LV1 AND LV2 ARE ASSUMED TO CONTAIN DECODED
                     VALUES. FURTHERMORE, THIS PARAMETRE CAN ONLY BE SPECIFIED
                     IN COMMAND-LINE MODE. THE CURRENTLY SUPPORTED VALUES ARE:
                     'HAUTEUR'   , heights (m) with respect to sea level
                     'SIGMA'     , classical terrain following (0.0 -> 1.0)
                     'ETA'       , first version of the GEM ETA coordinate
                     'PRESSION'  , pressure (mb) (*** DEFAULT ***)
                     'ARBITRAIRE', arbitrary level (no units apply)
                     'HAUTEURS'  , heights (M) with respect to the surface
                     'HYBRIDE'   , hybrid GEM coordinate
                     'THETA'     , potential temperature coordinate
                     'GALCHEN'   , GalChen generalized coordinate
       LVL   (lv1) = ARRAY OF VERTICAL LEVELS TO BE USED IN IBUF(4) (DEF=500).
 
       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.
                 These defaults are then as specified in the example
                 below and ILEV is also reset to 16, for consistency.
              3) Finally, the -def parameter will be ignored if any
                 level values are specified with the -lv1 parameter.
 
       READ( 5,5010 ) NSETS,NAME,ILEV,ILG,ILAT,NPACK,A,B,C,D
       IF (ILEV.GT.0)
       READ( 5,5020 ) (LVL(I),I=1,ILEV)
       IF (ILEV.LT.0)
       READ( 5,5030 ) (LVL(I),I=1,-ILEV)
 5010  FORMAT(10X,I5,1X,A4,4I5,4E10.0)
 5020  FORMAT(16I5)
 5030  FORMAT(8I10)
 
 
      EXAMPLE OF INPUT CARDS...
 
  GRSET      10 TEMP   16  100   50  -16      273.      -10.       10.        1.
   10   20   30   50   70  100  150  200  250  300  400  500  700  850  925 1000
 
         0123456789012345678901234567890123456789012345678901234567890
         1         2         3         4         5         6         7
 
   (THIS WILL PRODUCE 10 SETS OF 16 LEVEL 100X50 GRIDS WITH NAME 'TEMP')
 
 
      EXIT CONDITIONS...
        0 NO PROBLEMS
        1 ERROR ABORT READING INPUT CARD 1
        2 ERROR ABORT READING INPUT CARD 2
        3 UNSUPPORTED DEFAULT
        4 MORE THAN ONE LEVEL TYPE
        5 LVL DOES NOT DATA CONSISTENT WITH KIND
 
