 
      CALL SEQUENCE...
       select2  IN S1 [S2] INPUT OUTPUT \ 
             [ -t1   VAL1 -t2  VAL2 -t3    VAL3 \ 
               -lv1  VAL4 -lv2 VAL5 -name "VAL6" ["VAL7"] \ 
               -kind VAL8 ["VAL9"] ["VAL10"] ["VAL11"] -na ]
 
 
      DESCRIPTION...
       select2 - SELECTS UP TO TWO REQUESTED VARIABLES FROM A FILE 
 
  
      AUTHORS   - F.Zwiers AND B.Dugas, JAN 14/85.
      LAST REVISION: $Header: /home/cvs/RMNLIB/utils/rdiag/lspgm/select2.ptn,v 4.23 2014/09/25 20:20:52 dugas Exp $
 
  
      PURPOSE  - SELECT ALL VARIABLES (OR 1 OR 2 SPECIFIED VARIABLES) BETWEEN
                 TIMESTEPS T1 AND T2 MAKING SURE THAT FOR EACH VARIABLE,
                 *** RECORDS ARE IN THE CORRECT TIME ORDER ***
 
      NOTE     - SELECT2 SUPPORTS SEVERAL TECHNIQUES FOR MEASURING TIME
  
 
      INPUT FILE... 
       IN = FILE CONTAINING GRID OR SPECTRAL FIELDS TO BE SELECTED. 
  
      OUTPUT FILES... 
       S1 = FIRST  SELECTED VARIABLE (OR ALL VARIABLES) 
       S2 = SECOND SELECTED 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). THE TIME INTERVAL IS
                      THEN THAT BETWEEN THE FIRST TWO VALID TIMESTEPS. 
                   2) IF ONLY ONE OR THE OTHER OF NT1 AND NT2 IS SPECIFIED
                      POSITIVE, THIS COMPLETELY DETERMINE THE DESIRED RANGE.
       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, NOT ABORTING ON OUT OF SEQUENCE
                               TIMESTEPS.
                   5) THE UNITS USED ARE SUPPOSED TO BE CONSISTENT WITH
                      THOSE USED IN NT1 AND NT2 (AS DEFINED BY DTM) AND
                      THE PROGRAM DOES NOT ATTEMPT TO CHECK THIS.
       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 LEVEL TYPE
                   PARAMETER *** ABSOLUTELY HAS TO BE SPECIFIED ***.
       KIND(2)   = VERTICAL LEVEL TYPE. ONLY USE THIS WITH IN RPN STD FILES
                   AND WHEN LV1 AND LV2 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(3)   = OUTPUT FILE MODE. KNOWN VALUES ARE "APPEND", "OVER".
                   THE DEFAULT IS TO OVERWRITE ALL OUTPUT FILES.
       KIND(4)   = DATA TYPE (AS IN TYPVAR FOR CMC/RPN FILES) TO
                   LOOK FOR. THE DEFAULT IS ' ', I.E. NONE.
 
       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. 
       DTM       = FLAG TO INDICATE METHOD OF TIME MEASUREMENT.
      (kind(1))  = 0 ==> IBUF(2),T1,T2 AND T3 IN KOUNT UNITS.
                 = 1 ==> IBUF(2),T1 AND T2 ARE IN THE FORMAT YYYYMMDDHH
                         AND T3 IS IN HOURS.
                 = 2 ==> IBUF(2),T1 AND T2 ARE IN THE FORMAT YYMMDDHHMM
                         **** (YYYYMMDDHHMM in command-line mode) ****
                         AND T3 IS IN MINUTES AND NO LEAP YEAR.
                 = 3 ==> IBUF(2),T1 AND T2 ARE IN THE FORMAT YYYYMMDDHH
                         AND T3 IS IN HOURS. BUT NOW, LEAP YEARS ARE
                         ACCOUNTED FOR.
       NA        = 0(1)  STOP(CONTINUE) ON OUT OF SEQUENCE TIMESTEPS.
 
       NOTES: 1) DTM   = 0,1 OR 2 DO NOT TAKE LEAP YEARS INTO ACCOUNT
                         AND ARE INTENDED FOR USE WITH MODEL OUTPUT.
              2) ONLY ONE VERTICAL LEVEL TYPE IS SUPPORTED WHEN A VERTICAL
                 LEVEL INTERVAL IS SPECIFIED. EITHER OF FATAL ERRORS 7 OR 8
                 ARE OTHERWISE DETECTED (TIMESTEP REPITITION) AS TWO LEVEL
                 TYPES WILL ALWAYS GENERATE TWO SETS OF VARIABLES.
  
       READ( 5,5010 ) NT1,NT2,ANT1,ANT2, LV1,LV2,
     +                NAME1,NAME2,DTM,NA
 5010  FORMAT(10X,5X,2I10,2A5,2I5,5X,2(1X,A4),2I5) 
 
 
      TWO EXAMPLE OF INPUT CARD... 
    
  SELECT.  STEP  79020024  86060708    -10012  500  550 NAME GDEV 
    
  SELECT2. STEP         0    999999   72 LEVS  500  500 NAME  PHI
 
         0123456789012345678901234567890123456789012345678901234567890
         1         2         3         4         5         6         7
 
  THE SECOND LINE WILL CREATE A TIME SERIES OF 500MB GPH FIELDS SAMPLED
  EVERY 72 TIME STEP. THE PROGRAM WILL ABORT IF OBSERVATIONS ARE NOT 
  AVAILABLE AT TIME STEPS WHICH ARE MULTIPLES OF 72 OR IF ANY OBSERVATIONS 
  ARE MISSING OR OUT OF TIME SEQUENCE.
 
 
      EXIT CONDITIONS...
        0 NO PROBLEMS
 
      FATAL CONDITIONS...
        1 DTM HASH ILLEGAL VALUE
        2 T1 NOT IN RECOGNIZED FORMAT
        3 T2 NOT IN RECOGNIZED FORMAT
        4 ERROR READING FIRST SET ON FILE IN
        5 NO RECORDS SAVED, OUTPUT EMPTY
        6 FOUND TIME NOT IN RECOGNIZED FORMAT ON FILE IN
        7 TIMESTEP OUT OF SEQUENCE FOR FIRST VARIABLE
        8 TIMESTEP OUT OF SEQUENCE FOR SECOND VARIABLE
        9 ERROR ABORT READING  INPUT PARAMETERS
       10 PREMATURE EOF ON FILE IN
       12 MORE THAN ONE KIND OF INPUT LEVEL REQUESTED
       13 MISMATCH BETWEEN NUMBER OF VARIABLES AND FILE NAMES
       14 FILE IN IS EMPTY (NEW)
 
      NON-FATAL CONDITIONS...
      101 FOUND DISCONTINUOUS TIME SEQUENCE
 
