C **************************************************************** C * This program is set up to read the binary output from * C * OSUPBL.FOR and create formatted output files. * C * * C * Created 22-Mar-88 by Wayne Gibson * C * Principal Investigator: Larry Mahrt * C * Research Associate : Paul Ruscher * C * Oregon State University, Department of Atmospheric Science * C * * C * * C * Modified 28-Nov-88 by Wayne Gibson * c * Changed to run on Mac using dialog boxes for input & output * c * files. * C * MODIFIED 30-AUG-89 BY MIKE EK * C * CHANGED TO PRINT OUT VALUES OF ZOH, ZDO, TSOREF, AND PC * C **************************************************************** C * LUNR = LOGICAL UNIT FOR READING DATA TO FILE * C * LUNIR = DEFAULT UNIT FOR READING FROM TERMINAL * C * LUNW = DEFAULT UNIT FOR WRITING DATA TO FILE * C * LUNIW = LOGICAL UNIT FOR WRITING DATA TO TERMINAL * C **************************************************************** PROGRAM PRINTP CHARACTER DATBIN*34,DATOUT*34,TEXTI*72 DATA LUNR/3/,LUNIR/5/,LUNW/4/,LUNIW/6/ C -------------------------------------------------------- C - ENTER THE CONTROL FILE NAME CONTAINING THE DATA SET - C - NAMES. THERE SHOULD BE .LE. NUMBER OF FILES - C -------------------------------------------------------- WRITE(*,*) WRITE(*,*) 'ENTER BINARY FILE NAME' READ(*,990) DATBIN WRITE(*,*) 'ENTER OUTPUT FILE NAME' READ(*,990) DATOUT C ---------------------- C - OPEN THE DATA FILE - C ---------------------- c OPEN(UNIT=LUNR,FILE=DATBIN,STATUS='OLD', c . FORM='UNFORMATTED',block=-1) OPEN(UNIT=LUNR,FILE=DATBIN,STATUS='OLD', . FORM='UNFORMATTED') OPEN(UNIT=LUNW,FILE=DATOUT,STATUS='unknown') C ------------------------------------------------------------ C - READ INITIAL PARAMETERS WHICH CONTROLLED THE MODEL RUN - C ------------------------------------------------------------ READ(LUNR) IFHF,IFCRI,IFSNO,IFCLD write (LUNW,900) IFHF,IFCRI,IFSNO,IFCLD READ(LUNR) NOOFGR,DELTAT,TEND,RICR,PINK,KOOL WRITE (LUNW,905) NOOFGR, . DELTAT,TEND,RICR,PINK,KOOL READ(LUNR) TEXTI READ(LUNR) SLA,SLO,TZONE,Z0,Z0H,ZD0,ALBEDO READ(LUNR) MO,DY,TIMEIS READ(LUNR) PSFC READ(LUNR) TREF READ(LUNR) CLC READ(LUNR) CMC READ(LUNR) PRST,PREND,PRCIP,ESD,TSNOW c READ(LUNR) ISOIL,TWILT,SIGMAF,IFTC,TSO0,TSOREF,PC READ(LUNR) ISOIL,TWILT,SIGMAF,IFTC,TSO0,TSOREF,PC,RC WRITE (LUNW,910) TEXTI WRITE (LUNW,915) SLA,SLO,TZONE,Z0,Z0H,ZD0,ALBEDO WRITE (LUNW,920) MO, DY, TIMEIS write(LUNW,925) psfc,tref,clc,cmc WRITE (LUNW,930) PRST,PREND,PRCIP,ESD,TSNOW WRITE (LUNW,935) ISOIL,TWILT,SIGMAF,IFTC,TSO0,TSOREF,PC READ(LUNR) NUG WRITE(LUNW,940) NUG DO 788 I=1,NUG READ(LUNR) UGI,VGI,TGI WRITE(LUNW,945) UGI, VGI, TGI 788 CONTINUE READ(LUNR) NSOIL WRITE(LUNW,960) NSOIL DO 780 JS=1,NSOIL READ(LUNR) DSOIL,WSOIL,TSOIL WRITE(LUNW,965) DSOIL, WSOIL, TSOIL 780 CONTINUE READ(LUNR) MZ1 READ(LUNR) MZ WRITE(LUNW,950) MZ1, MZ C ------------------------------ c NUMBER OF OBSERVATIONS=kend C ------------------------------ KEND = IFIX(TEND+1) C ------------------------------ C - NOW READ THE FORECAST DATA - C ------------------------------ DO 2000 I=1,KEND READ(LUNR) MO,IDY,IDO,IHO,MIN,SEC WRITE(LUNW,6001) MO, IDY, IDO, IHO, MIN, SEC WRITE(LUNW,6002) WRITE(*,*) 'WRITING OUT HOUR ',I-1 C --- PROFILE DATA (DON'T PRINT SKIN VALUE FOR Q AND RH) --- c disable above...i.e. print skin values of q and RH C DO 800 J=1,MZ-1 DO 800 J=1,MZ READ(LUNR) Z,U,V,TH,T,Q,P,SIGMA,RH,PUFL,PVFL,PHFL, . PWFL,Q1,Q2,TD,ZSP,PBLK WRITE(LUNW,6003) NINT(Z),U,V,TH,T,Q,NINT(P/100.),SIGMA,RH, . PUFL,PVFL,PHFL,PWFL,Q1,Q2, . TD,NINT(ZSP),PBLK 800 CONTINUE C READ(LUNR) Z,U,V,TH,T,Q,P,SIGMA,RH,PUFL,PVFL,PHFL, C . PWFL,Q1,Q2,TD,ZSP,PBLK C WRITE(LUNW,6010) NINT(Z),U,V,TH,T,NINT(P/100.),SIGMA, C . PUFL,PVFL,PHFL,PWFL,Q1,Q2, C . TD,NINT(ZSP),PBLK C --- TIME SERIES DATA --- READ(LUNR) RDOWN,H,SSOIL,E,FUP,SNOFLX,SUM,FNET,EP1,THBAR,QQBAR, . EETOT READ(LUNR) TAOX,TAOY,USTAR,WSTAR,UG,VG,GEOS,SINA,ANEM,WSC,CLC READ(LUNR) HPBL,XL,RIB,RIF,RIRAD,TSFC,TAIR,CM,CH,CG,THERM READ(LUNR) PRCP,DEW,ACCP,ACCD READ(LUNR) CMC,ESD,PC,RC,SOLARN WRITE(LUNW,6004) RDOWN,H,SSOIL,E,FUP,SNOFLX,SUM,FNET,EP1,THBAR, . QQBAR,EETOT WRITE(LUNW,6005) TAOX,TAOY,USTAR,WSTAR,UG,VG,GEOS,SINA,ANEM, . WSC,CLC WRITE(LUNW,6006) HPBL,XL,RIB,RIF,RIRAD,TSFC,TAIR,CM,CH,CG,THERM WRITE(LUNW,6009) PRCP,DEW,ACCP,ACCD,CMC,ESD,PC,RC,SOLARN WRITE(LUNW,6007) DO 810 J=1,NSOIL READ(LUNR,END=1000) DSOIL,WSOIL,TSS WRITE(LUNW,6008) DSOIL, WSOIL, TSS 810 CONTINUE c close(unit=lunr) c close(unit=lunw) 2000 CONTINUE WRITE (*,*) WRITE (*,*) 'DUMPING OF DATA COMPLETE' STOP 1000 WRITE (*,*) WRITE (*,*)' SHOULD HAVE READ AN EOF MARK. POSSIBLE ERROR !!!!!' STOP C ============================================================= C ================= FORMAT STATEMENTS ========================= C ============================================================= 6001 FORMAT(1H1/' MONTH',I3,' DAY',I3,'(+',I2,') HOUR',I3, . ' MIN',I3,' SEC',F6.1) 6002 FORMAT('0 Z U V TH T Q P SIGMA', . ' RH UFLX VFLX THFLX QFLX Q1 Q2 TD', . ' ZSP PBLK') 6003 FORMAT(' ',I5,2F6.1,2F6.1,F5.1,I6,2X,F6.3,F6.1,2F7.2,2F8.2,F7.1, . 2F6.1,I6,F7.2) 6010 FORMAT(' ',I5,2F6.1,2F6.1,5X,I6,2X,F6.3,6X,2F7.2,2F8.2,F7.1, . 2F6.1,I6,F7.2) 6004 FORMAT('0 RDOWN +H +G +LE FUP', . ' SNOFLX SUM FNET EP1 THBAR ', . 'QBAR ETOT'/ . ' ',6F10.2,F10.3,2F10.2,F10.1,F10.2,F10.3) 6005 FORMAT('0 TAOX TAOY USTAR WSTAR UG', . ' ',' VG GEOS SINA ANEM WSC ', . 'CLC'/' ',11F10.4) 6006 FORMAT('0 HPBL OBUHK L RIB RIF ', . ' RIRAD TSFC TAIR CM CH ', . ' CG THERM'/' ',2F11.2,5F10.2,2F10.4,F10.5,F10.3) 6007 FORMAT('0 SOIL Z SOIL Q SOIL T') 6008 FORMAT(' ',F10.2,F10.4,F10.2) 6009 FORMAT('0 PRCP DEW ACCP ACCD ', . 'CMC ESD PC RC SOLARN'/' ',9F10.4) 900 format(1h ,' IFHF, IFCRI, IFSNO, IFCLD =',4i4) 905 format(1h ,' NOOFGR,DELTAT,TEND,RICR,PINK,KOOL =',i4,4f11.3,i4) 910 format(1h ,' TITLE =',a72) 915 format(1h ,' SLA, SLO, TZONE, Z0, Z0H, ZD0, ALBEDO =',7f12.4) 920 format(1h ,' MO, DY, HR =',i3,2f8.2) 925 format(1h ,' PSFC =',f12.2,/,1h ,' TREF =',f12.3,/,1h , . ' CLC =',f12.4,/,1h ,' CMC =',f12.4) 930 format(1h ,'PRST,PREND,PRCIP,ESD,TSNOW =',5f12.4) 935 format(1h ,'ISOIL, TWILT, SIGMAF, IFTC, TSO0, TSOREF, PC =',i3, . 2f12.4,i2,3f12.4) 940 format(1h ,' NUM. OF GEO. WINDS =',i4,' UG, VG, TG') 945 format(1h ,3f10.4) 950 format(1h ,' INPUT LEVEL AND OUTPUT LEVEL =',2i4) 955 format(1h ,6f10.3) 960 format(1h ,' NUM. OF SOIL LAYER =',i3,' Z, THETA, TEMP') 965 format(1h ,3f12.4) 970 FORMAT(I4) 990 format(A34) END