SUBROUTINE OPTN2(KFILDO,KFIL10,NFIRST,
     1                 ID,IDPARS,THRESH,JD,NDATE,
     2                 KFILRA,RACESS,NUMRA,
     3                 ICALL,CCALL,ICALLD,CCALLD,NAME,
     4                 NELEV,STALAT,STALON,
     5                 ITIMEZ,ISDATA,SDATA,SDATA1,DIR,ND1,NSTA,
     6                 NGRIDC,NGRID,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     7                 LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     8                 IS0,IS1,IS2,IS4,ND7,
     9                 FD1,FD2,FD3,FD4,FD5,FD6,FD7,
     A                 FDVERT,FDTIME,FDSINS,FDMS,ND2X3,
     B                 ISTAV,L3264B,L3264W,MISTOT,IER)
C 
C        FEBRUARY  1995   GLAHN   TDL   MOS-2000
C        AUGUST    1996   GLAHN   ADDED MISTOT 
C        OCTOBER   1996   GLAHN   WIND IDS FROM 004011 AND 004111
C                                 TO 004101 AND 004110
C        NOVEMBER  1996   GLAHN   ADDED KFILRA, RACESS, NUMRA, ICALLD,
C                                 CCALLD
C        JUNE      1997   GLAHN   D COMPILE OPTION COMMENTED OUT
C                                 DIAGNOSTIC CHANGE AT 198, 199
C        AUGUST    1997   GLAHN   DIAGNOSTIC CHANGES
C        JANUARY   1998   GLAHN   ADDED SUBSTITUTE STATIONS IN CCALL( , )
C        MAY       1998   GLAHN   ADDED ITIMEZ( ) 
C        NOVEMBER  1998   GLAHN   CHANGED DIMENSIONS OF CCALLD( )
C                                 AND ICALLD( , ) FROM ND1 TO ND5
C        NOVEMBER  1998   GLAHN   ADDED CALL TO DIR2UV
C        DECEMBER  1998   GLAHN   IER=99 CHANGED TO IER=-2
C        JANUARY   1999   GLAHN   CHANGES TO IER CODES AND DIAGNOSTICS
C                                 IDS FOR WSPEED TAKEN FROM SFANOS
C        JANUARY   1999   SFANOS  ADDED COMMENTS AND CALLS TO THE
C                                 FOLLOWING SUBROUTINES:
C                                 POTEMP,MIXRAT,SPECHUM,MEANRH,DEWPT,
C                                 WETBULBT,LCL,DPTDPR,TPCP3,TPCP6,TPCP12,
C                                 TPCP24,NONCNVP,MDIV,WINDDR,KINDEX,
C                                 TTOTALS,SWEATI,DIR2UV,OBSMAXT,OBSMINT,
C                                 PCPX6,SVRVEC,KINXRF,OBSTCLD,OBSCIGHT
C        MARCH     1999   SFANOS  ADDED COMMENTS
C        JUNE      2000   ALLEN   ADDED COMMENTS AND CALLS TO: FRZLVL, SSR,
C                                 ZRPRED, OBSTWET, AND OBSPRWXBIN.  
C                                 UNCOMMENTED CALL TO RHVV.
C        JUNE      2000   ALLEN   ADDED CALLS TO VORTADV, AND TMPADV
C        JULY      2000   JPD     ADDED CALLS TO OBSPOPO, OBSPOPO3,
C                                 AND OBSPOPC.
C        AUGUST    2000   JPD     ADDED CALL TO LINDEX; UNCOMMENTED
C                                 CALLS TO KINXRF, SVRVEC, THETAE
C        SEPTEMBER 2000   MCE     COMMENTED OUT CALL TO OBSPOPO3, SINCE
C                                 THIS ROUTINE IS NOT WORKING YET.
C        SEPTEMBER 2000   ALLEN   ADDED CALL TO QADV, ADJUSTED CALL TO OBSTWET
C        SEPTEMBER 2000   JPD     CORRECTED CALL TO KINXRF AND SVRVEC.
C        SEPTEMBER 2000   JPD     ADDED CALL TO OBSOBVIS, CORRECTED CALL
C                                 TO OBSDPTD.                              
C        JUNE      2001   JPD     ADDED CALLS TO OBSMRPTYPE AND OBSMRCLD
C        JULY      2001   JCM     EDITED CALL TO PCPX6 TO INCLUDE CONDITIONAL
C                                 PRCP IDS
C        FEBRUARY  2002   GLAHN   CHANGED ND12 TO NUMRA IN ONE COMMENT.
C        JULY      2002   RLC	  ADDED CALLS TO SWTXRF,OBSPOPO3,PBLMIX, 
C	                          AND MODELMXMN.  ADDED CALL TO SATLEVRH, BUT
C                                 LEFT IT COMMENTED OUT UNTIL WE ADD CONSTG TO
C                                 U201 
C        NOVEMBER  2002   CMM     LIBRARY WEEK - THE CHANGES OF 6/01, 
C                                 7/01, AND 2/02 FROM ABOVE WERE ADDED
C        FEBRUARY  2003   WEISS   ADDED NGRID AND NAME( ) TO CALL;
C                                 MODIFIED CALL TO SATLEVRH,SSR,KINXRF AND
C                                 SWTXRF AND VERTP. ALSO CHANGED ND5 TO ND2X3 FOR
C                                 OBSERVATION TYPE VARIABLES.
C        MAY       2003   GLAHN   REVISED CALL TO OBSMRCLD, OBSCIGHT,
C                                 SWTXRF, OBSTCLD, SVRVEC, TPCP24,
C                                 WETBULBT, SSR
C        JUNE      2003   GLAHN   INSERTED NGRID IN CALL TO VERTP
C        JUNE      2003   GLAHN   ADDED 004061 AND 004161 IN CALL TO EOWND
C        JUNE      2003   RLC     ALLOWED FOR TWO VERSIONS OF TPCP24.  _OLD
C                                 IS THE OLD VERSION WITH THE INCORRECT
C                                 ALGORITHM.  IT STILL HAS THE ORIGINAL IDS.
C                                 TPCP24 IS THE CORRECT VERSION AND HAS NEW
C                                 IDS.  TPCP24_OLD CAN BE REMOVED ONCE ALL
C                                 QPF AND TSVR EQNS ARE REDEVELOPED.
C        JULY      2003   RLC     ALLOWED FOR TWO VERSIONS OF FRZLVL AND ZRPRED.
C                                 _OLD ARE THE OLD VERSIONS WITH THE INCORRECT
C                                 ALGORITHMS.  THEY STILL HAVE THE ORIGINAL IDS.
C                                 FRZLVL AND ZRPRED ARE THE CORRECT VERSIONS AND
C                                 HAVE NEW IDS.  THE _OLD VERSIONS CAN BE
C                                 REMOVED ONCE ALL PTYPE EQNS ARE REDEVELOPED.
C        JULY      2003   RLC     ADDED CALLS FOR SNOW PREDICTOR AND PREDICTAND
C                                 ROUTINES.
C        AUGUST    2003   GLAHN   CHANGED PACK TO IPACK IN CALL TO OBSOBVIS;
C                                 ADDED CALL TO TIMTRP
C        SEPTEMBER 2003   RLC     CHANGED CALL TO SSR TO MATCH NEW VERSION.
C        JANUARY   2004   RLC     ADDED CALL TO SATLEVNUM AND ADDED FD5 TO CALL
C                                 TO WETBULBT.  ALSO ADDED NEW FFF TO SPECHUM AN
D
C                                 DEWPT FOR ETA32 WORK.
C        FEBRUARY  2004   SMB     UPDATED IDS FOR FRZLVL AND ZRPRED.
C        JANUARY   2005   JPD     MADE CHANGES REQUIRED FOR 2005 U201LIB UPDATE:
C                                 ADDED CALLS TO TSLOP, UPSLOP, CONST1,
C                                 FRZLVL_OLD, RHNSPD, ZRPRED_OLD, TPCP24_OLD,
C                                 SATLEVNUM, SNOWEQ, HELCTY, BULKRN, OBSCPPRCP,
C                                 TIMTRP, OBSCPSNOW, OBSCPCPOS, THKCORR, TEMPCORR,
C                                 OBSMRWSP, CORDP, SFCTCLD, SNOWFL, TIMGRD.
C                                 COMMENTED OUT CALLS TO:  HELCTY, BULKRN,
C                                 DEWPCORR, THKCORR, AND TMPCORR UNTIL NEEDED.
C                                 MODIFIED CALLS TO:  SPECHUM, DEWPT, TPCP24,
C                                 NONCNVP, WSPEED, SWTXRF, PBLMIX, OBSDPTD,
C                                 SVRVEC, KINXRF, OBSMRCLD, OBSCIGHT, 
C                                 OBSCPPRCP, OBSCPSNOW, AND OBSCPCPOS
C        JANUARY   2005   ANTOLIK ADDED CALLS TO ADTEMP, LAPSER
C        APRIL     2005   RLC     MADE MORE CHANGES FOR THE 2005 U201LIB UPDATE.
C                                 FOR THE DEVELOPMENTAL OPTION, TOOK OUT CALLS
C                                 TO _OLD ROUTINES.  ALSO COMMENTED OUT CALLS
C                                 TO SWTXRF AND RHNSPD BECAUSE THESE ROUTINES
C                                 NEED SOME WORK BEFORE THEY ARE READY TO BE
C                                 USED.
C        APRIL     2005   RLC     CHANGED CALL TO ADTEMP TO ADJTMP, ADDED CALLS
C                                 TO U202 SUBROUTINES SHFTMXMN, CKTMPDP, 
C                                 FTOKGRD.  UNCOMMENTED CALL TO LAPSER.
C        MAY       2005   ANTOLIK REMOVED CALL TO TIMTRP.
C        JUNE      2005   RLC     TOOK DEVELOPMENTAL VERSION AND CREATED A NEW
C                                 OPERATIONAL VERSION.  ADDED IN _OLD ROUTINES
C                                 FOR FRZLVL, ZRPRED AND TPCP24.  
C                                 PUT THE OLD SWTXRF CALL BACK BECAUSE WE'RE
C                                 USING IT OPERATIONALLY.  CALLED IT 
C                                 SWTXRF_OLD.  TOOK OUT COMMENTED OUT
C                                 CALLS TO BULKRN AND HELCTY UNTIL WE ACTUALLY
C                                 USE THEM.  PUT IN CALL TO WINDSP WHICH HADN'T
C                                 MADE IT TO DEV LIBRARY YET.
C        AUG       2005    RLC    CHANGED CALL TO BULKRN TO MATCH NEW VERSION.
C                                 CHANGED CALLS TO KINXRF TO USE BOTH NEW
C                                 AND _OLD VERSIONS.
C        JUNE      2006    JRW    REMOVED COMMENTED CALL TO TIMTRP. TIMTRP
C                                 SHOULD NEVER BE CALLED FROM THIS CALLED.
C                                 IF IT IS AN INFINIT LOOP WILL OCCUR.
C                                 ADDED CALLS TO PTPMOSPRD, MOSTDPB, SUMPRB
C        JULY      2006    JRW    FIXED ELSEIF BEFORE CALL TO BULKRN
C
C        PURPOSE 
C            TO CALL VARIOUS COMPUTATIONAL ROUTINES FOR OTHER
C            COMPUTATIONAL ROUTINES.  FOR EXAMPLE, TIMEP MAY NEED
C            A COMPUTED VARIABLE.  IT WAS INITIALLY THOUGHT THAT, 
C            SINCE TIMEP IS ENTERED THROUGH OPTION, OPTION COULD NOT
C            BE ENTERED FROM TIMEP.  THAT IS NOT THE CASE WITH
C            THE HP AND CRAY COMPILERS, BUT IT IS STILL MORE
C            CONVENIENT TO HAVE A SEPARATE OPTION, OPTN2.  OPTN2
C            CAN BE, AT LEAST NEARLY, IDENTICAL TO OPTION, AND CAN
C            BE CALLED FROM TIMEP.  CALLS THAT ARE OMITTED FROM OPTN2
C            ARE:
C               TIMEP
C               L1D
C               L2D
C               CONST
C
C        DATA SET USE 
C            KFILDO - DEFAULT UNIT NUMBER FOR OUTPUT (PRINT) FILE.  (OUTPUT) 
C            KFIL10 - UNIT NUMBER OF TDL MOS-2000 FILE SYSTEM ACCESS.
C                     (INPUT-OUTPUT) 
C 
C        VARIABLES 
C              KFILDO = DEFAULT UNIT NUMBER FOR OUTPUT (PRINT) FILE. (INPUT) 
C              KFIL10 = UNIT NUMBER OF TDL MOS-2000 FILE SYSTEM ACCESS.
C                       (INPUT)
C              NFIRST = 1 FOR THE 1ST DATE.
C               ID(J) = THE PREDICTOR ID (J=1,4).  (INPUT)
C           IDPARS(J) = THE PARSED, INDIVIDUAL COMPONENTS OF THE PREDICTOR
C                       ID CORRESPONDING TO ID( ) (J=1,15).  (INPUT)
C                       J=1--CCC (CLASS OF VARIABLE),
C                       J=2--FFF (SUBCLASS OF VARIABLE),
C                       J=3--B (BINARY INDICATOR),
C                       J=4--DD (DATA SOURCE, MODEL NUMBER),
C                       J=5--V (VERTICAL APPLICATION),
C                       J=6--LBLBLBLB (BOTTOM OF LAYER, 0 IF ONLY 1 LAYER),
C                       J=7--LTLTLTLT (TOP OF LAYER),
C                       J=8--T (TRANSFORMATION),
C                       J=9--RR (RUN TIME OFFSET, ALWAYS + AND BACK IN TIME),
C                       J=10--OT (TIME APPLICATION),
C                       J=11--OH (TIME PERIOD IN HOURS),
C                       J=12--TAU (PROJECTION IN HOURS),
C                       J=13--I (INTERPOLATION TYPE),
C                       J=14--S (SMOOTHING INDICATOR), AND
C                       J=15--G (GRID INDICATOR).
C              THRESH = THE BINARY THRESHOLD ASSOCIATED WITH IDPARS( ).
C                       (INPUT)
C               JD(J) = THE BASIC INTEGER PREDICTOR ID (J=1,4).
C                       THIS IS THE SAME AS ID(J), EXCEPT THAT THE PORTIONS
C                       PERTAINING TO PROCESSING ARE OMITTED:
C                       B = IDPARS(3),
C                       T = IDPARS(8),
C                       I = IDPARS(13),
C                       S = IDPARS(14),
C                       G = IDPARS(15), AND
C                       THRESH.
C                       JD( ) IS USED TO IDENTIFY THE BASIC MODEL FIELDS
C                       AS READ FROM THE ARCHIVE.  (INPUT)
C               NDATE = THE DATE/TIME FOR WHICH PREDICTOR IS NEEDED.  (INPUT)
C           KFILRA(J) = HOLDS THE UNIT NUMBERS FOR ACCESSING THE MOS-2000
C                       EXTERNAL RANDOM ACCESS FILES (J=1,NUMRA).  (INPUT)
C           RACESS(J) = THE FILE NAMES CORRESPONDING TO KFILRA(J) (J=1,NUMRA).
C                       (CHARACTER*60)  (INPUT)
C               NUMRA = THE NUMBER OF UNIT NUMBERS AND NAMES IN KFILRA( )
C                       AND RACESS( ).  (INPUT)
C        ICALL(L,K,J) = 8 STATION CALL LETTERS AS CHARACTERS IN AN INTEGER
C                       VARIABLE (L=1,L3264W) (K=1,NSTA) (J=1,6).
C                       EQUIVALENCED TO CCALL( , )  (INPUT)
C          CCALL(K,J) = 8-CHARACTER STATION CALL LETTERS (OR GRIDPOINT
C                       LOCATIONS FOR GRID DEVELOPMENT) TO PROVIDE
C                       OUTPUT FOR (J=1) AND 5 POSSIBLE OTHER STATION
C                       CALL LETTERS (J=2,6) THAT CAN BE USED INSTEAD
C                       IF THE PRIMARY (J=1) STATION CANNOT BE FOUND 
C                       IN AN INPUT DIRECTORY (K=1,NSTA).  ALL STATION
C                       DATA ARE KEYED TO THIS LIST, EXCEPT POSSIBLY 
C                       CCALLD( ).  EQUIVALENCED TO
C                       ICALL( , , ).  (CHARACTER*8)  (INPUT)
C         ICALLD(L,K) = 8 STATION CALL LETTERS AS CHARACTERS IN AN INTEGER
C                       VARIABLE (L=1,L3264W) (K=1,ND5).
C                       EQUIVALENCED TO CCALLD( ).  (INTERNAL)
C           CCALLD(K) = 8 STATION CALL LETTERS (K=1,ND5).  THIS LIST IS USED 
C                       IN L1D1 TO READ THE REGION LISTS.  (CHARACTER*8)
C                       (INTERNAL)
C             NAME(K) = NAMES OF STATIONS (K=1,NSTA).  USED FOR PRINTOUT
C                       ONLY.  (CHARACTER*20)  (INPUT)
C            NELEV(K) = ELEVATION OF STATIONS (K=1,NSTA).
C           STALAT(K) = LATITUDE OF STATIONS (K=1,NSTA).
C           STALON(K) = LONGITUDE OF STATIONS (K=1,NSTA).
C           ITIMEZ(K) = TIME ZONE INDICATOR.  THE NUMBER OF HOURS
C                       THE STATION IS DIFFERENT FROM UTC (K=1,NSTA).
C                       (INPUT)
C           ISDATA(K) = WORK ARRAY (K=1,ND1).  (INTERNAL)
C            SDATA(K) = INTERPOLATED DATA TO RETURN, WHEN STATION DATA ARE
C                       BEING GENERATED (K=1,NSTA).  (OUTPUT)
C           SDATA1(K) = WORK ARRAY RESERVED FOR USE IN L2D2 (K=1,NSTA).
C                       (INTERNAL)
C          DIR(K,J,M) = THE IX (J=1) AND JY (J=2) POSITIONS ON THE GRID
C                       FOR THE COMBINATION OF GRID CHARACTERISTICS M
C                       (M=1,NGRID) AND STATION K (K=1,NSTA) IN NGRIDC( ,M).
C                       (INPUT)
C                 ND1 = MAXIMUM NUMBER OF STATIONS THAT CAN BE DEALT WITH.
C                       FIRST DIMENSION OF DIR( , , ).  (INPUT)
C                NSTA = NUMBER OF STATIONS OR LOCATIONS BEING DEALT WITH.
C                       (INPUT)
C         NGRIDC(L,M) = HOLDS THE GRID CHARACTERISTICS (L=1,6) FOR EACH GRID
C                       COMBINATION (M=1,NGRID).
C                       L=1--MAP PROJECTION NUMBER (3=LAMBERT, 5=POLAR
C                            STEREOGRAPHIC). 
C                       L=2--GRID LENGTH IN MILLIMETERS,
C                       L=3--LATITUDE AT WHICH GRID LENGTH IS CORRECT *10000,
C                       L=4--GRID ORIENTATION IN DEGREES *10000,
C                       L=5--LATITUDE OF LL CORNER IN DEGREES *10000,
C                       L=6--LONGITUDE OF LL CORNER IN DEGREES *10000.
C               NGRID = THE NUMBER OF GRID COMBINATIONS IN DIR( , , ),
C                       MAXIMUM OF ND11.  (INPUT)
C                ND11 = MAXIMUM NUMBER OF GRID COMBINATIONS THAT CAN BE
C                       DEALT WITH ON THIS RUN.  LAST DIMENSION OF
C                       NGRIDC( , ) AND DIR( , , ).  (INPUT)
C               NSLAB = THE NUMBER OF THE SLAB IN DIR( , , ) AND
C                       IN NGRIDC( , ) DEFINING THE CHARACTERISTICS
C                       OF THIS GRID.  SEE LSTORE(10, ).  (OUTPUT) 
C            IPACK(J) = WORK ARRAY (J=1,ND5).  (INTERNAL)
C            IWORK(J) = WORK ARRAY (J=1,ND5).  (INTERNAL)
C             DATA(J) = ARRAY TO HOLD RETURNED DATA WHEN THE DATA ARE
C                       AT GRIDPOINTS. (J=1,ND5).  (OUTPUT)
C                 ND5 = DIMENSION OF IPACK( ), IWORK( ), AND DATA( ).
C                       (INPUT)
C              NWORDS = NUMBER OF WORDS IN DATA( ).  (INTERNAL)
C         LSTORE(L,J) = THE ARRAY HOLDING INFORMATION ABOUT THE DATA 
C                       STORED (L=1,12) (J=1,LITEMS).  (INPUT-OUTPUT)
C                       L=1,4--THE 4 ID'S FOR THE DATA.
C                       L=5  --LOCATION OF STORED DATA.  WHEN IN CORE,
C                              THIS IS THE LOCATION IN CORE( ) WHERE
C                              THE DATA START.  WHEN ON DISK, 
C                              THIS IS MINUS THE RECORD NUMBER WHERE 
C                              THE DATA START.
C                       L=6  --THE NUMBER OF 4-BYTE WORDS STORED.
C                       L=7  --2 FOR DATA PACKED IN TDL GRIB, 1 FOR NOT.
C                       L=8  --THE DATE/TIME OF THE DATA IN FORMAT
C                              YYYYMMDDHH.
C                       L=9  --NUMBER OF TIMES DATA HAVE BEEN RETRIEVED.
C                       L=10 --NUMBER OF THE SLAB IN DIR( , ,L) AND
C                              IN NGRIDC( ,L) DEFINING THE CHARACTERISTICS
C                              OF THIS GRID.
C                       L=11 --THE NUMBER OF THE PREDICTOR IN THE SORTED
C                              LIST IN ID( ,N) (N=1,NPRED) FOR WHICH THIS
C                              VARIABLE IS NEEDED, WHEN IT IS NEEDED ONLY
C                              ONCE FROM LSTORE( , ).  WHEN IT IS NEEDED
C                              MORE THAN ONCE, THE VALUE IS SET = 7777.
C                       L=12 --USED INITIALLY IN ESTABLISHING MOSTORE( , ).
C                              LATER USED AS A WAY OF DETERMINING WHETHER
C                              TO KEEP THIS VARIABLE.
C                 ND9 = THE SECOND DIMENSION OF LSTORE( , ).  (INPUT)
C              LITEMS = THE NUMBER OF ITEMS (COLUMNS) IN LSTORE( , ) THAT 
C                       HAVE BEEN USED IN THIS RUN.
C             CORE(J) = THE ARRAY TO STORE OR RETIREVE THE DATA IDENTIFIED IN
C                       LSTORE( , ) (J=1,ND10).  WHEN CORE( ) IS FULL
C                       DATA ARE STORED ON DISK.  (OUTPUT)
C                ND10 = DIMENSION OF CORE( ).  (INPUT)
C              NBLOCK = THE BLOCK SIZE IN WORDS OF THE MOS-2000 RANDOM
C                       DISK FILE.  (INPUT)
C              NFETCH = THE NUMBER OF TIMES GFETCH HAS BEEN ENTERED.
C                       (OUTPUT)
C              IS0(J) = MOS-2000 GRIB SECTION 0 ID'S (J=1,3).  (INTERNAL)
C              IS1(J) = MOS-2000 GRIB SECTION 1 ID'S (J=1,22+).  (INTERNAL)
C              IS2(J) = MOS-2000 GRIB SECTION 2 ID'S (J=1,12).  (INTERNAL)
C              IS4(J) = MOS-2000 GRIB SECTION 4 ID'S (J=1,4).  (INTERNAL)
C                 ND7 = DIMENSION OF IS0( ), IS1( ), IS2( ), AND IS4( ).
C                       NOT ALL LOCATIONS ARE USED.  (INPUT)
C  FD1(J),FD2(J), ETC = WORK ARRAYS (J=1,ND2X3).  THESE MAY BE USED IN
C                       ROUTINES AS 2-DIMENSIONAL ARRAYS, WHERE THE
C                       TOTAL ARRAY SIZE IS ND2*ND3=ND2X3 AS DECLARED IN
C                       THE CALLING PROGRAM.  (INTERNAL)
C           FDVERT(J) = TEMPORARY STORAGE RESERVED FOR SUBROUTINE VERTP
C                       (J=1,ND2X3).
C           FDTIME(J) = TEMPORARY STORAGE RESERVED FOR SUBROUTINE TEMEP
C                       (J=1,ND2X3).
C       FDSINS(IX,JY) = USED TO SAVE THE SIN OF THE LATITUDE IN SUBROUTINE
C                       PSMAPF (IX=1,NX) (JY=1,NY).  THE USER MUST NOT
C                       USE THIS ARRAY EXCEPT IN CALLING PSMAPF.
C                       (INPUT/OUTPUT)
C         FDMS(IX,JY) = USED TO SAVE THE MAP FACTOR IN SUBROUTINE
C                       PSMAPF (IX=1,NX) (JY=1,NY).  THE USER MUST NOT
C                       USE THIS ARRAY EXCEPT IN CALLING PSMAPF.
C                       (INPUT/OUTPUT)
C               ND2X3 = DIMENSION OF FD1( ), FD2( ), ETC.  (INPUT)
C               ISTAV = 1 WHEN THE DATA RETURNED ARE STATION DATA.  
C                       0 WHEN THE DATA RETURNED ARE GRID DATA OR DATA
C                         ARE NOT AVAILABLE FOR RETURN.  (OUTPUT)
C              L3264B = INTEGER WORD LENGTH IN BITS OF MACHINE BEING USED
C                       (EITHER 32 OR 64).  (INPUT)
C              L3264W = NUMBER OF WORDS IN 64 BITS, EITHER 1 OR 2.  (INPUT)
C              MISTOT = TOTAL NUMBER OF TIMES A MISSING INDICATOR
C                       HAS BEEN ENCOUNTERED IN UNPACKING GRIDS.
C                       (INPUT-OUTPUT)
C                 IER = STATUS RETURN.
C                         0 = GOOD RETURN.
C                        -2 = PREDICTOR NOT DEFINED IN OPTN2.
C                       SEE CALLED ROUTINES FOR OTHER VALUES.
C                       (INTERNAL-OUTPUT)
C        1         2         3         4         5         6         7 X
C
C        NONSYSTEM SUBROUTINES USED 
C            VORTW,  VORTH,    WSPEED,  EOWND,   GWIND,  DIVW,
C            FORIER, POTEMP,   MIXRAT,  SPECHUM, MEANRH,
C            DEWPT,  WETBULBT, LCL,     DPTDPR,  TPCP3,  TPCP6, TPCP12,
C            TPCP24, NONCNVP,  MDIV,    WINDDR,  KINDEX, TTOTALS, 
C            SWEATI, DIR2UV,   OBSMAXT, OBSMINT, PCPX6,  SVRVEC,
C            KINXRF, OBSTCLD,  OBSCIGHT, RHVV, FRZLVL, SSR, ZRPRED,
C            OBSTWET, OBSPRWXBIN, VORTADV, TMPADV, QADV, OBSPOPC,
C            OBSPOPO, OBSPOPO3, LINDEX, OBSOBVIS, OBSDPTD, OBSPTYPE, 
C            OBSMRTYPE, OBSMRCLD, SWTXRF, PBLMIX, SATLEVRH, MODELMXMN 
C            SNOWEQ, OBSCPCPOS, OBSCPSNOW, OBSCPPRCP, TSLOP, UPSLOP,
C            CONST1, RHNSPD, 
C            SATLEVNUM, SNOWEQ, HELCTY, BULKRN, DEWPCORR,
C            THKCORR, TEMPCORR, OBSMRWSP, CORDP, SFCTCLD, SNOWFL,
C            TIMGRD, LAPSER, SHFTMXMN, CKTMPDP, FTOKGRD
C            PTPMOSPRD, MOSTDPB, SUMPRB
C
      CHARACTER*8 CCALL(ND1,6),
     1            CCALLD(ND5)
      CHARACTER*20 NAME(ND1)
      CHARACTER*60 RACESS(NUMRA)
