PROGRAM RA2MDLP C$$$ MAIN PROGRAM DOCUMENTATION BLOCK *** C C MAIN PROGRAM: RA2MDLP C PRGMMR: MALONEY ORG: W/OST22 DATE: 2001-02-28 C C ABSTRACT: DRIVER FOR PROGRAM U660. SEE U660 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 U660 MIGHT HAVE TO CHANGE. C C PROGRAM HISTORY LOG: C 96-10-01 GLAHN C 01-02-28 MALONEY ADDED NCEP DOCBLOCK, ADDED CALLS TO W3TAG, C REMOVED 660 FROM NORMAL STOP C 03-10-22 COSGROVE INCREASED NUMBER OF STATIONS TO 6600 TO C HANDLE THE COOP SITES C 03-12-17 COSGROVE DID NOT MAKE # OF STATIONS BIG ENOUGH FOR C COOPS. INCREASED NUMBER OF STATIONS TO 7000. C 05-01-26 COSGROVE INCREASED NUMBER OF STATIONS TO 110000 FOR C GRIDDED MOS WESTERN TILE C 05-06-10 MALONEY REMOVED AA MATRIX AND ND4X1, WHICH WERE TOO C LARGE FOR GOE ARCHIVING. INCREASED ND1 FOR C GOE ARCHIVING. C 20-07-13 HUANG INCREASED ND4 FROM 5000 TO 10000 C C USAGE: C C DATA SET USE C INPUT FILES: C FORT.XX - INDICATE NAME AND PURPOSE C KFILDI - UNIT NUMBER OF DEFAULT INPUT FILE. C THIS IS PROBABLY SPECIFIED FOR THE SYSTEM C BEING USED. SET IN DATA STATEMENT. 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 WITH C IN THE REGRESSION ANALYSIS. THIS DOES NOT HAVE C TO BE LARGE ENOUGH TO HOLD ALL THE STATIONS ON C THE INPUT FILES. 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 ND6 = MAXIMUM NUMBER OF INPUT DATA SETS (MODELS) THAT C CAN BE DEALT WITH. INCLUDED BOTH PREDICTORS C AND PREDICTANDS. 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: - U660 C LIBRARY: C MDLLIB90: - TIMPR 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$$$ C PARAMETER (L3264B=32) PARAMETER (L3264W=64/L3264B) PARAMETER (NBLOCK=6400/L3264B) PARAMETER (ND1=MAX(NBLOCK,800000)) C WHEN DATA ARE IN MOS-2000 STORAGE AND ON DISK, A C DIAGNOSTIC WILL BE PRODUCED WHEN ND1.LT.NBLOCK. C PARAMETER (ND4=5000) PARAMETER (ND4=10000) PARAMETER (ND5=MAX(ND1,14000)) C ND5 MUST BE GE ND1. PARAMETER (ND6=30) PARAMETER (ND7=54) PARAMETER (ND8=100) PARAMETER (ND9=3000) PARAMETER (ND10=2000) 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) CHARACTER*60 NAMIN(ND6) C DIMENSION ISDATA(ND1),SDATA(ND1),NGP(ND1),XDATA(ND1), 2 MWORK(ND1) DIMENSION ID(4,ND4),IDPARS(15,ND4),TRESHL(ND4),TRESHU(ND4), 1 JD(4,ND4),INDEX(ND4),JP(3,ND4),ITAU(ND4), 2 IWDTH(ND4),IPREC(ND4),NWHERE(ND4),ISCALD(ND4), 3 PRINT(ND4) DIMENSION IPLAIN(L3264W,4,ND4) DIMENSION IPACK(ND5),ICALLD(L3264W,ND5), 1 IWORK(ND5),DATA(ND5) DIMENSION KFILIN(ND6),MODNUM(ND6),MSDATE(ND6), 1 JFOPEN(ND6),MDATE(ND6),MAXTAU(ND6) DIMENSION INDEXC(ND1,ND6) DIMENSION IS0(ND7),IS1(ND7),IS2(ND7),IS4(ND7) DIMENSION IDATE(ND8),NWORK(ND8) DIMENSION LSTORE(12,ND9),MSTORE(8,ND9) DIMENSION CORE(ND10) C EQUIVALENCE (PLAIN,IPLAIN) EQUIVALENCE (ICALLD,CCALLD) C DATA KFILDI/5/, 1 KFILDO/06/ DATA NGP/ND1*0/ DATA PLAIN/ND4*' '/ DATA NWHERE/ND4*0/ C CALL W3TAGB('MDL_RA2MDLP',2000,0258,0072,'OSD211') CALL TIMPR(KFILDO,KFILDO,'START U660 ') C CALL U660(KFILDI,KFILDO, 1 CCALL,ISDATA,SDATA,NGP,XDATA,MWORK,NAME,ND1, 2 ID,IDPARS,TRESHL,TRESHU,JD,INDEX,JP, 3 ITAU,IWDTH,WDTH,IPREC,PREC,CFMT,NWHERE, 4 ISCALD,PRINT,HEAD,IPLAIN,PLAIN,L3264B,L3264W,ND4, 5 ICALLD,CCALLD,IPACK,DATA,IWORK,ND5, 6 KFILIN,MODNUM,NAMIN,JFOPEN,MDATE,MAXTAU, 7 MSDATE,INDEXC,ND6, 8 IS0,IS1,IS2,IS4,ND7, 9 IDATE,NWORK,ND8, A LSTORE,MSTORE,ND9, B CORE,ND10,NBLOCK) C CALL TIMPR(KFILDO,KFILDO,'END U660 ') CALL W3TAGE('MDL_RA2MDLP') STOP END