PROGRAM GRIDPOST C C$$$ MAIN PROGRAM DOCUMENTATION BLOCK *** C C MAIN PROGRAM: GRIDPOST C PRGMMR: MALONEY ORG: W/OST22 DATE: 2005-01-27 C C ABSTRACT: DRIVER FOR PROGRAM U202. SEE U202 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 U202 MIGHT HAVE TO CHANGE. THE OPEN TO C THE CONTROL FILE 'U202.CN' IS HERE SO THAT ACCESS TO THE C CONTROL FILE CAN BE MODIFIED FOR CRAY OR BATCH HP JOBS. C C PROGRAM HISTORY LOG: C 00-12-01 GLAHN C 05-01-27 MALONEY ADDED NCEP DOCBLOCK. ADDED CALLS TO W3TAGB C AND W3TAGE. CHANGED THE VALUE OF KFILDO FROM C 12 TO 6. RENAMED MDL_GRIDPOST. C 05-03-14 RLC INCREASED ND2,ND3 TO COVER NDFD GRID, INCREASED C MAXSTA TO COVER ALL SITES LIST. C 16-11-01 SAMPLATSKY INCREASED MAXSTA TO 110000, AND ND4 TO 2000 C FOR CNVLTG IMPLEMENTATION. C C DATA SET USE C INPUT FILES: C FORT.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.KFILDO - UNIT NUMBER OF DEFAULT OUTPUT (PRINT) FILE. C THIS IS PROBABLY SPECIFIED FOR THE SYSTEM C BEING USED. SET IN DATA STATEMENT. C C VARIABLES C ND1 = THE MAXIMUM NUMBER OF STATIONS THAT CAN BE DEALT WITH. C ALSO, IT MUST BE GE NBLOCK IN LINEARIZATION ROUTINES. C ND2 = ND2*ND3 IS THE MAXIMUM SIZE OF THE GRID THAT CAN C BE DEALT WITH. C ND3 = ND2*ND3 IS THE MAXIMUM SIZE OF THE GRID THAT CAN C BE DEALT WITH. SEE ND2. BECAUSE ND5 = ND2X3, C AND ND5 MAY NEED TO BE LARGER THAN ND2X3, ND2 C OR ND3 MAY NEED TO BE SET LARGER THAN NECESSARY. C SINCE THE INDIVIDUAL VALUES OF ND2 AND ND3 ARE C NOT USED, THIS IS OK. C ND4 = THE MAXIMUM NUMBER OF PREDICTORS FOR WHICH C INTERPOLATED VALUES CAN BE PROVIDED. C ND5 = DIMENSION OF IPACK( ), IWORK( ), AND DATA( ). C THESE ARE GENERAL PURPOSE ARRAYS, SOMETIMES USED C FOR GRIDS. TO AVIOD ERRORS IN CERTAIN ROUTINES, C AND TO AVOID CONFUSION, ND5 SHOULD BE SET EQUAL TO C ND2X3. ALSO, BECAUSE IPACK( ) AND IWORK( ) ARE C USED AS WORK ARRAYS IN RDSNAM, ND5 SHOULD NOT BE C LT ND12. C ND6 = MAXIMUM NUMBER OF MODELS THAT CAN BE DEALT WITH. C ND7 = DIMENSION OF IS0( ), IS1( ), IS2( ), AND IS4( ). C SHOULD BE GE 54. C ND8 = MAXIMUM NUMBER OF DATES THAT CAN BE DEALT WITH. C ND9 = MAXIMUM NUMBER OF FIELDS THAT CAN BE DEALT WITH. C EFFECTIVELY, THIS IS THE TOTAL NUMBER OF FIELDS C IN ALL MODELS USED FOR DAY 1. C ND10 = THE MEMORY IN WORDS ALLOCATED TO THE SAVING OF C PACKED GRIDPOINT FIELDS AND UNPACKED VECTOR DATA. C WHEN THIS SPACE IS EXHAUSTED, SCRATCH DISK WILL C BE USED. C ND11 = MAXIMUM NUMBER OF GRID COMBINATIONS THAT CAN BE C DEALT WITH ON THIS RUN. C ND12 = THE NUMBER OF MOS-2000 EXTERNAL RANDOM ACCESS C FILES THAT CAN BE USE ON THIS RUN. C C SUBPROGRAMS CALLED: U202, W3TAGB, W3TAGE C UNIQUE: - U202 C LIBRARY: C W3LIB - W3TAGB, W3TAGE C C EXIT STATES: C COND = 0 - SUCCESSFUL RUN C C REMARKS: NONE 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 (MAXSTA=110000) PARAMETER (ND1=MAX(NBLOCK,MAXSTA)) PARAMETER (ND2=2345, 1 ND3=1597) PARAMETER (ND4=2000) PARAMETER (ND6=15) PARAMETER (ND7=54) PARAMETER (ND8=7000) PARAMETER (ND9=5000) PARAMETER (ND10=50000) PARAMETER (ND11=4) PARAMETER (ND12=5) PARAMETER (ND2X3=MAX(ND1,ND2*ND3,ND12)) PARAMETER (ND5=ND2X3) C CHARACTER*8 CCALL(ND1,6) CHARACTER*8 CCALLD(ND5) CHARACTER*12 UNITS(ND4) CHARACTER*20 NAME(ND1) CHARACTER*32 PLAIN(ND4) CHARACTER*60 NAMIN(ND6),RACESS(ND12) C DIMENSION ICALL(L3264W,ND1,6), 1 NELEV(ND1),IWBAN(ND1),STALAT(ND1),STALON(ND1), 2 ITIMEZ(ND1),ISDATA(ND1),SDATA(ND1),SDATA1(ND1), 3 L1DATA(ND1) DIMENSION FD1(ND2X3),FD2(ND2X3),FD3(ND2X3),FD4(ND2X3), 1 FD5(ND2X3),FD6(ND2X3),FD7(ND2X3), 2 FDVERT(ND2X3),FDTIME(ND2X3), 3 FDA(ND2X3), 4 FDSINS(ND2X3),FDMS(ND2X3) DIMENSION ID(4,ND4),IDPARS(15,ND4),THRESH(ND4),JD(4,ND4), 1 INDEX(ND4),JP(3,ND4),IFIND(ND4),ISTAV(ND4),ITIME(ND4), 2 ISCALD(ND4),SMULT(ND4),SADD(ND4),ORIGIN(ND4),CINT(ND4) DIMENSION IPLAIN(L3264W,4,ND4) DIMENSION IPACK(ND5),DATA(ND5),IWORK(ND5),ICALLD(L3264W,ND5) DIMENSION KFILIN(ND6),MODNUM(ND6),LDATB(ND6),LDATE(ND6), 1 JFOPEN(ND6),LKHERE(ND6),MSDATE(ND6) DIMENSION INDEXC(ND1,ND6) DIMENSION IS0(ND7),IS1(ND7),IS2(ND7),IS4(ND7) DIMENSION IDATE(ND8),NWORK(ND8) DIMENSION LSTORE(12,ND9),MSTORE(7,ND9) DIMENSION CORE(ND10) DIMENSION DIR(ND1,2,ND11),NGRIDC(6,ND11) DIMENSION KFILRA(ND12) C EQUIVALENCE (PLAIN,IPLAIN) EQUIVALENCE (ICALL,CCALL),(ICALLD,CCALLD) EQUIVALENCE (IWBAN,SDATA) C DATA KFILDI/5/, 1 KFILDO/6/ DATA PLAIN/ND4*' '/ DATA LDATB/ND6*2100000000/ DATA LDATE/ND6*-2100000000/ DATA LKHERE/ND6*1/ C CALL W3TAGB('MDL_GRIDPOST',2000,0258,0065,'W/OST22') CALL TIMPR(KFILDO,KFILDO,'START U202 ') CCC OPEN(UNIT=KFILDI,FILE='U202.CN',STATUS='OLD',IOSTAT=IOS,ERR=900) C CALL U202(KFILDI,KFILDO, 1 ICALL,CCALL,NELEV, 2 IWBAN,STALAT,STALON,ITIMEZ,ISDATA,SDATA,SDATA1, 3 L1DATA,NAME,ND1,FD1,FD2,FD3,FD4,FD5,FD6,FD7, 4 FDA,FDVERT,FDTIME,FDSINS,FDMS,ND2,ND3,ND2X3, 5 ID,IDPARS,THRESH,JD,INDEX,JP,IFIND,ISTAV,ITIME, 6 ISCALD,SMULT,SADD,ORIGIN,CINT,UNITS,ND4, 7 PLAIN,IPLAIN,L3264B,L3264W, 8 IPACK,DATA,IWORK,ICALLD,CCALLD,ND5, 9 KFILIN,NAMIN,JFOPEN,MODNUM,LDATB,LDATE, A LKHERE,MSDATE,INDEXC,ND6, B IS0,IS1,IS2,IS4,ND7, C IDATE,NWORK,ND8, D LSTORE,MSTORE,ND9, E CORE,ND10,NBLOCK, F DIR,NGRIDC,ND11, G KFILRA,RACESS,ND12) C CALL TIMPR(KFILDO,KFILDO,'END U202 ') CALL W3TAGE('MDL_GRIDPOST') STOP C C900 CALL IERX(KFILDO,KFILDO,IOS,'DRU202','900 ') C STOP 900 C END