PROGRAM FCSTPOST C$$$ MAIN PROGRAM DOCUMENTATION BLOCK *** C C MAIN PROGRAM: TDL_FCSTPOST C PRGMMR: ALLEN ORG: OSD211 DATE: 2001-03-21 C C ABSTRACT: DRIVER FOR PROGRAM U910. SEE U910 COMMENTS OR PROGRAM C WRITEUP FOR VARIABLE DEFINITIONS. AN ATTEMPT HAS BEEN C MADE TO INCLUDE ALL INFORMATION IN THIS DRIVER THAT C THE USER OF U910 MIGHT HAVE TO CHANGE. C C PROGRAM HISTORY LOG: C 99-09-21 GLAHN C 00-05-17 CARROLL ADDED NCEP DOCBLOCK. C 00-05-17 ERICKSON PUT IN CALLS TO W3TAG, REMOVED 910 FROM C NORMAL STOP C 00-05-17 DREWRY MODIFIED DOCBLOCK C 00-06-30 ERICKSON MODIFIED ND2 AND ADDED AA TO CALL C 06-01-09 WIEDENFELD MODIFIED ND4 TO 6000 INSTEAD OF 5000 C 12-03-15 WEISS MODIFIED ND4 TO 8000 INSTEAD OF 6000 C 16-06 SCHNAPP MODIFIED ND1 AND ND2 TO ACCOMMATE HRRR C PREDICTORS C 18-07-09 SCHNAPP INCREASE ND1 TO 3744968 FOR NBM "GRID" C C USAGE: C C DATA SET USE C INPUT FILES: C FORT.xx - INDICATE NAME AND PURPOSE C PARM - STANDARD IN C C OUTPUT FILES: (INCLUDING WORK FILES) C FORT.xx - INDICATE NAME AND PURPOSE C FORT.06 - STANDARD OUT C C VARIABLES C LET ND1 = THE MAXIMUM NUMBER OF STATIONS THAT CAN BE DEALT C WITH. THIS DOES NOT HAVE TO BE LARGE ENOUGH TO C HOLD ALL THE STATIONS ON THE INPUT FILES. C ND2 = MAXIMUM NUMBER OF VARIABLES TO BE DEALT WITH C IN A SERIES. THIS IS MAINLY FOR A GROUP OF C PROBABILITY FORECASTS. C ND4 = MAXIMUM NUMBER OF VARIABLES THAT CAN BE DEALT WITH C IN ONE RUN. SECOND DIMENSION OF ID( , ), IDFORC( , ) C AND IDPARS( , ) AND DIMENSION OF TRESHL( ), TRESHU( ), C ITAU( ), AND LIMIT( ). C ND5 = THE MAXIMUM NUMBER OF STATION CALL LETTERS ON C THE INPUT FILES. DIMENSION OF IWORK( ), C DATA( ), IPACK( ), AND CCALLD( ). C MUST BE GE THE LARGEST RECORD ON THE INPUT C INTERPOLATED FILE(S). IT IS POSSIBLE THAT IT MUST C BE AS LARGE AS THE PHYSICAL RECORD SIZE OF RECORDS C ON THE INTERNAL STORAGE SYSTEM (NBLOCK) OR THE C EXTERNAL FILE SYSTEM. MUST ALSO BE GE ND1. C ND7 = DIMENSION OF IS0( ), IS1( ), IS2( ), AND IS4( ). C NOT ALL LOCATIONS ARE USED. MAXIMUM SIZE IS FOR C IS1( ) = 22 PLUS 32 CHARACTERS (ONE CHARACTER PER C WORD) OF PLAIN TEXT = 54. SET BY PARAMETER. C ND8 = MAXIMUM NUMBER OF DATES THAT CAN BE DEALT WITH. C ND9 = MAXIMUM NUMBER OF FIELDS STORED IN LSTORE( , ) C AND MSTORE( , ). SECOND DIMENSION OF LSTORE( , ) C AND MSTORE( , ). C ND10 = THE MEMORY IN WORDS ALLOCATED TO THE SAVING OF C PACKED DATA IN CORE( ). WHEN THIS C SPACE IS EXHAUSTED, SCRATCH DISK WILL BE USED. C THEN IT IS SUFFICIENT THAT THE DIMENSIONS OF VARIABLES BE C AS INDICATED BELOW IN THIS EXAMPLE DIRVER. NOTE THAT THE C VARIABLE L3264B IS SET TO 32 FOR A 32-BIT MACHINE AND TO C 64 FOR A 64-BIT MACHINE. L3264W AND NBLOCK WILL C AUTOMATICALLY ADJUST ACCORDINGLY. ND5 SHOULD BE GE ND1. C C SUBPROGRAMS CALLED: C UNIQUE: - U910 C LIBRARY: C MDLLIB90: - TIMPR, U910 C W3LIB: - W3TAGB, W3TAGE C C EXIT STATES: C COND = 0 - SUCCESSFUL RUN C C REMARKS: NONE C C ATTRIBUTES: C LANGUAGE: FORTRAN 90 (xlf compiler) C MACHINE: IBM SP C C$$$ PARAMETER (L3264B=32) PARAMETER (L3264W=64/L3264B) PARAMETER (NBLOCK=6400/L3264B) C PARAMETER (ND1=MAX(NBLOCK,28000)) PARAMETER (ND1=MAX(NBLOCK,3744968)) C WHEN DATA ARE IN MOS-2000 STORAGE AND ON DISK, A C DIAGNOSTIC WILL BE PRODUCED WHEN ND1.LT.NBLOCK. PARAMETER (ND2=30) PARAMETER (ND4=8000) PARAMETER (ND5=MAX(ND1,3000)) C ND5 MUST BE GE ND1. PARAMETER (ND7=54) PARAMETER (ND8=10) PARAMETER (ND9=4000) PARAMETER (ND10=500000000) C CHARACTER*1 CFMT(ND4),PREC(ND4) CHARACTER*1 HEAD(30,ND4) CHARACTER*2 WDTH(ND4) CHARACTER*8 CCALL(ND1,6) CHARACTER*8 CCALLD(ND5) CHARACTER*20 NAME(ND1) CHARACTER*32 PLAIN(ND4) C DIMENSION ISDATA(ND1),SDATA(ND1),NGP(ND1),MWORK(ND1) DIMENSION ICALL(L3264W,ND1,6) DIMENSION XDATA(ND1,ND2) DIMENSION ID(4,ND4),IDPARS(15,ND4),TRESHL(ND4),TRESHU(ND4), 1 JD(4,ND4),JP(3,ND4),ITAU(ND4),NCAT(ND4), 2 IWDTH(ND4),IPREC(ND4),ISCALD(ND4), 3 PRINT(ND4) DIMENSION IPLAIN(L3264W,4,ND4) DIMENSION AA(ND2,ND1) DIMENSION IPACK(ND5),ICALLD(L3264W,ND5), 1 IWORK(ND5),DATA(ND5) DIMENSION IS0(ND7),IS1(ND7),IS2(ND7),IS4(ND7) DIMENSION IDATE(ND8),NWORK(ND8) DIMENSION LSTORE(12,ND9) DIMENSION CORE(ND10) C EQUIVALENCE (PLAIN,IPLAIN) EQUIVALENCE (ICALLD,CCALLD),(ICALL,CCALL) C DATA KFILDI/5/, 1 KFILDO/06/ DATA NGP/ND1*0/ DATA PLAIN/ND4*' '/ C C CALL W3TAGB('TDL_FCSTPOST',2001,0080,0080,'OSD211') CALL TIMPR(KFILDO,KFILDO,'START U910 ') C CALL U910(KFILDI,KFILDO,ICALL,CCALL, 1 ISDATA,SDATA,NGP,XDATA,MWORK,NAME,ND1,ND2, 2 ID,IDPARS,TRESHL,TRESHU,JD,JP, 3 ITAU,IWDTH,WDTH,IPREC,PREC,CFMT,NCAT, 4 ISCALD,PRINT,HEAD,IPLAIN,PLAIN,L3264B,L3264W,ND4, 5 AA,ICALLD,CCALLD,IPACK,DATA,IWORK,ND5, 6 IS0,IS1,IS2,IS4,ND7, 7 IDATE,NWORK,ND8, 8 LSTORE,ND9, 9 CORE,ND10,NBLOCK) C CALL TIMPR(KFILDO,KFILDO,'END U910 ') C CALL W3TAGE('TDL_FCSTPOST') STOP END