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