SUBROUTINE AUGIDS(KFILDO,KFILID,IP8,ID,IDPARS,NPRED, 1 NPREDX,ND4,NCEPNO,LAMPNO, 2 MAXIBN,MAXIBL,MAXIBO,ISTOP,IER) C C AUGUST 2001 GLAHN TDL LAMP-2000 C SEPTEMBER 2001 GLAHN ADDED U454XXXX.cn TO FORTAB( ) C SEPTEMBER 2001 GLAHN ADDED CHECK ON ND4 C SEPTEMBER 2001 GLAHN CHANGED 8888 TO 888 IN PURPOSE C SEPTEMBER 2001 GLAHN CHANGED COMMENT FOR IP8 C OCTOBER 2001 GLAHN ADDED RADAR CAPABILITY; CHANGED C J TO N AND L TO M IN DO 150 LOOP; C ADDED ELEVATION CAPABILITY C OCTOBER 2001 GLAHN ADDED COMMENTS CONCERNING RADAR DATA C OCTOBER 2001 GLAHN ADDED TO NCPTAB REFERENCE FOR RADAR C OCTOBER 2001 GLAHN ADDED RADAR TO SATURATION DEFICIT C OCTOBER 2001 GLAHN ADDED 9 BIN CLOUD LAYER CAPABILITY C NOVEMBER 2001 GLAHN ADDED BIN 10 FOR OBSCURATION C NOVEMBER 2001 GLAHN ADDED EXTRA 3 HEIGHTS FOR CLAM C APRIL 2002 GLAHN UPDATED FOR FORECASTS OF TEMP AND DP C MAY 2002 GLAHN CHANGED U352.cn TO U353.cn IN FORTAB C JUNE 2002 GLAHN CHANGED PLACEMENT OF COMPUTATION C OF MAXIBN AND MAXIBL; MODIFIED COLS C 6, 7, 8, 10 IN IDSTAB( , ) FOR RADAR; C CHANGED IDPARS(9, ) TO 2 FOR RADAR C NOVEMBER 2002 GHIRARDELLI CHANGED TO ADD AVN MODEL WINDS C TO NCPTAB ARRAY. MODIFIED IDSTAB TO C USE MODEL WINDS FOR ADVECTION INSTEAD C OF HEIGHTS FOR GEOSTROPHIC WIND. C DECEMBER 2002 RUDACK MODIFIED FORMAT STATEMENTS TO ADHERE C TO THE F90 COMPILER STANDARDS FOUND ON C THE IBM SYSTEM C MARCH 2003 GLAHN MODIFIED CALCULATION OF RR FOR NCEP C FIELDS TO ACCOUNT FOR RUN +5 HOURS C FROM RUN TIME; COMMENTS; SPELLING C MAY 2003 LIANG CHANGED THE FOURTH AND THE FIFTH CLOUD C BIN IDS TO ACCOMMODATE THE REDEFINED C TAF CATEGORIES. C JUNE 2003 WIEDENFELD ADDED 3 ELEMENTS FOR ANALYSIS AND C ADVECTION. PTYPE, OCCURENCE OF PRECIP, C AND OBV C JUNE 2003 GHIRARDELLI CHANGED IDSTAB ENTRIES FOR RADAR C TO RETRIEVE ALL 4 POSSIBLE RADAR TIMES C REGARDLESS OF THE TIME ASKED FOR. C PREVIOUSLY IF REQUESTING JUST RADAR IN C U454 IT WOULD NOT GET ANY BACKUP RADAR. C MARCH 2004 WIEDENFELD CHANGED ID'S IN IDSTAB ENTRIES FOR C RADAR TO HAVE THE QC'ED FFF OF C 646,631,616,601 FOR REFLECTIVITY ID. C CHANGED CCC AND DD FOR BOTH RADAR ID'S C TO BE 007 AND 05 FOR IDSTAB. CHANGED C IOBTAB FOR REFLECTIVITY TO HAVE THE C QC'ED FFF PREVIOUSLY MENTIONED. C MARCH 2004 WIEDENFELD ADDED LIGHTNING ELEMENT FOR C ADVECTION. LIGHTNING ADVECTION WILL BE C CREATED IN THE SAME MANOR AS RADAR. C APRIL 2004 WIEDENFELD ADDED 1000 AND 500 MB HEIGHT IDS TO C IDSTAB. C AUGUST 2005 WIEDENFELD MODIFIED FOR OPERATIONS: CHANGED C NAME OF ALL CONTROL FILES C SEPTEMBER 2015 SAMPLATSKY ADDED MRMS/TL VARIABLE IDS AND C NECESSARY PARAMETERS TO THE ARRAYS C IN THE DATA STATEMENTS. C APRIL 2016 SAMPLATSKY EXPANDED MRMS/LTG ENTRIES TO C INCLUDE ALL 15-MIN PERIODS. ALSO C ADDED 2 ADDITIONAL LTG VARIABLES. C INCREASED NVAL TO 93 AND DIMENSION C OF IOBTAB TO 72. C DECEMBER 2016 GHIRARDELLI MODIFIED COMMENTS ABOUT IBACKR C TO DISTINGUISH BETWEEN RCM RADAR WHICH C HAS DD 04 AND NEED IBACKR TO BE 2, C AND MRMS AND LTG DATA WHICH HAVE DD C 05 AND NEED TO LOOK BACK 0 SINCE THE C DATA HAVE THE CURRENT NDATE ON THEM. C THIS CODE WILL TREAT THE MRMS AND LTG C DATA AS LAMP FIELDS, WHICH GIVE THEM A C LOOKBACK OF 0, WHICH IS APPROPRIATE C FOR THOSE FIELDS. C APRIL 2017 SAMPLATSKY MODIFIED 1H RAD/LTG IDS TO C FINAL APPROVED IDS. C SEPTEMBER 2018 SAMPLATSKY ADDED 1H PRECIP IDS. INCREASED C NVAL TO 95 AND DIMENSION OF IOBTAB C TO 74. C MARCH 2024 SAMPLATSKY THIS VERSION OF AUGIDS IS SET C TO INGEST RAP WINDS AND NOT GFS. C WIND IDS IN THE NCPTAB ARRAY ARE C ADJUSTED TO RAP WIND IDS. C C PURPOSE C TO AUGMENT THE ID SET IN ID( , ) AND IDPARS( , ) TO C INCLUDE ALL VARIABLES THAT WILL BE NEEDED IN U150 C FOR THIS RUN. C C THE MODEL NUMBER "DD" IN ID(1, ) OF 8 SIGNALS AN NCEP C MODEL, AND IS REPLACED BY NCEPNO. THE MODEL NUMBER "DD" C IN ID(1, ) OF 5 SIGNALS A LAMP MODEL, AND IS REPLACED BY C LAMPNO. NORMALLY, NCEPNO WILL BE 8 AND LAMPNO WILL BE 5, C BUT THIS ALLOWS A DIFFERENT MODEL NUMBER TO BE USED C WITHOUT CHANGE TO THIS ROUTINE. THE RADAR ARCHIVE C HAS A MODEL NUMBER OF 4 AND THIS IS LEFT INTACT. C C THE RR IS SET FOR EACH VARIABLE ACCORDING TO THE LBACK, C NBACK, OR MAXIBO FOR THE VARIABLE BEING PROCESSED. FOR C INSTANCE, SOME LAMP VARIABLES MIGHT BE NEEDED FOR A C PREVIOUS HOUR AND OTHERS WOULD NOT. RADAR DATA ARE C TREATED DIFFERENTLY, AND THE LOOKBACK NUMBER OF HOURS C IS HARDWIRED TO 2. THIS WILL ALLOW A FULL HOUR OF DATA C FOR THE SD ANALYSIS FOR BACKUP, IF NEEDED. C C IBACKN,FOR INSTANCE, READ FROM EACH .cn FILE NEEDED IS C USED TO CALCULATE A MINIMUM LOOKBACK FOR EACH VARIABLE. C HOWEVER, THE INDIVIDUAL VALUES OF IBACKN DETERMINE HOW C FAR TO ACTUALLY LOOK BACK. THAT IS, DATA COULD BE IN C INTERNAL STORAGE AND NOT BE RETRIEVED BECAUSE OF IBACKN C WHEN VALUES OF IBACKN VARY BY VARIABLE. C C THERE IS NO DISTINCTION AS TO FIELDS NEEDED BASED ON C TAU. THE SAME LIST WILL BE GENERATED FOR AN ANALYSIS C WHETHER OR NOT PREDICTION IS TO BE DONE (TAU GT 0). C THIS CREATES A LARGER LIST THAN NEEDED WHEN ONLY AN C ANALYSIS IS TO BE DONE. USUALLY, PREDICTION WILL ALSO C BE DONE, SO THERE IS NO WASTE. C C NOTE THAT IN U400D, THE LOWEST CLOUD LAYER 008320 IS C REQUIRED WHEN ANALYZING ANY OTHER CLOUD LAYER TO SET C LEGITIMATE MISSINGS TO 888. ALSO, WEATHER GROUP 1 C IS NEEDED WHEN ANALYZING WEATHER GROUPS 2 OR 3 FOR C THE SAME REASON. C C C DATA SET USE C KFILDO - UNIT NUMBER OF OUTPUT (PRINT) FILE. (OUTPUT) C KFILID - UNIT NUMBER OF INPUT FILE. (INPUT) C C VARIABLES C C KFILDO = UNIT NUMBER OF OUTPUT (PRINT) FILE. (INPUT) C KFILID = UNIT NUMBER TO READ THE INDIVIDUAL MODULE .cn C FILES. (INPUT) C IP8 = UNIT NUMBER FOR PRINTING THE CONTENTS OF C ID( , ) AFTER AUGMENTATION. (INPUT) C ID(J,N) = THE INTEGER PREDICTOR ID'S (J=1,4) (N=1,ND4). C (INPUT/OUTPUT) C IDPARS(J,N) = THE PARSED, INDIVIDUAL COMPONENTS OF THE C PREDICTOR ID'S CORRESPONDING TO ID( ,N) C (J=1,15), (N=1,ND4). 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 C 1 LAYER), C J=7--LTLTLTLT (TOP OF LAYER), C J=8--T (TRANSFORMATION), C J=9--RR (RUN TIME OFFSET, ALWAYS + AND BACK C 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 (INPUT/OUTPUT) C NPRED = NUMBER OF ELEMENTS IN ID( , ) UPON ENTRY. C (INPUT) C NPREDX = NUMBER OF ELEMENTS IN ID( , ) UPON EXIT. C (OUTPUT) C ND4 = MAXIMUM OF NPRED AND NPREDX. 2ND DIMENSION OF C ID( , ) AND IDPARS( , ). (INPUT) C NCEPNO = EXPECTED NCEP INPUT MODEL NUMBER. (INPUT) C LAMPNO = LAMP OUTPUT MODEL NUMBER AND EXPECTED LAMP C INPUT MODEL NUMBER. (INPUT) C MAXIBN = MAXIMUM OF IBACKN OF INDIVIDUAL MODULE .cn C FILES. (OUTPUT) C MAXIBL = MAXIMUM OF IBACKL OF INDIVIDUAL MODULE .cn C FILES. (OUTPUT) C MAXIBO = MAXIMUM OF NUMBER OF HOURS TO SAVE HOURLY C DATA FOR. NORMALLY 0 OR 1 DEPENDING, C RESPECTIVELY, WHETHER THE ANALYSES ARE TO C BE ALL CONTINUOUS OR SOME CATEGORICAL (INPUT) C ISTOP = INCREMENTED BY 1 ON FILE OPENING OR READING C ERROR. (INPUT/OUTPUT) C IER = RETURN STATUS. C 0 = GOOD RETURN. C OTHER ERRORS ARE FATAL AND PROGRAM HALTS. C (OUTPUT) C IDSTAB(J,L) = THE LIST OF VARIABLES THAT MIGHT APPEAR C IN ID( , ) THAT WOULD NEED DATA (L=1,NVAL). C J=1,4 - 4-WORD ID C J=5,6 - RANGE OF ENTRIES IN IOBTAB( , ) THIS C VARIABLE L WILL NEED DATA FOR, C J=7,8 - RANGE OF ENTRIES IN LAMTAB( , ) THIS C VARIABLE L WILL NEED DATA FOR, C J=9,10 - RANGE OF ENTRIES IN NCPTAB( , ) THIS C VARIABLE L WILL NEED DATA FOR, C J=11 - .cn NAME IN ANLTAB( ) ASSOCIATED C WITH THIS VARIABLE L, AND C J=12 = .cn NAME IN FORTAB( ) ASSOCIATED C WITH THIS VARIABLE L. C (INTERNAL) C NVAL = NUMBER OF ENTRIES IN IDSTAB( ), ETC. C SET BY PARAMETER. (INTERNAL) C IOBTAB(J,L) = IDS OF VARIABLES NEEDED FOR ANALYSES AS C INDICATED BY IDSTAB(5, ) AND IDSTAB(6, ) C (L=1,36). (INTERNAL) C LAMTAB(J,L) = IDS OF VARIABLES NEEDED FROM LAMP FOR C ANALYSES OR FORECASTS AS INDICATED BY C IDSTAB(7, ) AND IDSTAB(8, )(L=1,24). C (INTERNAL) C NCPTAB(J,L) = IDS OF VARIABLES NEEDED FROM NCEP FOR C ANALYSES OR FORECASTS AS INDICATED BY C IDSTAB(9, ) AND IDSTAB(10, ) (L=1,17). C (INTERNAL) C ANLTAB(L) = NAME OF .cn FILE FOR ANALYSES AS INDICATED C BY ISTAB(11,L). (CHARACTER*11) (INTERNAL) C FORTAB(L) = NAME OF .cn FILE FOR FORECASTS AS INDICATED C BY ISTAB(12,L). (CHARACTER*11) (INTERNAL) C IOPEN = NAME OF .cn FILE MOST RECENTLY OPENED. C (CHARACTER*11) (INTERNAL) C IBACKL = THE NUMBER OF HOURS BEFORE CURRENT DATE A C LAMP FORECAST IS NEEDED. (INTERNAL) C IBACKN = THE NUMBER OF HOURS BEFORE CURRENT DATE AN C NCEP FORECAST IS NEEDED. (INTERNAL) C IBACKR = THE NUMBER OF HOURS BEFORE CURRENT DATE A C RADAR FIELD IS NEEDED. HARDWIRED TO 2 FOR C RCM DATA. FOR MRMS AND LTG DATA, ONLY CURRENT C HR IS NEEDED. MRMS AND LTG DATA COME INTO C SYSTEM WITH DD OF 05, SO THEY ARE TREATED C LIKE LAMP FIELDS, WITH LOOK BACK OF IBACKL C WHICH IS 0, WHICH IS APPROPRIATE FOR MRMS C RADAR AND LTG DATA. (INTERNAL) C STATE = VARIABLE SET TO STATEMENT NUMBER TO INDICATE C WHERE AN ERROR OCCURRED. (CHARACTER*4) C (INTERNAL) C 1 2 3 4 5 6 7 X C C NONSYSTEM SUBROUTINES USED C PRSID1 C PARAMETER (NVAL=95) C CHARACTER*4 STATE CHARACTER*14 ANLTAB(46), 1 FORTAB(49), 2 IOPEN/' '/ C DIMENSION ID(4,ND4),IDPARS(15,ND4) DIMENSION IDSTAB(12,NVAL), 1 IOBTAB(4,74), 2 LAMTAB(4,47), 3 NCPTAB(4,32) C DATA IFIRST/0/ DATA IDSTAB/ 1 001201005, 0, 0, 0, 1, 1, 1, 1, 1, 3, 1, 1, 2 002301005, 2, 0, 0, 2, 2, 2, 2, 21,29, 2,21, 3 003301005, 2, 0, 0, 3, 3, 3, 3, 21,32, 3,22, 4 003410005, 0, 0, 0, 24, 36, 4, 4, 16,18, 4, 2, 5 004051005, 10, 0, 0, 4, 5, 5, 6, 19,20, 5, 0, 6 004151005, 10, 0, 0, 4, 5, 5, 6, 19,20, 5, 0, 7 004221005, 10, 0, 0, 4, 5, 5, 6, 19,20, 5, 0, 8 004201005, 10, 0, 0, 4, 5, 5, 6, 19,20, 5, 0, 9 008000005, 0, 0, 0, 7, 19, 7, 7, 21,28, 6, 3, X 008320005, 0, 0, 0, 7, 7, 8, 8, 21,28, 7, 4, 1 008321005, 0, 0, 0, 13, 13, 9, 9, 21,28, 8, 5, 2 008322005, 0, 0, 0, 7, 8, 10, 10, 21,28, 9, 6, 3 008323005, 0, 0, 0, 7, 14, 11, 11, 21,28, 10, 7, 4 008324005, 0, 0, 0, 7, 9, 12, 12, 21,28, 11, 8, 5 008325005, 0, 0, 0, 7, 15, 13, 13, 21,28, 12, 9, 6 008326005, 0, 0, 0, 7, 10, 14, 14, 21,28, 13,10, 7 008327005, 0, 0, 0, 7, 16, 15, 15, 21,28, 14,11, 8 008328005, 0, 0, 0, 7, 11, 16, 16, 21,28, 15,12, 9 008329005, 0, 0, 0, 7, 17, 17, 17, 21,28, 16,13, X 008330005, 0, 0, 0, 7, 12, 18, 18, 21,28, 17,14, 1 008331005, 0, 0, 0, 7, 18, 19, 19, 21,28, 18,15, 2 008100005, 0, 0, 0, 19, 19, 20, 20, 21,28, 19,16, 3 008311005, 0, 0, 0, 7, 12, 21, 21, 21,28, 20,17, 4 008500005, 0, 0, 0, 21, 21, 22, 22, 21,28, 21,18, 5 008510005, 0, 0, 0, 21, 22, 23, 23, 21,28, 22,19, 6 008520005, 0, 0, 0, 21, 23, 24, 24, 21,28, 23,20, 7 007545005, 0, 0, 0, 41, 41, 1, 1, 21,28, 0,23, 8 007545005, 15, 0, 0, 42, 42, 1, 1, 21,28, 0,23, 9 007545005, 30, 0, 0, 43, 43, 1, 1, 21,28, 0,23, X 007545005, 45, 0, 0, 44, 44, 1, 1, 21,28, 0,23, 1 007550005, 0, 0, 0, 45, 45, 1, 1, 21,28, 0,23, 2 007550005, 15, 0, 0, 46, 46, 1, 1, 21,28, 0,23, 3 007550005, 30, 0, 0, 47, 47, 1, 1, 21,28, 0,23, 4 007550005, 45, 0, 0, 48, 48, 1, 1, 21,28, 0,23, 5 007551005, 0, 0, 0, 49, 49, 1, 1, 21,28, 0,23, 6 007551005, 15, 0, 0, 50, 50, 1, 1, 21,28, 0,23, 7 007551005, 30, 0, 0, 51, 51, 1, 1, 21,28, 0,23, 8 007551005, 45, 0, 0, 52, 52, 1, 1, 21,28, 0,23, 9 007552005, 0, 0, 0, 53, 53, 1, 1, 21,28, 0,23, X 007552005, 15, 0, 0, 54, 54, 1, 1, 21,28, 0,23, 1 007552005, 30, 0, 0, 55, 55, 1, 1, 21,28, 0,23, 2 007552005, 45, 0, 0, 56, 56, 1, 1, 21,28, 0,23, 3 007553005, 0, 0, 0, 57, 57, 1, 1, 21,28, 0,23, 4 007553005, 15, 0, 0, 58, 58, 1, 1, 21,28, 0,23, 5 007553005, 30, 0, 0, 59, 59, 1, 1, 21,28, 0,23, 6 007553005, 45, 0, 0, 60, 60, 1, 1, 21,28, 0,23, 7 007601005, 0, 0, 0, 29, 32, 1, 1, 21,28, 0,23, 8 007616005, 0, 0, 0, 29, 32, 1, 1, 21,28, 0,23, 9 007631005, 0, 0, 0, 29, 32, 1, 1, 21,28, 0,23, X 007646005, 0, 0, 0, 29, 32, 1, 1, 21,28, 0,23, 1 007700005, 0, 0, 0, 33, 36, 1, 1, 21,28, 0,24, 2 007715005, 0, 0, 0, 33, 36, 1, 1, 21,28, 0,24, 3 007730005, 0, 0, 0, 33, 36, 1, 1, 21,28, 0,24, 4 007745005, 0, 0, 0, 33, 36, 1, 1, 21,28, 0,24, 5 409020005, 0, 0, 0, 0, 0, 1, 1, 21,28, 0,25, 6 008350005, 000000001, 0, 0, 7, 19, 25, 25, 21,28, 24,26, 7 008355005, 000000001, 0, 0, 7, 19, 26, 26, 21,28, 25,27, 8 008350005, 000020004, 0, 0, 7, 19, 27, 27, 21,28, 26,28, 9 008355005, 000020004, 0, 0, 7, 19, 28, 28, 21,28, 27,29, X 008350005, 000050009, 0, 0, 7, 19, 29, 29, 21,28, 28,30, 1 008355005, 000050009, 0, 0, 7, 19, 30, 30, 21,28, 29,31, 2 008350005, 000100019, 0, 0, 7, 19, 31, 31, 21,28, 30,32, 3 008355005, 000100019, 0, 0, 7, 19, 32, 32, 21,28, 31,33, 4 008350005, 000200030, 0, 0, 7, 19, 33, 33, 21,28, 32,34, 5 008355005, 000200030, 0, 0, 7, 19, 34, 34, 21,28, 33,35, 6 008350005, 000310045, 0, 0, 7, 19, 35, 35, 21,28, 34,36, 7 008355005, 000310045, 0, 0, 7, 19, 36, 36, 21,28, 35,37, 8 008350005, 000460065, 0, 0, 7, 19, 37, 37, 21,28, 36,38, 9 008355005, 000460065, 0, 0, 7, 19, 38, 38, 21,28, 37,39, X 008350005, 000660120, 0, 0, 7, 19, 39, 39, 21,28, 38,40, 1 008355005, 000660120, 0, 0, 7, 19, 40, 40, 21,28, 39,41, 2 008350005, 001219999, 0, 0, 7, 19, 41, 41, 21,28, 40,42, 3 008355005, 001219999, 0, 0, 7, 19, 42, 42, 21,28, 41,43, 4 008350005, 000000000, 0, 0, 7, 19, 43, 43, 21,28, 42,44, 5 008355005, 000000000, 0, 0, 7, 19, 44, 44, 21,28, 43,45, 6 008501005, 0, 0, 0, 37, 38, 45, 45, 21,28, 44,46, 7 008504005, 0, 0, 0, 38, 38, 46, 46, 21,28, 45,47, 8 008251005, 0, 0, 0, 39, 39, 47, 47, 21,28, 46,48, 9 007580005, 0, 0, 0, 40, 40, 1, 1, 21,28, 0,49, X 007801005, 0, 0, 0, 61, 61, 1, 1, 21,28, 0,49, 1 007801005, 15, 0, 0, 62, 62, 1, 1, 21,28, 0,49, 2 007801005, 30, 0, 0, 63, 63, 1, 1, 21,28, 0,49, 3 007801005, 45, 0, 0, 64, 64, 1, 1, 21,28, 0,49, 4 007805005, 0, 0, 0, 65, 65, 1, 1, 21,28, 0,49, 5 007805005, 15, 0, 0, 66, 66, 1, 1, 21,28, 0,49, 6 007805005, 30, 0, 0, 67, 67, 1, 1, 21,28, 0,49, 7 007805005, 45, 0, 0, 68, 68, 1, 1, 21,28, 0,49, 8 007811005, 0, 0, 0, 69, 69, 1, 1, 21,28, 0,49, 9 007811005, 15, 0, 0, 70, 70, 1, 1, 21,28, 0,49, X 007811005, 30, 0, 0, 71, 71, 1, 1, 21,28, 0,49, 1 007811005, 45, 0, 0, 72, 72, 1, 1, 21,28, 0,49, 2 001000005, 000000500, 0, 0, 0, 0, 1, 1, 2, 2, 0, 0, 3 001000005, 000001000, 0, 0, 0, 0, 1, 1, 3, 3, 0, 0, 4 003200005, 000000000, 0, 0, 73, 73, 1, 1, 21,28, 0,49, 5 003203005, 000000000, 0, 0, 74, 74, 1, 1, 21,28, 0,49/ C DATA IOBTAB/701200000, 0, 0, 0, 2 702000000, 0, 0, 0, 3 703100000, 0, 0, 0, 4 704200000, 0, 0, 0, 5 704210000, 0, 0, 0, 6 708000000, 0, 0, 0, 7 708320000, 0, 0, 0, 8 708322000, 0, 0, 0, 9 708324000, 0, 0, 0, X 708326000, 0, 0, 0, 1 708328000, 0, 0, 0, 2 708330000, 0, 0, 0, 3 708321000, 0, 0, 0, 4 708323000, 0, 0, 0, 5 708325000, 0, 0, 0, 6 708327000, 0, 0, 0, 7 708329000, 0, 0, 0, 8 708331000, 0, 0, 0, 9 708100000, 0, 0, 0, X 708310000, 0, 0, 0, 1 708500000, 0, 0, 0, 2 708510000, 0, 0, 0, 3 708520000, 0, 0, 0, 4 703100000, 0, 0, 0, 5 708500000, 0, 0, 0, 6 003350008, 0, 0, 0, 7 001000008, 500, 0, 0, 8 001201005, 0, 0, 0, 9 707601004, 0, 0, 0, X 707616004, 0, 0, 0, 1 707631004, 0, 0, 0, 2 707646004, 0, 0, 0, 3 707700004, 0, 0, 0, 4 707715004, 0, 0, 0, 5 707730004, 0, 0, 0, 6 707745004, 0, 0, 0, 7 708501000, 0, 0, 0, 8 708504000, 0, 0, 0, 9 708251000, 0, 0, 0, X 707380004, 0, 0, 0, 1 007545005, 0, 0, 400, 2 007545005, 15, 0, 400, 3 007545005, 30, 0, 400, 4 007545005, 45, 0, 400, 5 007550005, 0, 0, 400, 6 007550005, 15, 0, 400, 7 007550005, 30, 0, 400, 8 007550005, 45, 0, 400, 9 007551005, 0, 0, 400, X 007551005, 15, 0, 400, 1 007551005, 30, 0, 400, 2 007551005, 45, 0, 400, 3 007552005, 0, 0, 400, 4 007552005, 15, 0, 400, 5 007552005, 30, 0, 400, 6 007552005, 45, 0, 400, 7 007553005, 0, 0, 400, 8 007553005, 15, 0, 400, 9 007553005, 30, 0, 400, X 007553005, 45, 0, 400, 1 007801005, 0, 0, 400, 2 007801005, 15, 0, 400, 3 007801005, 30, 0, 400, 4 007801005, 45, 0, 400, 5 007805005, 0, 0, 400, 6 007805005, 15, 0, 400, 7 007805005, 30, 0, 400, 8 007805005, 45, 0, 400, 9 007811005, 0, 0, 400, X 007811005, 15, 0, 400, 1 007811005, 30, 0, 400, 2 007811005, 45, 0, 400, 3 003200005, 0, 0, 400, 4 003203005, 0, 0, 400/ C DATA LAMTAB/001201005, 0, 0, 0, 2 002301005, 2, 0, 0, 3 003301005, 2, 0, 0, 4 003410005, 0, 0, 0, 5 004051005, 10, 0, 0, 6 004151005, 10, 0, 0, 7 008000005, 0, 0, 0, 8 008320005, 0, 0, 0, 9 008321005, 0, 0, 0, X 008322005, 0, 0, 0, 1 008323005, 0, 0, 0, 2 008324005, 0, 0, 0, 3 008325005, 0, 0, 0, 4 008326005, 0, 0, 0, 5 008327005, 0, 0, 0, 6 008328005, 0, 0, 0, 7 008329005, 0, 0, 0, 8 008330005, 0, 0, 0, 9 008331005, 0, 0, 0, X 008100005, 0, 0, 0, 1 008311005, 0, 0, 0, 2 008500005, 0, 0, 0, 3 008510005, 0, 0, 0, 4 008520005, 0, 0, 0, 5 008350005, 000000001, 0, 0, 6 008355005, 000000001, 0, 0, 7 008350005, 000020004, 0, 0, 8 008355005, 000020004, 0, 0, 9 008350005, 000050009, 0, 0, X 008355005, 000050009, 0, 0, 1 008350005, 000100019, 0, 0, 2 008355005, 000100019, 0, 0, 3 008350005, 000200030, 0, 0, 4 008355005, 000200030, 0, 0, 5 008350005, 000310045, 0, 0, 6 008355005, 000310045, 0, 0, 7 008350005, 000460065, 0, 0, 8 008355005, 000460065, 0, 0, 9 008350005, 000660120, 0, 0, X 008355005, 000660120, 0, 0, 1 008350005, 001219999, 0, 0, 2 008355005, 001219999, 0, 0, 3 008350005, 000000000, 0, 0, 4 008355005, 000000000, 0, 0, 5 008501005, 0, 0, 0, 6 008504005, 0, 0, 0, 7 008251005, 0, 0, 0/ C DATA NCPTAB/001200008, 0, 0, 0, 2 001000008, 500, 0, 0, 3 001000008,1000, 0, 0, 4 001000008, 850, 0, 0, 5 001000008, 700, 0, 0, 6 001201005, 0, 0, 0, 7 002001008, 2, 0, 0, 8 001000008, 500, 0, 0, 9 001000008,1000, 0, 0, X 003101008, 2, 0, 0, 1 001000008, 500, 0, 0, 2 001000008,1000, 0, 0, 3 001100008, 0, 0, 0, 4 002001008, 2, 0, 0, 5 003001008, 2, 0, 0, 6 003350008, 0, 0, 0, 7 001000008, 500, 0, 0, 8 001000008,1000, 0, 0, 9 004020008, 10, 0, 0, X 004120008, 10, 0, 0, 1 004020003, 500, 0, 0, ! RAP ID ADJUSTMENT 2 004020003,1000, 0, 0, ! RAP ID ADJUSTMENT 3 004020003, 850, 0, 0, ! RAP ID ADJUSTMENT 4 004020003, 700, 0, 0, ! RAP ID ADJUSTMENT 5 004120003, 500, 0, 0, ! RAP ID ADJUSTMENT 6 004120003,1000, 0, 0, ! RAP ID ADJUSTMENT 7 004120003, 850, 0, 0, ! RAP ID ADJUSTMENT 8 004120003, 700, 0, 0, ! RAP ID ADJUSTMENT 9 002001008, 2, 0, 0, X 003101008, 2, 0, 0, 1 003001008, 2, 0, 0, 2 001100008, 0, 0, 0/ DATA ANLTAB/'lmp_slpanly.cn', 2 'lmp_tmpanly.cn', 3 'lmp_dewanly.cn', 4 'lmp_sadanly.cn', 5 'lmp_wndanly.cn', 6 'lmp_ciganly.cn', 7 'lmp_ca1anly.cn', 8 'lmp_ch1anly.cn', 9 'lmp_ca2anly.cn', X 'lmp_ch2anly.cn', 1 'lmp_ca3anly.cn', 2 'lmp_ch3anly.cn', 3 'lmp_ca4anly.cn', 4 'lmp_ch4anly.cn', 5 'lmp_ca5anly.cn', 6 'lmp_ch5anly.cn', 7 'lmp_ca6anly.cn', 8 'lmp_ch6anly.cn', 9 'lmp_visanly.cn', X 'lmp_skyanly.cn', 1 'lmp_wx1anly.cn', 2 'lmp_wx2anly.cn', 3 'lmp_wx3anly.cn', 4 'lmp_a01anly.cn', 5 'lmp_h01anly.cn', 6 'lmp_a04anly.cn', 7 'lmp_h04anly.cn', 8 'lmp_a09anly.cn', 9 'lmp_h09anly.cn', X 'lmp_a19anly.cn', 1 'lmp_h19anly.cn', 2 'lmp_a30anly.cn', 3 'lmp_h30anly.cn', 4 'lmp_a45anly.cn', 5 'lmp_h45anly.cn', 6 'lmp_a65anly.cn', 7 'lmp_h65anly.cn', 8 'lmp_a1xanly.cn', 9 'lmp_h1xanly.cn', X 'lmp_a99anly.cn', 1 'lmp_h99anly.cn', 2 'lmp_a99anly.cn', 3 'lmp_h99anly.cn', 4 'lmp_ptpanly.cn', 5 'lmp_pocanly.cn', 6 'lmp_obvanly.cn'/ C DATA FORTAB/'lmp_slpfcst.cn', 2 'lmp_sadfcst.cn', 3 'lmp_cigfcst.cn', 4 'lmp_ca1fcst.cn', 5 'lmp_ch1fcst.cn', 6 'lmp_ca2fcst.cn', 7 'lmp_ch2fcst.cn', 8 'lmp_ca3fcst.cn', 9 'lmp_ch3fcst.cn', X 'lmp_ca4fcst.cn', 1 'lmp_ch4fcst.cn', 2 'lmp_ca5fcst.cn', 3 'lmp_ch5fcst.cn', 4 'lmp_ca6fcst.cn', 5 'lmp_ch6fcst.cn', 6 'lmp_visfcst.cn', 7 'lmp_skyfcst.cn', 8 'lmp_wx1fcst.cn', 9 'lmp_wx2fcst.cn', X 'lmp_wx3fcst.cn', 1 'lmp_tmpfcst.cn', 2 'lmp_dewfcst.cn', 3 'lmp_rrffcst.cn', 4 'lmp_rflfcst.cn', 5 'lmp_elefcst.cn', 6 'lmp_a01fcst.cn', 7 'lmp_h01fcst.cn', 8 'lmp_a04fcst.cn', 9 'lmp_h04fcst.cn', X 'lmp_a09fcst.cn', 1 'lmp_h09fcst.cn', 2 'lmp_a19fcst.cn', 3 'lmp_h19fcst.cn', 4 'lmp_a30fcst.cn', 5 'lmp_h30fcst.cn', 6 'lmp_a45fcst.cn', 7 'lmp_h45fcst.cn', 8 'lmp_a64fcst.cn', 9 'lmp_h64fcst.cn', X 'lmp_a1xfcst.cn', 1 'lmp_a2xfcst.cn', 2 'lmp_a99fcst.cn', 3 'lmp_h99fcst.cn', 4 'lmp_a00fcst.cn', 5 'lmp_h00fcst.cn', 6 'lmp_ptpfcst.cn', 7 'lmp_pocfcst.cn', 8 'lmp_obvfcst.cn', 9 'lmp_ltgfcst.cn'/ C IBACKL=0 IBACKN=0 IBACKR=2 MAXIBN=0 MAXIBL=0 NPREDX=NPRED C C FOR EACH NPRED ORIGINAL ENTRY IN ID( , ), FIND THE VARIABLES C NEEDED FOR THAT ENTRY AND ADD TO ID( , ). C DO 190 N=1,NPRED C C FIND THE ID( ,N) IN THE IDSTAB( , ) LIST. DON'T CHECK THE C THIRD WORD WHICH MAY HAVE A NON ZERO TAU IN ID( , ). C DO 105 M=1,NVAL IF(ID(1,N).EQ.IDSTAB(1,M).AND. 1 ID(2,N).EQ.IDSTAB(2,M).AND. 2 ID(4,N).EQ.IDSTAB(4,M))GO TO 106 105 CONTINUE C C ID( , ) NOT IN IDSTAB( , ). CONTINUE WITH ANOTHER C VARIABLE. C WRITE(KFILDO,1055)N,(ID(J,N),J=1,4) 1055 FORMAT(/' ****ID( ,',I2,') = ',3(I10.9),I10.3, 1 ' IS NOT IN THE IDSTAB( , )', 2 ' LIST IN AUGIDS. PROCEEDING.') ISTOP=ISTOP+1 GO TO 190 C 106 IF(IDPARS(12,N).EQ.0)THEN C C READ ANALYSIS .cn FILE TO GET IBACKL AND IBACKN WHEN C TAU = 0. C IF(IDSTAB(11,M).NE.0)THEN C IF(ANLTAB(IDSTAB(11,M)).NE.IOPEN)THEN C IF THE FILE IS THE MOST RECENT OPENED, USE C CURRENT VALUE OF IBACKL AND IBACKN STATE='110 ' OPEN(UNIT=KFILID,FILE=ANLTAB(IDSTAB(11,M)),STATUS='OLD', 1 IOSTAT=IOS,ERR=325) IOPEN=ANLTAB(IDSTAB(11,M)) C IF(IFIRST.EQ.0)THEN WRITE(KFILDO,110)ANLTAB(IDSTAB(11,M)) 110 FORMAT(/' OPENING FILE ',A11) IFIRST=1 ELSE WRITE(KFILDO,111)ANLTAB(IDSTAB(11,M)) 111 FORMAT(' OPENING FILE ',A11) ENDIF C STATE='111 ' READ(KFILID,120,IOSTAT=IOS,ERR=325) IBACKN,IBACKL 120 FORMAT(24X,2I4) CLOSE(UNIT=KFILID) WRITE(KFILDO,121)IBACKN,IBACKL 121 FORMAT(' IBACKN =',I3,' IBACKL =',I3) ENDIF C ENDIF C C IBACKL AND IBACKN NOW EXIST FOR THIS VARIABLE N. C MAKE SURE MAXIBN AND MAXIBL ARE MAXIMA. THESE ARE FOR C USE IN LMSTR5 IN PREPARING MSTORE( , ). C MAXIBN=MAX(MAXIBN,IBACKN) MAXIBL=MAX(MAXIBL,IBACKL) C ELSE C C READ FORECAST .cn FILE TO GET IBACKL AND IBACKN WHEN C TAU NE 0. C IF(IDSTAB(12,M).NE.0)THEN C IF(FORTAB(IDSTAB(12,M)).NE.IOPEN)THEN C IF THE FILE IS THE MOST RECENT OPENED, USE C CURRENT VALUE OF IBACKL AND IBACKN STATE='120 ' OPEN(UNIT=KFILID,FILE=FORTAB(IDSTAB(12,M)),STATUS='OLD', 1 IOSTAT=IOS,ERR=327) IOPEN=FORTAB(IDSTAB(12,M)) C IF(IFIRST.EQ.0)THEN WRITE(KFILDO,110)FORTAB(IDSTAB(12,M)) IFIRST=1 ELSE WRITE(KFILDO,111)FORTAB(IDSTAB(12,M)) ENDIF C STATE='121 ' READ(KFILID,120,IOSTAT=IOS,ERR=327) IBACKN,IBACKL CLOSE(UNIT=KFILID) WRITE(KFILDO,121)IBACKN,IBACKL ENDIF C ENDIF C C IBACKL AND IBACKN NOW EXIST FOR THIS VARIABLE N. C MAKE SURE MAXIBN AND MAXIBL ARE MAXIMA. THESE ARE FOR C USE IN LMSTR5 IN PREPARING MSTORE( , ). C MAXIBN=MAX(MAXIBN,IBACKN) MAXIBL=MAX(MAXIBL,IBACKL) C ENDIF C C REPLACE DD = 5 WITH LAMPNO AND DD = 8 WITH NCEPNO C IN CASE LAMPNO AND/OR NCEPNO CHANGE. THIS SHOULD C MAKE 5 GENERIC TO LAMP AND 8 GENERIC TO NCEP. C IF(IDPARS(4,N).EQ.5)THEN IDPARS(4,N)=LAMPNO ID(1,N)=IDPARS(1,N)*1000000+ 1 IDPARS(2,N)*1000+ 2 IDPARS(3,N)*100+ 3 IDPARS(4,N) ELSEIF(IDPARS(4,N).EQ.8)THEN IDPARS(4,N)=NCEPNO ID(1,N)=IDPARS(1,N)*1000000+ 1 IDPARS(2,N)*1000+ 2 IDPARS(3,N)*100+ 3 IDPARS(4,N) ENDIF C C DETERMINE WHETHER THE VARIABLE NEEDED IS A NEW ENTRY C FOR THE "NEEDED FOR ANALYSIS" LIST. NOTE THAT THERE C MAY BE MORE THAN ONE ENTRY IN IOBTAB( , ) FOR THIS C VARIABLE. THIS LOOP ALSO INCLUDES RADAR DATA, EVEN C THOUGH RADAR DATA ARE NOT ANALYZED. C DO 140 L=IDSTAB(5,M),IDSTAB(6,M) IF(L.EQ.0)GO TO 140 C KEEP FROM EXECUTING WHEN VALUES OF IDSTAB( , ) = 0 C DO 130 J=NPRED+1,NPREDX C THE FIRST TIME, THIS WILL NOT EXECUTE BECAUSE NPREDX C IS STILL = NPRED. C IF(ID(1,J).EQ.IOBTAB(1,L).AND. 1 ID(2,J).EQ.IOBTAB(2,L).AND. 2 ID(4,J).EQ.IOBTAB(4,L))THEN C C THIS IS THE SAME AS A PREVIOUS EXTENDED ENTRY, C EXCEPT THAT WORD 3 WAS NOT CHECKED. C MAKE SURE THE LOOKBACK VALUE IS A MAXIMUM. C IF(IDPARS(4,J).EQ.LAMPNO)THEN C INITIAL RADAR AND LTG DATA WITH DD 05 INCLUDED HERE. C IF(IDPARS(9,J).LT.IBACKL)THEN IDPARS(9,J)=IBACKL ID(3,J)=IDPARS(8,J)*100000000+ 1 IDPARS(9,J)*1000000+ 2 IDPARS(10,J)*100000+ 3 IDPARS(11,J)*1000+ 4 IDPARS(12,J) ENDIF C ELSEIF(IDPARS(4,J).EQ.NCEPNO)THEN C IF(IDPARS(9,J).LT.IBACKN*6+5)THEN IDPARS(9,J)=IBACKN*6+5 C NOTE THIS ASSUMES NCEP RUNS EVERY 6 HOURS. ID(3,J)=IDPARS(8,J)*100000000+ 1 IDPARS(9,J)*1000000+ 2 IDPARS(10,J)*100000+ 3 IDPARS(11,J)*1000+ 4 IDPARS(12,J) ENDIF C ELSEIF(IDPARS(4,J).EQ.0)THEN C IF(IDPARS(9,J).LT.MAXIBO)THEN IDPARS(9,J)=MAXIBO ID(3,J)=IDPARS(8,J)*100000000+ 1 IDPARS(9,J)*1000000+ 2 IDPARS(10,J)*100000+ 3 IDPARS(11,J)*1000+ 4 IDPARS(12,J) ENDIF C ELSEIF(IDPARS(4,J).EQ.4)THEN IDPARS(9,J)=IBACKR C LOOKBACK FOR RCM RADAR = 2 HOURS. THIS GIVES A FULL C HOUR BACKUP FOR SD ANALYSIS, AND IS IN AGREEMENT C WITH LMSTR5. ID(3,J)=IDPARS(8,J)*100000000+ 1 IDPARS(9,J)*1000000+ 2 IDPARS(10,J)*100000+ 3 IDPARS(11,J)*1000+ 4 IDPARS(12,J) C ELSE WRITE(KFILDO,1295)IDPARS(4,J) 1295 FORMAT(/' ****UNEXPECTED MODEL NUMBER =',I4, 1 '. STOP IN AUGIES AT 1295.') STOP 1295 ENDIF C GO TO 140 C ENDIF C 130 CONTINUE C C THIS IS A NEW ENTRY. C NPREDX=NPREDX+1 C IF(NPREDX.GT.ND4)THEN WRITE(KFILDO,131)ND4 131 FORMAT(/' ****ND4 =',I6,' ABOUT TO BE EXCEEDED IN AUGIDS.', 1 ' STOP AT 131.') STOP 131 ENDIF C ID(1,NPREDX)=IOBTAB(1,L) ID(2,NPREDX)=IOBTAB(2,L) ID(3,NPREDX)=IOBTAB(3,L) ID(4,NPREDX)=IOBTAB(4,L) CALL PRSID1(KFILDO,ID(1,NPREDX),IDPARS(1,NPREDX)) C MUST KEEP IDPARS( , ) CONSISTENT WITH ID( , ). C IF(IDPARS(4,NPREDX).EQ.LAMPNO)THEN C MRMS AND LTG DATA WITH DD 05 INCLUDED HERE IDPARS(9,NPREDX)=IBACKL ID(3,NPREDX)=IDPARS(8,NPREDX)*100000000+ 1 IDPARS(9,NPREDX)*1000000+ 2 IDPARS(10,NPREDX)*100000+ 3 IDPARS(11,NPREDX)*1000+ 4 IDPARS(12,NPREDX) ELSEIF(IDPARS(4,NPREDX).EQ.NCEPNO)THEN IDPARS(9,NPREDX)=IBACKN*6+5 C NOTE THIS ASSUMES NCEP RUNS EVERY 6 HOURS. ID(3,NPREDX)=IDPARS(8,NPREDX)*100000000+ 1 IDPARS(9,NPREDX)*1000000+ 2 IDPARS(10,NPREDX)*100000+ 3 IDPARS(11,NPREDX)*1000+ 4 IDPARS(12,NPREDX) ELSEIF(IDPARS(4,NPREDX).EQ.0)THEN IDPARS(9,NPREDX)=MAXIBO ID(3,NPREDX)=IDPARS(8,NPREDX)*100000000+ 1 IDPARS(9,NPREDX)*1000000+ 2 IDPARS(10,NPREDX)*100000+ 3 IDPARS(11,NPREDX)*1000+ 4 IDPARS(12,NPREDX) ELSEIF(IDPARS(4,NPREDX).EQ.4)THEN IDPARS(9,NPREDX)=IBACKR C LOOKBACK FOR RCM RADAR = 2 HOURS. THIS GIVES A FULL C HOUR BACKUP FOR SD ANALYSIS, AND IS IN AGREEMENT C WITH LMSTR5. ID(3,NPREDX)=IDPARS(8,NPREDX)*100000000+ 1 IDPARS(9,NPREDX)*1000000+ 2 IDPARS(10,NPREDX)*100000+ 3 IDPARS(11,NPREDX)*1000+ 4 IDPARS(12,NPREDX) ELSE WRITE(KFILDO,139)IDPARS(4,J) 139 FORMAT(/' ****UNEXPECTED MODEL NUMBER =',I4, 1 '. STOP IN AUGIES AT 139.') STOP 139 C UNEXPECTED MODEL NUMBER. ENDIF C 140 CONTINUE C C DETERMINE WHETHER THE VARIABLE NEEDED IS A NEW ENTRY C FOR THE "NEEDED FROM LAMP" LIST. C NOTE THAT THERE MAY BE MORE THAN ONE ENTRY IN C LAMTAB( , ) FOR THIS VARIABLE. C DO 160 L=IDSTAB(7,M),IDSTAB(8,M) IF(L.EQ.0)GO TO 160 C KEEP FROM EXECUTING WHEN VALUES OF IDSTAB( , ) = 0 C DO 150 J=NPRED+1,NPREDX C THE FIRST TIME, THIS WILL NOT EXECUTE BECAUSE NPREDX C IS STILL = NPRED. C IF(ID(1,J).EQ.LAMTAB(1,L).AND. 1 ID(2,J).EQ.LAMTAB(2,L).AND. 2 ID(4,J).EQ.LAMTAB(4,L))THEN C C THIS IS THE SAME AS A PREVIOUS EXTENDED ENTRY, C EXCEPT THAT WORD 3 WAS NOT CHECKED. C MAKE SURE THE LOOKBACK VALUE IS A MAXIMUM. C IF(IDPARS(4,J).EQ.LAMPNO)THEN C MRMS AND LTG DATA WITH DD 05 INCLUDED HERE C IF(IDPARS(9,J).LT.IBACKL)THEN IDPARS(9,J)=IBACKL ID(3,J)=IDPARS(8,J)*100000000+ 1 IDPARS(9,J)*1000000+ 2 IDPARS(10,J)*100000+ 3 IDPARS(11,J)*1000+ 4 IDPARS(12,J) ENDIF C ELSEIF(IDPARS(4,J).EQ.NCEPNO)THEN C IF(IDPARS(9,J).LT.IBACKN*6+5)THEN IDPARS(9,J)=IBACKN*6+5 C NOTE THIS ASSUMES NCEP RUNS EVERY 6 HOURS. ID(3,J)=IDPARS(8,J)*100000000+ 1 IDPARS(9,J)*1000000+ 2 IDPARS(10,J)*100000+ 3 IDPARS(11,J)*1000+ 4 IDPARS(12,J) ENDIF C ELSEIF(IDPARS(4,J).EQ.0)THEN C IF(IDPARS(9,J).LT.MAXIBO)THEN IDPARS(9,J)=MAXIBO ID(3,J)=IDPARS(8,J)*100000000+ 1 IDPARS(9,J)*1000000+ 2 IDPARS(10,J)*100000+ 3 IDPARS(11,J)*1000+ 4 IDPARS(12,J) ENDIF C ELSEIF(IDPARS(4,J).EQ.4)THEN IDPARS(9,J)=IBACKR C LOOKBACK FOR RCM RADAR = 2 HOURS. THIS GIVES A FULL C HOUR BACKUP FOR SD ANALYSIS, AND IS IN AGREEMENT C WITH LMSTR5. ID(3,J)=IDPARS(8,J)*100000000+ 1 IDPARS(9,J)*1000000+ 2 IDPARS(10,J)*100000+ 3 IDPARS(11,J)*1000+ 4 IDPARS(12,J) C ELSE WRITE(KFILDO,149)IDPARS(4,J) 149 FORMAT(/' ****UNEXPECTED MODEL NUMBER =',I4, 1 '. STOP IN AUGIES AT 149.') STOP 149 C UNEXPECTED MODEL NUMBER. ENDIF C GO TO 160 C ENDIF C 150 CONTINUE C C THIS IS A NEW ENTRY. C NPREDX=NPREDX+1 C IF(NPREDX.GT.ND4)THEN WRITE(KFILDO,151)ND4 151 FORMAT(/' ****ND4 =',I6,' ABOUT TO BE EXCEEDED IN AUGIDS.', 1 ' STOP AT 151.') STOP 151 ENDIF C ID(1,NPREDX)=LAMTAB(1,L) ID(2,NPREDX)=LAMTAB(2,L) ID(3,NPREDX)=LAMTAB(3,L) ID(4,NPREDX)=LAMTAB(4,L) CALL PRSID1(KFILDO,ID(1,NPREDX),IDPARS(1,NPREDX)) C MUST KEEP IDPARS( , ) CONSISTENT WITH ID( , ). C IF(IDPARS(4,NPREDX).EQ.LAMPNO)THEN C MRMS AND LTG DATA WITH DD 05 INCLUDED HERE IDPARS(9,NPREDX)=IBACKL ID(3,NPREDX)=IDPARS(8,NPREDX)*100000000+ 1 IDPARS(9,NPREDX)*1000000+ 2 IDPARS(10,NPREDX)*100000+ 3 IDPARS(11,NPREDX)*1000+ 4 IDPARS(12,NPREDX) ELSEIF(IDPARS(4,NPREDX).EQ.NCEPNO)THEN IDPARS(9,NPREDX)=IBACKN*6+5 C NOTE THIS ASSUMES NCEP RUNS EVERY 6 HOURS. ID(3,NPREDX)=IDPARS(8,NPREDX)*100000000+ 1 IDPARS(9,NPREDX)*1000000+ 2 IDPARS(10,NPREDX)*100000+ 3 IDPARS(11,NPREDX)*1000+ 4 IDPARS(12,NPREDX) ELSEIF(IDPARS(4,NPREDX).EQ.0)THEN IDPARS(9,NPREDX)=MAXIBO ID(3,NPREDX)=IDPARS(8,NPREDX)*100000000+ 1 IDPARS(9,NPREDX)*1000000+ 2 IDPARS(10,NPREDX)*100000+ 3 IDPARS(11,NPREDX)*1000+ 4 IDPARS(12,NPREDX) ELSEIF(IDPARS(4,NPREDX).EQ.4)THEN IDPARS(9,NPREDX)=IBACKR C LOOKBACK FOR RCM RADAR = 2 HOURS. THIS GIVES A FULL C HOUR BACKUP FOR SD ANALYSIS, AND IS IN AGREEMENT C WITH LMSTR5. ID(3,NPREDX)=IDPARS(8,NPREDX)*100000000+ 1 IDPARS(9,NPREDX)*1000000+ 2 IDPARS(10,NPREDX)*100000+ 3 IDPARS(11,NPREDX)*1000+ 4 IDPARS(12,NPREDX) ELSE WRITE(KFILDO,159)IDPARS(4,J) 159 FORMAT(/' ****UNEXPECTED MODEL NUMBER =',I4, 1 '. STOP IN AUGIES AT 159.') STOP 159 C UNEXPECTED MODEL NUMBER. ENDIF C 160 CONTINUE C C DETERMINE WHETHER THE VARIABLE NEEDED IS A NEW ENTRY C FOR THE "NEEDED FROM NCEP" LIST. C NOTE THAT THERE MAY BE MORE THAN ONE ENTRY IN C NCPTAB( , ) FOR THIS VARIABLE. C DO 180 L=IDSTAB(9,M),IDSTAB(10,M) IF(L.EQ.0)GO TO 180 C KEEP FROM EXECUTING WHEN VALUES OF IDSTAB( , ) = 0 C DO 170 J=NPRED+1,NPREDX C THE FIRST TIME, THIS WILL NOT EXECUTE BECAUSE NPREDX C IS STILL = NPRED. C IF(ID(1,J).EQ.NCPTAB(1,L).AND. 1 ID(2,J).EQ.NCPTAB(2,L).AND. 2 ID(4,J).EQ.NCPTAB(4,L))THEN C C THIS IS THE SAME AS A PREVIOUS EXTENDED ENTRY, C EXCEPT THAT WORD 3 WAS NOT CHECKED. C MAKE SURE THE LOOKBACK VALUE IS A MAXIMUM. C IF(IDPARS(4,J).EQ.LAMPNO)THEN C MRMS AND LTG DATA WITH DD 05 INCLUDED HERE C IF(IDPARS(9,J).LT.IBACKL)THEN IDPARS(9,J)=IBACKL ID(3,J)=IDPARS(8,J)*100000000+ 1 IDPARS(9,J)*1000000+ 2 IDPARS(10,J)*100000+ 3 IDPARS(11,J)*1000+ 4 IDPARS(12,J) ENDIF C ELSEIF(IDPARS(4,J).EQ.NCEPNO)THEN C IF(IDPARS(9,J).LT.IBACKN*6+5)THEN IDPARS(9,J)=IBACKN*6+5 C NOTE THIS ASSUMES NCEP RUNS EVERY 6 HOURS. ID(3,J)=IDPARS(8,J)*100000000+ 1 IDPARS(9,J)*1000000+ 2 IDPARS(10,J)*100000+ 3 IDPARS(11,J)*1000+ 4 IDPARS(12,J) ENDIF C ELSEIF(IDPARS(4,J).EQ.0)THEN C IF(IDPARS(9,J).LT.MAXIBO)THEN IDPARS(9,J)=MAXIBO ID(3,J)=IDPARS(8,J)*100000000+ 1 IDPARS(9,J)*1000000+ 2 IDPARS(10,J)*100000+ 3 IDPARS(11,J)*1000+ 4 IDPARS(12,J) ENDIF C ELSEIF(IDPARS(4,J).EQ.4)THEN IDPARS(9,J)=IBACKR C LOOKBACK FOR RCM RADAR = 2 HOURS. THIS GIVES A FULL C HOUR BACKUP FOR SD ANALYSIS, AND IS IN AGREEMENT C WITH LMSTR5. ID(3,J)=IDPARS(8,J)*100000000+ 1 IDPARS(9,J)*1000000+ 2 IDPARS(10,J)*100000+ 3 IDPARS(11,J)*1000+ 4 IDPARS(12,J) C ELSE WRITE(KFILDO,169)IDPARS(4,J) 169 FORMAT(/' ****UNEXPECTED MODEL NUMBER =',I4, 1 '. STOP IN AUGIES AT 169.') STOP 169 C UNEXPECTED MODEL NUMBER. ENDIF C GO TO 180 C ENDIF C 170 CONTINUE C C THIS IS A NEW ENTRY. C NPREDX=NPREDX+1 C IF(NPREDX.GT.ND4)THEN WRITE(KFILDO,171)ND4 171 FORMAT(/' ****ND4 =',I6,' ABOUT TO BE EXCEEDED IN AUGIDS.', 1 ' STOP AT 171.') STOP 171 ENDIF C ID(1,NPREDX)=NCPTAB(1,L) ID(2,NPREDX)=NCPTAB(2,L) ID(3,NPREDX)=NCPTAB(3,L) ID(4,NPREDX)=NCPTAB(4,L) CALL PRSID1(KFILDO,ID(1,NPREDX),IDPARS(1,NPREDX)) C MUST KEEP IDPARS( , ) CONSISTENT WITH ID( , ). C IF(IDPARS(4,NPREDX).EQ.LAMPNO)THEN C MRMS AND LTG DATA WITH DD 05 INCLUDED HERE IDPARS(9,NPREDX)=IBACKL ID(3,NPREDX)=IDPARS(8,NPREDX)*100000000+ 1 IDPARS(9,NPREDX)*1000000+ 2 IDPARS(10,NPREDX)*100000+ 3 IDPARS(11,NPREDX)*1000+ 4 IDPARS(12,NPREDX) ELSEIF(IDPARS(4,NPREDX).EQ.NCEPNO)THEN IDPARS(9,NPREDX)=IBACKN*6+5 C NOTE THIS ASSUMES NCEP RUNS EVERY 6 HOURS. ID(3,NPREDX)=IDPARS(8,NPREDX)*100000000+ 1 IDPARS(9,NPREDX)*1000000+ 2 IDPARS(10,NPREDX)*100000+ 3 IDPARS(11,NPREDX)*1000+ 4 IDPARS(12,NPREDX) ELSEIF(IDPARS(4,NPREDX).EQ.0)THEN IDPARS(9,NPREDX)=MAXIBO ID(3,NPREDX)=IDPARS(8,NPREDX)*100000000+ 1 IDPARS(9,NPREDX)*1000000+ 2 IDPARS(10,NPREDX)*100000+ 3 IDPARS(11,NPREDX)*1000+ 4 IDPARS(12,NPREDX) ELSEIF(IDPARS(4,NPREDX).EQ.4)THEN IDPARS(9,NPREDX)=IBACKR C LOOKBACK FOR RCM RADAR = 2 HOURS. THIS GIVES A FULL C HOUR BACKUP FOR SD ANALYSIS, AND IS IN AGREEMENT C WITH LMSTR5. ID(3,NPREDX)=IDPARS(8,NPREDX)*100000000+ 1 IDPARS(9,NPREDX)*1000000+ 2 IDPARS(10,NPREDX)*100000+ 3 IDPARS(11,NPREDX)*1000+ 4 IDPARS(12,NPREDX) ELSE WRITE(KFILDO,179)IDPARS(4,J) 179 FORMAT(/' ****UNEXPECTED MODEL NUMBER =',I4, 1 '. STOP IN AUGIES AT 179.') STOP 179 C UNEXPECTED MODEL NUMBER. ENDIF C 180 CONTINUE C D IF(IP8.NE.0)THEN D WRITE(IP8,195)NPREDX,(LL,(ID(JJ,LL),JJ=1,4),LL=1,NPREDX) D ENDIF C 190 CONTINUE C IF(IP8.NE.0)THEN WRITE(IP8,195)NPREDX,(L,(ID(J,L),J=1,4),L=1,NPREDX) 195 FORMAT(/' ',I3,' FULL ID LIST WITH AUGMENTATION:'/ 1 (' ',I3,' ',3(I10.9),I10.3)) WRITE(IP8,196)MAXIBN,MAXIBL,MAXIBO,IBACKR 196 FORMAT(/' MAXIMUM IBACKN =',I3,' (NCEP MODEL, 6-h CYCLES)'/ 1 ' MAXIMUM IBACKL =',I3,' (LAMP MODEL, 1-h CYCLES)'/ 2 ' MAXIMUM IBACKO =',I3,' (OBSERVATIONS, HOURS)'/ 3 ' MAXIMUM IBACKR =',I3,' (RADAR DATA, HOURS)') ENDIF C RETURN C C ERROR SECTION. IF A .cn FILE CANNOT BE OPENED C OR READ, CONTINUE. C 325 WRITE(KFILDO,326)ANLTAB(IDSTAB(11,M)),IOS 326 FORMAT(/'****TROUBLE OPENING OR READING .cn FILE ', 1 A11,' IN AUGIDS, IOSTAT =',I5,'. PROCEEDING.') ISTOP=ISTOP+1 GO TO 900 C 327 WRITE(KFILDO,328)FORTAB(IDSTAB(12,M)),IOS 328 FORMAT(/'****TROUBLE OPENING OR READING .cn FILE ', 1 A11,' IN AUGIDS, IOSTAT =',I5,'. PROCEEDING.') ISTOP=ISTOP+1 C C ERROR STOP BELOW IS FOR ERRORS OF CONTROL INFORMATION INPUT. 900 CALL IERX(KFILDO,KFILDO,IOS,'AUGIDS',STATE) STOP 9999 END