PROGRAM EQNEVAL C$$$ MAIN PROGRAM DOCUMENTATION BLOCK *** C C MAIN PROGRAM: TDL_EQNEVAL C PRGMMR: ALLEN ORG: OST22 DATE: 2001-09-04 C C ABSTRACT: DRIVER FOR PROGRAM U900. SEE U900 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 U900 MIGHT HAVE TO CHANGE. C C PROGRAM HISTORY LOG: C 99-09-21 GLAHN C 00-04-DD MCE CHANGED KFILDO TO 6 C REMOVED 900 AFTER STOP C 00-05-16 CARROLL ADDED NCEP DOCBLOCK. C 00-05-17 MCE ADDED W3TAGB/E C 00-05-19 JPD MODIFIED DRIVER SO THAT ND6 AND ND11 C ARE LARGE AND HAVE THE SAME VALUE C 00-06-27 ALLEN ADDED A NOTE THAT ND11 MUST BE AT LEAST C 5 IN ORDER THAT RDSNAM NOT CLOBBER ARRAYS C ON THE IBM. C 00-06-27 ALLEN INCREASED ND9 FROM 4000 TO 8000. C 00-09-12 MCE INCREASED ND1 TO 7000 FOR TSVR C 01-08-31 ALLEN INCREASED ND13 FROM 1100 TO 2000 TO C ACCOMODATE FALL 2001 NEW SITES C 03-08-29 COSGROVE INCREASED ND9 FROM 8000 TO 11500. C 03-12-15 COSGROVE INCREASED ND13 FROM 2000 TO 7000 FOR COOP SITES. C 04-04-28 COSGROVE INCREASED ND9 FROM 11500 TO 12000. C 06-02-24 WIEDENFLED INCREASED ND1 TO 28000 FOR LMPTSTM C JAN 2016 SCHNAPP CHANGED SOME PARAMETERS: ND2, ND3, AND ND6 C 16-12-01 SAMPLATSKY INCREASED ND1 FROM 28000 TO 108000. C 18-10-01 SAMPLATSKY INCREASED ND1 FROM 108000 TO 1000000. C 23-02-17 HUANG INCREASED ND6 FROM 30 TO 60. C USAGE: C C DATA SET USE C INPUT FILES: C PARM - STANDARD IN C C OUTPUT FILES: C FORT.06 - STANDARD OUT C C VARIABLES C LET ND1 = MAXIMUM NUMBER OF STATIONS THAT CAN BE DEALT WITH. C MUST ALSO BE GE BLOCK. C ND2 = MAXIMUM NUMBER OF TERMS IN AN EQUATION. C ND3 = MAXIMUM NUMBER OF PREDICTANDS PER EQUATION SET. C ND5 = MAXIMUM NUMBER OF STATION CALL LETTERS ON C THE INPUT FILES. MUST BE GE THE LARGEST RECORD C ON THE INPUT INTERPOLATED FILE(S). MUST ALSO C BE GE ND1. C ND6 = MAXIMUM NUMBER OF INPUT DATA SETS THAT C CAN BE DEALT WITH. 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. C ND8 = MAXIMUM NUMBER OF DATES THAT CAN BE DEALT WITH. C ND9 = MAXIMUM NUMBER OF FIELDS STORED IN LSTORE( , ). 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 ND11 = MAXIMUM NUMBER OF FILES FROM WHICH TO READ C EQUATIONS, ONE SET AT A TIME. 6/2000 - MUST BE C AT LEAST 5. C ND13 = MAXIMUM NUMBER OF DIFFERENT EQUATIONS PER SET. C THIS WOULD BE = ND1 FOR SINGLE STATION EQUATIONS C OR THE NUMBER OF REGIONS FOR REGIONAL EQUATIONS. 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. C C SUBPROGRAMS CALLED: C UNIQUE: - FCST90,RDST9,SETJDT,U900 C C LIBRARY: C W3LIB - C MDLLIB90 - C C EXIT STATES: C COND = 0 - SUCCESSFUL RUN C C REMARKS: C C ATTRIBUTES: C LANGUAGE: FORTRAN 90 (XLF90 compiler) C MACHINE: IBM SP C C$$$ C PARAMETER (L3264B=32) PARAMETER (L3264W=64/L3264B) PARAMETER (NBLOCK=6400/L3264B) PARAMETER (ND1=MAX(NBLOCK,937227)) PARAMETER (ND2=30) PARAMETER (ND3=34) C PARAMETER (ND3=20) PARAMETER (ND5=MAX(ND1,30)) C PARAMETER (ND6=10000) PARAMETER (ND6=60) PARAMETER (ND7=54) PARAMETER (ND8=2) c PARAMETER (ND9=12000) PARAMETER (ND9=180000) c PARAMETER (ND10=4000000) PARAMETER (ND10=8000000) PARAMETER (ND11=ND6) C PARAMETER (ND13=7000) PARAMETER (ND13=5000) C CHARACTER*8 CCALL(ND1,6), 1 CCALLD(ND5) CHARACTER*20 NAME(ND1) CHARACTER*32 PLAIN(ND3) CHARACTER*60 NAMIN(ND6),EQNNAM(ND11) C DIMENSION ICALL(L3264W,ND1,6),ISDATA(ND1),SDATA(ND1),XDATA(ND1) DIMENSION IPACK(ND5),ICALLD(L3264W,ND5), 1 IWORK(ND5),DATA(ND5) DIMENSION KFILIN(ND6),MODNUM(ND6),JFOPEN(ND6) DIMENSION INDEXC(ND1,ND6) DIMENSION IS0(ND7),IS1(ND7),IS2(ND7),IS4(ND7) DIMENSION IDATE(ND8),NWORK(ND8) DIMENSION LSTORE(12,ND9) DIMENSION CORE(ND10) DIMENSION KFILEQ(ND11) DIMENSION NGP(ND13),LGP(ND13),MTRMS(ND13) DIMENSION ID(7,ND13,ND2),IDPARS(15,ND13,ND2),TRESHL(ND13,ND2), 1 JD(4,ND13,ND2),ITAU(ND13,ND2),IUSED(ND13,ND2) DIMENSION CONST(ND13,ND3), 1 AVG(ND13,ND3), 2 CORR(ND13,ND3) DIMENSION COEF(ND13,ND2,ND3) DIMENSION ISCALD(ND3),ICAT(ND3) DIMENSION IDTAND(4,ND3),IDTPAR(15,ND3) DIMENSION IPLAIN(L3264W,4,ND3) DIMENSION LOCSTA(ND1) DIMENSION FCST(ND1,ND3) C EQUIVALENCE (ICALL,CCALL) EQUIVALENCE (ICALLD,CCALLD) EQUIVALENCE (PLAIN,IPLAIN) C DATA KFILDI/5/, 1 KFILDO/6/ DATA PLAIN/ND3*' '/ C C CALL W3TAGB('TDL_EQNEVAL',2001,0247,0066,'OST22') CALL TIMPR(KFILDO,KFILDO,'START U900 ') C CALL U900(KFILDI,KFILDO,KFILEQ,EQNNAM, 1 ICALL,CCALL,ISDATA,SDATA,XDATA,NAME,ND1, 3 ISCALD,IPLAIN,PLAIN,L3264B,L3264W, 4 ICALLD,CCALLD,IPACK,DATA,IWORK,ND5, 5 KFILIN,MODNUM,NAMIN,JFOPEN, 6 INDEXC,ND6, 7 IS0,IS1,IS2,IS4,ND7, 8 IDATE,NWORK,ND8, 9 LSTORE,ND9, A ID,IDPARS,TRESHL,JD,ITAU,IUSED, B CONST,AVG,CORR,COEF,IDTAND,IDTPAR, C NGP,LGP,MTRMS,ICAT,LOCSTA,FCST, D ND2,ND3,ND11,ND13, E CORE,ND10,NBLOCK) C CALL TIMPR(KFILDO,KFILDO,'END U900 ') CALL W3TAGE('TDL_EQNEVAL') STOP END