PROGRAM WGTMKR C$$$ MAIN PROGRAM DOCUMENTATION BLOCK C . . . . C MAIN PROGRAM: WGTMKR MAKE INTERP WGTS FOR PRODUCT GENERATOR C PRGMMR: BALDWIN/BRILL ORG: NP22 DATE: 97-12-01 C C ABSTRACT: AWPRGN PRODUCES FILES THAT HAVE BEEN INTERPOLATED (USING C IPLIB) TO VARIOUS OUTPUT GRIDS WITH OPTIONAL WMO HEADERS. AWPRGN C READS THROUGH A MASTER INPUT GRIB FILE, DETERMINES WHAT GRIDS TO C INTERPOLATE TO, PERFORMS PRE- AND POST-INTERPOLATION SMOOTHING, C PACKS THE DATA INTO GRIB, ADDS A WMO HEADER, THEN WRITES THE C PACKED DATA TO AN OUTPUT FILE. AN INPUT CONTROL FILE DETERMINES C THE OUTPUT GRID NUMBER, WMO HEADER TYPE, OUTPUT FILE NAME, PACKING C PRECISION, AND NUMBER OF PRE- AND POST-INTERPOLATION SMOOTHING C PASSES FOR EACH GRIB FIELD THAT IS DESIRED FOR POSTING. THE C MASTER INPUT GRID SHOULD BE LARGE ENOUGH TO ENCOMPASS ALL OF THE C REQUESTED OUTPUT GRIDS, AND ALSO SHOULD CONTAIN ALL OF THE C GRIB PARAMETERS REQUIRED, SINCE AWPRGN DOES NOT PROVIDE C AND DIAGNOSTIC CALCULATIONS. C C PROGRAM HISTORY LOG: C 97-12-01 BALDWIN, ORIGINATOR C BRILL C C USAGE: MAIN PROGRAM C C INPUT FILES: C C OUTPUT FILES: C C UNIT 51 - INTERPOLATION WEIGHTS C C SUBPROGRAMS CALLED: C UNIQUE: C POLATWGT - COMPUTE INTERPOLATION WEIGHTS C LIBRARY: C W3LIB: W3FI72 C IPLIB: MAKGDS, IPXETAS C SPLIB: (FOR INTERPOLATION) C C EXIT STATES: C COND = 1 - NORMAL EXIT C C ATTRIBUTES: C MACHINE : CRAY J-916 C C$$$ C C INTERP WGTS GENERATOR C C C IMAXIN, JJMAXIN ARE MAX DIMENSIONS OF INPUT GRID C IMAXOT, JJMAXOT ARE MAX DIMENSIONS OF OUTPUT GRID C PARAMETER(IMAXIN=420,JJMAXIN=900,JMAXIN=IMAXIN*JJMAXIN) PARAMETER(IMAXOT=1000,JJMAXOT=1000,JMAXOT=IMAXOT*JJMAXOT) INTEGER KGDSIN(22),KGDSIN2(22),KGDSOUT(22) INTEGER N11(JMAXOT),N21(JMAXOT), & N12(JMAXOT),N22(JMAXOT), & NPP(JMAXOT,25) INTEGER NV11(JMAXOT),NV21(JMAXOT), & NV12(JMAXOT),NV22(JMAXOT) REAL RLAT(JMAXOT),RLON(JMAXOT) REAL CROT(JMAXOT),SROT(JMAXOT) REAL W11(JMAXOT),W21(JMAXOT), & W12(JMAXOT),W22(JMAXOT) REAL WV11(JMAXOT),WV21(JMAXOT), & WV12(JMAXOT),WV22(JMAXOT) REAL C11(JMAXOT),C21(JMAXOT), & C12(JMAXOT),C22(JMAXOT) REAL S11(JMAXOT),S21(JMAXOT), & S12(JMAXOT),S22(JMAXOT) CHARACTER GDSO(400) LUNOUT=11 C C COMPUTE INTERPOLATION WEIGHTS C NOUT=349*277 NO=NOUT C READ(LUNOUT) KGRIDOT,NOUT READ(LUNOUT) (KGDSOUT(I),I=1,22) c print *,KGRIDOT,NOU,(KGDSOUT(I),I=1,22) READ(LUNOUT) (N11(I),I=1,NOUT) READ(LUNOUT) (N12(I),I=1,NOUT) READ(LUNOUT) (N21(I),I=1,NOUT) READ(LUNOUT) (N22(I),I=1,NOUT) READ(LUNOUT) (NV11(I),I=1,NOUT) READ(LUNOUT) (NV12(I),I=1,NOUT) READ(LUNOUT) (NV21(I),I=1,NOUT) READ(LUNOUT) (NV22(I),I=1,NOUT) READ(LUNOUT) (C11(I),I=1,NOUT) READ(LUNOUT) (C12(I),I=1,NOUT) READ(LUNOUT) (C21(I),I=1,NOUT) READ(LUNOUT) (C22(I),I=1,NOUT) READ(LUNOUT) (S11(I),I=1,NOUT) READ(LUNOUT) (S12(I),I=1,NOUT) READ(LUNOUT) (S21(I),I=1,NOUT) READ(LUNOUT) (S22(I),I=1,NOUT) READ(LUNOUT) (W11(I),I=1,NOUT) READ(LUNOUT) (W12(I),I=1,NOUT) READ(LUNOUT) (W21(I),I=1,NOUT) READ(LUNOUT) (W22(I),I=1,NOUT) READ(LUNOUT) (WV11(I),I=1,NOUT) READ(LUNOUT) (WV12(I),I=1,NOUT) READ(LUNOUT) (WV21(I),I=1,NOUT) READ(LUNOUT) (WV22(I),I=1,NOUT) READ(LUNOUT) (RLAT(I),I=1,NOUT) READ(LUNOUT) (RLON(I),I=1,NOUT) READ(LUNOUT) (SROT(I),I=1,NOUT) READ(LUNOUT) (CROT(I),I=1,NOUT) READ(LUNOUT) ((NPP(I,J),I=1,NOUT),J=1,25) C IPRINT=83 I=0 Jj=1 DO K = 1, NOUT i = i + 1 if(jj.eq.58) then print *,i,jj,k,n11(k),n12(k),n21(k),n22(k) print *,nv11(k),nv12(k),nv21(k),nv22(k) print *,c11(k),c12(k),c21(k),c22(k) print *,s11(k),s12(k),s21(k),s22(k) print *,w11(k),w12(k),w21(k),w22(k) print *,wv11(k),wv12(k),wv21(k),wv22(k) wall=w11(k)+w12(k)+w21(k)+w22(k) wvall=wv11(k)+wv12(k)+wv21(k)+wv22(k) print *,wall,wvall print *,rlat(k),rlon(k),srot(k),crot(k) print *,(npp(k,j),j=1,25) write(6,1000) 1000 format (/) endif if(mod(k,534).eq.0) then i = 0 jj = jj+1 endif enddo STOP END