CALPUFF and Postprocessors
CALPUFF and Postprocessors CALPUFF and Postprocessors
c --- c --- c --- c --- c --- c --- c --- c --- c --- c --- c --- c --- c --- c --- c --- c --- c --- Header record #1 - File Declaration -- 24 words write(iomet) DATASET,DATAVER,DATAMOD Header record #2 - Number of comment lines -- 1 word write(iomet) NCOM Header record #3 to NCOM+2 (Comment record section) -- 33 words each write(iomet) COMMENT Header record #NCOM+3 - run control parameters -- 37 words write(iomet) IBYR,IBMO,IBDY,IBHR,IBTZ,IRLG,IRTYPE, 1 NX,NY,NZ,DGRID,XORIGR,YORIGR, IWFCOD,NSSTA, 2 NUSTA,NPSTA,NOWSTA,NLU,IWAT1,IWAT2,LCALGRD 3 PMAP,DATUM,DATEN,FEAST,FNORTH,UTMHEM,IUTMZN, 4 RNLAT0,RELON0,XLAT1,XLAT2 Header record #NCOM+4 - cell face heights (NZ + 1 words) write(iomet)CLAB1,IDUM,ZFACEM Header records #NCOM+5 & 6 - x, y coordinates of surface stations (NSSTA words each record) if(nssta.ge.1)then write(iomet)CLAB2,IDUM,XSSTA write(iomet)CLAB3,IDUM,YSSTA endif Header records #NCOM+7 & 8 - x, y coordinates of upper air stations (NUSTA words each record) if(nusta.ge.1)then write(iomet)CLAB4,IDUM,XUSTA write(iomet)CLAB5,IDUM,YUSTA endif Header records #NCOM+9 & 10 - x, y coordinates of precipitation stations (NPSTA words each record) if(npsta.ge.1)then write(iomet)CLAB6,IDUM,XPSTA write(iomet)CLAB7,IDUM,YPSTA endif Header record #NCOM+11 - surface roughness lengths (NX * NY words) write(iomet)CLAB8,IDUM,Z0 Header record #NCOM+12 - land use categories (NX * NY words) write(iomet)CLAB9,IDUM,ILANDU Header record #NCOM+13 - elevations (NX * NY words) write(iomet)CLAB10,IDUM,ELEV Header record #NCOM+14 - leaf area index (NX * NY words) call wrtr2d(iomet,xlai,xbuf,mxnx,mxny,nx,ny,clabel,idum) write(iomet)CLAB11,IDUM,XLAI Header record #NCOM+15 - nearest surface station no. to each grid point (NX * NY words) if(nssta.ge.1)then write(iomet)CLAB12,IDUM,NEARS endif where the following declarations apply: real ZFACEM(nz+1),XSSTA(nssta),YSSTA(nssta),XUSTA(nusta),YUSTA(nusta) real XPSTA(npsta),YPSTA(npsta) real Z0(nx,ny),ELEV(nx,ny),XLAI(nx,ny) MAR 2006 – CALPUFF F-91
integer ILANDU(nx,ny),NEARS(nx,ny) character*132 COMMENT(ncom) character*64 DATAMOD character*16 DATASET,DATAVER character*12 DATEN character*8 PMAP,DATUM character*8 CLAB1,CLAB2,CLAB3,CLAB4,CLAB5,CLAB6 character*8 CLAB7,CLAB8,CLAB9,CLAB10,CLAB11,CLAB12 character*4 UTMHEM logical LCALGRD CALMET.DAT File - Data Records The CALMET.DAT data records include hourly fields of winds and meteorological variables. In addition to the regular CALMET output variables, both CALGRID and CALPUFF require additional threedimensional fields of air temperature and vertical velocity. The presence of these fields in the CALMET output file is flagged by the header record logical variable, LCALGRD, having a value of TRUE. The data records contain three-dimensional gridded fields of U, V, and W wind components and air temperature, and two-dimensional fields of PGT stability class, surface friction velocity, mixing height, Monin-Obukhov length, convective velocity scale, precipitation rate (not used by CALGRID), nearsurface temperature, air density, short-wave solar radiation, relative humidity, and precipitation type codes (not used by CALGRID). A description of each variable in the data records is provided in Table F- 5. Sample FORTRAN write statements for the CALMET.DAT data records are: c --- c --- c --- Write U, V, W wind components +))) Loop over vertical layers, k * * write(iunit)CLABU,NDATHR,((U(i,j,k),i=1,nx),j=1,ny) * write(iunit)CLABV,NDATHR,((V(i,j,k),i=1,nx),j=1,ny) * if(LCALGRD)write(iunit)CLABW,NDATHR((W(i,j,k+1),i=1,nx),j=1,ny) * .))) End loop over vertical layers Write 3-D temperature field if(LCALGRD.and.irtype.eq.1) then +))) Loop over vertical layers, k * * write(iunit)CLABT,NDATHR,((ZTEMP(i,j,k),i=1,nxm),j=1,nym) * .))) End loop over vertical layers endif Write 2-D meteorological fields if(irtype.eq.1) then write(iunit)CLABSC,NDATHR,IPGT write(iunit)CLABUS,NDATHR,USTAR write(iunit)CLABZI,NDATHR,ZI write(iunit)CLABL,NDATHR,EL write(iunit)CLABWS,NDATHR,WSTAR write(iunit)CLABRMM,NDATHR,RMM MAR 2006 – CALPUFF F-92
- Page 44 and 45: Table F-3 (Continued) CALPUFF Contr
- Page 46 and 47: Table F-3 (Continued) CALPUFF Contr
- Page 48 and 49: Table F-3 (Continued) CALPUFF Contr
- Page 50 and 51: Table F-3 (Continued) CALPUFF Contr
- Page 52 and 53: Table F-3 (Continued) Control File
- Page 54 and 55: Table F-3 (Continued) Control File
- Page 56 and 57: Table F-3 (Continued) CALPUFF Contr
- Page 58 and 59: Table F-3 (Continued) CALPUFF Contr
- Page 60 and 61: Table F-3 (Continued) CALPUFF Contr
- Page 62 and 63: Table F-3 (Continued) CALPUFF Contr
- Page 64 and 65: Table F-3 (Continued) CALPUFF Contr
- Page 66 and 67: Table F-3 (Continued) CALPUFF Contr
- Page 68 and 69: Table F-3 (Continued) CALPUFF Contr
- Page 70 and 71: Table F-3 (Continued) CALPUFF Contr
- Page 72 and 73: Table F-3 (Continued) CALPUFF Contr
- Page 74 and 75: Table F-3 (Continued) CALPUFF Contr
- Page 76 and 77: Table F-3 (Continued) CALPUFF Contr
- Page 78 and 79: Table F-3 (Continued) CALPUFF Contr
- Page 80 and 81: Table F-3 (Continued) CALPUFF Contr
- Page 82 and 83: Table F-3 (Continued) CALPUFF Contr
- Page 84 and 85: Table F-3 (Continued) CALPUFF Contr
- Page 86 and 87: Table F-3 (Continued) CALPUFF Contr
- Page 88 and 89: Table F-3 (Continued) CALPUFF Contr
- Page 90 and 91: Table F-3 (Continued) CALPUFF Contr
- Page 92 and 93: Table F-3 (Concluded) CALPUFF Contr
- Page 96 and 97: write(iunit)CLABTK,NDATHR,TEMPK wri
- Page 98 and 99: Table F-4 (Continued) CALMET.DAT fi
- Page 100 and 101: Table F-4 (Concluded) CALMET.DAT fi
- Page 102 and 103: Table F-5 (Continued) CALMET.DAT fi
- Page 104 and 105: F.2.2 ISCMET.DAT CALPUFF can be dri
- Page 106 and 107: Table F-6 Sample ISCMET.DAT files (
- Page 108 and 109: Table F-8 ISCMET.DAT File - Data Re
- Page 110 and 111: table. A description of the content
- Page 112 and 113: Table F-10 PLMMET.DAT File - Header
- Page 114 and 115: F.2.4 SURFACE.DAT and PROFILE.DAT I
- Page 116 and 117: Table F-12 Sample SURFACE.DAT file
- Page 118 and 119: Table F-14 SURFACE.DAT File - Data
- Page 120 and 121: F.3 Point Source Emissions File Wit
- Page 122 and 123: PTEMARB.DAT File - Header Records T
- Page 124 and 125: Table F-17 (Continued) PTEMARB.DAT
- Page 126 and 127: Table F-17 (Concluded) PTEMARB.DAT
- Page 128 and 129: Table F-18 PTEMARB.DAT - Time-Invar
- Page 130 and 131: Table F-19 (Concluded) PTEMARB.DAT
- Page 132 and 133: Table F-20 Sample BAEMARB.DAT file
- Page 134 and 135: Table F-21 BAEMARB.DAT - Header Rec
- Page 136 and 137: Table F-21 (Continued) BAEMARB.DAT
- Page 138 and 139: BAEMARB.DAT File - Data Records The
- Page 140 and 141: Table F-23 BAEMARB.DAT - Time-Varyi
- Page 142 and 143: F.5 Line Source Emissions File With
c ---<br />
c ---<br />
c ---<br />
c ---<br />
c ---<br />
c ---<br />
c ---<br />
c ---<br />
c ---<br />
c ---<br />
c ---<br />
c ---<br />
c ---<br />
c ---<br />
c ---<br />
c ---<br />
c ---<br />
Header record #1 - File Declaration -- 24 words<br />
write(iomet) DATASET,DATAVER,DATAMOD<br />
Header record #2 - Number of comment lines -- 1 word<br />
write(iomet) NCOM<br />
Header record #3 to NCOM+2 (Comment record section) -- 33 words each<br />
write(iomet) COMMENT<br />
Header record #NCOM+3 - run control parameters -- 37 words<br />
write(iomet) IBYR,IBMO,IBDY,IBHR,IBTZ,IRLG,IRTYPE,<br />
1 NX,NY,NZ,DGRID,XORIGR,YORIGR, IWFCOD,NSSTA,<br />
2 NUSTA,NPSTA,NOWSTA,NLU,IWAT1,IWAT2,LCALGRD<br />
3 PMAP,DATUM,DATEN,FEAST,FNORTH,UTMHEM,IUTMZN,<br />
4 RNLAT0,RELON0,XLAT1,XLAT2<br />
Header record #NCOM+4 - cell face heights (NZ + 1 words)<br />
write(iomet)CLAB1,IDUM,ZFACEM<br />
Header records #NCOM+5 & 6 - x, y coordinates of surface stations<br />
(NSSTA words each record)<br />
if(nssta.ge.1)then<br />
write(iomet)CLAB2,IDUM,XSSTA<br />
write(iomet)CLAB3,IDUM,YSSTA<br />
endif<br />
Header records #NCOM+7 & 8 - x, y coordinates of upper air stations<br />
(NUSTA words each record)<br />
if(nusta.ge.1)then<br />
write(iomet)CLAB4,IDUM,XUSTA<br />
write(iomet)CLAB5,IDUM,YUSTA<br />
endif<br />
Header records #NCOM+9 & 10 - x, y coordinates of precipitation stations<br />
(NPSTA words each record)<br />
if(npsta.ge.1)then<br />
write(iomet)CLAB6,IDUM,XPSTA<br />
write(iomet)CLAB7,IDUM,YPSTA<br />
endif<br />
Header record #NCOM+11 - surface roughness lengths (NX * NY words)<br />
write(iomet)CLAB8,IDUM,Z0<br />
Header record #NCOM+12 - l<strong>and</strong> use categories (NX * NY words)<br />
write(iomet)CLAB9,IDUM,ILANDU<br />
Header record #NCOM+13 - elevations (NX * NY words)<br />
write(iomet)CLAB10,IDUM,ELEV<br />
Header record #NCOM+14 - leaf area index (NX * NY words)<br />
call wrtr2d(iomet,xlai,xbuf,mxnx,mxny,nx,ny,clabel,idum)<br />
write(iomet)CLAB11,IDUM,XLAI<br />
Header record #NCOM+15 - nearest surface station no. to each<br />
grid point (NX * NY words)<br />
if(nssta.ge.1)then<br />
write(iomet)CLAB12,IDUM,NEARS<br />
endif<br />
where the following declarations apply:<br />
real ZFACEM(nz+1),XSSTA(nssta),YSSTA(nssta),XUSTA(nusta),YUSTA(nusta)<br />
real XPSTA(npsta),YPSTA(npsta)<br />
real Z0(nx,ny),ELEV(nx,ny),XLAI(nx,ny)<br />
MAR 2006 – <strong>CALPUFF</strong><br />
F-91