C
      DIMENSION ICALL(L3264W,ND1,6),
     1          NELEV(ND1),STALAT(ND1),STALON(ND1),ITIMEZ(ND1),
     2          ISDATA(ND1),SDATA(ND1),SDATA1(ND1)
      DIMENSION DIR(ND1,2,ND11),NGRIDC(6,ND11)
      DIMENSION ID(4),IDPARS(15),JD(4)
      DIMENSION IPACK(ND5),IWORK(ND5),DATA(ND5),ICALLD(L3264W,ND5)
      DIMENSION FD1(ND2X3),FD2(ND2X3),FD3(ND2X3),FD4(ND2X3),
     1          FD5(ND2X3),FD6(ND2X3),FD7(ND2X3),
     2          FDVERT(ND2X3),FDTIME(ND2X3),FDSINS(ND2X3),FDMS(ND2X3)
      DIMENSION IS0(ND7),IS1(ND7),IS2(ND7),IS4(ND7)
      DIMENSION LSTORE(12,ND9)
      DIMENSION CORE(ND10)
      DIMENSION KFILRA(NUMRA)
C
D     WRITE(KFILDO,100)(IDPARS(J),J=1,15)
D100  FORMAT(' *********** IN OPTN2    '15I5)
C
      IER=0
C
C        LOOK FOR SIMPLE VERTICAL COMPUTATION.  ALLOWANCE IS MADE
C        FOR POSSIBILITY THAT THE FIELDS INVOLVED HAVE TO BE
C        COMPUTED.
C
      IF(IDPARS(5).GT.0)THEN
         CALL VERTP(KFILDO,KFIL10,NFIRST,
     1              ID,IDPARS,THRESH,JD,NDATE,
     2              KFILRA,RACESS,NUMRA,
     3              ICALL,CCALL,ICALLD,CCALLD,NAME,
     4              NELEV,STALAT,STALON,
     5              ITIMEZ,ISDATA,SDATA,SDATA1,DIR,ND1,NSTA,
     6              NGRIDC,NGRID,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     7              LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     8              IS0,IS1,IS2,IS4,ND7,
     9              FD1,FD2,FD3,FD4,FD5,FD6,FD7,
     A              FDVERT,FDTIME,FDSINS,FDMS,ND2X3,
     B              ISTAV,L3264B,L3264W,MISTOT,IER)
