 
      CALL SEQUENCE...
       select  IN S1 [S2 [S3 [S4 [ ... [S10] ... ]]]] INPUT OUTPUT \ 
            [ -t1    VAL01 -t2  VAL02  -t3    VAL03 \ 
              -lv1   VAL04 -lv2 VAL05 \ 
            [ -kind "VAL06" "VAL07" "VAL08"] \ 
              -name "VAL09" ["VAL10"  ["VAL11" ["VAL12" [ ... ["VAL18"] ... ]]]] ] 
                  
                                                   
 
      DESCRIPTION...
       select - SELECTS UP TO TEN REQUESTED VARIABLES FROM A FILE 
 
  
      AUTHOR  - J.D.Henderson AND R.Laprise, MAY 13/83.
      LAST REVISION: $Header: /home/cvs/RMNLIB/utils/rdiag/lspgm/select.ptn,v 4.27 2014/09/25 20:20:52 dugas Exp $
 
  
      PURPOSE - SELECTS EITHER ALL VARIABLES, OR ONE TO TEN NAMED VARIABLES, 
                AT EQUAL TIMESTEP INTERVALS BETWEEN TWO SPECIFIED TIMESTEPS 
                AND BETWEEN TWO SPECIFIED LEVELS FROM FILE IN. 
                IF ALL VARIABLES ARE SELECTED THEY ARE PUT ON FILE S1. 
                OTHERWISE 1 TO 10 VARIABLES ARE PUT ON FILES S1 TO S10.
      NOTE    - STEP NUMBERS IN FILE IN ARE ASSUMED TO BE INCREASING. 
  
 
      INPUT FILE... 
       IN = FILE CONTAINING GRID OR SPECTRAL FIELDS TO BE SELECTED. 
  
      OUTPUT FILES... 
       S1  = FIRST   SELECTED VARIABLE (OR ALL VARIABLES) 
       S2  = SECOND  SELECTED OPTIONAL VARIABLE  
       S3  = THIRD   SELECTED OPTIONAL VARIABLE 
       S4  = FOURTH  SELECTED OPTIONAL VARIABLE 
       S4  = FIFTH   SELECTED OPTIONAL VARIABLE 
       S4  = SIXTH   SELECTED OPTIONAL VARIABLE 
       S4  = SEVENTH SELECTED OPTIONAL VARIABLE 
       S4  = EIGHTH  SELECTED OPTIONAL VARIABLE 
       S4  = NINTH   SELECTED OPTIONAL VARIABLE 
       S10 = TENTH   SELECTED OPTIONAL VARIABLE 
  
 
      INPUT PARAMETERS... 
  
       NT1,NT2   = TIMESTEP RANGE (INCLUSIVE).
       (t1,t2)     1) IF (NT1=-1) OR (NT1,NT2 BLANK) ==> SELECT ALL INTERVALS 
                      (AND THEN ANT1,NT2 ARE IGNORED).
                   2) IF ONLY ONE OR THE OTHER OF NT1 AND NT2 IS SPECIFIED
                      POSITIVE, THIS COMPLETELY DETERMINE THE DESIRED RANGE.
                   3) THE DATE FORMAT USED IN NT1 AND NT2 CAN BE SPECIFIED
                      VIA THE DATE_FORMAT ENVIRONMENT VARIABLE. THE DEFAULT
                      VALUE FOR THIS IS YYYYMMDDHH. NOTE THAT IT CAN
                      EXTENDED TO YYYYMMDDHHMMSS.
       ANT1,ANT2 = USED TO COMPUTE THE TIMESTEP INCREMENT "INT" (OR T3).
       (t3)        1) ANT2 IS USED *ONLY* IF THE NUMBER VALUE OF ANT1 IS NOT 
                      EQUAL TO ZERO AND THEN, ONLY IF, WHEN IT IS CONVERTED,
                      IT RESULTS IN A NUMBER CONSISTING OF FULL 5 DIGITS
                      FROM (0,...,9; NO ' ' OR '-' ALLOWED IN ANT2). 
                      THIS HAS SIMILAR EFFECT TO READING INT FROM ANT1 AND
                      ANT2 FIELDS WITH A I10 FORMAT.
                   2) INT IS COMPUTED FROM ONLY ANT1 IF THE CONVERTED NUMBER
                      VALUE OF ANT1 IS EQUAL TO ZERO (ANT2 IGNORED) OR ANT2 
                      FIELD CONTAINS OTHER THAN (0,...,9). 
                      THIS HAS SIMILAR EFFECT TO READING INT FROM ANT1 FIELD 
                      WITH A I5 FORMAT. 
                   3) THE RESULING VALUE OF INT IS RESET TO 1 IF IT IS ZERO.
                   4) DIFFERENT ACTIONS ARE TAKEN ACCORDING TO THE SIGN OF INT
                      INT  >0, DATA IS SELECTED EVERY INT STEPS FROM STEP NT1
                           <0, DATA IS SELECTED FROM THE FIRST TIMESTEP OF ANY 
                               OF THE SELECTED NAMES IN THE INTERVAL NT1 TO NT2
                               BY INCREMENT OF IABS(INT), TILL NT2 IS REACHED
                               OR EXCEEDED. 
                   5) IN COMMAND-LINE MODE, THE INT INCREMENT IS READ DIRECTLY
                      VIA THE "-t3" ARGUMENT AND ANT2 IS NEVER USED. NEGATIVE
                      INCREMENT VALUES ARE STILL SUPPORTED.
 
       LV1,LV2   = LEVEL RANGE (INCLUSIVE) USUALLY AS CODED INTEGERS. 
      (lv1,lv2)    1) IF (LV1=-1) OR (LV1,LV2 BLANK) ==> SELECT ALL LEVELS 
                   2) IF ONLY ONE OR THE OTHER OF LV1 AND LV2 IS SPECIFIED
                      POSITIVE (AFTER DECODING BY LVACODE), THIS COMPLETELY
                      DETERMINES THE DESIRED RANGE.
                   3) IF BOTH ARE SPECIFIED, LV2 >= LV1.
                   IN COMMAND-LINE MODE, LV1 AND LV2 MAY ALSO BE THE REAL
                   DECODED LEVEL VALUES. IN THAT CASE, THE KIND PARAMETER
                     ***  *** ABSOLUTELY HAS TO BE SPECIFIED *** ***.
       KIND(1)   = 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)
                   '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
 
       KIND(2)   = OUTPUT FILE MODE. KNOWN VALUES ARE "APPEND", "OVER".
                   THE DEFAULT IS TO OVERWRITE ALL OUTPUT FILES.
       KIND(3)   = DATA TYPE (AS IN TYPVAR FOR CMC/RPN FILES) TO
                   LOOK FOR. THE DEFAULT IS ' ', I.E. ALL TYPES.
 
       NAME1     = FIRST   VARIABLE TO BE SELECTED FOR FILE S1. 
      (name)       IF     (NAME1 IS 'ALL' OR NAME1 IS BLANK) 
                   THEN    ALL VARIABLES ARE SELECTED. 
       NAME2     = SECOND  VARIABLE TO BE SELECTED FOR FILE S2. 
       NAME3     = THIRD   VARIABLE TO BE SELECTED FOR FILE S3. 
       NAME4     = FOURTH  VARIABLE TO BE SELECTED FOR FILE S4. 
 
    **  IT ONLY POSSIBLE TO SELECT MORE THAN FOUR VARIABLE NAMES   **
    ** WHEN USING COMMAND-LINE PARAMETRE MODE. ONLY FOUR VARIABLE  **
    **          NAMES ARE AVAILABLE IN STDIN-INPUT MODE.           **
 
       NAME5     = FIFTH   VARIABLE TO BE SELECTED FOR FILE S5. 
       NAME6     = SIXTH   VARIABLE TO BE SELECTED FOR FILE S6. 
       NAME7     = SEVENTH VARIABLE TO BE SELECTED FOR FILE S7. 
       NAME8     = EIGHTH  VARIABLE TO BE SELECTED FOR FILE S8. 
       NAME9     = NINTH   VARIABLE TO BE SELECTED FOR FILE S9. 
       NAME10    = TENTH   VARIABLE TO BE SELECTED FOR FILE S10.
  
       READ( 5,5010 ) NT1,NT2,ANT1,ANT2, LV1,LV2,
     +                NAME1,NAME2,NAME3,NAME4 
 5010  FORMAT(10X,5X,2I10,2A5,2I5,5X,4(1X,A4)) 
 
 
      EXAMPLE OF INPUT CARD... 
  
  SELECT.  STEP  79020024  86060708    -10012  500  550 NAME GDEV 
 
         0123456789012345678901234567890123456789012345678901234567890
         1         2         3         4         5         6         7
 
 
      EXIT CONDITIONS...
        0 NO PROBLEMS
        1 INCONSISTENT VALUES IN INPUT PARAMETERS
        2 NOT OK IN FILEV/GETSET2 AT THE FIRST SET
        3 NO RECORDS SAVED, OUTPUT EMPTY
        5 MORE THAN ONE KIND OF INPUT LEVEL REQUESTED
        6 MISMATCH BETWEEN NUMBER OF VARIABLES AND FILE NAMES
        7 FILE IN IS EMPTY (NEW)
        8 VARIABLE NAME REQUESTED MORE THAN ONCE