C
C        LOOK FOR THE COMPUTATION OF THE TERRAIN SLOPE.
C        MUST PRECEED CALL TO CONST1.
C
      ELSEIF(IDPARS(1).EQ.409.AND.IDPARS(2)/100.GE.3.AND.
     1                 (IDPARS(2)-(IDPARS(2)/10)*10.NE.0))THEN
         CALL TSLOP(KFILDO,KFIL10,ID,IDPARS,JD,NDATE,
     1              KFILRA,RACESS,NUMRA,
     2              CCALL,NAME,SDATA,STALAT,STALON,DIR,ND1,NSTA,
     3              NGRIDC,NGRID,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     4              LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     5              IS0,IS1,IS2,IS4,ND7,
     6              FD1,FD2,FD3,FD4,FD5,FD6,FD7,ND2X3,
     7              ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR THE COMPUTATION OF THE UPSLOPE OF THE WIND.
C
      ELSEIF(IDPARS(1).EQ.005.AND.IDPARS(2)/100.GE.3)THEN
         CALL UPSLOP(KFILDO,KFIL10,ID,IDPARS,JD,NDATE,
     1               KFILRA,RACESS,NUMRA,
     2               CCALL,NAME,SDATA,STALAT,STALON,DIR,ND1,NSTA,
     3               NGRIDC,NGRID,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     4               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     5               IS0,IS1,IS2,IS4,ND7,
     6               FD1,FD2,FD3,FD4,FD5,FD6,FD7,ND2X3,
     7               ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR CONSTANT DATA, TO BE PROVIDED IN
C        THE MOS-2000 EXTERNAL RANDOM ACCESS FILES.
C
      ELSEIF(IDPARS(1).GE.400.AND.IDPARS(1).LE.499)THEN
C
         CALL CONST1(KFILDO,KFIL10,IP12,
     1               ID,IDPARS,JD,NDATE,
     2               KFILRA,RACESS,NUMRA,
     3               CCALL,ICALLD,CCALLD,NAME,STALAT,STALON,
     4               ISDATA,SDATA,DIR,ND1,NSTA,
     5               NGRIDC,NGRID,ND11,NSLAB,
     6               IPACK,IWORK,DATA,ND5,
     7               LSTORE,ND9,LITEMS,CORE,ND10,LASTL,
     8               NBLOCK,LASTD,NSTORE,NFETCH,
     9               IS0,IS1,IS2,IS4,ND7,
     A               ISTAV,L3264B,L3264W,IER)
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
C        LOOK FOR COMPUTATION OF 12-H MAX OR MIN FROM MODEL DATA
C
      ELSEIF(((IDPARS(1).EQ.002)).AND.((IDPARS(2).EQ.051).OR.
     1                                 (IDPARS(2).EQ.061)))THEN
         CALL MODELMXMN(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1                  NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2                  LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3                  IS0,IS1,IS2,IS4,ND7,
     4                  FD1,FD2,ND2X3,
     5                  ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF ELEVATION-ADJUSTED TEMPERATURE
C
C     ELSEIF(IDPARS(1).EQ.002.AND.IDPARS(2).EQ.081) THEN
       CALL ADJTMP(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1             KFILRA,RACESS,NUMRA,CCALL,ICALLD,CCALLD,
     2             NAME,NELEV,STALAT,STALON,ISDATA,SDATA,
     3             DIR,ND1,NSTA,NGRIDC,NGRID,ND11,NSLAB,
     4             IPACK,IWORK,DATA,ND5,LSTORE,ND9,LITEMS,
     5             CORE,ND10,LASTL,NBLOCK,LASTD,NSTORE,NFETCH,
     6             IS0,IS1,IS2,IS4,ND7,FD1,FD2,FD3,FD4,
     7             ND2X3,IP12,IP16,ISTAV,L3264B,L3264W,
     8             MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF ANY OF THE FOUR SSR PREDICTORS 
C        FROM MODEL DATA (NOTE: THIS PREDICTOR IS RETURNED AS
C        VECTOR DATA)
C
      ELSEIF(((IDPARS(1).EQ.001).AND.(IDPARS(2).EQ.700)).OR.
     1       ((IDPARS(1).EQ.002).AND.(IDPARS(2).EQ.700)).OR.
     2       ((IDPARS(1).EQ.002).AND.(IDPARS(2).EQ.710)).OR.
     3       ((IDPARS(1).EQ.002).AND.(IDPARS(2).EQ.715)))THEN
         CALL SSR(KFILDO,KFIL10,IP12,IDPARS,JD,NDATE,
     1            KFILRA,RACESS,NUMRA,
     2            CCALL,ICALLD,CCALLD,SDATA,ISDATA,
     3            DIR,ND11,NSLAB,NSTA,ND1,
     4            IPACK,IWORK,ND5,
     5            LSTORE,ND9,LITEMS,CORE,ND10,
     6            LASTL,NBLOCK,LASTD,NSTORE,NFETCH,
     7            IS0,IS1,IS2,IS4,ND7,
     8            FD1,FD2,FD3,FD4,FD5,FD6,FD7,ND2X3,
     9            ISTAV,L3264B,L3264W,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF FREEZING LEVEL FROM MODEL DATA
C        THIS CALL IS FOR THE CORRECT VERSION
C
      ELSEIF(IDPARS(1).EQ.002.AND.(IDPARS(2).EQ.046.OR.
     1                             IDPARS(2).EQ.047.OR.
     2                             IDPARS(2).EQ.048.OR.
     3                             IDPARS(2).EQ.049)) THEN
         CALL FRZLVL(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3               IS0,IS1,IS2,IS4,ND7,
     4               FD1,FD2,FD3,FD4,ND2X3,
     5               ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF FREEZING LEVEL FROM MODEL DATA
C        THIS CALL IS FOR THE OLD INCORRECT VERSION
C
      ELSEIF(IDPARS(1).EQ.002.AND.(IDPARS(2).EQ.042.OR.
     1       IDPARS(2).EQ.043.OR.IDPARS(2).EQ.044.OR.
     2       IDPARS(2).EQ.045)) THEN
         CALL FRZLVL_OLD(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3               IS0,IS1,IS2,IS4,ND7,FD1,FD2,FD3,FD4,
     4               ND2X3,ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF THE POTENTIAL TEMPERATURE FROM
C        MODEL DATA
C
      ELSEIF(IDPARS(1).EQ.002.AND.(IDPARS(2).EQ.100.OR.
     1                             IDPARS(2).EQ.101.OR.
     2                             IDPARS(2).EQ.106)) THEN
         CALL POTEMP(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3               IS0,IS1,IS2,IS4,ND7,
     4               FD1,ND2X3,
     5               ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF BOUNDARY LAYER LAPSE RATE
C
      ELSEIF(IDPARS(1).EQ.002.AND.IDPARS(2).EQ.770) THEN
         CALL LAPSER(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3               IS0,IS1,IS2,IS4,ND7,
     4               FD1,FD2,FD3,ND2X3,ISTAV,
     5               L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF THE BIAS CORRECTED DEWPOINT.
C
C     ELSEIF(IDPARS(1).EQ.003.AND.(IDPARS(2).EQ.190.OR.
C    1                             IDPARS(2).EQ.191)) THEN
C     CALL DEWPCORR(KFILDO,KFIL10,IDPARS,JD,NDATE,
C    1              NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
C    2              LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
C    3              IS0,IS1,IS2,IS4,ND7,
C    4              FD1,FD2,FD3,FD4,FD5,FD6,FD7,ND2X3,
C    5              ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF THE BIAS CORRECTED THICKNESS.
C
C     ELSEIF(IDPARS(1).EQ.001.AND.(IDPARS(2).EQ.090)) THEN
C     CALL THKCORR(KFILDO,KFIL10,IDPARS,JD,NDATE,
C    1             NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
C    2             LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
C    3             IS0,IS1,IS2,IS4,ND7,
C    4             FD1,FD2,FD3,FD4,FD5,FD6,ND2X3,
C    5             ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF BIAS CORRECTED TEMPERATURE.
C
C     ELSEIF(IDPARS(1).EQ.002.AND.(IDPARS(2).EQ.090.OR.
C    1                             IDPARS(2).EQ.091.OR.
C    2                             IDPARS(2).EQ.097)) THEN
C        CALL TEMPCORR(KFILDO,KFIL10,IDPARS,JD,NDATE,
C    1                 NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
C    2                 LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
C    3                 IS0,IS1,IS2,IS4,ND7,
C    4                 FD1,FD2,FD3,FD4,ND2X3,
C    5                 ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF MIXING RATIO FROM MODEL DATA
C
      ELSEIF(IDPARS(1).EQ.003.AND.(IDPARS(2).EQ.010.OR.
     1                             IDPARS(2).EQ.011.OR.
     2                             IDPARS(2).EQ.016)) THEN
         CALL MIXRAT(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3               IS0,IS1,IS2,IS4,ND7,
     4               FD1,FD2,FD3,ND2X3,
     5               ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF SPECIFIC HUMIDITY FROM MODEL DATA
C
      ELSEIF(IDPARS(1).EQ.003.AND.(IDPARS(2).EQ.030.OR.
     1                             IDPARS(2).EQ.031.OR.
     2                             IDPARS(2).EQ.036.OR.  
     3                             IDPARS(2).EQ.037)) THEN
         CALL SPECHUM(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1                NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2                LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3                IS0,IS1,IS2,IS4,ND7,
     4                FD1,FD2,FD3,ND2X3,
     5                ISTAV,L3264B,MISTOT,IER)
C
C        COMPUTE MEAN RELATIVE HUMIDITY FOR
C        A GIVEN ISOBARIC LAYER FROM MODEL DATA
C
      ELSEIF(IDPARS(1).EQ.003.AND.(IDPARS(2).EQ.040.OR.
     1                             IDPARS(2).EQ.041.OR.
     2                             IDPARS(2).EQ.042.OR.
     3                             IDPARS(2).EQ.043)) THEN
         CALL MEANRH(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3               IS0,IS1,IS2,IS4,ND7,
     4               FD1,FD2,FD3,FD4,FD5,FD6,FD7,ND2X3,
     5               ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF THE UPS FOG POTENTIAL FROM MODEL DATA
C
      ELSEIF(IDPARS(1).EQ.003.AND.IDPARS(2).EQ.067) THEN
         CALL RHNSPD(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3               IS0,IS1,IS2,IS4,ND7,
     4               FD1,FD2,ND2X3,
     5               ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF DEW POINT TEMPERATURE FROM MODEL 
C        DATA
C
      ELSEIF(IDPARS(1).EQ.003.AND.(IDPARS(2).EQ.100.OR.
     1                             IDPARS(2).EQ.101.OR.
     2                             IDPARS(2).EQ.106.OR.
     3                             IDPARS(2).EQ.107)) THEN
         CALL DEWPT(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1              NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2              LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3              IS0,IS1,IS2,IS4,ND7,
     4              FD1,FD2,FD3,FD4,ND2X3,
     5              ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF THE WET BULB TEMPERATURE FROM MODEL
C        DATA
C
      ELSEIF(IDPARS(1).EQ.003.AND.(IDPARS(2).EQ.110.OR.
     1                             IDPARS(2).EQ.111.OR.
     2                             IDPARS(2).EQ.116)) THEN
         CALL WETBULBT(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1                 NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2                 LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3                 IS0,IS1,IS2,IS4,ND7,
     4                 FD1,FD2,FD3,FD4,FD5,ND2X3,
     5                 ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF THE EQUIVALENT POTENTIAL TEMPERATURE
C        FROM MODEL DATA
C
      ELSEIF(IDPARS(1).EQ.003.AND.(IDPARS(2).EQ.130.OR.
     1                             IDPARS(2).EQ.131)) THEN
         CALL THETAE(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3               IS0,IS1,IS2,IS4,ND7,
     4               FD1,FD2,FD3,FD4,ND2X3,
     5               ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF ZRPRED FROM MODEL DATA 
C
      ELSEIF((IDPARS(1).EQ.003).AND.((IDPARS(2).EQ.152).OR.
     1                               (IDPARS(2).EQ.153).OR.
     2                               (IDPARS(2).EQ.154).OR.
     3                               (IDPARS(2).EQ.156))) THEN
         CALL ZRPRED(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3               IS0,IS1,IS2,IS4,ND7,
     4               FD1,FD2,FD3,FD4,FD5,FD6,FD7,ND2X3,
     5               ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF OLD INCORRECT ZRPRED.  USED
C         ONLY IN OPER PTYPE EQNS PRIOR TO FALL 2003
C
      ELSEIF((IDPARS(1).EQ.003).AND.((IDPARS(2).EQ.151).OR.
     2      (IDPARS(2).EQ.155)))THEN
         CALL ZRPRED_OLD(KFILDO,KFIL10,
     1               IDPARS,JD,NDATE,NGRIDC,ND11,
     2               NSLAB,IPACK,IWORK,DATA,ND5,LSTORE,ND9,
     3               LITEMS,CORE,ND10,NBLOCK,NFETCH,IS0,IS1,
     4               IS2,IS4,ND7,ND2X3,ISTAV,L3264B,MISTOT,IER)
C
C        MULTIPLY TWO MOS PTYPE PROBABILITIES
C
      ELSEIF((IDPARS(1).EQ.208.AND.IDPARS(2).EQ.542).OR.
     1       (IDPARS(1).EQ.208.AND.IDPARS(2).EQ.543).OR.
     2       (IDPARS(1).EQ.208.AND.IDPARS(2).EQ.547).OR.
     3       (IDPARS(1).EQ.208.AND.IDPARS(2).EQ.548)) THEN
         CALL PTPMOSPRD(KFILDO,KFIL10,ID,IDPARS,NDATE,
     1                  SDATA,ND1,NSTA,IPACK,IWORK,FD1,FD2,ND2X3,
     3                  LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     4                  IS0,IS1,IS2,IS4,ND7,ISTAV,L3264B,IER)

C        MAKE A BINARY OF MOS TEMPERATURE AND DEWPOINT
C
      ELSEIF((IDPARS(1).EQ.202.AND.IDPARS(2).EQ.502).OR.
     1       (IDPARS(1).EQ.203.AND.IDPARS(2).EQ.502).OR.
     2       (IDPARS(1).EQ.202.AND.IDPARS(2).EQ.503).OR.
     3       (IDPARS(1).EQ.203.AND.IDPARS(2).EQ.503)) THEN
         CALL MOSTDPB(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1                SDATA,ND1,NSTA,IPACK,IWORK,FD1,ND2X3,
     2                LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3                IS0,IS1,IS2,IS4,ND7,ISTAV,L3264B,IER)
C
C        LOOK FOR COMPUTATION OF THE LIFTED CONDENSATION
C        LEVEL FROM MODEL DATA
C
C        CALCULATE MOS CUMULATIVE CEILING HEIGHT PROBABILITIES,
C        DERIVED BY SUMMING EXCLUSIVE CEILING HEIGHT CATEGORIES.
C
      ELSEIF(IDPARS(1).EQ.208.AND.IDPARS(2).EQ.043)THEN
         CALL SUMPRB(KFILDO,KFIL10,IDPARS,ID,NDATE,
     1               SDATA,ND1,NSTA,IPACK,IWORK,FD1,ND2X3,
     3               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     4               IS0,IS1,IS2,IS4,ND7,
     5               ISTAV,L3264B,IER)
C
      ELSEIF(IDPARS(1).EQ.003.AND.(IDPARS(2).EQ.160.OR.
     1                             IDPARS(2).EQ.161)) THEN
         CALL LCL(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1            NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2            LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3            IS0,IS1,IS2,IS4,ND7,
     4            FD1,FD2,FD3,FD4,ND2X3,
     5            ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF DEW POINT DEPRESSION FROM MODEL
C        DATA
C
      ELSEIF(IDPARS(1).EQ.003.AND.(IDPARS(2).EQ.170.OR.
     1                             IDPARS(2).EQ.171.OR.
     2                             IDPARS(2).EQ.176)) THEN
         CALL DPTDPR(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3               IS0,IS1,IS2,IS4,ND7,
     4               FD1,FD2,FD3,FD4,ND2X3,
     5               ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF 3 HOUR TOTAL OR CONVECTIVE
C        PRECIPITATION FROM MODEL DATA
C
      ELSEIF(IDPARS(1).EQ.003.AND.(IDPARS(2).EQ.205.OR.
     1                             IDPARS(2).EQ.235))THEN
         CALL TPCP3(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1              NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2              LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3              IS0,IS1,IS2,IS4,ND7,
     4              FD1,ND2X3,
     5              ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF 6 HOUR TOTAL OR CONVECTIVE
C        PRECIPITATION FROM MODEL DATA
C
      ELSEIF(IDPARS(1).EQ.003.AND.(IDPARS(2).EQ.210.OR.
     1                             IDPARS(2).EQ.240))THEN
         CALL TPCP6(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1              NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2              LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3              IS0,IS1,IS2,IS4,ND7,
     4              FD1,FD2,ND2X3,
     5              ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF 12 HOUR TOTAL OR CONVECTIVE
C        PRECIPITATION FROM MODEL DATA
C
      ELSEIF(IDPARS(1).EQ.003.AND.(IDPARS(2).EQ.220.OR.
     1                             IDPARS(2).EQ.250))THEN
         CALL TPCP12(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3               IS0,IS1,IS2,IS4,ND7,
     4               FD1,FD2,FD3,ND2X3,
     5               ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF 24 HOUR TOTAL OR CONVECTIVE
C        PRECIPITATION FROM MODEL DATA.  THIS IS THE
C        VERSION REVISED IN 2002 WITH THE NEW IDS.  
C
      ELSEIF(IDPARS(1).EQ.003.AND.(IDPARS(2).EQ.226.OR.
     1                             IDPARS(2).EQ.256))THEN
         CALL TPCP24(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3               IS0,IS1,IS2,IS4,ND7,
     4               FD1,FD2,FD3,FD4,FD5,FD6,ND2X3,
     5               ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF THE OLD 24 HOUR TOTAL, CONVECTIVE,
C        OR NON-CONVECTIVE PRECIPITATION FROM MODEL DATA.  THIS IS
C        THE ORIGINAL VERSION WITH THE ERROR IN IT.  IT NEEDS TO
C        BE KEPT AROUND FOR OPERATIONS UNTIL QPF AND TSVR EQNS
C        ARE REDEVELOPED.
C
      ELSEIF(IDPARS(1).EQ.003.AND.(IDPARS(2).EQ.225.OR.
     1                             IDPARS(2).EQ.255.OR.
     2                             IDPARS(2).EQ.285))THEN
         CALL TPCP24_OLD(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1               NGRIDC,ND11,NSLAB,IPACK,IWORK,
     2               DATA,ND5,LSTORE,ND9,LITEMS,CORE,ND10,
     3               NBLOCK,NFETCH,IS0,IS1,IS2,IS4,ND7,FD1,
     4               FD2,FD3,ND2X3,ISTAV,L3264B,MISTOT,
     5               IER)
C
C        LOOK FOR COMPUTATION OF 3,6,12, OR 24 HOUR NON CONVECTIVE
C        PRECIPITATION FROM MODEL DATA
C
      ELSEIF(IDPARS(1).EQ.003.AND.(IDPARS(2).EQ.265.OR.
     1                             IDPARS(2).EQ.270.OR.
     2                             IDPARS(2).EQ.280.OR.
     3                             IDPARS(2).EQ.286))THEN
         CALL NONCNVP(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1                NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2                LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3                IS0,IS1,IS2,IS4,ND7,
     4                FD1,FD2,FD3,FD4,FD5,FD6,FD7,ND2X3,
     5                ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF SATLEVRH FROM MODEL DATA. 
C        SATLEVRH IS THE HEIGHT ABOVE THE GROUND OF A SPECIFIED
C        RH LEVEL
C
      ELSEIF((IDPARS(1).EQ.003).AND.((IDPARS(2).EQ.311).OR.
     1                               (IDPARS(2).EQ.321).OR.
     2                               (IDPARS(2).EQ.331).OR.
     3                               (IDPARS(2).EQ.312).OR.
     4                               (IDPARS(2).EQ.322).OR.
     5                               (IDPARS(2).EQ.332).OR.
     6                               (IDPARS(2).EQ.313).OR.
     7                               (IDPARS(2).EQ.323).OR.
     8                               (IDPARS(2).EQ.333)))THEN
         CALL SATLEVRH(KFILDO,KFIL10,IP12,IDPARS,JD,NDATE,
     1                 KFILRA,RACESS,NUMRA,
     2                 CCALL,ICALLD,CCALLD,NAME,STALAT,STALON,
     3                 ISDATA,SDATA,DIR,ND1,NSTA,
     4                 NGRIDC,NGRID,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     5                 LSTORE,ND9,LITEMS,CORE,ND10,
     6                 LASTL,NBLOCK,LASTD,NSTORE,NFETCH,
     7                 IS0,IS1,IS2,IS4,ND7,
     8                 FD3,FD4,ND2X3,
     9                 ISTAV,L3264B,L3264W,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF SATLEVNUM FROM MODEL DATA.
C        SATLEVNUM IS THE RELATIVE NUMBER OF LEVELS ABOVE THE GROUND
C        EXCEEDING A SPECIFIED RH LEVEL
C
      ELSEIF((IDPARS(1).EQ.003).AND.((IDPARS(2).EQ.341).OR.
     1                               (IDPARS(2).EQ.351).OR.
     2                               (IDPARS(2).EQ.361).OR.
     3                               (IDPARS(2).EQ.342).OR.
     4                               (IDPARS(2).EQ.352).OR.
     5                               (IDPARS(2).EQ.362).OR.
     6                               (IDPARS(2).EQ.343).OR.
     7                               (IDPARS(2).EQ.353).OR.
     8                               (IDPARS(2).EQ.363)))THEN
         CALL SATLEVNUM(KFILDO,KFIL10,
     1                 IDPARS,JD,NDATE,
     2                 KFILRA,RACESS,NUMRA,
     3                 CCALL,ICALLD,CCALLD,NAME,STALAT,STALON,
     4                 ISDATA,SDATA,DIR,ND1,NSTA,
     5                 NGRIDC,NGRID,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     6                 LSTORE,ND9,LITEMS,CORE,ND10,LASTL,
     7                 NBLOCK,LASTD,NSTORE,NFETCH,
     8                 IS0,IS1,IS2,IS4,ND7,
     9                 FD2,FD3,FD4,ND2X3,
     A                 IP12,ISTAV,L3264B,L3264W,MISTOT,IER)
C
C        LOOK FOR MOISTURE DIVERGENCE FROM MODEL DATA
C
      ELSEIF(IDPARS(1).EQ.003.AND.(IDPARS(2).EQ.500.OR.
     1                             IDPARS(2).EQ.501.OR.
     2                             IDPARS(2).EQ.506))THEN
         CALL MDIV(KFILDO,KFIL10,JD,IDPARS,NDATE,
     1             NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2             LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3             IS0,IS1,IS2,IS4,ND7,
     4             FD1,FD2,FD3,FD4,FD5,FD6,FDSINS,FDMS,ND2X3,
     5             ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF 24-HR SNOWFALL AMOUNT FROM
C        MODEL DATA
C
      ELSEIF(IDPARS(1).EQ.003.AND.(IDPARS(2).EQ.640.OR.
     1                             IDPARS(2).EQ.645))THEN
         CALL SNOWEQ(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3               IS0,IS1,IS2,IS4,ND7,
     4               FD1,FD2,FD3,FD4,FD5,FD6,ND2X3,
     5               ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF EARTH-ORIENTED U-WIND OR V-WIND
C        FROM MODEL DATA
C        IT IS ASSUMED THE GRID-ORIENTED WIND FIELDS ARE BASIC VARIABLES.
C
      ELSEIF(IDPARS(1).EQ.004.AND.(IDPARS(2).EQ.010.OR.
     1                             IDPARS(2).EQ.110.OR.
     2                             IDPARS(2).EQ.011.OR.
     3                             IDPARS(2).EQ.111.OR.
     4                             IDPARS(2).EQ.061.OR.
     5                             IDPARS(2).EQ.161.OR.
     6                             IDPARS(2).EQ.066.OR.
     7                             IDPARS(2).EQ.166))THEN
         CALL EOWND(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1              NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2              LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3              IS0,IS1,IS2,IS4,ND7,
     4              FD1,FD2,ND2X3,
     5              ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF GEOSTROPHIC U-WIND, V-WIND, OR
C        WIND SPEED FROM HEIGHTS FROM MODEL DATA
C        IT IS ASSUMED THE HEIGHT FIELD IS A BASIC VARIABLE.
C
      ELSEIF(IDPARS(1).EQ.004.AND.(IDPARS(2).EQ.002.OR.
     1                             IDPARS(2).EQ.012.OR.
     2                             IDPARS(2).EQ.102.OR.
     3                             IDPARS(2).EQ.112.OR.
     4                             IDPARS(2).EQ.212))THEN
         CALL GWIND(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1              NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2              LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3              IS0,IS1,IS2,IS4,ND7,
     4              FD1,FD2,FD3,FD4,FDSINS,FDMS,ND2X3,
     5              ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF WIND DIRECTION FROM MODEL DATA
C
      ELSEIF(IDPARS(1).EQ.004.AND.(IDPARS(2).EQ.200.OR.
     1                             IDPARS(2).EQ.201.OR.
     2                             IDPARS(2).EQ.206))THEN
         CALL WINDDR(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3               IS0,IS1,IS2,IS4,ND7,
     4               FD1,FD2,FD3,FD4,
     5               ND2X3,ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF WIND SPEED FROM U AND V WINDS
C        FROM MODEL DATA.
C        IT IS ASSUMED THE U AND V WIND FIELDS ARE BASIC VARIABLES.
C
      ELSEIF(IDPARS(1).EQ.004.AND.(IDPARS(2).EQ.210.OR.
     1                             IDPARS(2).EQ.211.OR.
     2                             IDPARS(2).EQ.216))THEN
         CALL WSPEED(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3               IS0,IS1,IS2,IS4,ND7,
     4               FD1,FD2,ND2X3,
     5               ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF VORTICITY ADVECTION FROM MODEL
C        DATA
C
      ELSEIF(IDPARS(1).EQ.004.AND.(IDPARS(2).EQ.300.OR.
     1                             IDPARS(2).EQ.301.OR.
     2                             IDPARS(2).EQ.306)) THEN
         CALL VORTADV(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3               IS0,IS1,IS2,IS4,ND7,
     4               FD1,FD2,FD3,FD4,FDSINS,FDMS,ND2X3,
     5               ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF TEMPERATURE ADVECTION FROM MODEL DATA
C
      ELSEIF(IDPARS(1).EQ.004.AND.(IDPARS(2).EQ.320.OR.
     1       IDPARS(2).EQ.321.OR.IDPARS(2).EQ.326)) THEN
         CALL TMPADV(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1              NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2              LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3              IS0,IS1,IS2,IS4,ND7,
     4              FD1,FD2,FD3,FD4,FDSINS,FDMS,ND2X3,
     5              ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF SPECIFIC HUMIDITY ADVECTION FROM MODEL DATA
C
      ELSEIF(IDPARS(1).EQ.004.AND.(IDPARS(2).EQ.350.OR.
     1                             IDPARS(2).EQ.351.OR.
     2                             IDPARS(2).EQ.356)) THEN
         CALL QADV(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1              NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2              LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3              IS0,IS1,IS2,IS4,ND7,
     4              FD1,FD2,FD3,FD4,FDSINS,FDMS,ND2X3,
     5              ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF DIVERGENCE FROM WINDS FROM MODEL
C        DATA.  IT IS ASSUMED THE U AND V WIND FIELDS ARE BASIC
C        VARIABLES.
C
      ELSEIF(IDPARS(1).EQ.006.AND.(IDPARS(2).EQ.110.OR.
     1                             IDPARS(2).EQ.111.OR.
     2                             IDPARS(2).EQ.116))THEN
         CALL DIVW(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1             NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2             LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3             IS0,IS1,IS2,IS4,ND7,
     4             FD1,FD2,FD3,FD4,FDSINS,FDMS,ND2X3,
     5             ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF VORTICITY FROM WINDS FROM MODEL
C        DATA.  IT IS ASSUMED THE WIND FIELD IS A BASIC VARIABLE.
C
      ELSEIF(IDPARS(1).EQ.006.AND.IDPARS(2).EQ.010)THEN
         CALL VORTW(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1              NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2              LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3              IS0,IS1,IS2,IS4,ND7,
     4              FD1,FD2,FD3,FD4,FDSINS,FDMS,ND2X3,
     5              ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF VORTICITY FROM HEIGHTS (GEOSTROPHIC)
C        OF MODEL DATA.  IT IS ASSUMED THE HEIGHT FIELD IS A BASIC
C        VARIABLE.
C
      ELSEIF(IDPARS(1).EQ.006.AND.IDPARS(2).EQ.020)THEN
         CALL VORTH(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1              NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2              LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3              IS0,IS1,IS2,IS4,ND7,
     4              FD1,FD2,FD3,FDSINS,FDMS,ND2X3,
     5              ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION FOR STORM RELATIVE HELICITY
C
C      ELSEIF(IDPARS(1).EQ.006.AND.IDPARS(2).EQ.310.OR.
C     1                            IDPARS(2).EQ.320.OR.
C     2                            IDPARS(2).EQ.330)THEN
C         CALL HELCTY(KFILDO,KFIL10,IDPARS,JD,NDATE,
C     1               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
C     2               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
C     3               IS0,IS1,IS2,IS4,ND7,
C     4               FD1,FD2,FD3,FD4,FD5,FD6,FD7,ND2X3,
C     5               ISTAV,L3264B,MISTOT,IER)
C
C
C        LOOK FOR COMPUTATION OF BULK RICHARDSON NUMBER
C
      ELSEIF((IDPARS(1).EQ.007).AND.(
     1       IDPARS(2).EQ.140.OR.IDPARS(2).EQ.150.OR.
     2       IDPARS(2).EQ.145.OR.IDPARS(2).EQ.155))THEN
         CALL BULKRN(KFILDO,KFIL10,
     1               IDPARS,JD,NDATE,
     2               SDATA,DIR,ND1,NSTA,
     3               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     4               FD1,FD2,FD3,FD4,FD5,FD6,FD7,ND2X3,       
     5               LSTORE,ND9,LITEMS,CORE,ND10,
     6               LASTL,NBLOCK,LASTD,NSTORE,NFETCH,
     7               IS0,IS1,IS2,IS4,ND7,
     8               ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF STABILITY PARAMETERS FOR
C        PREDICTION OF LIGHTNING.
C
      ELSEIF((IDPARS(1).EQ.002.AND.(IDPARS(2).EQ.003.OR.
     1                              IDPARS(2).EQ.004)).OR.
     2       (IDPARS(1).EQ.007.AND.(IDPARS(2).EQ.021.OR.
     3                              IDPARS(2).EQ.104.OR.
     4                              IDPARS(2).EQ.105.OR.
     5                              IDPARS(2).EQ.121)))THEN
         CALL LTGTHERMO(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1                  NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2                  LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3                  IS0,IS1,IS2,IS4,ND7,ND2X3,
     4                  ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF THE KINDEX FROM MODEL DATA.
C
      ELSEIF(IDPARS(1).EQ.007.AND.IDPARS(2).EQ.200)THEN
         CALL KINDEX(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3               IS0,IS1,IS2,IS4,ND7,
     4               FD1,FD2,FD3,FD4,FD5,FD6,ND2X3,
     5               ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF THE LIFTED INDEX FROM MODEL DATA.
C
      ELSEIF(IDPARS(1).EQ.007.AND.IDPARS(2).EQ.020)THEN
         CALL LINDEX(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3               IS0,IS1,IS2,IS4,ND7,
     4               FD1,FD2,FD3,FD4,FD5,ND2X3,
     5               ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF TOTAL TOTALS INDEX FROM MODEL DATA
C
      ELSEIF(IDPARS(1).EQ.007.AND.IDPARS(2).EQ.210)THEN
         CALL TTOTALS(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1                NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2                LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3                IS0,IS1,IS2,IS4,ND7,
     4                FD1,FD2,FD3,FD4,FD5,ND2X3,
     5                ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF SWEAT INDEX FROM MODEL DATA
C
      ELSEIF(IDPARS(1).EQ.007.AND.IDPARS(2).EQ.220)THEN
         CALL SWEATI(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3               IS0,IS1,IS2,IS4,ND7,
     4               FD1,FD2,FD3,FD4,FD5,FD6,FD7,ND2X3,
     5               ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF THE INTERACTIVE PREDICTOR
C        SWTXRF FROM VECTOR DATA.  THIS MULTIPLIES THE SWEAT
C        INDEX TIMES THE SEVERE TSTM RELATIVE FREQUENCY
C   *** NOTE:  THIS IS THE INCORRECT VERSION, NOT THE U201 
C              UPDATE VERSION.  WE USE THIS IN EQUATIONS AS
C              OF JUNE 2005
C
      ELSEIF((IDPARS(1).EQ.007).AND.((IDPARS(2).GE.360)
     1                         .AND.(IDPARS(2).LE.390)))THEN
         CALL SWTXRF_OLD(KFILDO,KFIL10,IDPARS,JD,NDATE,NGRIDC,ND11,
     1               NSLAB,IPACK,IWORK,DATA,ND5,LSTORE,ND9,LITEMS,
     2               CORE,ND10,NBLOCK,NFETCH,IS0,IS1,IS2,IS4,ND7,
     3               ND2X3,ISTAV,L3264B,MISTOT,FD1,
     4               FD2,FD3,FD4,FD5,FD6,FD7,KFILRA,RACESS,NUMRA,
     5               ND1,CCALL,ICALLD,CCALLD,ISDATA,SDATA,NSTA,
     *               NAME,STALAT,STALON,NGRID,
     6               LASTL,LASTD,NSTORE,IP16,L3264W,DIR,IP12,IER)
C
C        LOOK FOR COMPUTATION OF PRODUCT OF RELATIVE
C        HUMIDITY AND VERTICAL VELOCITY
C
      ELSEIF(IDPARS(1).EQ.007.AND.IDPARS(2).EQ.420)THEN
         CALL RHVV(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1             NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2             LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3             IS0,IS1,IS2,IS4,ND7,
     4             FD1,FD2,ND2X3,
     5             ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF THE PLANETARY BOUNDARY LAYER MIXING FROM
C        MODEL DATA.
C
      ELSEIF(IDPARS(1).EQ.007.AND.(IDPARS(2).EQ.500.OR.
     1                             IDPARS(2).EQ.510)) THEN
         CALL PBLMIX(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     2               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3               IS0,IS1,IS2,IS4,ND7,
     4               FD1,FD2,FD3,FD4,FD5,FD6,FD7,ND2X3,
     5               ISTAV,L3264B,MISTOT,IER)
C
C       LOOK FOR CONVERSION OF THE MAX,MIN,TEMP, OR DEWPOINT TO DEG K.
C       THIS IS FOR GRIDDED DATA AND WAS WRITTEN FOR U202.
C
       ELSEIF((IDPARS(1).EQ.222.AND.((IDPARS(2).EQ.024).OR.
     1                               (IDPARS(2).EQ.034).OR.
     2                               (IDPARS(2).EQ.124).OR.
     3                               (IDPARS(2).EQ.134).OR.
     4                               (IDPARS(2).EQ.224).OR.
     5                               (IDPARS(2).EQ.234))).OR.
     6          (IDPARS(1).EQ.223.AND.(IDPARS(2).EQ.024).OR.
     7                              (IDPARS(2).EQ.034))) THEN
       CALL FTOKGRD(KFILDO,KFIL10,
     1             ID,IDPARS,JD,NDATE,
     2             KFILRA,RACESS,NUMRA,CCALL,ICALLD,
     3             CCALLD,NAME,STALAT,STALON,
     4             ISDATA,SDATA,DIR,ND1,NSTA,
     5             NGRIDC,NGRID,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     6             LSTORE,ND9,LITEMS,CORE,ND10,LASTL,
     7             NBLOCK,LASTD,NSTORE,NFETCH,
     8             IS0,IS1,IS2,IS4,ND7,
     9             ND2X3,IP12,
     A             ISTAV,L3264B,L3264W,IER)
C
C       LOOK FOR COMPUTATION OF A CONSISTENCY CHECKED GRIDDED TEMP OR  
C       DEWPOINT.  THIS IS FOR GRIDDED DATA AND WAS WRITTEN FOR U202.
C
       ELSEIF((IDPARS(1).EQ.222.AND.IDPARS(2).EQ.030).OR.
     1          (IDPARS(1).EQ.223.AND.IDPARS(2).EQ.030)) THEN
       CALL CKTMPDP(KFILDO,KFIL10,
     1             ID,IDPARS,JD,NDATE,
     2             KFILRA,RACESS,NUMRA,CCALL,ICALLD,
     3             CCALLD,NAME,STALAT,STALON,
     4             ISDATA,SDATA,DIR,ND1,NSTA,
     5             NGRIDC,NGRID,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     6             LSTORE,ND9,LITEMS,CORE,ND10,LASTL,
     7             NBLOCK,LASTD,NSTORE,NFETCH,
     8             IS0,IS1,IS2,IS4,ND7,
     9             FD1,FD2,ND2X3,IP12,
     A             ISTAV,L3264B,L3264W,IER)
C
C       LOOK FOR SHIFTED MAX/MIN.  THE PROJECTION IS MOVED BACK 6 HRS.
C       THIS IS FOR GRIDDED DATA AND WAS WRITTEN FOR U202.  IT IS NEEDED
C       BECAUSE WE WANT TO PUT OUR MAX/MIN INTO GRIB2 WITH MORE "NDFD-LIKE"
C       PROJECTIONS.
C
       ELSEIF(IDPARS(1).EQ.222.AND.((IDPARS(2).EQ.129).OR.
     1                              (IDPARS(2).EQ.229))) THEN
      CALL SHFTMXMN(KFILDO,KFIL10,
     1              ID,IDPARS,JD,NDATE,
     2              KFILRA,RACESS,NUMRA,CCALL,ICALLD,
     3              CCALLD,NAME,STALAT,STALON,
     4              ISDATA,SDATA,DIR,ND1,NSTA,
     5              NGRIDC,NGRID,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     6              LSTORE,ND9,LITEMS,CORE,ND10,LASTL,
     7              NBLOCK,LASTD,NSTORE,NFETCH,
     8              IS0,IS1,IS2,IS4,ND7,
     9              ND2X3,IP12,
     A              ISTAV,L3264B,L3264W,IER)
C
C        LOOK FOR COMPUTATION OF U- OR V-COMPONENT WINDS FROM
C        VECTOR DATA
C
      ELSEIF((IDPARS(1).EQ.204.OR.
     1        IDPARS(1).EQ.704)
     2                         .AND.(IDPARS(2).EQ.010.OR.
     3                               IDPARS(2).EQ.110.OR.
     4                               IDPARS(2).EQ.102.OR.
     5                               IDPARS(2).EQ.122))THEN
         CALL DIR2UV(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1               SDATA,ND1,NSTA,IPACK,IWORK,FD1,FD2,ND2X3,
     2               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3               IS0,IS1,IS2,IS4,ND7,
     4               ISTAV,L3264B,IER)
C
C        LOOK FOR COMPUTATION OF MAX WIND SPEED IN 12-H
C
      ELSEIF((IDPARS(1).EQ.704).AND.(IDPARS(2).EQ.420))THEN
         CALL OBSMRWSP(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1                 CCALL,SDATA,ND1,NSTA,IPACK,IWORK,FD1,ND2X3,
     2                 LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3                 IS0,IS1,IS2,IS4,ND7,
     4                 ISTAV,L3264B,IER)
C
C        LOOK FOR COMPUTATION OF DAYTIME MAXIMUM TEMPERATURE
C        FROM HOURLY TEMPERATURE AND EITHER 6 OR 12 HOUR
C        MAXIMUM TEMPERATURE FROM VECTOR DATA. IT IS ASSUMED 
C        HOURLY TEMPERATURE AND 6/12 HOUR TEMPERATURES ARE 
C        BASIC VARIABLES.
C
      ELSEIF((IDPARS(1).EQ.702).AND.(IDPARS(2).EQ.1))THEN
         CALL OBSDMAXT(KFILDO,KFIL10,ID,IDPARS,JD,NDATE,
     1                 ITIMEZ,SDATA,ND1,NSTA,
     2                 CCALL,IPACK,IWORK,FD1,FD2,ND2X3,
     3                 LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     4                 IS0,IS1,IS2,IS4,ND7,
     5                 ISTAV,L3264B,IER)
C
C        LOOK FOR COMPUTATION OF NIGHTTIME MINIMUM TEMPERATURE
C        FROM HOURLY TEMPERATURE AND EITHER 6 OR 12 HOUR
C        MINIMUM TEMPERATURE FROM VECTOR DATA. IT IS ASSUMED
C        HOURLY TEMPERATURE AND 6/12 HOUR TEMPERATURES 
C        ARE BASIC VARIABLES.
C
      ELSEIF(IDPARS(1).EQ.702.AND.IDPARS(2).EQ.011)THEN
         CALL OBSNMINT(KFILDO,KFIL10,ID,IDPARS,JD,NDATE,
     1                 ITIMEZ,SDATA,ND1,NSTA,
     2                 CCALL,IPACK,IWORK,FD1,FD2,ND2X3,
     3                 LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     4                 IS0,IS1,IS2,IS4,ND7,
     5                 ISTAV,L3264B,IER)
C
C        LOOK FOR COMPUTATION OF OBSERVED DEWPOINT DEPRESSION
C        FROM TEMPERATURE AND DEWPOINT FROM VECTOR DATA
C
      ELSEIF(IDPARS(1).EQ.703.AND.IDPARS(2).EQ.101)THEN
         CALL OBSDPTD(KFILDO,KFIL10,ID,IDPARS,JD,NDATE,
     1                SDATA,ND1,NSTA,
     2                IPACK,IWORK,FD1,FD2,ND2X3,
     3                LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     4                IS0,IS1,IS2,IS4,ND7,
     5                ISTAV,L3264B,IER)
C
C        LOOK FOR COMPUTATION OF CORRECTED DEW POINT
C
      ELSEIF(IDPARS(1).EQ.703.AND.IDPARS(2).EQ.102)THEN
         CALL CORDP(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1              SDATA,ND1,NSTA,
     2              IPACK,IWORK,FD1,FD2,ND2X3,
     3              LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     4              IS0,IS1,IS2,IS4,ND7,
     5              ISTAV,L3264B,IER)
C
C        LOOK FOR COMPUTATION OF THE AVERAGE OF THE OBSERVED
C        TEMPERATURE AND CORRECTED DEWPOINT FROM THE SURFACE 
C        STATION REPORTS.
C
      ELSEIF(IDPARS(1).EQ.703.AND.IDPARS(2).EQ.103)THEN
         CALL OBSTWET(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1                SDATA,ND1,NSTA,
     2                IPACK,IWORK,FD1,FD2,FD3,FD4,ND2X3,
     3                LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     4                IS0,IS1,IS2,IS4,ND7,
     5                ISTAV,L3264B,IER)
C
C        LOOK FOR COMPUTATION OF 12,18, OR 24H PCPN AMOUNT 
C        (CONDITIONAL AND UNCONDITIONAL) USING 6HR AMOUNTS
C        FROM VECTOR OBSERVATIONAL DATA
C
      ELSEIF(IDPARS(1).EQ.703.AND.(IDPARS(2).EQ.220.OR.
     1                             IDPARS(2).EQ.230.OR.
     2                             IDPARS(2).EQ.240.OR.
     3                             IDPARS(2).EQ.212.OR.
     4                             IDPARS(2).EQ.222.OR.
     5                             IDPARS(2).EQ.232.OR.
     6                             IDPARS(2).EQ.242))THEN
         CALL PCPX6(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1              SDATA,ND1,NSTA,
     2              IPACK,IWORK,FD1,FD2,ND2X3,
     3              LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     4              IS0,IS1,IS2,IS4,ND7,
     5              ISTAV,L3264B,IER)
C
C        LOOK FOR COMPUTATION OF 24-HR PROBABILITY OF PRECIPITATION
C        BASED ON THE NCDC COOPERATIVE OBSERVER DATA
C
      ELSEIF((IDPARS(1).EQ.703).AND.(IDPARS(2).EQ.327))THEN
         CALL OBSCPPRCP(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1                  CCALL,SDATA,ND1,NSTA,
     2                  IPACK,IWORK,FD1,ND2X3,
     3                  LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     4                  IS0,IS1,IS2,IS4,ND7,
     5                  ISTAV,L3264B,IER)
C
C        LOOK FOR COMPUTATION OF THUNDERSTORM, SEVERE LOCAL STORM,
C        CAT, AND AIRCRAFT ICING PREDICTAND VARIABLES FOR SPECIFIC
C        HOURLY PERIODS (3, 6, 12, AND/OR 24-HR) FROM VECTOR DATA.
C
      ELSEIF((IDPARS(1).EQ.707).AND.
     1      ((IDPARS(2).GE.200).AND.(IDPARS(2).LE.424)))THEN
         CALL SVRVEC(KFILDO,KFIL10,ID,IDPARS,JD,NDATE,
     1               SDATA,ND1,NSTA,
     2               IPACK,IWORK,DATA,FD1,FD2,FD3,FD4,FD5,FD6,ND2X3,
     3               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     4               IS0,IS1,IS2,IS4,ND7,
     5               ISTAV,L3264B,IER)
C
C        LOOK FOR COMPUTATION OF THE INTERACTIVE PREDICTOR KF
C        FROM VECTOR DATA.  THIS _OLD VERSION USES THE OLD RF
C        ID SCHEME AND IS USED FOR THE 48 AND 20KM TSTMS.  THE
C        NEW VERSION BELOW USES THE NEW RF ID SCHEME AND IS
C        USED IN THE 40KM TSTMS.
C
      ELSEIF(IDPARS(1).EQ.007.AND.(IDPARS(2).EQ.460.OR.
     1                             IDPARS(2).EQ.465.OR.
     2                             IDPARS(2).EQ.470.OR.
     3                             IDPARS(2).EQ.475.OR.
     4                             IDPARS(2).EQ.480.OR.
     5                             IDPARS(2).EQ.485.OR.
     6                             IDPARS(2).EQ.490))THEN
         CALL KINXRF_OLD(KFILDO,KFIL10,IP12,IP16,IDPARS,JD,NDATE,
     1               KFILRA,RACESS,NUMRA,
     2               CCALL,ICALLD,CCALLD,
     3               ISDATA,SDATA,DIR,ND1,NSTA,
     4               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     5               LSTORE,ND9,LITEMS,CORE,ND10,
     6               LASTL,NBLOCK,LASTD,NSTORE,NFETCH,
     6               IS0,IS1,IS2,IS4,ND7,
     8               FD1,FD2,FD3,FD5,FD6,FD4,ND2X3,
     9               ISTAV,L3264B,L3264W,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF THE INTERACTIVE PREDICTOR KF
C        FROM VECTOR DATA
C
      ELSEIF(IDPARS(1).EQ.007.AND.(IDPARS(2).EQ.461.OR.
     1                             IDPARS(2).EQ.466.OR.
     2                             IDPARS(2).EQ.471.OR.
     3                             IDPARS(2).EQ.476.OR.
     4                             IDPARS(2).EQ.481.OR.
     5                             IDPARS(2).EQ.486.OR.
     6                             IDPARS(2).EQ.491))THEN
         CALL KINXRF(KFILDO,KFIL10,IP12,IP16,IDPARS,JD,NDATE,
     1               KFILRA,RACESS,NUMRA,
     2               CCALL,ICALLD,CCALLD,
     3               ISDATA,SDATA,DIR,ND1,NSTA,
     4               NGRIDC,ND11,NSLAB,IPACK,IWORK,DATA,ND5,
     5               LSTORE,ND9,LITEMS,CORE,ND10,
     6               LASTL,NBLOCK,LASTD,NSTORE,NFETCH,
     6               IS0,IS1,IS2,IS4,ND7,
     8               FD1,FD2,FD3,FD5,FD6,FD4,ND2X3,
     9               ISTAV,L3264B,L3264W,MISTOT,IER)
C
C        COMPUTE THE PREDICTAND FOR THE OBSTRUCTION TO VISION
C        FOR THE CURRENT HOUR; THIS VARIABLE IS COMPUTED FROM
C        THE PRESENT WX GROUPS OF THE HOURLY REPORTS; THE VALUES
C        ARE 1 FOR NO OBVIS, 2 FOR H, 3 FOR BR, 4 FOR FG, AND 5 FOR
C        BLOWING PHENOMENON.
C
      ELSEIF(IDPARS(1).EQ.708.AND.IDPARS(2).EQ.251)THEN
         CALL OBSOBVIS(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1                 SDATA,ND1,NSTA,IPACK,IWORK,FD1,FD2,ND2X3,
     2                 LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3                 IS0,IS1,IS2,IS4,ND7,
     4                 ISTAV,L3264B,IER)
C
C        LOOK FOR COMPUTATION OF TOTAL CLOUD AMOUNT FROM HOURLY
C        CLOUD AMOUNT.  THIS COMPUTATION IS DONE COMPLETELY
C        FROM THE SURFACE STATION REPORTS AND IS NOT COMPLEMENTED WITH SCP
C        CLOUD AMOUNT. IT IS ASSUMED CLOUD AMOUNT IS A BASIC VARIABLE.
C
      ELSEIF(IDPARS(1).EQ.708.AND.IDPARS(2).EQ.311)THEN
         CALL SFCTCLD(KFILDO,KFIL10,ID,IDPARS,JD,NDATE,
     1                ISDATA,SDATA,ND1,NSTA,IPACK,IWORK,FD1,ND2X3,
     2                LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3                IS0,IS1,IS2,IS4,ND7,
     4                ISTAV,L3264B,IER)
C
C        LOOK FOR COMPUTATION OF TOTAL CLOUD AMOUNT FROM HOURLY
C        CLOUD AMOUNT COMPLEMENTED IF NECESSARY WITH SCP
C        CLOUD AMOUNT. IT IS ASSUMED CLOUD AMOUNT, STATION TYPE,
C        AND BOTH EAST AND WEST SCP CLOUD AMOUNTS ARE BASIC
C        VARIABLES.
C
      ELSEIF(IDPARS(1).EQ.708.AND.IDPARS(2).EQ.312)THEN
         CALL OBSTCLD(KFILDO,KFIL10,ID,IDPARS,JD,NDATE,
     1                CCALL,STALAT,STALON,ISDATA,SDATA,ND1,NSTA,
     2                IPACK,IWORK,FD1,FD2,FD3,ND2X3,
     3                LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     4                IS0,IS1,IS2,IS4,ND7,
     5                ISTAV,L3264B,IER)
C
C       LOOK FOR COMPUTATION OF EXTENDED-RANGE MEAN SKY
C       COVER COMPUTED FROM THE HOURLY SKY COVER OBSERVATIONS
C       AS WELL AS THE SCP OBSERVATIONS.
C
      ELSEIF(IDPARS(1).EQ.708.AND.IDPARS(2).EQ.315) THEN
         CALL OBSMRCLD(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1                 CCALL,STALAT,STALON,ISDATA,SDATA,ND1,NSTA,
     2                 IPACK,IWORK,FD1,FD2,FD3,FD4,FD5,ND2X3,
     3                 LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     4                 IS0,IS1,IS2,IS4,ND7,
     5                 ISTAV,L3264B,IER)
C
C        LOOK FOR COMPUTATION OF CONDITIONAL AND UNCONDITIONAL
C        24-HR SNOWFALL AMOUNT BASED ON THE NCDC COOPERATIVE
C        OBSERVER DATA
C
      ELSEIF((IDPARS(1).EQ.708).AND.(IDPARS(2).EQ.427.OR.
     1                               IDPARS(2).EQ.417))THEN
         CALL OBSCPSNOW(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1                  CCALL,SDATA,ND1,NSTA,
     2                  IPACK,IWORK,FD1,FD2,ND2X3,
     3                  LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     4                  IS0,IS1,IS2,IS4,ND7,
     5                  ISTAV,L3264B,IER)
C
C        LOOK FOR COMPUTATION OF 24-HR CONDITIONAL
C        PROBABILITY OF SNOW BASED ON THE NCDC COOPERATIVE
C        OBSERVER DATA
C
      ELSEIF((IDPARS(1).EQ.708).AND.(IDPARS(2).EQ.507))THEN
         CALL OBSCPCPOS(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1                  CCALL,SDATA,ND1,NSTA,
     2                  IPACK,IWORK,ND5,
     3                  FD1,FD2,ND2X3,
     4                  LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     5                  IS0,IS1,IS2,IS4,ND7,
     6                  ISTAV,L3264B,IER)
C
C        LOOK FOR COMPUTATION OF OBSERVED PRECIPITATION TYPE (FREEZING
C        RAIN, SNOW, LIQUID) FROM THE SURFACE STATION REPORTS.
C
      ELSEIF(IDPARS(1).EQ.708.AND.IDPARS(2).EQ.501)THEN
         CALL OBSPTYPE(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1                 SDATA,ND1,NSTA,IPACK,IWORK,FD1,ND2X3,
     2                 LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3                 IS0,IS1,IS2,IS4,ND7,
     4                 ISTAV,L3264B,IER)
C
C        LOOK FOR COMPUTATION OF OBSERVED PRECIPITATION TYPE (FREEZING,
C        PURE SNOW, SNOW AND RAIN MIXED, PURE RAIN) OVER A 12-H
C        PERIOD.  THIS OBSERVATION IS USED AS A PREDICTAND FOR THE
C        EXTENDED-RANGE GUIDANCE.
C
      ELSEIF(IDPARS(1).EQ.708.AND.IDPARS(2).EQ.511)THEN
         CALL OBSMRPTYPE(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1                   SDATA,ND1,NSTA,
     2                   IPACK,IWORK,FD1,ND2X3,
     3                   LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     4                   IS0,IS1,IS2,IS4,ND7,
     5                   ISTAV,L3264B,IER)
C
C        LOOK FOR COMPUTATION OF OBSERVED PRECIPITATION TYPE (FREEZING
C        RAIN, SNOW, LIQUID OR NO REPORT) BINARY FROM THE SURFACE 
C        STATION REPORTS.
C
      ELSEIF(IDPARS(1).EQ.708.AND.(IDPARS(2).EQ.551).OR.
     1                            (IDPARS(2).EQ.552).OR.
     2                            (IDPARS(2).EQ.553))THEN
         CALL OBSPRWXBIN(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1                   SDATA,ND1,NSTA,
     2                   IPACK,IWORK,FD1,ND2X3,
     3                   LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     4                   IS0,IS1,IS2,IS4,ND7,
     5                   ISTAV,L3264B,IER)
C
C        COMPUTE THE PREDICTAND FOR THE OCCURRENCE OF PRECIPITATION
C        FOR THE CURRENT HOUR; IF THERE IS A REPORT OF PRECIP.
C        IN THE HOURLY REPORT, THEN THE PREDICTAND IS SET
C        TO 1; OTHERWISE, IT IS SET TO 0.
C
      ELSEIF(IDPARS(1).EQ.708.AND.IDPARS(2).EQ.504)THEN
         CALL OBSPOPO(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1                SDATA,ND1,NSTA,
     2                IPACK,IWORK,FD1,ND2X3,
     3                LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     4                IS0,IS1,IS2,IS4,ND7,
     5                ISTAV,L3264B,IER)
C
C        COMPUTE THE PREDICTAND FOR THE OCCURRENCE OF PRECIPITATION
C        DURING THE LAST 3 HOURS; IF THERE IS A REPORT OF PRECIP.
C        IN ANY OF THE HOURLY REPORTS, THEN THE PREDICTAND IS SET
C        TO 1; OTHERWISE, IT IS SET TO 0.
C
      ELSEIF(IDPARS(1).EQ.708.AND.IDPARS(2).EQ.564)THEN
         CALL OBSPOPO3(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1                 SDATA,ND1,NSTA,
     2                 IPACK,IWORK,FD1,ND2X3,
     3                 LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     4                 IS0,IS1,IS2,IS4,ND7,
     5                 ISTAV,L3264B,IER)

C        LOOK FOR COMPUTATION OF OBSERVED PRECIPITATION CHARACTERISTIC
C        (DRIZZLE, STEADY, SHOWERY) FROM THE SURFACE STATION REPORTS.
C        CODED VALUES: 1-DRIZZLE; 2-STEADY; 3-SHOWERY)
C
      ELSEIF(IDPARS(1).EQ.708.AND.IDPARS(2).EQ.605)THEN
         CALL OBSPOPC(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1                SDATA,ND1,NSTA,
     2                IPACK,IWORK,FD1,ND2X3,
     3                LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     4                IS0,IS1,IS2,IS4,ND7,
     5                ISTAV,L3264B,IER)
C
C        LOOK FOR COMPUTATION OF CEILING HEIGHT FROM CLOUD
C        HEIGHT AND CLOUD COVER FROM VECTOR DATA. IT IS ASSUMED
C        CLOUD HEIGHT AND CLOUD COVER ARE BASIC VARIABLES.
C
      ELSEIF(IDPARS(1).EQ.708.AND.IDPARS(2).EQ.0)THEN
         CALL OBSCIGHT(KFILDO,KFIL10,
     1                 ID,IDPARS,JD,NDATE,SDATA,ND1,NSTA,
     2                 IPACK,IWORK,FD1,FD2,ND2X3,
     3                 LSTORE,ND9,LITEMS,CORE,ND10,
     4                 NBLOCK,NFETCH,
     5                 IS0,IS1,IS2,IS4,ND7,
     6                 ISTAV,L3264B,IER)
C
C        LOOK FOR COMPUTATION OF 12 OR 24H SNOWFALL AMOUNT
C        USING 6HR AMOUNTS FROM VECTOR OBSERVATIONAL DATA
C
      ELSEIF(IDPARS(1).EQ.708.AND.(IDPARS(2).EQ.402.OR.
     1                             IDPARS(2).EQ.405))THEN
         CALL SNOWFL(KFILDO,KFIL10,IDPARS,JD,NDATE,
     1               SDATA,ND1,NSTA,
     2               IPACK,IWORK,FD1,FD2,ND2X3,
     3               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     4               IS0,IS1,IS2,IS4,ND7,
     5               ISTAV,L3264B,IER)
C
C        LOOK FOR GRID FIELD NOT FROM LAMP WITH A TAU NOT EVENLY
C        DIVISIBLE BY 3.  IT IS ASSUMED MODEL NCEP FORECASTS ARE
C        AT 3-HR INCREMENTS (STARTING AT 0).  THE VARIABLE IS
C        ACCOMMODATED ONLY FOR CCC = 00X, MOD(IDPARS(12),3) NE 0,
C        AND DD NE 5.  LAMP MODEL FORECASTS EXIST AT EVERY HOUR.
C
      ELSEIF(IDPARS(1)/10.EQ.0.AND.MOD(IDPARS(12),3).NE.0.AND.
     1       IDPARS(4).NE.5)THEN
         CALL TIMGRD(KFILDO,KFIL10,ID,IDPARS,JD,NDATE,
     1               SDATA,ND1,NSTA,NSLAB,IPACK,IWORK,DATA,ND5,
     2               LSTORE,ND9,LITEMS,CORE,ND10,NBLOCK,NFETCH,
     3               IS0,IS1,IS2,IS4,ND7,
     4               FD1,FD2,ND2X3,
     5               ISTAV,L3264B,MISTOT,IER)
C
C        LOOK FOR COMPUTATION OF SIN AND COS OF DAY OF YEAR
C
      ELSEIF(IDPARS(1).EQ.010.AND.IDPARS(2).GE.201.
     1                       .AND.IDPARS(2).LE.208)THEN 
         CALL FORIER(KFILDO,IDPARS,JD,NDATE,
     1               SDATA,NSTA,ISTAV,IER)
C
      ELSE
         IER=-2
C
C           IF THE DIAGNOSTIC BELOW IS PERMITTED, THEN IT
C           CAN OCCUR BECAUSE OF MISSING DATA IN OPTION.
C           NORMALLY, MISSING DATA DO NOT CAUSE A DIAGNOSTIC.
D         WRITE(KFILDO,198)(ID(J),J=1,4),IER
D 198     FORMAT(/' ****VARIABLE NOT IDENTIFIED    ',
D    1           I9.9,1X,I9.9,1X,I9.9,1X,I10.3,
D    2           ' IN OPTN2 , IER = 'I4)
C
C        NOTE THAT MOST DIAGNOSTICS AND SETTING OF ISTAV
C        IS DONE IN OPTION.  OPTN2 SHOULD BE CALLED ONLY
C        FROM A SUBROUTINE WHICH HAS ITSELF BEEN CALLED
C        FROM OPTION OR OPTN2.
      ENDIF
C
D     WRITE(KFILDO,200)(IDPARS(J),J=1,15)
D200  FORMAT(' ************ENDING OPTN2'15I5)
      RETURN
      END