EPA/600/8-90/D83b
JANUARY 1991
THE REGIONAL OXEDANT MODEL (ROM) USER'S GUIDE
PART 2:
THE ROM PROCESSOR NETWORK
by
L.MILICH
T. BOEHM
C. COATS
J. EICHINGER
S. FUDGE
D.JORDAN
C. MAXWELL
D.OLERUD
R.TANG
A VAN METER
R.WAYLAND
J. YOUNG
Computer Sciences Corporation
Research Triangle Park, NC 27709
and
O. BULLOCK*
J. NOVAK*
T. PIERCE*
S. ROSELLE*
K. SCHERE*
Atmospheric Sciences Modeling Division
Atmospheric Research and Exposure Assessment Laboratory
Research Triangle Park, NC 27711
Contract No. 68-01-7365
Technical Monitor
Joan Novak*
Atmospheric Sciences Modeling Division
Atmospheric Research and Exposure Assessment Laboratory
Research Triangle Park, NC 27711
*On ttufnment from tbe National Oceanic and Atmospheric Administration,
U.S. Department of Commerce
ATMOSPHERIC RESEARCH AND EXPOSURE ASSESSMENT LABORATORY
OFFICE OF RESEARCH AND DEVELOPMENT
U.S. ENVIRONMENTAL PROTECTION AGENCY
RESEARCH TRIANGLE PARK, NC 27711
-------
EPA/600/8-90/083b
JANUARY 1991
THE REGIONAL OHDANT MODEL (ROM) USER'S GUIDE
PART 2:
THE ROM PROCESSOR NETWORK
by
L.MILICH
T. BOEHM
C. COATS
J. EICHINGER
S. FUDGE
D.JORDAN
CMAXWELL
D.OLERUD
R.TANG
A. VAN METER
R.WAYLAND
J. YOUNG
Computer Sciences Corporation
Research Triangle Park, NC 27709
and
O. BULLOCK*
J. NOVAK"
T. PIERCE*
S. ROSELLE*
K. SCHERE*
Atmospheric Sciences Modeling Division
Atmospheric Research and Exposure Assessment Laboratory
Research Triangle Park, NC 27711
Contract No. 68-01-7365
Technical Monitor
Joan Novak*
Atmospheric Sciences Modeling Division
Atmospheric Research and Exposure Assessment Laboratory
Research Triangle Park, NC 27711
*On attignmenl trout the National Oceanic and Aimoipberic AdministnUoo,
U.S. Department of Commerce
ATMOSPHERIC RESEARCH AND EXPOSURE ASSESSMENT LABORATORY
OFFICE OF RESEARCH AND DEVELOPMENT
U.S. ENVIRONMENTAL PROTECTION AGENCY
RESEARCH TRIANGLE PARK, NC 27711
-------
Mention of trade names or commercial products
does not constitute endorsement or recommendation for use.
u
-------
TABLE OF CONTENTS
Disclaimer ii
Table of Contents iii
List of Tables vii
List of Figures xiv
1 I/O Support for the ROM Processor Network 1
1.1 System Concepts 1
1.1.1 G Series Processors 1
1.1.2 Processor and Model Files (PF/MF) Database 1
1.1.3 Use of Internal Names Instead of Unit Numbers 1
1.1.4 Dynamic Assignment of Unit Numbers 2
1.1.5 Standard File Structures and I/O Routines 2
1.2 Data Flow Components For G Series Processors 2
1.3 General I/O Guidelines 2
1.3.1 No Tape Files 2
1.3.2 Assigning Internal File Names 3
1.3.3 Assigning the PF/MF Directory 3
1.3.4 Assigning Processor and Model Files 3
1.3.5 Assigning Nonstandard Files 3
1.3.6 Run Date/Time 3
1.3.7 Array List of Processor or Model Files in Main Programs 3
1.3.8 Opening the PF/MF Directory 4
1.3.9 Opening Processor or Model Files 4
1.3.10 File Status Summaries 4
1.3.11 Opening Nonstandard Sequential Files 4
1.3.12 Opening Alternate Print Files 4
1.3.13 Opening Nonstandard Direct Access Piles 4
1.3.14 Writing/Reading Processor or Model Files 5
1.3.15 The 50-File Limit 5
1.4 PF/MF Descriptions 5
1.4.1 General Description 5
1.4.2 File Headers for Processor and Model Files 5
1.4.2.1 File Header Characteristics 5
1.4.2.2 File Header Descriptions : '. 6
1.4.2.3 Header Record Data Dictionary 6
1.4.3 Type 1 PF: Rawind Stations Upper-Air Vertical Profiles 10
1.4.3.1 File Characteristics 10
1.4.3.2 File Description 10
in
-------
1.4.4 Type 2 PF: Rawind Stations Single Level Parameters 12
1.4.4.1 File Characteristics 12
1.4.4.2 File Description 12
1.4.5 Type 3 PF: Surface Meteorology and Air Quality Parameters 14
1.4.5.1 File Characteristics 14
1.4.5.2 File Description 14
1.4.6 Type 4 PF: Gridded Time-Invariant Parameters 16
1.4.6.1 File Characteristics 16
1.4.6.2 File Description 16
1.4.7 Type 5 PF/MF: Gridded Time-Variant Parameters 18
1.4.7.1 File Characteristics 18
1.4.7.2 File Description 18
1.5 I/O Subprograms 20
1.5.1 General Description 20
1.5.2 Date/Hour Conventions 20
1.5.3 Summary of the Most Frequently Called I/O Routines 20
1.5.3.1 Subroutine DATHRl 21
1.5.3.2 Function DATHR2 21
1.5.3.3 Function DATHR3 22
1.5.3.4 Subroutine DATHR4 22
1.5.3.5 Subroutine FLSMRY 23
1.5.3.6 Function JFILE2 , 23
1.5.3.7 Function JFILE3 24
1.5.3.8 Function JUNIT 24
1.5.3.9 Subroutine OPDIR2 24
1.5.3.10 Subroutine OPEN2 ; 25
1.5.3.11 Subroutine PROGID 25
1.5.3.12 Subroutine RDFTl 25
1.5.3.13 Subroutine RDFTZ 26
1.5.3.14 Subroutine RDFT3 26
1.5.3.15 Subroutine RDFT4 26
1.5.3.16 Subroutine RDFTS 27
1.5.3.17 Subroutine WRFn 27
1.5.3.18 Subroutine WRFT2 28
1.5.3.19 Subroutine WRFT3 28
1.5.3.20 Subroutine WRFT4 28
1.5.3.21 Subroutine WRFTS , 29
1.5.4 A Brief Description of Other Utility and I/O Subprograms 29
2 The ROM Processor Network 33
2.1 Processor P01G (Meteorology) 34
IV
-------
2.2 Processor P02G (Chemistry) 40
2.3 Processor P03G (Meteorology) 49
2.4 Processor P04G (Meteorology) 57
2.5 Processor P05G (Meteorology) 67
2.6 Processor P06G (Terrain Elevation) 73
2.7 Processor P07G (Meteorology) 80
2.8 Processor P08G (Meteorology) 88
2.9 Processor P09G (Meteorology) 97
2.10 Processor P10G (Emissions) 108
2.11 Processor PUG (Meteorology) 116
2.12 Processor P12G (Meteorology) 125
2.13 Processor P13G (Emissions) 133
2.14 Processor P14G (Emissions) 138
2.15 Processor P15G (Meteorology) 147
2.16 Processor P16G (Meteorology) 153
2.17 Processor P17G (Meteorology) 160
2.18 Processor P19G (Meteorology) 168
2.19 Processor P21G (Chemistry) 173
2.20 Processor P22G (Chemistry) 179
2.21 Processor P23G (Chemistry) 188
2.22 Processor P24G (Chemistry) 196
2.23 Processor P25G (Land Use) 202
2.24 Processor P26G (Mobile-Source Emissions) 207
2.25 Processor P27G (Biogenic Emissions) 218
2.26 Processor P29G (Meteorology) 228
2.27 Processor P31G (Emissions) 241
2.28 Processor P32G (Meteorology) 246
2.29 Processor P33G (Emissions) 253
2.30 Processor P34G (Emissions) 259
2.31 Processor P36G (Emission Control Strategies) 269
2.32 Processor P38G (BTRK File Creation) 276
2.33 Processor P39G (IMET File Creation) 287
2.34 Processor P40G (B-MATRK File Creation) '. 303
2.35 Processor P41G (Point-Source Emissions Control Strategy) 318
3 Regional Dependencies and the VAX/VMS Implementation of Domain Changes in the
Regional Oridant Model's Processor Network and Analysis Programs 327
3.1 Regional Dependencies 327
3.2 The VAX/VMS Implementation of Domain Changes 328
3.2.1 REGPRM.EXT and REGION.EXT 328
3.2.2 CELLO 332
-------
3.2.3 PF/MFFiles 333
3.2.4 Mapping Routines 334
4 References and Bibliography 335
APPENDICES
A Grid Domain Definitions A-l
B Processor Input and Output Data Files B-l
C Processor Subprogram Hierarchy C-l
D Emission Control Strategies D-l
Index Index-1
VI
-------
LIST OF TABLES
Because we believe that a "normal" List of Tables for Section 2, the ROM Processors, is not useful (due to
the large number of tables and the fact that many are repeated), we formatted the List of Tables unconven-
tionally. Tables for all Sections, except for Section 2, are treated in the order of their occurrence. Preceding
this, in an alphabetized, non-numbered format, are (1) a list of input and output files for the ROM
processors where each file is listed only at its first occurrence; (2) a list of control card variables by processor
number; and (3) a list of I/O file space requirements by processor number.
AREASA.CSO, AREASU.CSO, AND AREAWK.CSO parameters 139
AREASAZ.CSO, AREASUZ.CSO, and AREAWKZ.CSO parameters 260
BMAT part 1 parameters 312
BMAT part 2 parameters 313
BMAT record 1 parameters 306
BMAT record 2 parameter 306
BMAT record 3 parameter 307
BMAT record 4 parameter 307
BMAT records 5 - 8 parameters 308
BMAT records 9 - (9+ICNTBM-1) parameters 308
BMAT subfile-order record parameters 309
BMAT time-step header record parameters 309
BASECEFFAC parameters 211
BCON record 1 parameters 182
BCON record 2 parameter 182
BCON record 3 parameter 183
BCON records 4 - (4 + ICNTBC) parameter 183
BCON species concentration records parameters 184
BCON time step header record parameters 184
BTRK data parameters 281
BTRK record 1 parameters 278
BTRK records 2 - 5 parameters 279
BTRK records 6 - (6+ICNTBT-l) parameters 279
BTRK time-step header record parameters 280
BUOYDAT stage 1 parameters 57
BUOYDAT stage 2 parameters 58
CLEANAIR parameters 40
Control strategy file parameters 271
EQUILBCS parameters 180
FLUX.DAT parameters 219
FT1, FT2, and FT3 parameters 119
Vll
-------
GCBIOmm.DAT parameters 221
GNCBIOmm.DAT parameters 222
GUTBIOmm.DAT parameters 223
ICON record 1 parameters 42
ICON record 2 parameter 43
ICON record 3 parameter 43
ICON records 4 - (4 + ICNTIC) parameter 44
ICON species concentrations parameter 45
ICON time step header record parameters 44
IMET Part 1 parameters 295
IMET Part 2 parameters 296
IMET record 1 parameters 289
IMET record 2 parameter 289
IMET record 3 parameter 290
IMET record 4 parameter 290
IMET record 5 parameter 290
IMET records 6 - 37 parameters 291
IMET records 38 - (38+ICNTIM-1) parameters 291
IMET time-step header record parameters 292
LINES1.DAT parameters 134
LUSE1 parameters 203
MF103 parameters 233
MF104 parameters 234
MF105 parameters 234
MF106 parameters 234
MF107 parameters , 235
MF108 parameters 235
MF109 parameter 82
MF110 parameter 83
MF111 parameter 83
MF112 parameter 92
MF113 parameter 93
MF123 parameters : 110
MF127 parameters 81
MF129 parameter 126
MF132 parameter 99
MF133 parameter 99
MF134 parameter 99
MF135 parameter 100
MF136 parameter 100
MF137 parameter 100
vm
-------
MF138 parameter 101
MF139 parameter 101
MF140 parameter 101
MF143 parameters 110
MF144 parameters Ill
MF145 parameters Ill
MF146 parameters 148
MF147 parameters 192
MF151 parameter 126
MF152 parameter 126
MF153 parameter 127
MF154 parameter 127
MF155 parameter 127
MF156 parameter 128
MF157 parameter 128
MF160 parameter 102
MF161 parameter 102
MF162 parameter 102
MF163 parameter 103
MF164 parameter 163
MF165 parameter 163
MF166 parameter 163
MF167 parameter 164
MF174 parameter 103
MF175 parameter 103
MF176 parameter 104
MOBLSAZ.CSO, MOBLSUZ.CSO, and MOBLWKZ.CSO parameters 208
NOXPTCTRL-CSr parameters 321
OZONE parameters 198
PCTCELL parameters 209
PF101 parameters 34
PF102 parameters 35
PF103 parameters 59
PF104 parameters 35
PF106 parameters 51
PF107 parameter .'. 60
PF108 parameter 60
PF109 parameter 60
PF110 parameter 61
PF111 parameters 156
PF112 parameter 52
IX
-------
PF113 parameters 117
PF114 parameters 118
PF115 parameters 118
PF117 parameter 169
PF118 parameters 204
PF119 parameter 75
PF125 parameter 81
PF128 parameter 247
PF129 parameter 247
PF130 parameter 248
PF131 parameters 36
PF132 parameter 82
PF133 parameter 69
PF135 parameter 142
PF140 parameter 75
PF141 parameter 141
PF142 parameter 92
PF144 parameters 223
PF145 parameters 142
PF148 parameter 82
PF150 parameter 161
PF151 parameter „ 162
PF152 parameter 162
PF153 parameter 162
PF156 parameter 92
PF157 parameter 69
PF160 parameter 248
PF161 parameter 248
PF164 parameter ~ 76
PF165 parameter 76
PF166 parameter 76
PF167 parameters 213
PF168 parameters 230
PF169 parameters 230
PF170 parameters 230
PF171 parameter 231
PF172 parameter 231
PF173 parameter 231
PF174 parameter 232
PF175 parameter 232
PF176 parameter 232
-------
PF177 parameter 232
PF178 parameter 233
PF179 parameter 233
PF191 parameters 230
PF193 parameters 65
PNTSACSO, PNTSU.CSO, and PNTWK.CSO parameters 140
PNTSAZ.CSO, PNTSUZ.CSO, and PNTWKZ.CSO parameters 261
PNTWK.CSO, PNTSACSO, and PNTSU.CSO parameters 243
PTE3.DAT parameters 109
RATECONS parameters 174
RAWIN1 parameters 154
RAWSTA1 parameters 91
REFORMTFAC parameters 210
SEANPT.CSO parameters 242
SPECFAC parameters 212
SRFC_A/MA/yy.DAT parameters 220
STACKS.CSO parameters 141
SURELEV1 parameters 51
SURMET1 stage 1 parameters 49
SURMET1 stage 2 parameters 50
TERRAIN parameters 74
VOCPTCTRL.C& parameters 321
WNDOB1, WNDOB2, and WNDOB3 parameters 119
P01G control card variables 36
P02G control card variables 45
P03G control card variables 53
P04G control card variables 62
P05G control card variables 69
P06G control card variable 77
P07G control card variables 84
P08G control card variables 93
P09G control card variables 104
P10G control card variables 112
PUG control card variables 120
P12G control card variables 128
P14G control card variables 143
P15G control card variables 149
P16G control card variables 157
P17G control card variables 164
-------
P19G control card variables 170
P21G control card variables 176
P22G control card variables 185
P23G control card variables 192
P24G control card variables 199
P26G control card variables 214
P27G control card variables 224
P29G control card variables 236
P32G control card variables 249
P33G control card variables 255
P34G control card variables 265
P36G control card variables 272
P38G control card variables 282
P39G control card variables 297
P40G control card variables 314
P41G control card variables 322
P01G I/O Gle space requirements 37
P02G I/O file space requirements 46
P03G I/O file space requirements 54
P04G I/O file space requirements 63
P05G I/O file space requirements 70
P06G I/O file space requirements 78
P07G I/O file space requirements 85
P08G I/O file space requirements 94
P09G I/O file space requirements 105
P10G I/O file space requirements 113
PUG I/O file space requirements 121
P12G I/O file space requirements 130
P13G I/O file space requirements 136
P14G I/O file space requirements 144
P15G I/O file space requirements 150
P16G I/O file space requirements 157
P17G I/O file space requirements 165
P19G I/O file space requirements 171
P21G I/O file space requirements 177
P22G I/O file space requirements 186
P23G I/O file space requirements 193
P24G I/O file space requirements 200
P25G I/O file space requirements 205
XII
-------
P26G I/O file space requirements 215
P27G I/O file space requirements 225
P29G I/O file space requirements 237
P31G I/O file space requirements 244
P32G I/O file space requirements 250
P33G I/O file space requirements 256
P34G I/O file space requirements 267
P36G I/O file space requirements 274
P38G I/O file space requirements 283
P39G I/O file space requirements 299
P40G I/O file space requirements 315
P41G I/O file space requirements 323
1.1 File type summary 5
1.2 Header record parameter definitions 7
1.3 File-type 1 parameter definitions 10
1.4 File-type 2 parameter definitions 12
1.5 File-type 3 parameter definitions 14
1.6 File-type 4 parameter definitions 16
1.7 File-type 5 parameter definitions 18
2.8 ROM background species and reactions 45
2.148 Initial mean tropospheric background concentrations, precursor species 188
2.154 ROM species and reactions 195
2.163 Example of species aggregations in P23G 204
nu
-------
LIST OF FIGURES
1.1 Structure chart of the processor and model file header records 8,9
1.2 Structure chart of Type 1 Processor/Model Files 11
1.3 Structure chart of Type 2 Processor/Model Files 13
1.4 Structure chart of Type 3 Processor/Model Files 15
1.5 Structure chart of Type 4 Processor/Model Files 17
1.6 Structure chart of Type 5 Processor/Model Files 19
2.1 Sample model layer heights and thicknesses along row 41 160
2.2 Backtracks and back trajectories 228
xiv
-------
SECTION 1
I/O SUPPORT FOR THE ROM PROCESSOR NETWORK
1.1 SYSTEM CONCEPTS
1.1.1 G Series Processors
The G Series Processors consist of a set of 35 programs that are run in a sequence of nine stages; they
prepare the data required by the Regional Oxidant Model (ROM). Detailed functional specifications
for these processors are available in Section 3 of this Part of the User's Guide. Processors are named
P/wiG, where nn is the processor number. Each stage of the processor network consists of one or
more processors that read files created at an earlier stage and write files that are read at a later stage.
The processors create a total of 117 files that are divided into two groups: processor files (PF), and
model files (MF).
1.1.2 Processor and Model Files (TF/MF) Database
The PF/MF database consists of 117 files that are written and read only by processors (and not the
Core Model). Each file is assigned a number from 000 to 999, and an internal or generic name of the
form "PFwi/i" or "MFnnn", where nnn is the file number. Detailed descriptions of all files within the
database are available in Section 2, The ROM Processor Network." Note that we use the nomen-
clature standard files for these files.
1.1.3 Use of Internal Names Instead of Unit Numbers
The use of unit numbers within each processor would make it difficult to trace and document the
flow of data through the system, since each processor would assign a different unit number to each
file. Due to the large number of files flowing through the system, PF/MF files are, by convention,
written and read using their internal (generic) name (i.e., "PF/t/w" or "MF/inn"). This permits all
processors to read and write all files without regard to variations in naming. Users are relieved of the
burden of determining which unit numbers to attach to which files in each processor, and run streams
are simplified. The data flow through the system can thus be more easily and consistently traced.
-------
1.1.4 Dynamic Assignment of Unit Numbers
Each file to be written or read by a processor is assigned (via DEC Control Language, DCL) by its
external name (i.e., the name of the file as it is stored on disk) to a logical name, and its internal name
is attached (via DCL) to a logical name prior to execution. (Refer to any run stream in the User's
Guide for an example of this process.) Each processor is coded to use only internal names and not
unit numbers. Since unit numbers are not assigned prior to execution, each processor dynamically
selects a unit number and attaches the unit number to each file using the file's internal name and the
function JUNIT. The I/O routines select, attach, and use unit numbers for each PF/MF file.
1.1.5 Standard File Structures and I/O Routines
During development of the ROM, and to simplify the I/O requirements of the processors, we defined
a set of five basic file structures for the PF/MF files. Note that while the second file structure is not
used in ROM2.1, it will be included in subsequent versions of the model. We developed standard
subprograms to read and write each file structure. The use of standard file structures and I/O routines
allows the data to flow through the system in a traceable and well-defined manner, making it easy to
perform quality control on the standard files.
1.2 DATA FLOW COMPONENTS FOR G SERIES PROCESSORS
• Processor PnnG: Any program that must write to or read from the PF/MF database.
• PF/MF Directory: Contains structure definitions of all files in PF and MF databases.
WRFTn: Subroutine that writes to a processor or model file of type «.
RDFTn: Subroutine that reads from a processor or model file of type n.
PF/MF database: The database of standard files that are written or read by the G series pro-
cessors.
OPEN2: Subroutine that opens all processor or model files that are to be written to or read
from.
1.3 GENERAL I/O GUIDELINES
No Tape Files
All I/O should be directly to disk-resident files. Large disk files may be stored on tape to conserve
disk space. These files should be copied from tape to temporary disk storage prior to execution of the
ROM processors, and, if necessary, copied from temporary disk storage to tape after program execu-
tion and after quality control procedures have been completed.
-------
1.3.2 Assigning Internal File Names
All processor or model files must be assigned by their proper PF internal (logical) name (PFnnn) or
MF internal (logical) name (MF/i««), attached via DCL assignment commands prior to program
execution. An internal (logical) file name must not be a unit number. Refer to Sections 1.1.3 and
1.1.4 for further details.
1.3.3 Assigning the PF/MF Directory
The internal (logical) name TFMFDIR" must be attached (via DCL commands) to the database
directory file. This file must be assigned to any program that reads or writes any processor or model
file.
1.3.4 Assigning Processor and Model Files
All processor or model files must be assigned by their proper PF internal (logical) name (PFnnn) or
MF internal (logical) name (MFnnn), as well as by their external name. For example,
$ ASSIGN MET56:[ROMNET.D85188JPF106A.DAT PF106
where PM06A.DAT is the external file name, and PF106 is the internal (logical) file name.
1.3.5 Assigning Nonstandard Files
All other files must be assigned by their external names and some internal (logical) file name,
attached to each via DCL commands prior to program execution. For example,
$ ASSIGN MET35:[SCRATCH.VHQ1GUTBIONO.DAT UROUT
where GUTBIONO.DAT is the external file name, and UROUT is the internal (logical) file name.
1.3.6 Run Date/Time
A call to subroutine PROGID is the first executable statement in all main programs. PROGID saves the
current date/time in a common block that is used to update the processor or model files' header
records after writing to these files.
1.3.7 Array List of Processor or Model Files in Main Programs
Each main program contains a character array that defines the list of internal (logical) names of all
the processor or model files that the program writes or reads. The main programs also contain a
logical array that defines the read/write access required for each processor or model file. Input files
must be defined as read-only files, and output files must be defined as read/write files.
-------
1.3.8 Opening the PF/MF Directory
The PF/MF Directory must be opened via subroutine OPDIR2 prior to opening any processor or
model files. OPDIR2 will dynamically select (via function JUNIT) a unit number; it will attach this unit
number to the PF/MF Directory.
1.3.9 Opening Processor or Model Files
All processor or model files must be opened by passing the array list of PF/MF internal (logical) file
names to subroutine OPEN2. A processor or model file must be opened prior to writing to or reading
from the file. OPEN2 will dynamically select (via function JUNIT) a unit number; it will attach the unit
number to each processor or model file.
13.10 File Status Summaries
We recommend printing a file status summary both after the processor or model files have been
opened and again immediately before the program terminates normally. This is done by passing the
array list of PF/MF internal (logical) file names to subroutine FLSMRY.
1.3.11 Opening Nonstandard Sequential Files
To avoid the possibility of duplicate unit numbers, each nonstandard file must be opened by function
JFILE2. JFILE2 dynamically selects (via function JUNIT) a unit number, and attaches the unit number
to the sequential file. The unit number that is returned must be used on all reads/writes of that file.
1.3.12 Opening Alternate Print Files
To avoid the possibility of duplicate unit numbers, each print file must be opened by function JFILE3.
JFILE3 dynamically selects (via function JUNIT) a unit number, and attaches the unit number to the
sequential file. The unit number that is returned must be used on all reads/writes of that file.
1.3.13 Opening Nonstandard Direct Access Files
To avoid the possibility of duplicate unit numbers, a unit number for each nonstandard direct access
file is obtained by function JUNIT. The FORTRAN OPEN statement is then used to attach the unit
number and define the file as a direct access file.
-------
1.3.14 Writing/Reading Processor or Model Files
All processor or model files of type 1 are written by subroutine WRFD and read by subroutine RDFTI.
Subroutines WRFI>» and RDFI>I are used for writing and reading processor or model files of type «
(n = 2 to 5). File types are defined in Section 1.4.1. Note that model file type 2 is not used in
ROM2.1.
1.3.15 The SO-File Limit
A maximum of 50 files (PF/MF and all other files) can be written and/or read by any one program.
1.4 PF/MF DESCRIPTIONS
1.4.1 General Description
All Processor or Model files are ASCII FORTRAN, direct access, unformatted files. Each file con-
tains one standard header record followed by a maximum of 72 data records. Each file contains a
maximum of 19 parameters. Files are classified by type, based on structure and content. Type 1 and 2
files contain upper-air vertical profiles at radiosonde (rawind) stations at hourly or 12-hourly inter-
vals. Type 3 files contain meteorology and air quality parameters at surface stations at hourly inter-
vals. Type 4 files contain time-invariant gridded data. Type 5 files contain time-variant gridded data.
The file types are summarized in Table 1.1. Note that model file type 2 is not used in ROM2.1.
TABLE 1.1. FILE TYPE SUMMARY
File
Type
1
2
3
4
5
File Body
Record Length
151+(4500xNP)
121+(30xNP)
1001+(250xNP)
NCxNRxNP
NCxNRxNP
Max.
Records
73
73
73
2
73
Contents
Rawind stations upper-air vertical profiles
Rawind stations single level parameters (e.g., mixing heights)
Surface meteorology and air quality parameters
Gridded time-invariant data (e.g., land use)
Gridded time-variant data
Note: NP is the number of parameters in the file, NC and NR are the number of columns and rows in the model domain.
1.4.2 File Headers for Processor and Model Files
1.4.2.1 File Header Characteristics
Recording Mode: ASCII FORTRAN, direct access, unformatted
Record Size: 539 words
Number of records: 1
-------
1.4.2.2 File Header Descriptions
This record is the first record in every processor or model file, and contains the following infor-
mation:
• dates and times of (1) file creation, and (2) last update;
the structural definition of the file;
• a general description of the file;
the number of parameters in the file, and descriptions of each parameter;
• the grid region definition; and
the time span contained in the file.
The file header contains a maximum of 19 parameters.
1.4.2.3 Header Record Data Dictionary
Table 1.2 defines the parameters that appear in header records. Figure 1.1 is a structure chart of
the processor and model file header records.
-------
TABLE 1.2. HEADER RECORD PARAMETER DEFINITIONS
Farm.
Name
KEY
Type
Char*4
Definition
Defines initialization status of file
FNAME
CDATE
CTIME
WDATE
WTIME
FDESC(i)
FTYPE
LHEAD
LRECL
LBLOCK
MRECS
NPARM
PNAMES(i)
UNITS(i)
PDESCS(i)
GRDNAM
NCOL
NROW
JDO
IHRO
HRINC
Char* 12
Integer
Integer
Integer
Integer
Char*60
Integer
Integer
Integer
Integer
Integer
Integer
Char* 12
Char* 12
Char*40
Cbar*8
Integer
Integer
Integer
Integer
Integer
MHRS Integer
HOURS(i) Logical
- "INIT" if file has been initialized
•^ "INIT if file has not been initialized
Internal (logical) name of file (PFnnn or MFnnn)
Creation date (MMDDYY) of file
Creation time (HHMMSS) of file
Date (MMDDYY) of last update
Time (HHMMSS) of last update
Line i of general file description
Type of file (1,2,3,4, or 5)
Length of header record (words)
Logical record length (words)
Length of block (words)
Max. no. of records (header+data) that the file contains
Number of parameters in file
Name of parameter i
Units of parameter /
Description of parameter i
Model domain name (not used on file types 1,2, and 3)
No. of model domain columns (not used on file types 1,2, and 3)
No. of model domain rows (not used on file types 1,2, and 3)
Julian Date (YYDDD) of first hour in scenario (not used on file
type 4)
Time (00 to 23 local standard) of first hour in scenario (not used on
file type 4)
Number of hours in time interval between records (= 1 or 12; not
used on file type 4)
Max. no. of hour records in file (= 72; not used on file type 4)
Status of hour record i in file (not used on file type 4)
= .FALSE, if hour record has not been written
= .TRUE, if hour record has been written
-------
1
C*4
FILE
INIT.
FUG
| '
C*12
FILE
NAME
I "
l*4
FILE
CREATE
DATE
r~
l*4
FILE
CREATE
TIME
| "
1*4
LAST
UPDATE
DATE
l~
1*4
LAST
UPDATE
TIME
G
, I . I . _J l_ ' I I
FILE
DESCRIP-
TION
l*4
FILE
TYPE
I *4
FILE
HEADER
LENGTH
1*4
LOGICAL
RECORD
LENGTH
1*4
NO OF
FILE
RECORDS
\/
MXPRM1 = 25
NPARM s MXPRM1
MXOLIN « 3
MHRS . 72
NTHRS c MHRS
LHD2 = 22 * 16 • MXPRM1
* 15 'MXDUN* NTHRS
Figure 1.1. Structure Chan of the Processor and Model file Header Records (page 1 of 2).
-------
1
1*4
NO. OF FILE
PARMS,
NPARM
H
PARM
NAMES
PARM *
(NPARM)
1
PARM
UNITS
1
PARM*
1
PARM
DESCRIP-
TIONS
PARM
n
C*8
GRID
NAME
1 *4
NO OF
COLUMNS
T
1*4
NO OF
ROWS
V
.- r , 'i
1*4
SCENARIO
START
DATE
1*4
SCENARIO
START
TIME
1*4
HOUR
STEP
SIZE
*
1*4
MAX HOUR
STEP NO..
MHRS •
HOUR STEP
WRITTEN
FLAGS
Figure 1.1 (page 2 of 2).
-------
1.4.3 Type 1 PF; Rawind Stations Upper-Air Vertical Profiles
1.43.1 File Characteristics
Recording Mode: ASCII FORTRAN, direct access, unformatted
Record Size: 151+(4500xNP) words (NP = number of parameters)
Number of Records: 72 + header record
1.43.2 File Description
Type 1 files contain the standard PF/MF header followed by a single record for each hour of (up
to) a 72-hour scenario. Each data record contains identifying information for each rawind station
that was reporting for that hour, followed by the vertical profiles of upper-air parameters for each
station. Each record can contain a maximum of 30 stations, with a maximum of 150 values per
vertical profile. Table 1.3 defines the parameters that appear in file-type 1 records.
TABLE 1.3. FILE-TYPE 1 PARAMETER DEFINITIONS
Farm.
Name
NSTA
STAIDS(i)
ELEVS(i)
LONS(i)
LATS(i)
NPTS(i)
PROFS(i,j,k)
Type
Integer
Integer
Real
Real
Real
Integer
Real
Definition
Number of rawind stations reporting for hour
Unique identifier of rawind station i
Elevation (meters above sea level) of rawind station i
Longitude (degrees) of rawind station /
Latitude (degrees) of rawind station i
Number of readings in vertical profile for rawind station i
Value of parameter k at rawind station ; at vertical point / for
Note: NP is the number of parameters in the Gle.
Figure 1.2 is a structure chart of Type 1 Processor/Model Files.
10
-------
1 —
NUMBER
OF
STATIONS
|
STATION
IDS
|
ELEVA-
TIONS
1 1
LONGI-
TUDES
LATITUDES
NUMBER
OF
LEVELS
1
PRORLE
DATA
MXPRM1
NPARM
MXDLIN
NTHRS
LHD2
25
MXPRM1
3
72
22 + 16- MXPRM1
+ 15 ' MXDLIN + NTHRS
NSTEPS
NVERTS
NPTS
NRWND
BDYWDS
NTHRS
100
NVERTS
30{ROMNET)
25 (NEROS, SEROS)
1 + NRWND • (5 + NVERTS • NPARM)
Figure 1.2. Struaure Chart of "type 1 Processor/Model Files.
11
-------
1.4.4 Type 2 PF; Rawind Stations Single Level Parameters (not used in ROM2.1)
1.4.4.1 File Characteristics
Recording Mode: ASCII FORTRAN, direct access, unformatted
Recording Size: 121+(30xNP) words (NP = Number of Parameters)
Number of records: 72 + header record
1.4.4.2 File Description
Type 2 files contain the standard PF/MF header followed by a single record for each hour of (up
to) a 72-hour scenario. Each data record contains identifying information for each rawind station
that was reporting for that hour, followed by the calculated parameters for each station. Each
record can contain a maximum of 30 rawind stations. Table 1.4 defines the parameters that
appear in file-type 2 records.
TABLE 1.4. FILE-TYPE 2 PARAMETER DEFINITIONS
Farm.
Name
NSTA
STAIDS(i)
ELEVS(i)
LONS(i)
LATS(i)
P(M)
Type
Integer
Integer
Real
Real
Real
Real
Definition
Number of rawind stations reporting for hour
Unique identifier of rawind station i
Elevation (meters above sea level) of rawind station /
Longitude (degrees) of rawind station i
Latitude (degrees) of rawind station i
Value of calculated parameter; at rawind station i for;=l,NP
Note NP is the number of parameter* in the file.
Figure 13 is a structure chart of Type 2 Processor/Model Files.
12
-------
1
FILE
HEADER
RLE
BODY
LHD2
WORDS
MXPRM1 =
NPARM s
MXDLIN =
NTHRS *
LDH2 =
25
MXPRM1
3
72
22+16-MXPRM1
+ 15' MXDLIN + MTHRS
NSTEPS
NRWND
BDYWDS
NTHRS
30 (ROMNET)
25 (NEROS. SEROS)
1 + NRWND-(4 +NPARM)
Figure 13. Structure Chan of Type 2 Processor/Model Files.
13
-------
1.4.5 Type 3 PF; Surface Meteorology and Air Quality Parameters
1.4.5.1 File Characteristics
Recording Mode: ASCII FORTRAN, direct access, unformatted
Recording Size: 1001+(250xNP) words (NP = number of parameters)
Number of Records: 72 + header record
1.4.5.2 File Description
Type 3 files contain the standard PF/MF header followed by a single record for each hour of (up
to) a 72-hour scenario. Each data record contains identifying information for each surface station
that was reporting for that hour, followed by the observed or calculated parameters for each
station. Each record can contain a maximum of 250 surface stations. Table 1.5 defines the
parameters that appear in file-type 3 records.
TABLE IS. FILE-TYPE 3 PARAMETER DEFINITIONS
Parm.
Name
NSTA
STAJDS(i)
ELEVS(i)
LONS(i)
LATS(i)
SROBS(ij)
Type
Integer
Integer
Real
Real
Real
Real
Definition
Number of surface stations reporting for hour
Unique identifier of surface station i
Elevation (meters above sea level) of surface station i
Longitude (degrees) of surface station i
Latitude (degrees) of surface station i
Value of observed or calculated parameter; at surface station i for
Note: NP is the number of parameters in the BJc.
Figure 1.4 is a structure chart of Type 3 Processor/Model Files.
14
-------
1
FILE
HEADER
r.J...,
1
,' LHD2
i WORDS
I
L
1 1
N*"6" STATION
STATIONS IDS
1 1
1*4 STATION*
(NSTA,
1
1 1 1 *4
ID
MXPRM1 = 25
NPARM 1. MXPRM1
MXDLIN = 3
NTHRS = 72
LDH2 = 22*16* MXPR
+ 15* MXDLIN *
TYPES
PF/MF
FILE
I
FILE
BODY
I
*
HOUR
STEP
(NSTEPS)
r.J...,
l I
i
I BDYWDS
i WORDS
1
1 1 1 1
ELEVA- LONGI- i ATminpt: STATION
TONS TUDES LATITUDES DATA
1 1 1 1
* * * PARM *
STATION STATION STATION (NPARM)
1 1 1 1
R*4 "*4 R*4 STAT.ON*
ELEVATION LONGITUDE LATITUDE
VALUE VALUE VALUE [
PARM
VALUE
NSTEPS i NTHRR
NSURF . 250 (ROMNET)
= 200 (NEROS, SEROS)
BDYWDS. « 1 + NSURF -(4 + NPARM)
«1
NTHRS
Figure 1.4. Structure Chart of Type 3 Processor/Model Files.
15
-------
1.4.6 Type 4 PF: Gridded Time-Invariant Parameters
1.4.6.1 File Characteristics
Recording Mode: ASCII FORTRAN, direct access, unformatted
Recording Size: NCxNRxNP words (NC and NR are the number of columns and rows in
the model domain; NP is the number of parameters)
Number of Records: 1 + header record
1.4.6.2 File Description
Type 4 files contain the standard PF/MF header followed by one record that contains time-
invariant gridded parameters (e.g., land use, elevation data). Table 1.6 defines the parameters
that appear in file-type 4 records.
TABLE 1.6. FILE-TYPE 4 PARAMETER DEFINITIONS
Parm.
Name Type . Definition
GRIDA(i,j,k) Real Value of parameter /t in a grid cell at row j and column / for
Note: NP is the number of parametets in the file.
Figure 1.5 is a structure chart of Type 4 Processor/Model Files.
16
-------
MXPRM1
NPARM
MXDUN
NTHRS
LHD2
NR
NC
BDYWDS
FILE
HEADER
I LHD2
• WORDS
'25
MXPRM1
3
72
22 + 16' MXPRM1
+ 15 • MXDLIN + NTHRS
52 (ROMNET)
42 (NEROS.SEROS)
64 (ROMNET)
60 (NEROS, SEROS)
NPARM • NR. NC
FILE
BODY
BDYWDS
WORDS
Figure 1.5. Structure Chart of "type 4 Processor/Model Files.
17
-------
1.4.7 Type 5 PF/MF: Gridded Time-Variant Parameters
1.4.7.1 File Characteristics
Recording Mode: ASCII FORTRAN, direct access, unformatted
Recording Size: NCxNRxNP words (NC and NR are the number of columns and rows in
the model domain; NP is the number of parameters)
Number of Records: 72 + header record
1.4.7.2 File Description
Type 5 files contain the standard PF/MF header followed by a single record for each hour of (up
to) a 72-hour scenario. Each data record contains the gridded parameters for that hour.
Table 1.7 defines the parameters that appear in file-type 4 records.
TABLE 1.7. FILE-TYPE 5 PARAMETER DEFINITIONS
Parm.
Name Type Definition
GRIDA(i,j,k) Real Value of parameter k in a grid cell at row ; and column / for
fc=l,NP
Note: NP is the number of parameters in the file.
Figure 1.6 is a structure chart of Type 5 Processor/Model Files.
18
-------
BDYWDS
WORDS
MXPRM1 * 25
NPARM z MXPRM1
MXOLIN = 3
NTHRS = 72
LHD2 = 22 + 16- MXPRM1
+ 15 ' MXDLIN + NTHRS
NSTEPS s NTHRS
NR = 52 (ROMNET)
= 42 (NEROS.SEROS)
NC =64 (ROMNET)
= 60 (NEHOS. SEROS)
BDYWDS = NPARM • NR • NC
Figure 1.6. Structure Chart of Type 5 Processor/Model Files.
19
-------
1.5 I/O SUBPROGRAMS
1.5.1 General Description
All subroutines and functions are written in ASCII FORTRAN and use standard FORTRAN I/O.
There are many FORTRAN INCLUDE files also used, which contain parameter-specification
COMMON BLOCKS that allow data to be easily accessed by several subprograms.
1.5.2 Date/Hour Conventions
Some I/O subprograms require date and time of day specifications as arguments as follows:
All date specifications must be 5-digit integers of the form (YYDDD) where:
YY =2 digit year (e.g. 79)
DDD = 3 digit Julian date (e.g. 215).
Julian dates are numbered from 1 to 366 where:
1 implies January 1
365 implies December 31 of non-leap year
366 implies December 31 of a leap year.
All time of day specifications must be 2-digit integers of the form (HH) where:
HH = 2 digit hour in local standard time (e.g. 12)1
Hours are numbered from 00 to 23 where:
00 implies hour 00:00 AM to 00:59 AM
23 implies hour 23:00 PM to 23:59 PM
Example: date: 79215, hour: 12
This would represent the hour 12:00 PM to 12:59 PM on Friday, August 3,1979.
1.5.3 Summary of the Most Frequently Called I/O Routines
DATHRI Returns the start date/hour for scenario in processor or model file
DATHR2 Determines if date/hour may be written into processor or model file
DATHRS Determines if date/hour has been written in processor or model file
DATHR4 Returns list of dates/hours that are written in processor or model file
FLSMRY Prints date/time summary of processor or model files
JFILE2 Opens sequential file and attaches unit number
JFILE3 Opens alternate print file and attaches unit number
JUNIT Selects an available unit number
OPDIR2 Opens PF/MF directory
1. Note that this User's Guide references ROMNET applications, which use Eastern Standard Time only (EPA, 1990).
20
-------
OPEN2 Opens processor or model files
PROGID Prints program name, program version, and current date/time
RDFn Reads a single hour record from type 1 PF
RDFT2 Reads a single hour record from type 2 PF
RDFI3 Reads a single hour record from type 3 PF
RDFT4 Reads a single record from type 4 PF
RDFTS Reads a single hour record from type 5 processor or model files
WRFTi Writes a single hour record to type 1 PF
WRFTZ Writes a single hour record to type 2 PF
WRFT3 Writes a single hour record to type 3 PF
WRFT4 Writes a single record to type 4 PF
WRFTS Writes a single hour record to type 5 processor or model files
Subroutine DATHRI
SUBROUTINE DATHR1(FNAME, JDATEO, 1HOURO, HRINC)
CHARACTER*^ FNAME
INTEGER HRINC
INPUT ARGUMENTS:
C FNAME
C OUTPUT ARGUMENTS:
C JDATEO
C -IHOURO
C HRINC
Internal (logical) file name attached to Processor or Model file
Julian date (YYDDD) of first hour in scenario
Hour (00 to 23 local standard) of first hour in scenario
Number of hours in the time interval between records
RETURN
END
This subroutine reads the file header for a processor or model file and returns the start date/hour
for the scenario, as well as the number of hours in the time interval between records. The file
being read must have been previously opened by routine OPEN2. If the file is a type 4 PF/MF, the
output arguments are all set to 0.
1.5.3.2 Function DATHR2
FUNCTION DATHR2(FNAME, JDATEO, IHOURO, HRINC, JDATE, I HOUR)
LOGICAL DATHR2
CHARACTER*12 FNAME
INTEGER HRINC
C INPUT ARGUMENTS:
C FNAME Internal (logical) file name attached to Processor or Model file
C JDATEO Julian date (YYDDD) of first hour in scenario
C IHOURO Hour (00 to 23 local standard) of first hour in scenario
C HRINC Number of hours in the time interval between records
C JDATE Julian date (YYDDD) of hour to be checked
C I HOUR Hour (00 to 23 local standard) to be checked
C OUTPUT ARGUMENTS:
DATHR2
Defines if date/hour may be written into Processor or Model file
EQ .TRUE., Date/hour may be written into file
NE .TRUE., Date/hour may not be written into file
RETURN
END
21
-------
This function determines if the date/hour given by JDATE/IHOUR is a valid hour that can be
written into the processor or model file. If the date/hour is:
• > the first date/hour in the file, and
< the last date/hour in the file, and
• the date/hour falls at an appropriate date/hour interval (i.e., defined by HRINC),
then the function returns a .TRUE, value. Otherwise, the function returns a .FALSE, value.
Routine DATHRi must be used to get the correct start date/hour and the number of hours in the
time interval (HRINC) between records for the file. The file being read must have been pre-
viously opened by routine OPEN2. If the file is a type 4 PF/MF, the input arguments are ignored
and the function returns a .TRUE, value.
1.53.3 Function DATHR3
FUNCTION DATHR3(FNAME, JDATE, I HOUR)
LOGICAL DATHR3
CHARACTER*12 FNAME
C INPUT ARGUMENTS:
C FNAME Internal (logical) name attached to Processor or Model file
C JDATE Julian date (YYDDD) of hour to checked
C I HOUR Hour (00 to 23 local standard) to be checked
C OUTPUT ARGUMENTS:
C DATHR3 Defines availability of date/hour in Processor or Model file
C EO .TRUE., Date/hour has been written
C NE .TRUE., Date/hour has not been written
RETURN
END
This function reads the file header for a processor or model file and determines if JDATE and
IHOUR have been written to the file. The file must have been previously opened by subroutine
OPENZ If the file is a type 4 PF/MF, the date/hour arguments will be ignored. The function
returns a .TRUE, value if the record has been written and a .FALSE, value if it has not been
written.
1.5.3.4 Subroutine DATHR4
SUBROUTINE DATHR4(FNAME, JDATEO, IHOURO, HRINC, NHRS, JDATES, I HOURS)
CHARACTER*12 FNAME
INTEGER HRINC
DIMENSION JDATES(72), IHOURS(72)
C INPUT ARGUMENTS:
C FNAME Internal (logical) file name attached to Processor or Model file
C JDATEO Julian date (YYDDD) of first hour in scenario
C IHOURO Hour (00 to 23 local standard) of first hour in scenario
C HRINC Number of hours in the time interval between records
C JDATE Julian date (YYDDD) of hour to be checked
C IHOUR Hour (00 to 23 local standard) to be checked
C JDATES(i) Julian date (YYDDD) of hour i that has been written
in the file
Array must contain 72 words.
22
-------
IHOURS(i) Hour (00 to 23 local standard) of hour i that has been
written in file
Array must contain 72 words.
RETURN
END
This subroutine reads the file header for a processor or model file and returns a list of dates/hours
that have been written to the file. The file must have been previously opened by subroutine
OPENZ If the file is a type 4 PF/MF, NHRS is set to 1 if the record has been written, 0 if it has not
been written; other output arguments are set to 0.
1.53.5 Subroutine FLSMRY
SUBROUTINE FLSMRY (NF, FNAMES)
CHARACTER*12 FNAMES
DIMENSION FNAMES(NF)
C INPUT ARGUMENTS:
C NF Number of names in list
C FNAMES(i) Internal (logical) file name attached to Processor or Model file i
RETURN
END
This subroutine prints the following information for each processor or model file in its list:
external file name, internal (logical) file name, creation date/time, and last update date/time.
This subroutine is called after the files have been opened and before normal termination of the
main program.
1.5.3.6 Function JFILEZ
FUNCTION JFILEZ (FNAME, FORM, READ)
LOGICAL FORM, READ
CHARACTER*12 FNAME
C INPUT ARGUMENTS:
C FNAME Internal (logical) file name attached to sequential file
C . FORM Determines type of records in file
EG .TRUE., records are formatted
NE .TRUE., records are unformatted
C READ Determines read/write access for file
C EQ .TRUE., read only access
C NE .TRUE., read/write access
C OUTPUT ARGUMENTS:
C JFILE2 Unit number attached to sequential file
RETURN
END
23
-------
This function selects an available unit number, opens the sequential file, and attaches the selected
unit number. The unit number selected is returned by the function. A message is printed to the
log that echoes the internal (logical) file name and unit number. The unit number returned is
used on all writes/reads of the file. We recommend that (1) input files be defined with read-only
access, and (2) output files be defined with read/write access.
1.5.3.7 Function JFILE3
FUNCTION JFILE3 (FNAME)
CHARACTER*12 FNAME
C INPUT ARGUMENTS:
C FNAME Internal (logical) file name attached to alternate print file
C OUTPUT ARGUMENTS:
C JFILE3 Unit router attached to alternate print file
RETURN
END
This function selects an available unit number, opens the alternate print file, and attaches the
selected unit number. The unit number selected is returned by the function. A message is printed
to the log that echoes the internal (logical) file name and unit number. The unit number returned
is used on all writes of the file.
1.5.3.8 Function JUNIT
FUNCTION JUNIT ()
C OUTPUT ARGUMENTS:
C JUNIT Unit number selected
RETURN
END
This function maintains a list of unit numbers already assigned. When called, it returns the next
unit number not in use from a total list of 50 available unit numbers. This next unit number is
returned to the calling program.
1.5.3.9 Subroutine OPDIR2
SUBROUTINE OPDIR2
CHARACTER*!2 FNAME
C INPUT ARGUMENTS:
C FNAME Internal (logical) file name attached to PF/Mf file directory
RETURN
END
24
-------
This subroutine opens the PF/MF directory, and reads and prints the file header. OPDIR2 is called
prior to calling subroutine OPEN2 which opens the processor and model files. OPDIR2 assumes
that the internal (logical) file name "PFMFDIR" has been attached to the PF/MF directory.
1.5.3.10 Subroutine OPENZ
SUBROUTINE OPEN2 (NF, FNAMES, READ)
LOGICAL READ
CHARACTER*12 FNAMES
DIMENSION FNANES(NF), READ(NF)
C INPUT ARGUMENTS:
C NF Number of names in list
C FNAMES(i) Internal (logical) file name attached to Processor or Model file i
C READ(i) Determines read/write access for Processor or Model file i
C EQ .TRUE., read only access
C NE .TRUE., read/unite access
RETURN
END
This subroutine opens each processor or model file in its list, and reads and prints each file
header. Subroutine OPDIR2 must be called prior jto calling OPEN2.
1.5.3.11 Subroutine PROGID
SUBROUTINE PROGID (PNAME, PVERS)
CHARACTER'S PNAME
INTEGER PVERS
C INPUT ARGUMENTS:
C PNAME Program name
C PVERS Program Version (YYDDD)
CHARACTER'S PRNAME
INTEGER PRVERS, RUNDTE, RUNTIM
COMMON /PRID/ PRNAME, PRYERS, RUNDTE, RUNTIM
C PRNAME Program name
C PRVERS Program Version (YYDDD)
C RUNDTE Run date (MMDDYY)
C RUNTI11 Run time (HHMMSS)
RETURN
END
This subroutine skips to the top of a new page and prints the program name, program version,
and current date/time. This information is saved in common block PRID.
1.5.3.12 Subroutine RDFTI
SUBROUTINE RDFT1 (FNAME, NPARM, JDATE, I HOUR, RECORD)
CHARACTERS FNAME
DIMENSION RECORD (151+4500*NPARH)
C INPUT ARGUMENTS:
C FNAME Internal (logical) file name attached to Processor or Model file
C NPARM Number of parameters in file
C JDATE Julian date (YYDDD) of hour to be read
C I HOUR Hour (00 to 23 local standard) to be read
25
-------
C OUTPUT ARGUMENTS:
C RECORD Address of first word in common block or buffer
C area that contains (151+4500*NPARM> words.
RETURN
END
This subroutine reads a single hour's record into array RECORD from a type 1 PF file.
1.5.3.13 Subroutine RDFT2
SUBROUTINE RDFT2 (FNAME, NPARM, JDATE, I HOUR, RECORD)
CHARACTER*12 FNAME
DIMENSION RECORD (121+30*NPARM)
C INPUT ARGUMENTS:
C FNAME Internal (logical) file name attached to Processor or Model file
C NPARM Number of parameters in file
C JDATE Julian date (YYDDD) of hour to be read
C I HOUR Hour COO to 23 local standard) to be read
C OUTPUT ARGUMENTS:
C RECORD Address of first word in common block or buffer
C area that contains (121+30*NPARM) words
RETURN
END
This subroutine reads a single hour's record into array RECORD from a type 2 PF file. Note that
model file type 2 is not used in ROM2.1.
1.5.3.14 Subroutine RDFT3
SUBROUTINE RDFT3 (FNAME, NPARM, JDATE, I HOUR, RECORD)
CHARACTER*12 FNAME
DIMENSION RECORD (1001+250*NPARM)
C INPUT ARGUMENTS:
C FNAME Internal (logical) file name attached to Processor or Model file
C NPARM Number of parameters in file
C JDATE Julian date (YYDDD) of hour to be read
C I HOUR HourCOO to 23 local standard) to be read
C OUTPUT ARGUMENTS:
C RECORD Address of first word in common block or buffer
C area that contains (1001+250*NPARM) words
RETURN
END
This subroutine reads a single hour's record into array RECORD from a type 3 PF file.
1.5.3.15 Subroutine RDFT4
SUBROUTINE RDFT4 (FNAME, NCOL, NROW, NPARM, GRIDA)
CHARACTER*12 FNAME
DIMENSION GRIDA (NCOL, NROU, NPARM)
26
-------
C INPUT ARGUMENTS:
C FNAME Internal'(logical) file name attached to Processor or Model File
C NPARM Number of parameters in file
C NCOL Number of columns in grid region
C NROW Number of rows in grid region
C OUTPUT ARGUMENTS:
C GRIDA Address of first word in buffer
C area that contains (NCOL*NROW*NPARM) words
RETURN
END
This subroutine reads a single record into array GRIDA from a type 4 PF file.
1.5.3.16 Subroutine RDFT5
SUBROUTINE ROFT5CFNAME, NCOL, NROW, NPARM, JDATE, I HOUR, GRIOA)
CHARACTER*12 FNAME
DIMENSION GRIDA (NCOL, NROW, NPARM)
C INPUT ARGUMENTS:
C FNAME Internal (logical) file name attached to Processor or Model File
C NCOL Number of columns in grid region
C NROW Number of rows in grid region
C NPARM Number of parameters in file
C JDATE Julian Date (YYDDD) of hour to be read
C I HOUR Hour (00 to 23 local standard) to be read
C OUTPUT ARGUMENTS:
C GRIDA Address of first word in buffer
C area that contains (NCOL*NROU*NPARM) words
RETURN
END
This subroutine reads a single hour's record into array GRIDA from a type 5 PF file.
1.5.3.17 Subroutine WRFTI
SUBROUTINE URFT1
-------
1.53.18 Subroutine WRFT2
SUBROUTINE URFT2 (FNAME, NPARM, JDATE, 1HOUR, RECORD)
CHARACTER*!2 FNAHE
DIMENSION RECORD (121+30*NPARM)
C INPUT ARGUMENTS:
C FNAME Internal (logical) file name attached to Processor or Model File
C NPARM Number of parameters in file
C JDATE Julian date (YYDDD) of hour to be written
C I HOUR Hour (00 to 23 local standard) to be written
C RECORD Address of first word in common block or buffer
C area that contains (121+30*NPARM) words
RETURN
END
This subroutine writes a single hour's record from array RECORD into a type 2 PF file. Note
that model file type 2 is not used in ROM2.1.
1.5.3.19 Subroutine WRFT3
SUBROUTINE WRFT3 (FNAME, NPARM, JDATE, I HOUR, RECORD)
CHARACTER*12 FNAME
DIMENSION RECORD (1001+250*NPARM)
C INPUT ARGUMENTS:
C FNAME Internal (logical) file name attached to Processor or Model File
C NPARM Number of parameters in file
C JDATE Julian date (YYDDD) of hour to be written
C I HOUR Hour (00 to 23 local standard) to be written
C RECORD Address of first word in common block or buffer
C area that contains (1001+250*NPARM> words
RETURN
END
This subroutine writes a single hour's record from array RECORD into a type 3 PF file.
1.5.3.20 Subroutine WRFT4
SUBROUTINE WRFT4 (FNAME, NCOL, NROU, NPARM, GRID)
CHARACTER*12 FNAME
DIMENSION GRIDA (NCOL, NROU, NPARM)
C INPUT ARGUMENTS:
C FNAME Internal (logical) file name attached to Processor or Model File
C NCOL Nunber of columns in grid region
C NROU Number of rows in grid region
C NPARM Number of parameters in file
C GRIDA Address of first word in buffer
C area that contains (NCOL*NROW*NPARN) words
RETURN
END
This subroutine writes a single record from array GRIDA into a type 4 PF file.
28
-------
1.5.3.21 Subroutine WRITS
SUBROUTINE WRFT5(FNAME, NCOL, NROW, NPARH, JDATE, I HOUR, GRIDA)
CHARACTER*12 FNAME
DIMENSION GRIDA (NCOL, NROW. NPARH)
C INPUT ARGUMENTS:
C FNAME Internal (logical) file name attached to Processor or Model File
C NCOL Nunber of colunns in grid region
C NROW Nunber of rows in grid region
C NPARM Number of parameters in file
C JDATE Julian Date (YYDDD) of hour to be written
C I HOUR Hour (00 to 23 local standard) to be written
C GRIDA Address of first word in buffer
C area that contains (NCOL*NROW*NPARM) words
RETURN
END
This subroutine writes a single hour's record from array GRIDA into a type 5 PF file.
1.5.4 A Brief Description of Other Utility and I/O Subprograms
ADATE returns the current system date and time.
AGRIDI grids one scalar variable and produces a 2-dimensional array.
BGRIDI uses the Barnes (1973) technique to grid a given variable.
BGRID2 uses the Barnes (1973) technique to grid two variables.
BGRID3 uses the Barnes (1973) technique to grid three or more variables.
CELLO defines a ROM grid region, and sets up a BLOCK of parameters for this
region.
CELLI returns the grid column and row numbers for given latitude and longitude
coordinates.
CELL2 returns the latitude and longitude coordinates for the center of a given grid
cell (column and row number inputs).
CELLAR returns the area in m2 of a given grid cell.
CHAIN2 inserts/retrieves a key in/from a hashing table.
CLOCKi returns the elapsed scenario time and the step number since the start of the
run.
CLOCK2 returns the current scenario date and time relative to the start of the run.
CLRHDR sets (clears) the HOUR array in a PF/MF header to .FALSE.
29
-------
CPUTOT
DATEHR
DATHR5
DATHR6
DATTIM
ERROUT
FSKffl
FSTAT1
GETMEM
GETMSG
GETYN
GMTLCL
GPRIME
GREG
IBLKR
INDEX1
IOCL
IOERR
JFILE1
JFILE4
JFILE5
JFILE6
JFILEX
returns the total amount of CPU seconds since the start of the current pro-
cess/job.
returns a list of date/hours when provided with a start/end date and interval
size.
returns the creation and update date and time of a given file.
returns a list of date/hours that have been written to a given file.
returns a current date and time in MMDDYY, HHMMSS format.
processes an error condition when one is encountered.
positions a pointer in a sequential file either forward or backward (by a given
number of records).
determines if a given file name is valid or invalid according to the PF/MF
directory file.
dynamically allocates system memory for an array of given size.
returns the message text for a given system status code.
prompts users with a text question that is used for input.
converts Greenwich Mean Time to local time.
solves a chemical differential equation used in ROM.
returns the day and month for a given Julian date.
computes the number of blocks in a file header and/or record.
searches a character array for a given character string.
extracts the clause field in a given I/O status word.
writes I/O error information to the current job log.
returns the unit number attached to a given processor or model file.
opens and attaches a given sequential file to a given unit.
opens and attaches a unit number to a given fixed-length sequential file.
opens and attaches a unit number to a given sequential file with a Variable'
RECORDTYPE attribute.
opens and attaches a unit number to a given sequential file with a given record
length (other than the default length).
30
-------
JHOURI computes the hour index in a sequential list of Julian dates/hours.
JULIAN returns the Julian date for a set of year, month, and day arguments.
KDAY returns the day of the week (1-7) for a given year and Julian day.
LENI returns the number of trailing blanks in the input argument string.
MATCH compares and determines whether two arrays are identical.
NEXTHR increments the date and hour being processed by a given temporal interval.
POINTS uses the Barnes (1973) technique to analyze multiple variables where the
values for each variable occur at common locations.
PQ1CB42 calculates the rates of decay and production for the CBM-4.2 chemical spe-
cies.
PQCOEFCB42 calculates the product [reaction rate] • [advection solution] for each reaction
in CBM-4.2.
RATEDCB42 calculates the CBM-4.2 reaction rates.
RDDIRI retrieves structure information concerning a given processor or model file
from the database directory file.
RDFHDI reads a given PF/MF header record.
RDFHD2 returns the information in a PF/MF header record.
RDFILE reads a given number of unformatted words from a file into a buffer.
RDREC reads one logical record from a processor or model file.
RDSRFI reads temporally-windowed data from a surface meteorology file.
RDWNDO reads spatially- and temporally-windowed data from a surface meteorology
file.
SOLAR computes solar elevation angles.
SOLELV calculates the angle of the sun above/below the horizon for a specific location
and time.
TOTAL writes total nitrogen concentrations (from input N-species) to the log.
TRNSLT translates VAX F_floating format to IBM floating point format or translates
ASCII format to EBCDIC format.
WRCHAR writes a character-string buffer to a file.
31
-------
WRFILE writes a buffer of unformatted data to a file.
WRREC writes a logical record from a buffer to a processor or model file.
XATAN2 computes the ARCTAN for a given pair of components (in radians).
32
-------
SECTION 2
THE ROM PROCESSOR NETWORK
The ROM has been programmed using the American National Standards Institute (ANSI) FORTRAN-77
full language specification. Development of the system began on the EPA's Sperry UNIVAC®1100 main-
frame computer. It was then shifted to a VAX™ 11/780 minicomputer in May 1983. Currently, we are running
the Core Model on the EPA-NCC's IBM®3090 and the processor network on the EPA-NCC VAX cluster,
consisting of two VAX 8650s and one VAX 11/785. Running the model system requires a significant amount
of CPU time; for example, for one three-day execution the ROM2.1 Core Model required about 9.5 h of IBM
3090 CPU time and the ROM2.1 processor network used about 12 h of VAX 8650 CPU time.
Descriptions of each processor begin in Section 2.1; the processors are documented in numerical order. Each
processor description (1) defines what the program does, (2) shows input and output file parameters, and lists
READ, WRITE, and FORMAT statements, (3) shows and defines control card variables, (4) summarizes the
computer resources required, (5) lists the link stream commands, (6) lists the run stream commands, (7) lists
all subroutines, functions, and block data used, (8) lists the I/O or utility library routines used, and (9) lists the
INCLUDE files used. The documentation of the processor network is specific to the ROMNET region.
To help you identify the acronyms and terms we use in this document, we include a short glossary below:
AEROS Aerometric and Emissions Reporting System; refer to EPA 450/2-76-005a.
DDD Three-digit Julian day number.
episode A model period made up of several three-day scenarios.
EST Eastern Standard Time (GMT - 5 hours)
GMT Greenwich Mean Time
HH Two-digit hour on a 24-hour clock, e.g., 23 = 11 p.m.; unless we stipulate otherwise, all HH
hours are EST.
Julian Cumulative day-number calendar; 001 = January 1,365 = December 30 or 31.
MM Two-digit month, e.g., 10 represents October; or
Two-digit minutes in HHMMSS string.
MMM Three-letter month, e.g., AUG represents August.
MSL Mean Sea Level
scenario A model period starting at 1200 EST and continuing for 72 hours.
55 Two-digit seconds.
YY Two-digit year, e.g., 85 represents the year 1985.
Z "Zulu" time, i.e., GMT; used as a suffix on the time of meteorological observations.
33
-------
2.1 PROCESSOR P01G (METEOROLOGY)
I. PROCESSOR FUNCTION
This stage 2 processor produces four sets of profiles of meteorological parameters at vertical intervals
of 50m; these are:
u and v wind components vs. height;
dew point temperature, virtual temperature, mixing ratio, and relative humidity vs. height;
pressure vs. height;
potential temperature, density, and static stability vs. height.
II. I/O COMPONENTS
A Input Files
1. Standard Input Files
PF111 from P16G
2. Nonstandard Input Files
None
B. Output Files
1. Standard Output Files
a. PF101
This file contains rawinsonde vertical profiles interpolated to hourly time intervals, and
interpolated vertically to every 50 m. PF101 is used by P07G and PI 1G, and its parameters
are shown in Table 2.1.
TABLE 2.1. PF101 PARAMETERS
Parm
No.
1
2
3
Parm
Name
Zm/,
^um^/,
Unit
m above MSL
m-s-1
m-s-1
Data
Type
Real*4
Real*4
Real*4
Description
Interpolation height for parameters
West-to-east wind component
South-to-north wind component
Note: m = upper-air station number; z = height, h = hour.
34
-------
b. PF102
This file contains rawinsonde vertical profiles interpolated to hourly time intervals, and
interpolated vertically to every 50 m. PF102 is used by P09G, and its parameters are shown
in Table 2.2.
TABLE 2.2. PF102 PARAMETERS
Parm
No.
1
2
3
4
5
Parm
Name Unit
Zm/i m above MSL
Tdm^/i K
Tvm^/j K
qm^/i
RHm4/I
Data
Type
Real*4
Real*4
Real*4
Real*4
Real*4
Description
Interpolation height for parameters
Dew point temperature
Virtual temperature
Fractional mixing ratio
Fractional relative humidity
Note: m = upper-air station number; 2 = height, h = hour.
c. PF104
This file contains rawinsonde upper-air vertical profiles interpolated to hourly time inter-
vals, and interpolated vertically to every 50 m. PF104 is used by P09G and P11G, and its
parameters are shown in Table 2.3.
TABLE 23. PF104 PARAMETERS
Parm
No.
1
2
Parm
Name
Zmh
Unit
m above MSL
mb
Data
Type
Real*4
Real*4
Description
Interpolation height for parameters
Atmospheric pressure level
Note: m = upper-air station number; z = height, h = hour.
d. PF131
This file contains rawinsonde upper-air vertical profiles interpolated to hourly time inter-
vals, and interpolated vertically to every 50 m. PF131 is used by P09G, and its parameters
are shown in Table 2.4.
35
-------
TABLE 2.4. PF131 PARAMETERS
Farm Farm
No. Name
3 RGMAm
Unit
m above MSL
K
kg-m-3
Data
Type
Real*4
Real*4
Real*4
Real*4
Description
Interpolation height for parameters
Potential temperature
Air density
Static stability
Noterm = upper-air station number, z = height, A = hour.
2. Nonstandard Output Files
None
III. CONTROL CARDS
One control card is used to input control data in the format shown below. Table 2.5 defines the control
card variables.
JDT1 JDT2
TABLE 2.5. CONTROL CARD VARIABLES
Variable
Name
JDT1
JDT2
Unit
EST
EST
Description
Julian scenario start date and time as YYDDDHH
Julian scenario end date and time as YYDDDHH
Example:
8819612 8819911
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A Memory Requirements (1 block = 512 bytes)
FORTRAN source files: 4 files
FORTRAN INCLUDE files: 3 files
Object files: 4 files
Executable file: _1 file
12 files
21 blocks
15 blocks
18 blocks
45 blocks
99 blocks
36
-------
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss): 00:00:30
Buffered I/O count: 282
Direct I/O count: 5003
Peak working-set size: 1240
Peak virtual size: 4411
C. Space Requirements: Log and Print Files
P01GX1.LOG: 21 blocks
Print Files: None
D. Space Requirements: Input and Output Files
Table 2.6 shows the input file and output file space requirements.
TABLE 2.6. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
PF111
PF101
PF102
PF104
PF131
File
Type
1
1
1
1
1
Storage
(in blocks)
8904
6465
8904
4347
7623
27339
Scenario
Data Span
72 hours
72 hours
72 hours
72 hours
72 hours
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P01GV1A.LNK follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
S ! RUN STREAM IS IN FILE DISK$VAXSET:[ROMCOM.ROMNETJP01GV1A.LNK
$ ON WARNING THEN EXIT
$ ASSIGN MLAB: SYSSPRINT
$ MAPFILE = "METliCSOISJPOlGVIA.MAP"
$ EXEFILE = "DISKSVAXSET:[ROMEXE.ROMNETJP01GV1A.EXE"
$ ASSIGN/USER_MODE DISWVAXSET: [ROMOBJ.PROCES]P01G.OBJ A1
$ ASSIGN/USER_MODE DISttVAXSET:[ROMOBJ.PROCESJRLEVEL.OBJ A2
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.PROCES]PARAMS.OBJ A3
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.PROCES1PSHIFT.OBJ AA
$ ASSIGN/USER~MODE DISK$VAXSET:[ROMOBJ.UTILIOJADATE.OBJ A5
$ ASSIGN/USER~MOOE DISKSVAXSET:[ROMOBJ.UTIL10]FLSMRY.OBJ A6
$ ASSIGN/USER~MODE DISK5VAXSET:[ROMOBJ.UTILIO]FSTAT1.OBJ A7
37
-------
$ ASS1GN/USER_MOOE DISKSVAXSET:[ROMOBJ.UTILIO]IBLKR.OBJ AS
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIO]IOCL.OBJ A9
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]JFILE1.OBJ A10
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]JHOUR1.OBJ A11
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIO]JUNIT.OBJ A12
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTIL10]NEXTHR.OBJ A13
$ ASSIGN/USER~MODE DISKSVAXSET: [ROMOBJ.UTILIOJOPDIR2.0BJ A14
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]OPEN2.OBJ A15
$ ASSIGN/USER~MOOE DISKSVAXSET:[ROMOBJ.UTILIO]PROGID.OBJ A16
$ ASS1GN/USER~MOOE DISKSVAXSET:[ROMOBJ.UTILIOJRDDIR1.OBJ A17
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIO]RDFT1.OBJ A18
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIOJRDREC.OBJ A19
$ ASSIGN/USERJ10DE DISKSVAXSET: [ROMOBJ.UTILIWWRFT1.0BJ A20
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIO]URREC.OBJ A21
$ LINK -
/EXECUTABLE = DISKSVAXSET: [ROMEXE.ROMNET3P01GV1A.EXE -
/MAP = MET1:[S01S]P01GV1A.MAP -
A1. -
A2. -
A3. -
A19, -
A20, -
A21
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1:[S01S]P01GV1A.MAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P01GX1.COM follows:
• $ ! ACCOUNTING CODE
$ SET VERIFY
S ! RUN STREAM IS IN FILE USER2SDISK:[FOREMAN.FV1501A1P01GX1.COM
ASSIGN MLAB: SYSSPRINT
! ASSIGN INPUT FILES
ASSIGN MET1:[ROMNET]DIRECTS.DAT PFMFDIR
ASSIGN MET56: [ROMNET1.D851883PF111A.DAT PF111
! ASSIGN OUTPUT FILES
ASSIGN MET56:tROMNETl.D85188lPF101A.DAT PF101
ASSIGN MET56:[ROMNET1.D851881PF102A.DAT PF102
ASSIGN MET56:[ROMNET1.D851881PF104A.DAT PF104
ASSIGN MET56:[ROMNET1.D85188JPF131A.DAT PF131
SHOW PROCESS / ACCOUNTING .
$ !
S TYPE USER2SDISK:[FOREMAN.FV1501A]P01GX1.CPR
$ ! ASSIGN CONTROL CARD(S) FILE
t ASSIGN / USER_MODE USER2SDISK:[FOREMAN.FV1501A3P01GX1.CPR SYSSINPUT
$ RUN DISKSVAXSET:[ROMEXE.ROMNET1P01GV1A.EXE
$ SHOW PROCESS / ACCOUNTING
(end of run stream)
38
-------
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P01GV1A
B. Subroutines
RLEVEL
PARAMS
PSHIFT
C. Functions
None
D. Block Data Files
None
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A. Subroutines
DISK$VAXSET:[ROMLIB.UTILIO]
ADATE
FLSMRY
FSTAT1
IBLKR
JFILE1
B. Functions
NEXTHR
OPDIR2
OPEN2
PROG ID
RDDIR1
RDFT1
RDREC
WRFT1
WRREC
DISKSVAXSET:[ROMLIB.UTILIO]
IOCL
JHOUR1
JUNIT
IX. INCLUDE FILES
DISKS VAXSET:[ROMLIB.PROCES]
INDATA.EXT
INTERN.EXT
OUTOAT.EXT
39
-------
2.2 PROCESSOR P02G (CHEMISTRY)
I. PROCESSOR FUNCTION
This stage 1 processor generates ICON, the initial conditions file, which contains the "clean air"
(background) layered gridded species concentrations for the modeling domain at time step zero. All
cells in each layer have identical concentration values for each species.
II. I/O COMPONENTS
A Input Files
1. Standard Input Files
None
2. Nonstandard Input Files
P02G uses one nonstandard input file output from P21G, CLEANAIR.DAT, that contains
layered background species concentrations for 35 species, generated during both day (photo-
lytic) and night (nonphotolytic) conditions. The rate constants for the input file are output by
CVCHEM. The READ and FORMAT statements for this file are listed below, and its
parameters are shown in Table 2.7.
READ (JCONC.1005) HDTEXT
READ (JCONC.1005) HDTEXT
1005 FORMAT (A100)
READ
-------
The 35 species used in the ROM are shown in Table 2.8.
TABLE 2.8. ROM BACKGROUND SPECIES AND REACTIONS
Symbol
Description
Symbol
Description
ALD2 . High MW aldehydes O1D
C2O3 Peroxyacetyl radical O3
CO Carbon monoxide OH
CRES Cresol and high MW phenols OLE
CRO Methylphenoxy radical OPEN
ETH Ethene
FORM Formaldehyde PAN
H2O2 Hydrogen peroxide PAR
HNO2 Nitrous acid PNA
HN03 Nitric acid ROR
HO2 Hydroperoxy radical TO2
ISOP Isoprene structures TOL
MGLY Methylglyoxal XO2
N2O5 Dinitrogen pentoxide XO2N
NO Nitric oxide XYL
NO2 Nitrogen dioxide MTHL
NO3 Nitrogen trioxide NONR
O O3P atom TRAC
O*D atom
Ozone
Hydroxyl radical
Olefinic carbon bond
High MW aromatic oxidation
ring fragment
Peroxyacetyl nitrate
Paraffinic carbon bond
Peroxynitric acid
Secondary organic oxy radical
Toluene-hydroxyl radical adduct
Toluene
NO to NO2 reaction
NO to nitrate (NO,) reaction
Xylene
Methanol
Nonreactive hydrocarbons
Tracer species
Note: MW = molecular weight
B. Output Files
1. Standard Output Files
None
2. Nonstandard Output Files
P02G generates ICON; this file contains the initial condition concentrations of the species
shown in Table 2.8 for every grid cell and each model layer (or layer). ICON is used by the
Core Model. There are up to 24 records written to the file prior to the concentration fields.
These are described below.
a. Record 1
This record contains the parameters shown in Table 2.9. The parameters are first written
to the buffer SEG1BF; subsequently subroutine WRCHAR writes the data (unformatted) to
ICON. These steps are shown below.
41
-------
WRITE (SEG1BF,3001.IOSTAT=IOST)
& CDATIC, CTIMIC, SDATIC, STHRIC, TSTPIC, FRSTIC,
& CRDNIC, SWLNIC, SULTIC, NELNIC, NELTIC, DLONIC,
& OLATIC, NCOLIC, NROWIC, NLEVIC, NSPCIC, (IDUM(J),J=1,8),
& ICNTIC
3001 FORMAT (618.8,AS,4F8.3,2F8.5,414.4,818.8,14.4)
CALL URCHAR (IUNIT,SEG1BF,IOST)
SUBROUTINE WRCHAR(IUNIT,CHBUF,IOST)
IMPLICIT NONE
INTEGER*4 IUNIT,IOST
CHARACTER*(*) CHBUF
WRITE(IUNIT,IOSTAT=IOST) CHBUF
RETURN
END
TABLE 2.9. ICON RECORD 1 PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Farm
Name
CDATIC
CTIMIC
SDATIC
STHRIC
TSTPIC
FRSTIC
GRDNIC
SWLNIC
SWLTIC
NELNIC
NELTIC
DLONIC
DLATIC
NCOLIC
NROWIC
NLEVIC
NSPCIC
IDUM
ICNTIC
Unit
EST
EST
s
s
°W
°N
°W
°N
°W
°N
Data
Type
Integ*4
Integ*4
Integ*4
Integ*4
Integ*4
Integ*4
Char*8
Real*4
Real*4
Real*4
Real*4
.Real*4
Real*4
Integ*4
Integ*4
Integ*4
Integ*4
Integ*4
IntegM
Description
File creation date as MMDDYY
File creation time as HHMMSS
Julian scenario start date as YYDDD
Scenario start time as HH
Time step, simulation
First time step in ICON
Grid name (see Appendix A)
Longitude, SW corner of grid
Latitude, SW corner of grid
Longitude, NE corner of grid
Latitude, NE corner of grid
Cell longitude increment
Cell latitude increment
Number of columns in grid
Number of rows in grid
Number of layers in simulation
Number of species in ICON file
Padding to fill buffer
Number of text records
b. Record 2
This record contains the parameter shown in Table 2.10. The parameter is first written to
the buffer SPNMBF; subsequently subroutine WRCHAR writes the data (unformatted) to
ICON. The WRITE and FORMAT statements are listed below:
42
-------
WRITE (A4))
CALL WRCHAR (IUNIT,SPNHBF,IOST)
TABLE 2.10. ICON RECORD 2 PARAMETER
Farm
No.
1
Farm
Name
SPNMIC
Data
Unit Type
Char*4
Description
Chemical species name
c. Record 3
This record contains the parameter shown in Table 2.11. The parameter is first written to
the buffer LEVNBF; subsequently subroutine WRCHAR writes the data (unformatted) to
ICON. The WRITE and FORMAT statements are listed below:
WRITE (LEVNBF,3007,IOSTAT=IOST)
£ (LVNMIC(I), I=1,NLEVIC)
3007 FORMAT ((A4))
CALL WRCHAR (IUNIT,LEVNBF,IOST)
TABLE 2.11. ICON RECORD 3 PARAMETER
Farm
No.
1
Farm
Name
LVNMIC
Data
Unit Type
Char*4
Description
Layer number
d. Records 4 - (4 + ICNTIC)
These records contain the parameter shown in Table 2.12, which consists of the optional
text that can be entered as part of P02G's input. The parameter is first written to the
buffer TEXTBF from control card records 3 up to 22; subsequently, subroutine WRCHAR
writes the 80-character strings to the output records in ICON. The WRITE statements are
listed below:
C--WRITE HEADER - TEXT GROUP FOR 20 RECORDS
DO 201, I = 1, ICMTIC
C--MOVE TEXT
TEXTBF = TEXTIC(I)
C--WR1TE
CALL WRCHAR (IUNJT,TEXTBF,IOST)
201 CONTINUE
43
-------
TABLE 2.12. ICON RECORDS 4 - (4 + ICNTIC) PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 TEXTIC Char*80 Descriptive text
e. Record (5 + ICNTIC): the time step header record
There is only one time step header record because this initial concentration file contains
only one time step, FRSTIC. This record contains the parameters shown in Table 2.13.
The WRITE statements write the header from a COMMON declaration; these codes are
listed below:
REAL*4 OATIC, TIMIC, ELPIC, STPIC...
COMMON /RTSHIC/ DATIC, TIMIC, ELPIC, STPIC...
C--WRITE TIME STEP HEADER
CALL WRFILE (IUNIT,IUDLN2,DATIC,IOST)
SUBROUTINE WRFILE (IUNIT, NWORDS, BUFFER, IOST)
IMPLICIT NONE
INTEGER** IUNIT, NWORDS, IOST
REAL*4 BUFFER (NWORDS)
WRITE (IUNIT, IOSTAT = IOST) BUFFER
RETURN
END
TABLE 2.13. ICON TIME STEP HEADER RECORD PARAMETERS
Farm
No.
1
2
3
4
Farm
Name
DATIC
TIMIC
ELPIC
STPIC
Data
Unit Type
RealM
EST Real*4
s Real*4
Real*4
Description
Julian date on ICON file as YYDDD
Time on ICON file as HHMMSS
Elapsed time since start
Step number (always = 1)
f. Records (6 + ICNTIC) - (NROWS x NSPECIES): species concentration data
These records contain the species concentrations, iterated over rows, that have the
parameter shown in Table 2.14. The value of the IWDLN2 variable shown in the WRITE
statements below is the product of the number of columns in the modeling domain and the
number of model layers. IWDLN2 defines the buffer length.
44
-------
C--WRITE ROW TO ICON
C--LOOP OVER SPECIES
DO 301, ISPC = 1, NSPECS
CALL WRFILE (IUNIT,IUDLN2,ICFILE(1,1,ISPC),IOST)
301 CONTINUE
TABLE 2.14. ICON SPECIES CONCENTRATIONS PARAMETER
Farm
No.
Farm
Name
Unit
Data
Type
Description
1 ICFILE/^ ppm Real*4
Initial species concentrations
Note: i = column number, L = layer number, s = species, ordered as in Table 2.8.
III. CONTROL CARDS
Two control cards are used, in the format shown below. Table 2.15 describes the control card variables.
Following these two control cards, optional text information can be entered in as many as 20 records.
This text will be included in the ICON file's header.
SDATIC STHRIC
IDATIC ITIMIC
VAXFMT
TABLE 2.15. CONTROL CARD VARIABLES
Farm Farm
No. Name Unit
1 SDATIC
2 STHRIC EST
3 IDATIC
4 ITIMIC EST
5 VAXFMT
Example:
88236, 12
88236, 120000
.FALSE.
Description
Julian scenario start date as YYDDD
Scenario start hour as HH
Julian date of initial conditions as YYDDD
Time of initial conditions as HHMMSS
Translate flag:
.TRUE =»-do not translate to IBM binary
.FALSE =» translate to IBM binary
45
-------
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
FORTRAN source files:
FORTRAN INCLUDE files:
Object files:
Executable file:
B. Execution Time Requirements:
Charged CPU time (hh:mm:ss):
Buffered I/O count:
Direct I/O count:
Peak working-set size:
Peak virtual size:
C. Space Requirements: Log and Print Files
4
11
4
-L
20
files
files
files
file
files
39
36
24
_42
141
blocks
blocks
blocks
blocks
blocks
VAX 8650
00:00:14
227
432
506
2514
P02GX1.LOG:
Print Files:
15 blocks
. None
D. Space Requirements: Input and Output Files
Table 2.16 shows the input file and output file space requirements.
TABLE 2.16. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
CLEANAIR
ICON
File
Type
Nonstd
Nonstd
Storage
(in blocks)
11
2739
Scenario
Data Span
N/A
N/A
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P02GV1A.LNK follows:
46
-------
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE DISKSVAXSET:[ROMCOM.ROMNET]P02GV1A.LNK
$ ON WARNING THEN EXIT
$ ASSIGN MLAB: SYSSPRINT
$ MAPFILE = "MET1:[S01S]P02GV1A.MAP"
$ EXEFILE = "DISKSVAXSET:CROMCOM.ROMNET]P02GV1A.EXE"
$ ASSIGN/USER MODE DISKSVAXSET: [ROMOBJ.ROMNET]P02G.OBJ A1
$ ASSIGN/USER MODE DISK$VAXSET:[ROMOBJ.ROMNET1BLKIC.OBJ A2
$ ASSIGN/USER~MODE DISWVAXSET: [ROMOBJ.ROMNET]OPWRIC.OBJ A3
$ ASSIGN/USER'MODE DISKSVAXSET:CROMOBJ.ROMNETJWRIC.OBJ A4
$ ASSIGN/USER~MODE DISKSVAXSET: [ROMOBJ.UTILIO]ADATE.OBJ A5
$ ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.UTILIOICELLO.OBJ A6
s ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.UTILIOICLOCKI.OBJ A/
$ ASSIGN/USER'MODE DISKSVAXSET: CROMOBJ.UTILIWDATTIM.OBJ AS
$ ASSIGN/USER'MODE DISKSVAXSET: [ROMOBJ.UTILIOHOCL.OBJ A9
$ ASSIGN/USER~MODE DISK$VAXSET:[ROMOBJ.UTILIO]JFILE2.0BJ A10
$ ASSIGN/USER~MODE DISK$VAXSET:[ROMOBJ.UTILIO]JFILE5.0BJ A11
$ ASSIGN/USERJ10DE DISKtVAXSET:[ROMOBJ.UTILIO]JUNIT.OBJ A12
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILI01PROGID.OBJ A13
$ ASSIGN/USER'MODE DISK$VAXSET:[ROMOBJ.UTILIOIWRCHAR.OBJ AH
$ ASSIGN/USER MODE DISKSVAXSET:tROMOBJ.UTILIO]WRFILE.OBJ A15
$ LINK -
/EXECUTABLE = DISWVAXSET: tROMCOM.ROMNET)P02GV1A.EXE -
/MAP = MET1:[S01SJP02GV1A.MAP -
A1, -
A2, -
A3. -
A13, -
AK, -
A15
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1:[S01S]P02GV1A.MAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P02GX1.COM follows; note that the file-naming conventions (for the ICON file) can be found in the
Tutorial (Section 4) of Part 5 of this User's Guide.
S ! ACCOUNTING CODE
$ SET VERIFY
S ! Run stream is in file DISKSVAXSET:[FOREMAN.FV1502A3P02GX1.COM
$ ASSIGN MLAB: SYSSPRINT
$ !
$ ! ASSIGN INPUT FILES
$ ASSIGN MET1:[ROMNETJDIRECT2.DAT PFMFDIR
$ ASSIGN MET1:[ROMNET.RAWDATA]CLEANAIR.DAT CLEANAIR
$ ! ASSIGN OUTPUT FILES
X ASSIGN MET31:[FOREMAN.ICBCS]ICFV1502A.DAT ICON
$ SHOW PROCESS / ACCOUNTING
S !
$ ! ASSIGN CONTROL CARDS FILE
$ TYPE DISKSVAXSET:[FOREMAN.FV1502A]P02GX1.CPR
$ ASSIGN / USER MODE DISKSVAXSET:[FOREMAN.FV1502A]P02GX1.CPR SYSSINPUT
$ !
S RUN DISKSVAXSET: [ROMEXE.ROMNEnP02GV1A.EXE
$ SHOW PROCESS / ACCOUNTING
(end of run stream)
47
-------
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A Main Program
P02GV1A
B. Subroutines
OPWRIC
WRIC
C. Functions
None
D. Block Data Files
BLKIC
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A Subroutines
DISK$VAXSET:[ROMLIB.UTILIO]
ADATE PROGID
CELLO WRCHAR
CLOCK1 WRFILE '
DATTIM
B. Functions
IOCL
JFILE2
JFILE5
JUNIT
IX. INCLUDE FILES
DISKSVAXSET:[ROMLIB.PROCES]
FLNAMS.EXT LVNAME.EXT
GRDDEF.EXT PARAM.EXT
HDFMTS.EXT PRID.EXT
HEADICEXT REGION.EXT
1CFILE.EXT TSHDIC.EXT
LUNITS.EXT
48
-------
2.3 PROCESSOR P03G (METEOROLOGY)
I. PROCESSOR FUNCTION
This stage 1 processor computes (1) the meteorological parameters used in later stages of the ROM
from the observed surface data, and (2) the presence or absence of local nocturnal temperature inver-
sions.
II. I/O COMPONENTS
A. Input Files
1. Standard Input Files
PF195 from preprocessor MASK
2. Nonstandard Input Files
a. SURMET1
SURMET1, the final output from the meteorology preprocessors, contains hourly surface
meteorology observations from the National Climatic Data Center and the Canadian Cli-
mate Centre raw data tapes. SURMET1 is read in two stages. The first stage reads header
information. READ and FORMAT statements for SURMET1 are called by P03G from
RDSRFI in the UTILIO library. Table 2.17 shows the SURMET1 Stage 1 parameters.
TABLE 2.17. SURMET1 STAGE 1 PARAMETERS
Farm
No.
1
2
3
4
5
Farm
Name Unit
INYR
INMON
INDAY
INHOUR GMT
NSTAT
Data
Type
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Description
Scenario year (YY)
Scenario month (MM)
Scenario day (DD)
Scenario hour (HH)
No. of reporting stations at HH
The Stage 2 parameters that are used in P03G are described in Table 2.18:
49
-------
TABLE 2.18. SURMET1 STAGE 2 PARAMETERS
Farm
No.
la
Ib
2
3
4
6
7
8
9
10
11
12
13
14
15
16
17
Farm
Name
STAIDn
STAIDn
SLATSn
SLONSn
OPQCOVn
COVER1W
BASElrt
COVER2W
BASE2n
COVER3n
BASE3n
P0n
DIRn
SPDn
T«
TDn
P»
Unit
e N
. w
%
%
m
%
m
%
m
mb
deg
m-s-1
°C
°C
mb
Data
Type
Char*4
Integer*4
RealM
Real*4
RealM
Real*4
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
Description
Station ID (non-WBAN format)
Station ID (WBAN format)
Latitude
Longitude
Opaque sky cover
Coverage, lowest cloud layer
Lowest cloud base
Coverage, second-lowest cloud layer
Second-lowest cloud base
Coverage, third-lowest cloud layer
Third-lowest cloud base
Sea level pressure
Wind direction
Wind speed
Temperature
Dew point
Station pressure
Note: n = surface station number (one or more digits).
b. SURELEV1
We manually created this file, which contains the elevation above mean sea level of all stations
reporting surface meteorology.1 The following READ and FORMAT statements pertain to
non-WBAN and to WBAN station identification respectively. Table 2.19 shows the file's
parameters.
READ ( IF1 , 1001 , IOSTAT = IOST ) ISTNBR, LAT, LOW, IELE
READ ( IF1 , 1000 , IOSTAT = IOST ) STID, ISTNBR. LAT, LOU, IELE
1000 FORMAT ( A4 , IX , 15 , F6.2 , F7.2 , 15 )
1001 FORMAT ( 1X . 15.5 , 2X , F5.2 , 2X . F6.2 , 1X , 15 )
You can create a similar elevations list for other stations from a number of sources. We suggest that you refer to the WBAN docu-
ment from the NCDC; for stations without WBAN numbers that are airports, the U.S. Federal Aviation Administration (FAA,
Oklahoma City, OK) publishes regional guides to airports in the U.S. Each airport's altitude is listed. For airports in Canada or
Mexico, elevation information can be obtained from FAA Sectional Charts.
50
-------
TABLE 2.19. SURELEV1 PARAMETERS
Farm
No.
la
Ib
2
3
4
Farm
Name
STAID,,
STAID,,
SLAT,,
SLONn
ELEVn
Unit
0 N
0 W
m above MSL
Data
Type
Char*4
Integer*4
Real*4
Real*4
Real*4
Description
Station ID (non-WBAN format)
Station ID (WBAN format)
Latitude
Longitude
Station elevation
Note: n = surface station number (one or more digits).
B. Output Files
1. Standard Output Files
a. PF106
This file contains hourly surface meteorology data for the modeling domain plus a 6°-
border. It is required by P04G, P07G, P10G, PUG, P15G, P32G, and P33G. Table 2.20
shows its parameters.
TABLE 2.20. PF106 PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
Farm
Name
"*„
~vn
q«
RH,
Tdn
TV*
PHIOn
.PHIO«
psln
RHOn
Hn
Unit
m-s-1
m-s-1
°C
°C
m2.s-2
m2-s-3
mb
kg-m-3
K
Data
Type
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
RealM
Real*4
Real*4
Real*4
RealM
Description
West-to-east wind component
South-to-north wind component
Mixing ratio of water vapor
Relative humidity
Dew point temperature
Virtual Temperature
1000 mb pressure surface geopotential
1000 mb geopotential time derivative
Sea level pressure
Air density
Potential temperature
Note: n = surface station number (one or more digits).
b. PF112
PF112 is the inversion-indicator file. Inversions are determined from an ad hoc method:
the parameter shown in Table 2.21 below is calculated from gridded hourly nocturnal
surface temperatures minus a weighted three-hour average centered at 1900 LST, plus an
empirically-determined SPDFAC term (defined under Control Cards) that multiplies the
51
-------
gridded wind speed; finally, the term is normalized to zero. Note that in the ROM Version
2.1, the parameter DRHO1 is not actually used in any further calculations. Instead, if the
HOURS logical in the file header is retained by the UTILIO function DATHRS as "TRUE",
then an inversion exists for the hour for which the logical is reporting. PF112 is used in
P07G, PUG, and P12G.
TABLE 2.21. PF112 PARAMETER
Parm Parm Data
No. Name Unit Type Description
1 DRHOly Real*4 An inversion exists if DRHOljj < 0.0
Note: /' = column number,;' = row number
2. Nonstandard Output Files
None
III. CONTROL CARDS
Six control cards are used to input control data in the format shown below. Table 2.22 defines the
control card variables. Note that the ROM Version 2.1 does not use grid-based inversion parameters;
the inversion either exists or it does not. However, the control cards for a subsequent version's grid-
based inversion calculations have been included in P03G.
JD1 JD2
GDNAME
WL
SPDFAC
FRAC
INTFLAG
52
-------
TABLE 2.22. CONTROL CARD VARIABLES
Variable
Name
Unit
Description
JD1
JD2
GDNAME
WL
SPDFAC
FRAC
INTFLAG
EST
EST
Julian scenario start date and time as YYDDDHH
Julian scenario end date and time as YYDDDHH
Modeling domain name (see Appendix A)
Barnes' inversion filtering wavelength2
Weight of wind speed term
Fraction of domain grid land area:
>FRAC - inversion exists;
-------
C. Space Requirements: Log and Print Files
P03GX1.LOG: 46 blocks
Print Files: None
D. Space Requirements: Input and Output Files
Table 2.23 shows the input file and output file space requirements.
TABLE 2.23. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
PF195
SURELEV1
SURMET1
PF106
PF112
File
Type
4
Nonstd
Nonstd
3
5
Storage
(in blocks)
55
33
40251
40339
2142
1899
4041
Scenario
Data Span
72 hours
N/A
1 month
72 hours
72 hours
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P03GV1B.LNK follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
S ! RUN STREAM IS IN FILE S2SOUA24:[ROMCOM.ROMNET]P03GV1B.INK
$ ON WARNING THEN EXIT
$ ASSIGN MLAB: SYSSPRINT
$ MAPFILE = »MET1:tS01S]P03GV1B.MAP"
$ EXEFILE = »$2$OUA24:[ROMCOM.ROMNETJP03GV1B.EXE"
$ ASSIGN/USER_MODE S2SOUA24:[ROMOBJ.ROMNET]P03G.OBJ A1
$ ASSIGN/USER MODE $2$OUA24: [ROMOBJ.ROMNET)HASH.OBJ A2
$ ASSIGN/USER MODE 52SDUA24: [ROMOBJ.ROMNETJSTINFO.OBJ A3
$ ASSIGN/USER~MODE $2$DUA24: [ROMOBJ.UTILIOJADATE.OBJ A4
$ ASSIGN/USERJtODE $2$DUA24: CROMOBJ.UTIUOJBGRID1.0BJ AS
$ ASSIGN/USER MODE $2$DUA24: [ROMOBJ.UTILIOJCELLO.OBJ A6
$ ASSIGN/USER~MODE $2$ouA24:IROMOBJ.UTILIOKHAINZ.OBJ A?
S ASSIGN/USER MODE S2SOUA24:tROMOBJ.UTILIOJCLRHDR.OBJ AS
$ ASSIGN/USER'MODE $2»UA24: [ROMOBJ.UTILIOJFLSMRY.OBJ A9
$ ASSIGN/USER MODE S2SDUA24:[ROMOBJ.UTILIO]FSTAT1.OBJ AID
S ASSIGN/USER~MODE S2SOUA24:[ROMOBJ.UTILIOJGETYN.OBJ A11
$ ASSIGN/USER~MODE S2SOUA24: [ROMOBJ.UTILIOJGMTLCL.OBJ A12
s ASSIGN/USER'HODE $2$ouA24:[ROMOBJ.UTILIOJIBLKR.OBJ A13
$ ASS I GN/USER~MODE $2$DUA24: [ROMOBJ. UTIL10] IOCL. 06 J AH
$ ASSIGN/USER~MODE S2SDUA24:[ROMOBJ.UTILIO]IOERR.OBJ A15
S ASSIGN/USER MODE S2SDUA24: [ROMOBJ.UTILIO]JHOUR1.OBJ A16
$ ASSIGN/USER'MODE S2$DUA24:[ROM08J.umiO]JUNiT.OBJ A17
$ ASSIGN/USER'MODE $2$ouA24:[ROMOBJ.UTILIO]JFILEI.OBJ A18
$ ASSIGN/USER'MODE $2$ouA24: [ROMOBJ.UTILIOIJFRE2.OBJ A19
$ ASSIGN/USERJ10DE S2JOUA24: [ROMOBJ.UTILIO] JULIAN.OBJ A.20
54
-------
$ ASSIGN/USER MODE $2$DUA24:[ROMOBJ.UTILI03MATCH.OBJ A21
$ ASS1GN/USER~MODE $2$DUA24:[ROMOBJ.UTILI03NEXTHR.OBJ A22
$ ASSJGN/USER~HOOE $2$OUA24:[ROM08J.UTILIO]OPDIR2.0BJ A23
$ ASSIGN/USER~MODE S2SDUA24:[ROMOBJ.UTILI010PEN2.0BJ A24
$ ASSIGN/USER~MOOE S2SDUA24:tRONOBJ.UTILI01PROGID.OBJ A25
$ ASSIGN/USERJ100E $2$DUA24:[ROMOBJ.UTILIO]RDDIR1.OBJ A26
$ ASSIGN/USER MODE $2$DUA24: IROMOBJ.UTIL10JRDFT4.0BJ A27
$ ASSIGN/USER~MODE $2$DUA24:[ROMOBJ.UTILIOJRDREC.OBJ A28
$ ASSIGN/USER~MOOE S2SDUA24:EROMOBJ.UTILI03RDSRF1.OBJ A29
$ ASSIGN/USER~MODE $2$DUA24:EROMOBJ.UTILIO]RDWNDO.OBJ A30
$ ASSIGN/USER~MODE $2$DUA24:[ROHOBJ.UTILIO]WRFT3.0BJ A31
$ ASSIGN/USER~MODE S2SDUA24:CROMOBJ.UTILIOJWRFT5.0BJ A32
$ ASSIGN/USER_MODE $2$DUA24: [ROMOBJ.UTILIWWRREC.OBJ A33
$ LINK -
/EXECUTABLE = $2$OUA24:[ROMCOM.ROMNET1P03GV1B.EXE -
/MAP = MET1:[S01S]P03GV1B.HAP -
A1. -
A2, -
A3. -
A31, -
A32. -
A33
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1:[S01SJP03GV1B.MAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P03GX1.COM follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE USER2SDISK:[FOREMAN.FV1501A3P03GX1.COM
$ ASSIGN MLAB: SYSSPRINT
$ ! ASSIGN INPUT FILES
$ ASSIGN MET1:[ROMNET3DIRECT2.DAT PFMFDIR
$ ASSIGN MET25:[FOREMAN.RAUDATA]SURELEV UBAN.DAT SURELEV1
$ ASSIGN MET23:[FOREMAN.RAWDATAJSRFC JUL85.DAT SURMET1
S ASSIGN MET1:[ROMNET1.DOOOOO]PF195A7DAT PF195
! ASSIGN OUTPUT FILES
ASSIGN MET56:[ROMNET1.D851881PF106A.DAT PF106
ASSIGN MET56:[ROMNET1.D851883PF112A.DAT PF112
SHOW PROCESS / ACCOUNTING
i
S ! ASSIGN CONTROL CARDS FILE
$ TYPE USER2SDISK:[FOREMAN.FV1501AJP03GX1.CPR
$ ASSIGN / USER MODE USER2SDISK:[FOREMAN.FV1501AIP03GX1.CPR SYSSINPUT
$ !
S RUN $2$DUA24:[ROMEXE.ROMNET]P03GV1A
$ SHOW PROCESS / ACCOUNTING
$ 3USER2SDISK:[FOREMAN.COM1]MESSAGE FV1501A P03GX1
(end of run stream)
55
-------
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P03GV1B
B. Subroutines
HASH
STINFO
C. Functions
None
D. Block Data Files
None
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A Subroutines
DISK$VAXSET:[ROMLIB.UTILIO]
ADATE
BGRID1
CELLO
CHAIN2
CLRHDR
FLSMRY
FSTAT1
GMTLCL
IBLKR
IOERR
NEXTHR
OPDIR2
OPEN2
PROGID
RDDIR1
RDFT4
RDREC
RDSRF1
RDWNDO
WRTF3
WRFT5
WRREC
B. Functions
DISK$VAXSET:[ROMLIB.UTILIO]
GETYN
IOCL
JFILE2
JHOUR1
JULIAN
JUNIT
MATCH
IX. INCLUDE FILES
DISKSVAXSET:[ROMLIB.ROMNET]
REGPRM.EXT
DISKSVAXSET:[ROMLIB.PROCES]
HASHT.EXT
PARM3.EXT
PARMS.EXT
SURMET.EXT
56
-------
2.4 PROCESSOR P04G (METEOROLOGY)
I. PROCESSOR FUNCTION
This stage 2 processor computes the griclded (1) micrometeorological and meteorological parameters
that are used in later stages of the ROM from the observed surface, terrain, and land use data sets, (2)
surface sensible heat flux, and (3) sea surface temperatures (which are used for quality control pur-
poses only).
II. I/O COMPONENTS
A Input Files
1. Standard Input Files
PF106 from P03G
PF117fromP19G
PF118fromP25G
PF119fromP06G
2. Nonstandard Input Files
a. BUOYDAT
BUOYDAT contains hourly buoy data, and is generated by meteorology preprocessor
BUOY_RFMT. BUOYDAT, whose format mimics that of the SURMETl data file, is
read in two stages. The first stage reads header information. READ and FORMAT
statements for BUOYDAT are called by P04G from RDSRFI in the UTILIO library. Table
2.24 shows the BUOYDAT Stage 1 parameters.
TABLE 2.24. BUOYDAT STAGE 1 PARAMETERS
Parm
No.
1
2
3
4
5
Parm
Name Unit
INYR
INMON
INDAY
INHOUR GMT
NBUOY
Data
Type
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Description
Scenario year (YY)
Scenario month (MM)
Scenario day (DD)
Scenario hour (HH)
No. of reporting buoys at HH
The Stage 2 parameters that are used in P04G are described in Table 2.25:
57
-------
TABLE 2.25. BUOYDAT STAGE 2 PARAMETERS
Farm
No.
1
2
3
4
6
7
8
9
10
11
12
13
14
15
16
17
Farm
Name
BUOYIDn
LATn
LONn
none
none
none
none
none
none
none
P(U
DHUfc
SPDM
T«,A
SST^
DELT^
Unit
0 N
o W
none
none
none
none
none
none
none
mb
deg
m-s-1
°C
°C
°C
Data
Type
Integer*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
RealM
Real*4
Real*4
RealM
Real*4
Description
Buoy ID
Latitude
Longitude
Missing
Missing
Missing
Missing
Missing
Missing
Missing
Sea level pressure
Wind direction
Wind speed
Air temperature (AT)
Sea surface temperature (SST)
SST-AT
Note: n = buoy station number (one or more digits); h = hour; missing values are either -99. or -9999.
b. SURMETM
SURMETM contains monthly buoy data, and is generated by meteorology preprocessor
BUOY_RFMT followed by human adjustment. Note that you must assign to this file the
date and time that are the first hour, in GMT, of the first day of the month under consid-
eration; e.g., 00 GMT on Julian date 182 corresponds with 19(00) EST on day 181. SUR-
METM, whose format mimics that of the SURMET1 data file, is read in two stages. The
first stage reads header information. READ and FORMAT statements for SURMETM
are called by P04G from RDSRFl in the UTILIO library. Table 2.26 shows the SURMETM
Stage 1 parameters.
TABLE 2.26. SURMETM STAGE 1 PARAMETERS
Parm
No.
1
2
3
4
5
Parm
Name Unit
INYR
INMON
INDAY
INHOUR GMT
NSTAT
Data
Type
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Description
Scenario year (YY)
Scenario month (MM)
Scenario day (= 01)
Scenario hour (= 00)
No. of reporting stations at
hour 00
58
-------
The Stage 2 parameters that are used in P04G are described in Table 2.27:
TABLE 2.27. SURMETM STAGE 2 PARAMETERS
Farm Farm
No. Name Unit
1
2
3
4
6
7
8
9
10
11
12
13
14
15
16
17
BUOYIDn
LATn
LONn
none
none
none
none
none
none
none
none
none
none
AVGTnjfM
AVGSSTn^/A/
ADELTMW
°N
°W
none
none
none
none
none
none
none
none
none
none
°C
°C
°C
Data
Type
Integer*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Description
Buoy ID
Latitude
Longitude
Missing
Missing
Missing
Missing
Missing
Missing
Missing
Missing
Missing
Missing
Monthly average air temperature (AT)
Monthly average sea surface temperature (SST)
Monthly average difference, SST - AT
Note: n = buoy station number (one or more digits); MM = month; missing values are either -99. or -9999.
B. Output Files
1. Standard Output Files
a. PF103
This file contains hourly gridded surface air temperatures, relative humidity, and wind
speed; it is used by P15G and P27G, and Table 2.28 shows its parameters.
TABLE 2.28. PF103 PARAMETERS
Farm Farm
No. Name
1 SURTMPiJ,h
2 SURFRHy;/,
3 SURWND^
Unit
K
m-s-1
Data
Type
Real*4
Real*4
Real*4
Description
Surface air temperature
Surface relative humidity
Surface wind speed
Note: /' = column number,; = row number, h = hour
59
-------
b. PF107
This file contains the hourly gridded Monin-Obukhov length, a measure of the relative
importance of convective turbulence versus mechanical turbulence. Thus, the Monin-
Obukhov length is an indicator of atmospheric stability. PF107 is used by P07G, P10G,
P15G, P32G, and P33G, and Table 2.29 shows its parameter.
TABLE 2.29. PF107 PARAMETER
Parm Farm Data
No. Name Unit Type Description
1 Ly;/, m Real*4 Monin-Obukhov length
Note: i = column number,./' = row number, h = hour
c. PF108
This file contains the gridded surface roughness length, an index of the mechanical turbu-
lence that can be generated in air flowing over a rough surface. PF108 is used by P15G,
• and Table 2.30 shows its parameter.
TABLE 2.30. PF108 PARAMETER
Parm Parm Data
No. Name Unit Type Description
1 ZOy m Real*4 Surface roughness length
Note: i = column number,/ = row number
d. PF109
This file contains the hourly gridded friction velocity. The friction velocity can be regarded
as an index of surface momentum flux. PF109 is used by P15G and P32G, and Table 2.31
shows its parameter.
TABLE 231. PF109 PARAMETER
Parm Parm Data
No. Name Unit Type Description
1 u*ij,h m-s-i Real*4 Friction velocity
Note: i = column number,;' = row number, h = hour
60
-------
e. PF110
This file contains the hourly gridded surface kinematic heat flux, which can be interpreted
as w' B'. PF110 is used by P07G and P32G, and Table 2.32 shows its parameter.
TABLE 2.32. PF110 PARAMETER
Parm
No.
1
Parm
Name
Q*,h
Unit
m-K-s-i
Data
Type
Real*4
Description
Surface kinematic heat flux
Note: i = column number,;' = row number, A = hour
f. PF193
This file contains the hourly gridded buoy weight influence function and sea surface tem-
perature. It is used solely for quality control purposes, and Table 2.33 shows its parame-
ters.
TABLE 2.33. PF193 PARAMETERS
Parm
No.
1
2
Parm
Name
BWGHTivj,h
SSTyMi
Unit
m
°C
Data
Type
Real*4
Real*4
Description
Buoy weight influence function
Sea surface temperature
Note: i = column number,;' = row number, h = hour
2. Nonstandard Output Files
None
III. CONTROL CARDS
Six control cards are used to input control data in the format shown below. Note that (1) the fifth
control card delimits the bands around the modeling domain that are to be included in the input data
fields, and (2) the parameter in the sixth control card is repeated; this is because subroutine RDSRFI
requires an end time to be available in the files it reads. Table 2.34 defines the control card variables.
YYDD1 HI Cl
GDNAME
RDBOPT
61
-------
XL
STHBORD, WSTBORD, NTHBORD, ESTBORD
JDAVG, JDAVG
TABLE 2.34. CONTROL CARD VARIABLES
Variable
Name
Unit
Description
YYDD1
HI
Cl
GDNAME
RDBOPT
EST
h
XL
STHBORD
WSTBORD
NTHBORD
ESTBORD
JDAVG
0 N
0 W
0 N
•> w
GMT
Julian scenario start date as YfDDD
Scenario start time as HH
Number of hours to process
Modeling domain name (see Appendix A)
Buoy data availability
BUOY =*• buoy data are available
NOBUOY=»- buoy data are unavailable
Buoy influence if buoy data are available (see note)
Southern boundary extension for input data
Western boundary extension for input data
Northern boundary extension for input data
Eastern boundary extension for input data
Date and hour of first hour of month being processed
(Julian) as YYDDDHH
Note: Gridded fields of l/« and Q over water are computed from buoy data in a two-step process: (1) a field is determined from a
Barnes interpolation of all buoy values; (2) a second field is determined by assigning grid values in the vicinity of buoys to be
influenced by the buoy as a function of the negative exponent of the distance of the cell from the buoy. The parameter XL adjusts
the rid ius of influence of the buoys in this second Geld; as XL increases, so do the buoys' radius of influence, while at XL = 0.01,
a buoy's influence is effectively zero. XL interacts with the cell weighting parameter BWGHT in this way: assume that the cell
containing a buoy has BWGHT = 1.0 (0.0 < BWGHT < 1.0); at a small XL, only this cell has a BWGHT = 1.0, while
surrounding cells have BWGHPs assigned from the negative exponential function. As XL increases, more cells surrounding the
buoy take on a BWGHT = 1.0. If you imagine a buoy's influence on surrounding cells to consist of choropleths of concentric
annuli, then an increase in XL consistently increases the outer radius of each annulus. The final gridded fields of u. and Q are
derived from the sum of field (2), with the BWGHT of cells assigned according to the value of XL, and [(1.0 - BWGHT) •
(field (1))]. Note that we have found that XL = 1.0 produces fields that appear meteorologically coherent.
Example:
88184 12 72
ROMNET1
BUOY
1.0
4.0 5.0 4.0 5.0
8818219 8818219
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
62
-------
FORTRAN source files:
FORTRAN INCLUDE files:
Object files:
Executable file:
24 files
15 files
24 files
J. file
64 files
192 blocks
54 blocks
105 blocks
141 blocks
492 blocks
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss):
Buffered I/O count:
Direct I/O count:
Peak working-set size:
Peak virtual size:
C. Space Requirements: Log and Print Files
00:39:46
373
4723
2236
4844
P04GX1.LOG:
Print Files:
177 blocks
21 blocks
D. Space Requirements: Input and Output Files
Table 2!35 shows the input file and output file space requirements.
TABLE 2.35. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
PF106
PF117
PF118
PF119
BUOYDAT
SURMETM
PF103
PF107
PF108
PF109
PF110
PF193
File
Type
3
5
4
4
Nonstd
Nonstd
5
5
4
5
5
5
Storage
(in blocks)
2142
1899
286
55
28266
176
32824
5694
1899
54
1899
1899
3798
15243
Scenario
Data Span
72 hours
72 hours
N/A
N/A
4 months
29 months
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
E. Space Requirements: Tape Files
None
63
-------
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P04GV1A.LNK follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE DISKSVAXSET: [ROMCOM. ROMNET] P04GV1 A. LNK
$ ON WARNING THEN EXIT
S ASSIGN MLAB: SYSSPRINT
$ MAPFILE = "MET1: [S01S]P04GV1A.MAP"
$ EXEF1LE = ''DISKSVAXSET: [ROMEXE.ROMNEHP04GV1A.EXE"
$ ASSIGN/USER MODE DISKSVAXSET: [ROMOBJ. ROMNET] P04G. OBJ
: [ROMOBJ. ROMNET] AVGWAT. OBJ
: [ROMOBJ. ROMNET] BUOYPR. OBJ
: [ROMOBJ. ROMNET] CLDFN. OBJ
: [ROMOBJ. ROMNET] CRTELV. OBJ
: [ROMOBJ . ROMNET] F I L L I N . OB J
: [ROMOBJ. ROMNET] GAMOVS. OBJ
: [ROMOBJ. ROMNET] GRBRNS. OBJ
$ ASSIGN/USER_MODE DISKSVAXSET
S ASSIGN/USER MODE DISKSVAXSET
$ ASSIGN/USER MODE DISKSVAXSET
$ ASSIGN/USER'MODE DISKSVAXSET
$ ASSIGN/USER'MODE DISKSVAXSET
$ ASSIGN/USER'MODE DISKSVAXSET
$ ASSIGN/USERJ10DE DISKSVAXSET
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.ROMNET]GRBUOY.OBJ
$ ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.ROMNET]GRIDGN.OBJ
S ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.ROMNET]ISLAND.OBJ
$ ASSIGN/USER'MODE DiSKSVAXSET:[ROMOBJ.ROMNET]PSIM.OBJ
$ ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.ROMNETJOFLUX.OBJ
$ ASSIGN/USER'MODE DISKSVAXSET: [ROMOBJ.ROMNET]RADLWV.OBJ
s ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.ROMNETIRDSRFM.OBJ
$ ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.ROMNET]RDWNDM.OBJ
$ ASSIGN/USER'MODE DISKSVAXSET
$ ASSIGN/USER'MODE DISKSVAXSET
$ ASSIGN/USER MODE DISKSVAXSET:
$ ASSIGN/USER~MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
s ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET;
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
[ROMOBJ.ROMNET]SETUP.OBJ
[ROMOBJ.ROMNET1STABLE.OBJ
[ROMOBJ.ROMNET]STAUAT.OBJ
[ROMOBJ.ROMNET]TSCALE.OBJ
[ROMOBJ.ROMNET]UNSTBL.08J
[ROMOBJ.ROMNET]UNSWAT.06J
[ROMOBJ.ROMNET]WEIGHT.06J
[ROMOBJ.ROMNET]ZONEIT.06J
[ROMOBJ.UTILIO]ADATE.OBJ
[ROMOBJ.UTILIOJBGRID1.OBJ
[ROMOBJ.UTILI0]BGRI03.OBJ
[ROMOBJ.UTIL10]CELLO.OBJ
[ROMOBJ.UTILI01CELL1.OBJ
[ROMOBJ.UTILIOJCELL2.OBJ
[ROMOBJ.UTILIO]FLSMRY.OBJ
[ROMOBJ.UTILI0]FSTAT1.06J
[ROMOBJ.UTILIOJGETYN.OBJ
[ROMOBJ.UTILIOJGMTLCL.OBJ
[ROMOBJ.UTILI0]GREG.OBJ
[ROMOBJ.UTILI0]IBLKR.OBJ
[ROMOBJ.UTILIO]IOCL.OBJ
[ROMOBJ.UTILIO]IOERR.OBJ
[ROMOBJ.UTILIOJJFILE1.OBJ
$ ASSIGN/USER MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
s ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIO]JFILE2.OBJ
$ ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.UTILIO]JFILE3.06J
$ ASSIGN/USER'MODE DISKSVAXSET: [ROMOBJ.UTILIOUHOURI.OBJ
$ ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.UTILIOIJULIAN.OBJ
$ ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.UTILIO]JUNIT.OBJ
$ ASSIGN/USER'MODE DISKSVAXSET: [ROMOBJ.UTILIOJNEXTHR.OBJ
$ ASSIGN/USER MODE DISKSVAXSET: [ROMOBJ.UTILIOJOPDIR2.0BJ
$ ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.UTILIOIOPENZ.OBJ
$ ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.UTILIOJPROGID.OBJ
$ ASSIGN/USER~MODE DISKSVAXSET: [ROMOBJ.UTILI01RDDIR1.OBJ
$ ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.UTILIOJRDFTS.OBJ
S ASSIGN/USER MODE DISKSVAXSET:
s ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER MODE DISKSVAXSET;
[ROMOBJ.UTIL10]RD FT4.06J
[ROMOBJ.UTILI01RDFT5.OBJ
[ROMOBJ.UTILI0]RDREC.06J
[ROMOBJ.UTILI01RDSRF1.OBJ
[ROMOBJ.UTILI01RDUNDO.OBJ
[ROMOBJ.UTILIOJSOLELV.OBJ
[ROMOBJ.UTILI01WRFT4.OBJ
[ROMOBJ.UTILI03WRFT5.OBJ
$ ASSIGN/USER_MODE DISKSVAXSET
S ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIO]URREC.06J
$ ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.UTILIOIXATANZ.OBJ
A1
A2
A3
A4
AS
A6
A7
AS
A9
A10
A11
A12
A13
AU
A15
A16
A17
A18
A19
A20
A21
A22
A23
A24
A25
A26
A27
A28
A29
A30
A31
A32
A33
A34
A35
A36
A37
A38
A39
A40
A41
A42
A43
A44
A45
A46
A47
A48
A49
A50
A51
A52
A53
A54
A55
A56
A57
A58
A59
A60
64
-------
$ LINK -
/EXECUTABLE = DISK$VAXSET:[ROMEXE.ROMNET3P04GV1A.EXE -
/MAP = MET1.-IS01SJP04GV1A.MAP -
A1. -
A2, -
A3, -
ASS, -
A59, -
A60
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1:[S01S]P04GV1A.MAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P04GX1.COM follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE USER2SOISK: [FOREMAN.FV1501A]P04GX1.COM
$ ASSIGN MLAB: SYSSPRINT
$ ! ASSIGN INPUT FILES
$ ASSIGN MET1:[ROMNET]DIRECT2.DAT PFMFDIR
$ ASSIGN MET1:[ROMNET.RAUDATA]BUOY AVGALL.DAT SURMETM
$ ASSIGN MET25: [FOREMAN.RAUDATA]BUOY JULAUG85.DAT SURMET1
$ ASSIGN MET56:[ROMNET1.D851881PF106A.DAT PF106
$ ASSIGN MET56:[ROMNET1.D851881PF117A.DAT PF117
$ ASSIGN MET1:[ROMNET1.DOOOOO]PF118A.DAT PF118
$ ASSIGN MET1:[ROMNET1.00000JPF119A.DAT PF119
$ ! ASSIGN OUTPUT FILES
S ASSIGN MET56:[ROMNET1.D85188JPF103A.DAT PF103
$ ASSIGN MET56:[ROMNET1.D851881PF107A.DAT PF107
. $ ASSIGN MET56:[ROMNET1.D851881PF108A.DAT PF108
$ ASSIGN ME T56:[ROMNET1.085188]PF109A.DAT PF109
S ASSIGN MET56:[ROMNET1.D851883PF110A.DAT PF110
$ ASSIGN MET56:[ROMNET1.D85188JPF193A.DAT PF193
$ ASSIGN MET56:[ROMNET1.D851883P04PRTFLA.DAT P04GPRF
S SHOW PROCESS / ACCOUNTING
$ !
$ TYPE USER2$DISK:[FOREMAN.FV1501AJP04GX1.CPR
$ ! ASSIGN CONTROL CARD(S) FILE
$ ASSIGN / USER MODE USER2SOISK:[FOREMAN.FV1501AJP04GX1.CPR SYS$INPUT
$ !
$ RUN DISWVAXSET: (ROMEXE.ROMNET1P04GV1A.EXE
$ SHOW PROCESS / ACCOUNTING
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P04GV1A
65
-------
B. Subroutines
AVGWAT
BUOYPR
CRTELV
FILLIN
GRBRNS
C. Functions
CLDFN
GAMOVS
PSIM
RADLWV
D. Block Data Files
None
GRBUOY
GRIDGN
ISLAND
OFLUX
RDSRFM
RDWNDM
SETUP
STABLE
STAWAT
TSCALE
UNSTBL
UNSWAT
WEIGHT
ZONEIT
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A Subroutines
DISK$VAXSET:[ROMLIB.UTILIO]
ADATE
BGRID1
BGRID3
CELLO
CELL1
CELL2
FLSMRY
B. Functions
FSTATl
GMTLCL
GREG
IBLKR
IOERR
JFILE1
NEXTHR
DISK$VAXSET:[ROMLIB.UTILIO]
GETYN
IOCL
JFILE2
JFILE3
JULIAN
JUNIT
XATAN2
OPDIR2
OPEN2
PROGID
RDDIR1
RDFT3
RDFT4
RDFT5
RDREC
RDSRF1
RDWNDO
SOLELY
WRTF4
WRFT5
WRREC
IX. INCLUDE FILES
DISKSVAXSET:[ROMLIB.PROCES]
BUODAT.EXT
BUOGRD.EXT
BUOPRM.EXT
CLDCVR.EXT
FLXPRM.EXT
LNDUSE.EXT
METVAR.EXT
PARM4.EXT
PF6.EXT
RADVAR.EXT
STBVAR.EXT
STUNST.EXT
WATGRD.EXT
WGHTFN.EXT
ZO.EXT
66
-------
2.5 PROCESSOR P05G (METEOROLOGY)
I. PROCESSOR FUNCTION
This stage 2 processor computes (1) the grid cell fraction of the sky that is covered by cumulus clouds,
and (2) the cumulus cloud top heights. For the sky cover fraction, P05G determines whether the
clouds reported at surface stations are cumulus, and uses Barnes' analysis for the grid cell interpola-
tion.3 Cloud tops are calculated to be at a height where the temperature of a cloud falls below the
temperature of the surrounding environment; upper-air data interpolation is used for determining the
environmental temperature.
II. I/O COMPONENTS
A. Input Files
1. Standard Input Files
PF111 from P16G
PF119fromP06G
2. Nonstandard Input Files
P05G uses one nonstandard input file, SURMET1, that contains hourly surface meteorology
observations from the National Climatic Data Center and the Canadian Climate Centre raw
data tapes. SURMET1 is read in two stages. The first stage reads header information, and the
first READ and FORMAT statements for this file are as follows:
READ (12,30) INYR,INMON,INDAY,INHOUR,NSTAT
30 FORMAT (4I2,5X,I3)
Table 2.36 shows the SURMET1 Stage 1 parameters.
TABLE 236. SURMET1 STAGE 1 PARAMETERS
Parm
No.
1
2
3
4
5
Parm
Name Unit
INYR
INMON
INDAY
INHOUR GMT
NSTAT
Data
Type
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Description
Scenario year (YY)
Scenario month (MM)
Scenario day (DD)
Scenario hour (HH)
No. of reporting stations at HH
3. Barnes (1973)
67
-------
The Stage 2 READ and FORMAT statements are listed below, and the Stage 2 parameters
that are used in P05G are described in Table 2.37:4
READ (LU,93003,IOSTAT=IOST) FARMS
93003 FORMAT
The READ and FORMAT statements above are for non-WBAN format for the surface
meteorology stations. For data in WBAN format, these statements read as follows:
READ (LU,93004,IOSTAT=IOST)
2110 CONTINUE
TABLE 2.37. SURMET1 STAGE 2 PARAMETERS USED IN P05G
Farm
No.
la
Ib
2
3
4
6
7
8
9
10
11
15
16
17
Farm
Name
SID*
SIDn
YSn
xsn
SIGQ,
CAm
CHln
CA>
CH^
CA3/I
CH5n
Tn
TDn
P«
Unit
" N
. w
%
%
m
%
m
%
m
°C
°C
mb
Data
Type
Char*4
Integer*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Description
Station ID (non-WBAN format)
Station ID (WBAN format)
Latitude
Longitude
Opaque sky cover
Coverage, lowest cloud layer
Lowest cloud base
Coverage, second-lowest cloud layer
Second-lowest cloud base
Coverage, third-lowest cloud layer
Third-lowest cloud base
Temperature
Dew point
Station pressure
Note: n = surface station number (one or more digits).
B. Output Files
1. Standard Output Files
a. PF133
This file contains hourly data on the standard 64-celI by 52-cell grid; Table 2.38 shows its
parameter. PF133 is not required by any other processor.
4. Note that not all 17 parameters in FARMS are used in P05G.
68
-------
TABLE 2.38. PF133 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 Ztcu m above MSL Real*4 Height of cumulus cloud tops
b. PF157
This file contains hourly data on the standard 64-cell by 52-cell grid; Table 2.39 shows its
parameter. PF157 is used by P12G and P32G.
TABLE 239. PF157 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 SIGMAc Real*4 Fraction of sky covered by cumulus clouds
2, Nonstandard Output Files
None
III. CONTROL CARDS
Two control cards are used to input control data in the format shown below. Table 2.40 defines the
control card variables.
JD1JD2ICHK
INTFLAG
TABLE 2.40. CONTROL CARD VARIABLES
Variable
Name Unit Description
JD1 EST Julian scenario start date and time as YYDDDHH
JD2 EST Julian scenario end date and time as YYDDDHH
ICHK Cumulus top calculation flag:
= 0 =» P05G determines cloud top height
* 0 =»• P05G does not determine cloud top height
INTFLAG Use of WBAN-format station identifiers:
Y - WBAN format used;
N - WBAN format not used
69
-------
Example:
881961288199110
Y
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A Memory Requirements (1 block = 512 bytes)
FORTRAN source files:
FORTRAN INCLUDE files:
Object files:
Executable file:
13 files
11 files
13 files
1 file
38 files
84 blocks
33 blocks
51 blocks
102 blocks
270 blocks
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss):
Buffered I/O count:
Direct I/O count:
Peak working-set size:
Peak virtual size:
C. Space Requirements: Log and Print Files
00:05:33
283
2802
2236
4844
P05GX1.LOG:
Print Files:
90 blocks
None
D. Space Requirements: Input and Output Files
Table 2.41 shows the input file and output file space requirements.
TABLE 2.41. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
PF111
PF119
SURMET1
PF133
PF157
File
Type
1
4
Nonstd
5
5
Storage
(in blocks)
8904
55
40251
49210
1899
1899
3798
Scenario
Data Span
72 hours
1 month
72 hours
72 hours
70
-------
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P05GV1A.LNK follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE $2$DUA24: [ROMCOM.ROMNET]P05GV1A.LNK
$ ON WARNING THEN EXIT
$ ASSIGN MLAB: SYSSPRINT
$ MAPFILE = "MET1:[S01S]P05GV1A.MAP"
$ EXEFILE = "$2$DUA24:[ROMCOM.ROMNET]P05GV1A.EXE"
$ ASSIGN/USER MODE $2$DUA24:[ROMOBJ.ROMNET]P05G.OBJ A1
$ ASSIGN/USER~MODE S2SOUA24:[ROMOBJ.ROMNET]ABTERMS.OBJ A2
$ ASSIGN/USER MODE $2$OUA24:[ROMOBJ.ROMNET)BOYANT.OBJ A3
$ ASSIGN/USER~MODE $2$DUA24:[ROMOBJ.ROMNET]LCLVAL.OBJ A4
$ ASS1GN/USER~MODE $2$DUA24:tROMOBJ.ROMNET]QFIELD.OBJ AS
$ ASSIGN/USER~MOOE $2$DUA24:[ROMOBJ.ROMNETJQFORM.OBJ A6
$ ASSIGN/USER~MCOE $2$DUA24:[ROMOBJ.ROMNET]SFCMET.OBJ A7
$ ASSIGN/USER~MODE $2$DUA24:[ROMOBJ.ROMNET]TDPGRD.OBJ AS
$ ASSIGN/USER~MODE $2tOUA24:[ROMOBJ.ROMNET]TMPRAL.OBJ A9
$ ASSIGN/USER~MODE S2SOUA24:[ROMOBJ.ROMNET]TOPSET.OBJ A10
$ ASSIGN/USER~MODE $2$DUA24:[ROMOBJ.ROMNET]TSHI FT.OBJ A11
$ ASSIGN/USER~MODE $2$DUA24:tROMOBJ.ROMNET]TSMUTH.OBJ A12
$ ASSIGN/USER~MODE $2$DUA24:[ROMOBJ.ROMNET]VPROFL.OBJ A13
$ ASSIGN/USER'MODE $2$DUA24:tROMOBj.umio]ADATE.OBJ AU
$ ASSIGN/USER~MODE $2$OUA24:[ROMOBJ.UTILIO]AGRID1.0BJ A15
$ ASSIGN/USER MODE S2SOUA24:[ROMOBJ.UTILIO]BGRID1.OBJ A16
$ ASSIGN/USER~MODE $2$OUA24:[ROMOBJ.UTILIO]CELLO.OBJ A17
$ ASSIGN/USER'MODE $2$ouA24:[ROMOBJ.UTILIO]FLSMRY.OBJ A18
$ ASSIGN/USER_MOOE S2SOUA24:[ROMOBJ.UTILIO]FSTAT1.OBJ A19
$ ASSIGN/USER MODE $2$OUA24:[ROMOBJ.UTILIO]GETYN.OBJ A20
$ ASSIGN/USER'MODE $2$ouA24:[ROMOBJ.UTILIOJGMTLCL.OBJ A21
$ ASSIGN/USER~MODE $2$DUA24: [ROMOBJ.UTILIO]IBLKR.OBJ A22
$ ASSIGN/USER MODE S2SOUA24: [ROMOBJ.UTILIO]IOCL.OBJ A23
$ ASSIGN/USER~MODE $2$DUA24:[ROMOBJ.UTILIO]IOERR.OBJ A24
• $ ASSIGN/USER~MODE $2$OUA24:[ROMOBJ.UTILIO]JFILE1.OBJ A25
$ ASSIGN/USERJWDE $2$OUA24: [ROMOBJ.UTILIO] JFILE2.0BJ A26
$ ASSIGN/USER MODE S2SOUA24:[ROMOBJ.UTILI0]JHOUR1.OBJ A27
$ ASSIGN/USER MODE S2SDUA24:CROMOBJ.UTILIO]JULIAN.OBJ A28
$ ASSIGN/USER'MODE $2$ouA24:CROMOBJ.UTILIO)JUNIT.OBJ A29
$ ASSIGN/USER MODE $2$DUA24:[ROMOBJ.UTILIO]OPDIR2.OBJ A30
$ ASSIGN/USER~MODE S2SOUA24:[ROMOBJ.UTILIOJOPEN2.OBJ A31
$ ASSIGN/USER'MOOE $2$ouA24:[ROMOBJ.UTILIOIPROGID.OBJ A32
$ ASSIGN/USER~MOOE $2*OUA24:[ROMOBJ.UTILIO]RDDIR1.OBJ A33
ASSIGN/USER~MODE S2SOUA24:[ROMOBJ.UTILIO]RDFT1.OBJ A34
ASSIGN/USER MODE $2$OUA24:[ROMOBJ.UTILIO]RDFT4.OBJ A35
ASSIGN/USERlMODE S2SOUA24:[ROMOBJ.UTILI01RDREC.OBJ A36
ASSIGN/USER_MODE $2$OUA24:[ROMOBJ.UTILIO]RDSRF1.OBJ A37
ASSIGN/USER MODE $2$OUA24:[ROMOBJ.UTILI01RDWNDO.OBJ A38
ASSIGN/USER~MODE $2$OUA24:CROMOBJ.UTILI01WRFT5.0BJ A39
$ ASSIGN/USER~MODE S2SOUA24:[ROMOBJ.UTILIO)WRREC.OBJ A40
$ LINK -
/EXECUTABLE = S2JOUA24:[ROMCOM.ROMNET]P05GV1A.EXE -
/MAP = MET1:[S01S]P05GV1A.MAP -
A1, -
A2, -
A38, -
A39, -
A40
$ PRINT -
/NOHEADER -
71
-------
/NOFEED -
/MOTIFY -
MET1:CS01S]P05GV1A.MAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P05GX1.COM follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE USER2SDISK:[FOREMAN.FV1501A]P05GX1.COM
$ ASSIGN MLAB: SYSSPRINT
$ ! ASSIGN INPUT FILES
$ ASSIGN MET1:[ROMNET3DIRECT2.DAT PFMFDIR
$ ASSIGN MET23:[FOREMAN.RAUDATA]SRFC JUL85.DAT SURMET1
$ ASSIGN MET56:[ROMNET1.D85188JPF111A.DAT PF111
$ ASSIGN MET1:[ROMNET1.DOOOOOJPF119A.DAT PF119
$ ! ASSIGN OUTPUT FILES
$ ASSIGN MET56:[ROMNET1.D85188JPF133A.DAT PF133
$ ASSIGN MET56:[ROMNET1.D85188JPF157A.DAT PF157
$ SHOW PROCESS / ACCOUNTING
$ !
$ ! CONTROL CARD FILE FOLLOWS:
$ TYPE USER2$DISK:[FOREMAN.FV1501A3P05GX1.CPR
$ ASSIGN / USER MODE USER2SDISK:[FOREMAN.FV1501A3P05GX1.CPR SYS$INPUT
$ !
$ RUN $2$DUA24:[ROMEXE.ROMNEnP05GVlA
t SHOW PROCESS / ACCOUNTING
$ 5>USER2$DISK: [FOREMAN.COMUMESSAGE FV1501A P05GX1
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P05GV1A
B. Subroutines
ABTERM5 QFORM TOPSET
BOYANT SFCMET TSHIFT
LCLVAL TMPGRD TSMUTH
OFIELD TMPRAL VPROFL
C. Functions
None
D. Block Data Files
None
72
-------
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A. Subroutines
DISKSVAXSET:[ROMLffi.UTILIO]
ADATE FSTATl
AGRID1 GMTLCL
BGRID1 IBLKR
CELLO IOERR
FLSMRY JFILE1
B. Functions
DISKSVAXSET:[ROMLffi.UTILIO]
OPDIR2
OPEN2
PROGID
RDDIR1
RDFT1
RDFT4
RDSRF1
RDWNDO
WRFT5
WRREC
JHOUR1
JULIAN
JUNIT
GETYN
IOCL
JF1LE2
IX. INCLUDE FILES
DISKSVAXSET:[ROMLIB.PROCES]
F1LEH.EXT
FILE19.EXT
GRID1.EXT
GRIDG.EXT
LFCNLV.EXT
OUTPT5.EXT
PROFIL.EXT
QHIST.EXT
QMULUS.EXT
SFCMET.EXT
UAGRID.EXT
2.6 PROCESSOR P06G (TERRAIN ELEVATION)
I. PROCESSOR FUNCTION
The following discussion requires us to define three different grids:
• GRDNM1 is the actual modeling domain, and is the reference grid for the other two grids.
GRDNM1 is defined by the latitude and longitude coordinates of the northeast corner and
southwest corner (45° N, 69° W and 36l/3" N, 85° W, respectively) of the ROMNET1
domain. GRDNM1 has a cell size of KX-latitude x 15'-longitude, and dimensions of
64 columns x 52 rows; it thus encompasses 82/3 x 16 degrees of arc.
GRDNM5 is identical to GRDNM1, except that it extends outwards on all sides by a 3-cell
band, i.e., it has dimensions of 70 columns x 58 rows. This is the grid used to obtain the 30'-
latitude x 45'-longitude averaged terrain elevations.
GRDNM2 has a cell size of 5'-latitude x 5'-longitude, and is centered over GRDNMl.
GRDNM2 extends 7-GRDNMl-sized cells outward from GRDNMl, i.e., by 70' on its
northern and southern boundaries, and by 105' on its eastern and western boundaries; thus,
its dimensions are 234 columns x 132 rows.
73
-------
This stage 0 processor computes (1) terrain elevations averaged over the 5'-latitude x S'-longitude cells
of GRDNM2; (2) the following moving averages over Stf-latitude x 45'-longitude rectangles within
GRDNM2: (a) terrain for every cell of GRDNM5, (b) north-south and east-west slopes for every cell
of GRDNM5, and (c) terrain for every cell of GRDNM1. Note that this processor needs to be run only
once per modeling domain.
II. I/O COMPONENTS
A. Input Files
1. Standard Input Files
None
2. Nonstandard Input Files
TERRAIN/J (« = 1 to a maximum of 45)
These files each contain altitude matrices of elevations for 30"x 30" cells in a TVa' x 7J/2' grid.
The TERRAIN/i files are produced by the Environmental Protection Agency's GRIDS data-
base, and are derived from Digital Elevation Model data.5 The TERRAIN/z files are read
using the READ and FORMAT statements listed below, and their parameters are shown in
Table 2.42.
READ (IUN,1001,IOSTAT=IOST> YDEG,YHIN,XDEG,XMIN
& ((ELFT(I,J),I=1,15),J=1,15)
1001 FORMAT 2(I4.F4.1>.225I5
TABLE 2.42. TERRAIN/i PARAMETERS
Parm Farm
No. Name
1 YDEG
2 YMIN
3 XDEG
4 XMIN
5 ELFTy
Unit
°N
'N
• w
'W
ftAMSL
Data
Type
Integer*4
Real*4
Integer*4
Real*4
Integer*4
Description
Latitude, truncated to degrees
Latitude fraction
Longitude, truncated to degrees
Longitude fraction
Cell elevation
Note: i = column number,/ = row number.
S. For access to the GRIDS database, contact the EPA's Office of Information Resources Management (OIRM), Program Support
Division, 1505 Planning Research Drive, McLean, VA 22102; attn. Bob Pease, Program Director, mail drop TM228. The toll-free
telephone number is (800)877-5800, extension 8843.
74
-------
B. Output Files
1. Standard Output Files
a. PF119
This file contains the GRDNM1 ICX-latitude x 15'-longitude altitude matrix. Each of the
lO'-latitude x 15'-longitude cell elevations consist of 54 averaged elevations of the 5'-
latitude x 5'-longitude GRDNM2 subgrid cells. PF119 is used by P04G, P05G, P08G,
P09G, P10G, P12G, P17G, and P33G; Table 2.43 shows its parameter.
TABLE 2.43. PF119 PARAMETER
Farm Parm Data
No. Name Unit Type Description
1 Zty m above MSL Real*4 GRDNM1 terrain elevations
Note: / = column number,) = row number
b. PF140
This file contains an altitude matrix of averaged terrain elevations for the 5'-latitude x 5'-
longitude GRDNM2 cells. PF140 is used by P07G, and Table 2.44 shows its parameter.
TABLE 2.44. PF140 PARAMETER
Parm Parm Data
No. Name Unit Type Description
1 ~Zty m above MSL Real*4 GRDNM2 terrain elevations
Note: i = column number,; = row number
C. PF164
This file contains the GRDNM5 30Matitude x 45'-longitude altitude matrix. Each of the
3(y-latitude x 45'-longitude cell elevations consist of 54 averaged elevations of the 5'-lati-
tude x 5'-longitude GRDNM2 subgrid cells. PF164 is used by P07G, and Table 2.45 shows
its parameter.
75
-------
TABLE 2.45. PF164 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 Zty m above MSL Real*4 GRDNM5 terrain elevations
Note:;' = column number,;' = row number
d. PF165
This file contains the gridded east-west terrain gradients dZt/dx, where Z, is from PF164.
It is used by P07G, and Table 2.46 shows its parameter.
TABLE 2.46. PF165 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 DELXZTy' m-nr1 Real*4 East-west terrain gradient
Note: / = column number,; = row number
e. PF166
This file contains the gridded north-south terrain gradients dZt/dy, where Z, is from
PF164. It is used by P07G, and Table 2.47 shows its parameter.
TABLE 2.47. PF166 PARAMETER
Parm Parm Data
No. Name Unit Type Description
1 DELYZTy- m-m-i Real*4 North-south terrain gradient
Note: i = column number,; = row number
2. Nonstandard Output Files
None
III. CONTROL CARDS
One control card is used in the format shown below. Table 2.48 defines the control card variable.
N
76
-------
TABLE 2.48. CONTROL CARD VARIABLE
Variable
Name
Unit
Description
N
Number of input TERRAIN/: files used
Example:
1
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
FORTRAN source files:
FORTRAN INCLUDE files:
Object files:
Executable file:
B. Execution Time Requirements
Charged CPU time (hh:mm:ss):
Buffered I/O count:
Direct I/O count:
Peak working-set size:
Peak virtual size:
C. Space Requirements: Log and Print Files
P06GX1.LOG:
Print Files:
7073 blocks
None
1 file
0 files
1 file
1 file
3 files
35 blocks
0 blocks
15 blocks
546 blocks
596 blocks
VAX 8650
00:03:06
364
9575
1535
3885
D. Space Requirements: Input and Output Files
Table 2.49 shows the input file and output file space requirements.
77
-------
TABLE 2.49. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
TERRAINl
PF119
PF140
PF164
PF165
PF166
File
Type
Nonstd
4
4
4
4
4
Storage
(in blocks)
34260
40
217
50
50
50
407
Scenario
Data Span
N/A
N/A
N/A
N/A
N/A
N/A
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P06GV1B follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE DISKSVAXSET:[ROMCOM.ROMNET]P06GV1B.LNK
$ ON WARNING THEN EXIT
$ ASSIGN MLAB: SYSSPRINT
$ MAPFIlE = "MET1:[S01S]P06GV1B.MAP"
$ EXEFILE = "DISKSVAXSET:[ROMEXE.ROMNET1P06GV1B.EXE"
$ ASSIGN/USER_MODE DISKSVAXSET:[ROMOBJ.ROMNET]P06G.OBJ A1
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTIL10]ADATE.OBJ A2
S ASSIGN/USER~MCOE DISKSVAXSET: [ROMOBJ.UTILIOKELLO.OBJ A3
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]FLSMRY.OBJ A4
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIOJFSTAT1.OBJ AS
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIOJGETNUM.OBJ A6
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]IBLKR.OBJ A7
S ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]IOCL.OBJ A8
S ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIO]JFILE1.OBJ A9
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIO]JFILEX.OBJ A10
$ ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.UTILIOUUNIT.OBJ A11
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]LEN1.0BJ A12
S ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]LEN2.OBJ A13
$ ASSIGN/USER_MODE DISKSVAXSET: [ROMOBJ.UTILIO]OPDIR2.OBJ AH
$ ASSIGN/USER_MODE DISKSVAXSET: [ROMOBJ.UTIL10]OPEN2.0BJ A15
S ASSIGN/USER_MODE DISKSVAXSET:[ROMOBJ.UTILI01PROGID.OBJ A16
S ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIO]RDDIR1.OBJ A17
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILI01RDREC.OBJ A18
S ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILI01WRFT4.OBJ A19
S ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILI01URREC.OBJ A20
$ LINK •
/EXECUTABLE = DISKSVAXSET: [ROMEXE.ROMNET]P06GV1B.EXE -
/MAP = MET1:[S01S]P06GV1B.MAP -
A1. -
A2, -
A3, -
A18, -
A19, -
A20
78
-------
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1:fS01S]P06GV1B.MAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P06GX1.COM follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE USER2SOISK:[FOREMAN.FV1050A]P06GX1.COM
$ ASSIGN MLAB: SYSSPRINT
$ ! ASSIGN INPUT FILES
$ ASSIGN MET1:[ROMNET1DIRECT2.DAT PFMFDIR
$ ASSIGN MET1.-tROMNET.RAWDATAJTOPOG1.DAT TERRAIN1
$ ! ASSIGN OUTPUT FILES
$ ASSIGN MET1: [ROMNET.DOOOOCrjPF119A.DAT PF119
$ ASSIGN MET1: [ROMNET.D000001PFHOA.DAT PFUO
$ ASSIGN MET1:[ROMNET.DOOOOO]PF164A.DAT PF164
$ ASSIGN MET1:[ROMNET.DOOOOOJPF165A.DAT PF165
$ ASSIGN MET1:[ROMNET.DOOOOOJPF166A.DAT PF166
$ ! ASSIGN CONTROL CARD(S) FILE
$ ASSIGN USER2SDISK:[FOREMAN.FV1001AJP06GX1.CPR SYSSINPUT
$ !
$ SHOW PROCESS / ACCOUNTING
$ !
$ RUN DISKSVAXSET:[ROMEXE.ROMNETJP06GV1B.EXE
' S SHOW PROCESS / ACCOUNTING
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P06GV1B
B. Subroutines
None
C. Functions
None
D. Block Data Files
None
79
-------
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A. Subroutines
DISK$VAXSET:[ROMLIB.UTILIO]
ADATE
CELLO
FLSMRY
FSTAT1
GETNUM
IBLKR
JFILE1
JFILEX
OPDIR2
OPEN2
PROGID
RDDIR1
RDREC
WRFT4
WRREC
B. Functions
DISK$VAXSET:[ROMLIB.UTILIO]
IOCL
JUNIT
LEN1
LEN2
IX. INCLUDE FILES
DISKSVAXSET:[ROMLIB.ROMNET)
REGPRM.EXT
2.7 PROCESSOR P07G (METEOROLOGY)
I. PROCESSOR FUNCTION
This stage 3 processor computes the thickness of layers 0 and 1, and the fraction of terrain penetration
through the tops of these layers. During inversion conditions, it also calculates (1) the growth of the
"cold layer" (the inversion layer), and (2) the wind field below the top of the inversion (equivalent to
the top of layer 1).
II. I/O COMPONENTS
A. Input Files
1. Standard Input Files
P07G uses 9 standard input files:
80
-------
PF101 from P01G PF140 from P06G
PF106 from P03G pF164 from p06G
PF107 from P04G
PF110fromP04G PF165fromP06G
PF112 from P03G PF166 from P06G
2. Nonstandard Input Files
None
B. Output Files
1. Standard Output Files
a. PF125
This file contains the hourly gridded growth rate of the cold-layer depth. It is used by
P12G, and its parameter is shown in Table 2.50.
TABLE 2.50. PF125 PARAMETER
Parm Parm Data
No. Name Unit Type Description
1 ETAys m-s-1 Real*4 Hourly gridded growth rate of the cold-
layer depth
Note: vs = virtual surface, i.e., the top of the inversion layer.
b. PF127
This file contains the hourly gridded sub-inversion wind components. PF127 is used by
P11G, and its parameters are shown in Table 2.51.
TABLE 2.51. MF127 PARAMETERS
Parm
No.
1
2
Parm
Name Unit
vl m-s-1
vl m-s-1
Data
Type
Real*4
RealM
Description
Sub-inversion, hourly gridded:
West-to-east wind component
North-to-south wind component
81
-------
c. PF132
This file contains the hourly gridded cell thicknesses of layer 0. PF132 is used by P08G,
P09G, P10G, P12G, P17G, P32G, and P33G. Its parameter is shown in Table 2.52.
TABLE 2.52. PF132 PARAMETER
Parm
No.
1
Parm
Name
hO
Data
Unit Type
m Real*4
Description
Hourly gridded cell thicknesses of layer 0
d. PF148
This file contains the hourly gridded elevation of the top of layer 1. PF148 is used by
PUG, and its parameter is shown in Table 2.53.
TABLE 2.53. PF148 PARAMETER
Parm Parm Data
No. Name Unit Type Description
1 Zl m above MSL Real*4 Hourly gridded elevation of the top of
layer 1
e. MF109
This file contains the hourly gridded cell thicknesses of layer 1. MF109 is used by P08G,
P09G, P10G, PUG, P12G, P17G, P29G, P32G, and P33G. Its parameter is shown in
Table 2.54.
TABLE 2.54. MF109 PARAMETER
Parm Parm Data
No. Name Unit Type Description
1 hi m Real*4 Hourly gridded cell thicknesses of layer 1
82
-------
f. MF110
This file contains the hourly gridded fraction of the top of layer 0 that is penetrated by
terrain. MF110 is used by P10G, P12G, P33G, and P39G. Its parameter is shown in Table
2.55.
TABLE 2.55. MF110 PARAMETER
Parm Parm Data
No. Name Unit Type Description
1 SIGMAtO m above MSL Real*4 Hourly gridded fraction of top of
layer 0 penetrated by terrain
g. MF111
This file contains the hourly gridded fraction of the top of layer 1 that is penetrated by
terrain. MF111 is used by P10G, P12G, P33G, and P39G. Its parameter is shown in Table
2.56.
TABLE 2.56. MF111 PARAMETER
Parm Parm Data
No. Name Unit Type Description
1 SIGMAtl m above MSL Real*4 Hourly gridded fraction of top of layer
1 penetrated by terrain
2. Nonstandard Output Files
None
III. CONTROL CARDS
Three control cards are used to input control data in the format shown below. Table 2.57 defines the
control card variables.
YYDDD HH TT
DT
HOO
83
-------
TABLE 2.57. CONTROL CARD VARIABLES
Variable
Name Unit
YYDDD
HH EST
TT h
DT s
HOO m
Example:
88194 12 24
120
30.0
Description
Julian start date as YYDDD
Start hour as HH
Scenario duration
Time step for subroutine FLOMOD
Initial layer 0 thickness
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A Memory Requirements (1 block = 512 bytes)
FORTRAN source files:
FORTRAN INCLUDE files:
Object files:
Executable file:
25 files
18 files
25 files
_1 file
69 files
390 blocks
72 blocks
144 blocks
159 blocks
765 blocks
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
The charged CPU time can be highly variable, and depends on the number of simulated inversion
hours. A rule-of-thumb is that almost 6 minutes of CPU time are required per modeled inversion
hour. The run time with no inversion hours is ~52 s per modeled hour.
VAX 8650
Charged CPU time (hh:mm:ss):
Buffered I/O count:
Direct I/O count:
Peak working-set size:
Peak virtual size:
01:38:13
347
4442
3202
5655
84
-------
C. Space Requirements: Log and Print Files
P07GX1.LOG:
Print Files:
234 blocks
None
D. Space Requirements: Input and Output Files
Table 2.58 shows the input file and output file space requirements.
TABLE 2.58. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
PF101
PF106
PF107
PF110
PF112
PF140
PF164
PF165
PF166
PF125
PF127
PF132
PF148
MF109
MF110
MF111
File
Type
1
3
5
5
5
4
4
4
4
5
5
5
5
5
5
5
Storage
(in blocks)
6465
2142
1899
1899
1899
286
66
66
66
14788
1794
3615
1899
1899
1899
1899
1899
14904
Scenario
Data Span
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P07GV1A.LNK follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE S2SOUA24: [ROMCOM.ROHNET]P07GV1A.LNK
$ ON WARNING THEN EXIT
$ ASSIGN MLAB: SYSSPRINT
$ MAPFILE = "MET1:[S01S]P07GV1A.MAP»
$ EXEFILE = "$2$OUA24:[ROMCOM.ROMNET]P07GV1A.EXE"
$ ASSIGN/USER MODE $2SDUA24:[ROMOBJ.ROMNETJP07G.OBJ A1
$ ASSIGN/USER'MODE $2$ouA24:[ROMOBJ.ROMNET]BARS.OBJ A2
$ ASSIGN/USER'MODE $2$ouA2«:tROMOBJ.ROMNET]BASEVA.OBJ A3
$ ASSIGN/USER'MODE $2$ouA24:[ROMOBj.ROMNET]CLOCK.OBJ AA
85
-------
$ ASSIGN/USER_MODE $2$DUA24: [ROMOBJ.ROMNET]COLDGR.OBJ
$ ASS1GN/USER_MODE $2$DUA24:[ROMOBJ.ROMNET]CORFOR.OBJ
$ ASSIGN/USER MODE $2$DUA24:[ROMOBJ.ROMNET]CPULOG.OBJ
$ ASSIGN/USER_HODE $2$DUA24:[ROMOBJ.ROMNET]DPCD.OBJ
$ ASSIGN/USER MODE S2SDUA24:[ROMOBJ.ROMNET]EXTEND.OBJ
S ASSIGN/USER~MODE $2$DUA24:[ROMOBJ.ROMNET]FLOMOD.OBJ
$ ASSIGN/USER~MODE $2$DUA24:[ROMOBJ.ROMNET]FRAME.OBJ
$ ASSIGN/USER~MODE $2$DUA24:[ROMOBJ.ROMNET]GRADX6.OBJ
$ ASSIGN/USER~MODE $2$DUA24: [ROMOBJ.ROMNET]H1HOZ.OBJ
$ ASS1GN/USER~MODE S2SDUA24:[ROMOBJ.ROMNET]MINMAX.OBJ
$ ASSIGN/USER~MODE $2$DUA24: [ROMOBJ.ROMNETJMINMX2.0BJ
$ ASSIGN/USER_MOOE $2$DUA24:[ROMOBJ.ROMNET]PRIMES.OBJ
$ ASSIGN/USER MODE S2SDUA24:[ROMOBJ.ROMNET]RADRAG.OBJ
$ ASSIGN/USER~MODE $2$DUA24:[ROMOBJ.ROMNET]SETBCS.OBJ
$ ASSIGN/USERJ10DE $2$DUA24:[ROMOBJ.ROMNET]SETUP7.0BJ
$ ASSIGN/USER_MOOE $2$DUA24:[ROMOBJ.ROMNET]SIGNAT.OBJ
$ ASSIGN/USER MODE $2$OUA24:[ROMOBJ.ROMNET]SLPRES.OBJ
$ ASSIGN/USERJ10DE $2$DUA24:[ROMOBJ.ROMNET]SMOOTH.OBJ
$ ASSIGN/USER MODE $2$DUA24:[ROMOBJ.ROMNET]SOLVDH.OBJ
$ ASSIGN/USER MODE S2$DUA24:[ROMOBJ.ROMNET]SOLVER.OBJ
$ ASSIGN/USER~MODE S2SOUA24:[ROMOBJ.ROMNET]SOLVUV.OBJ
S ASSIGN/USER~MODE $2$OUA24:[ROMOBJ.UTIL10]ADATE.OBJ
$ ASSIGN/USER MODE J2SOUA24:[ROMOBJ.UTILIOJCELLO.OBJ
$ ASSIGN/USER MODE S2SDUA24: [ROMOBJ.UTILI01CLRHDR.OBJ
$ ASSIGN/USER'MODE $2SDUA24:[ROMOBJ.UTILI01CPUTOT.OBJ
$ ASSIGN/USER MODE S2SDUA24:[ROMOBJ.UTILIO]DATHR3.0BJ
$ ASSIGN/USER MODE S2SDUA24: [ROMOBJ.UTILIO]FLSMRY.OBJ
$ ASSIGN/USER~MODE $2$OUA24:[ROHOBJ.UTILIO]FSTAT1.OBJ
$ ASSIGN/USER~MODE $2SDUA24:[ROMOBJ.UTILIO]GETMSG.OBJ
$ ASSIGN/USER~MODE $2$DUA24:[ROMOBJ.UTIL10]IBLKR.OBJ
$ ASSIGN/USER'MODE $2$oiM24:[ROMOBJ.UTIUOHOCL.OBJ
$ ASSIGN/USER'MODE S2SDUA24: [ROMOBJ.UTILIOJJFILELOBJ
$ ASSIGN/USER~MODE $2SDUA24:[ROMOBJ.UTILIO]JHOUR1.0BJ
$ ASSIGN/USER MODE S2SOUA24:[ROMOBJ.UTILIO]JUNIT.OBJ
$ ASSIGN/USER~MODE $2$DUA24:[ROMOBJ.UTILI01NEXTHR.OBJ
$ ASSIGN/USER'MODE $2$ouA24:CROMOBJ.UTILIOJOPDIRZ.OBJ
$ ASSIGN/USER MODE $2$DUA24:[ROMOBJ.UTIL10)OPEN2.0BJ
$ ASSIGN/USER'MODE $2$ouA24:[ROMOBj.umio]pROGiD.oBj
$ ASSIGN/USER'MODE $2$ouA24:[ROMoej.uTiLio]RDDiRi.oBj
$ ASSIGN/USER MODE S2SOUA24:[ROMOBJ.UTILI01RDFHD1.0BJ
$ ASSIGN/USER~MODE $2$DUA24:[ROMOBJ.UTIL10]RDFHD2.OBJ
$ ASSIGN/USER'MODE $2$oiM24: [ROMOBj.UTiLIOJRDFT1.OBJ
$ ASSIGN/USER~MODE S2SDUA24: [ROMOBJ.UTIL10]RDFT3.0BJ
$ ASSIGN/USER'MODE $2$ouA2«: [ROMOBJ.UTILIOIRDFK.OBJ
$ ASSIGN/USER~MODE $2$OUA24:[ROMOBJ.UTILIO]RDFT5.0BJ
$ ASSIGN/USER_MODE S2SDUA24:[ROMOBJ.UTIL10]RDREC.OBJ
$ ASSIGN/USER MODE $2$DUA24:[ROMOBJ.UTILIO]WRFT5.0BJ
$ ASSIGN/USER~MODE S2SDUA24:[ROMOBJ.UTIL10]URREC.OBJ
$ LINK -
/EXECUTABLE = $2$OUA24:[ROMCOM.ROMNET1P07GV1A.EXE -
/MAP = MET1:[S01S]P07GV1A.MAP -
A1. -
A2, -
A3, -
AS
A6
A7
A8
A9
A10
A11
A12
A13
AU
A15
A16
A17
A18
A19
A20
A21
A22
A23
A24
A25
A26
A27
A28
A29
A30
A31
A32
A33
A34
A35
A36
A37
A38
A39
A40
A41
A42
A43
A44
A45
A46
A47
A48
A49
A50
A51
A52
A50, -
A51, -
A52
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1: [S01S1P07GV1A.MAP
(end of link stream)
86
-------
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P07GX1.COM follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE USER2SOISK:[FOREMAN.FV1501A3P07GX1.COM
$ ASSIGN HLAB: SYSSPRINT
$ ! ASSIGN INPUT FILES
$ ASSIGN MET1:[ROMNET1DIRECT2.DAT PFHFDIR
$ ASSIGN MET56:[ROMNET1.D85188JPF101A.DAT PF101
$ ASSIGN MET56:[ROMNET1.D85188]PF106A.DAT PF106
$ ASSIGN MET56:[ROMNET1.D851883PF107A.DAT PF107
$ ASSIGN MET56:[ROMNET1.D85188JPF110A.DAT PF110
$ ASSIGN MET56:[ROMNET1.D85188]PF112A.DAT PF112
$ ASSIGN MET 1: [ROMNET 1.DOOOOCNPFUOA.DAT PF140
$ ASSIGN MET1:[ROMNET1.D000003PF164A.DAT PF164
S ASSIGN MET1:[ROMNET1.DOOOOOJPF165A.DAT PF165
$ ASSIGN MET1:[ROMNET1.D000001PF166A.DAT PF166
$ ! ASSIGN OUTPUT FILES
$ ASSIGN MET56:[ROMNET1.D851883PF125A.DAT PF125
$ ASSIGN MET56:[ROMNET1.D851881PF127A.DAT PF127
$ ASSIGN MET56:[ROMNET1.D85188]PF132A.DAT PF132
$ ASSIGN MET56: [ROHNET1.D8S1881PF148A.DAT PFU8
$ ASSIGN MET56:[ROMNET1.D851883MF109A.DAT MF109
$ ASSIGN MET56:[ROMNET1.D851883MF110A.DAT MF110
$ ASSIGN MET56: tROMNET1.D851883MF11U.DAT MF111
$ SHOW PROCESS / ACCOUNTING
$ !
$ ! ASSIGN CONTROL CARDS FILE
$ TYPE USER2$OISK:[FOREMAN.FV1501A]P07GX1.CPR
$ ASSIGN / USER MODE USER2SOISK: [FOREMAN.FV150U]P07GX1 .CPR SYSSINPUT
$ !
$ RUN $2$OUA24:CROMEXE.ROMNET]P07GV1A
$ SHOW PROCESS / ACCOUNTING
$ 3USER2$DISK:(FOREMAN.COM13MESSAGE FV1501A P07GX1
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A Main Program
P07GV1A
B. Subroutines
BARS DPCD MINMAX SIGMAT
BASEVA EXTEND MINMX2 SLPRES
CLOCK FLOMOD PRIMES SMOOTH
COLDGR FRAME RADRAG SOLVDH
CORFOR GRADX6 SETBCS SOLVUV
CPULOG H1HOZ SETUP?
C. Functions
SOLVER
D. Block Data Files
None
87
-------
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A Subroutines
DISK$VAXSET:[ROMLIB.UTILIO]
ADATE
CELLO
CLRHDR
CPUTOT
FLSMRY
FSTAT1
IBLKR
NEXTHR
OPDIR2
OPEN2
PROGID
RDDIR1
RDFHD1
RDFHD2
RDFT1
RDFT3
RDFT4
RDFT5
RDREC
WRFT5
WRREC
B. Functions
DISK$VAXSET:[ROMLIB.UTILIO]
JFILEl
JHOUR1
JUNIT
DATHR3
GETMSG
IOCL
IX. INCLUDE FILES
DISK$VAXSET:[ROMLIB.ROMNET1
REGPRM.EXT
DISK$VAXSET:[ROMLIB.PROCES]
BASEV.EXT
BCON.EXT
CD.EXT
CORF.EXT
ETAVS.EXT
OBLEN.EXT
PARM7.EXT
PARMS.EXT
PERTV.EXT
PF1.EXT
PRES.EXT
PROCES.EXT
QFLUX.EXT
SOLGRP.EXT
SURDAT.EXT
ZT.EXT
ZTHAT.EXT
2.8 PROCESSOR P08G (METEOROLOGY)
I. PROCESSOR FUNCTION
This stage 4 processor determines (1) the thickness of layer 2, (2) the updraft speed at the base of any
cumulus clouds that it models to exist,6 (3) the thickness of model layer 3, whose top is defined as the
height at the top of the cumulus clouds.7 P08G also produces an interim estimate of the fraction of the
air that originates in layer 0 that is then updrafted into the cumulus cloud.
6. Cumulus cloud bases are defined to be located at the base of layer 3.
7. If cumulus clouds are not modeled to exist, the height of the upper boundary is defined as 100 m above layer 2.
88
-------
II. I/O COMPONENTS
A. Input Files
1. Standard Input Files
PF111 from P16G
PF119fromP06G
PF132 and MF109 from P07G
2. Nonstandard Input Files
a. SURMET1
SURMET1 contains hourly surface meteorology observations processed from the National
Climatic Data Center and the Canadian Climate Centre raw data tapes. SURMET1 is read in
two stages. The first stage reads header information, and the first READ and FORMAT
statements for this file are as follows:
READ (LU,93001,IOSTAT=IOST) INYR,INMON,INDAY,INHOUR,
& NSTAT
93001 FORMAT (4(I2),5X,I3)
Table 2.59 shows the SURMET1 Stage 1 parameters.
TABLE 2.59. SURMET1 STAGE 1 PARAMETERS
Parm
No.
1
2
3
4
5
Parm
Name
INYR
INMON
INDAY
INHOUR
NSTAT
Data
Unit Type
Integer*4
Integer*4
Integer*4
EST Integer*4
Integer*4
Description
Scenario year (YY)
Scenario month (MM)
Scenario day (£>£>)
Scenario hour (HH)
No. of reporting stations at////
The Stage 2 READ and FORMAT statements are listed below, and the Stage 2 parameters are
shown in Table 2.60:
READ (LU,93003,IOSTAT=IOST) PARMS
93003 FORMAT (A4.2F7.2,F5.0.F4.0,3(F5.0,F6.0)
& F8.1,4(F7.1),F8.1)
The READ and FORMAT statements above are for non-WBAN format for the surface
meteorology stations. For data in WBAN format, these statements read as follows:
89
-------
READ (LU,93004,IOSTAT=IOST) WBAN, (PTEMP(N), N=2,NPARM>
93004 FORMAT (15.5,F6.2,F7.2,F5.0,F4.0.3(F5.0,F6.0)
& F8.1f4(F7.1),F8.1)
DO 2110 N=1, NPARM
PARMS(N) = PTEMP(N)
2110 CONTINUE
Note that the parameters shown in Table 3.61 are contained within a dimensioned array of 17
elements, FARMS, so that information can be easily passed from subroutine to subroutine.
The parameters are not listed explicitly in the two READ statements above.
TABLE 2.60. SURMET1 STAGE 2 PARAMETERS
Farm
No.
la
Ib
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Farm
Name Unit
STAID,,
STAID,,
SLAT,, • N
SLONW • W
OPQCOV,, %
TOTCOVn
COVln %
BASEln m
COV2n %
BASE2n m
COV3n %
BASE3n m
PQn mb
DIR,, deg
SPD,, m-s-1
Tn «C
TDn °C
Pn mb
Data
Type
Char*4
Integer*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Description
Station ID (non-WBAN format)
Station ID (WBAN format)
Latitude
Longitude
Opaque sky cover
Total sky cover:
0 = clear
1 = partial obscuration
2 = thin scattered
3 = thin broken
4 = thin overcast
5 = scattered
6 = broken
7 = overcast
8 = obscured
-99 = indeterminate
Coverage, lowest cloud layer
Lowest cloud base
Coverage, second-lowest cloud layer
Second-lowest cloud base
Coverage, third-lowest cloud layer
Third-lowest cloud base
Sea level pressure
Wind direction
Wind speed
Temperature
Dew point
Station pressure
Note: n = surface station number (one or more digits).
90
-------
b. RAWSTA1
RAWSTA1 contains the land use classification of each rawind (upper-air) station in the
domain; these data are used in the updraft calculation from layer 0. The READ statements for
this file are as follows:
READ (STAT, *, IOSTAT = IOST) GRIDNM, YEARNM
READ (STAT, *, IOSTAT = IOST) IDRAD(N), TMP1, TMP2, TMP3,
(LNDUSECJJ.n), JJ=1,10)
Table 2.61 shows the RAWSTA1 parameters.
TABLE 2.61. RAWSTA1 PARAMETERS
Farm
No.
1
2
3
4
5 .
6
7
Farm
Name Unit
GRIDNM
YEARNM
IDRADW
TMPlm ° N
TMP2m . ° W
TMP3m m
LNDUSE^
URBAN
AGRI
RANGE
DF
CF
MF
WATER
BARREN
NFW
MAR
Data
Type
Char*8
Integer*4
Integer*4
Real*4
Real*4
Real*4
Real*4
Description
Region name (see Appendix A)
Scenario year (YY)
Station WBAN identifier
Station latitude
Station longitude
Station elevation
Land use classification:
urban
agriculture
rangeland
deciduous forest
coniferous forest
mixed forests including wetlands
water
barren land
nonforested wetland
mixed agriculture/rangeland
Note: m = upper-air station number (one or more digits).
B. Output Files
1. Standard Output Files
P08G produces 4 standard output files: PF142, PF156, MF112, and MF113.
PF142 is used by processor P12G.
PF156 is used by processors P12G and P32G.
MF112 is used by processors P09G, P10G, PUG, P12G, P17G, P29G, P32G, and P33G.
MF113 is used by processors P09G, P11G, P12G, P17G, P29G, and P32G.
91
-------
a. PF142
This file contains hourly data on the standard 64-cell by 52-cell grid; Table 2.62 shows its
parameter.
TABLE 2.62. PF142 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 PSI' Real*4 Fraction of air entering a cumulus
cloud that originates in Layer 0
b. PF156
This file contains hourly data on the standard 64-cell by 52-cell grid; Table 2.63 shows its
parameter.
TABLE 2.63. PF156 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 barWc m-s-1 Real*4 Cumulus cloud average updraft speed
c. MF112
This file contains hourly data on the standard 64-cell by 52-cell grid; Table 2.64 shows its
parameter.
TABLE 2.64. MF112 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 b.2 m Real*4 Layer 2 cell thickness
d. MF113
This file contains hourly data on the standard 64-cell by 52-cell grid; Table 2.65 shows its
parameter.
92
-------
TABLE 2.65. MF113 PARAMETER
Farm
No.
Farm
Name
Unit
Data
Type
Description
1
h3
m
Real*4
Layer 3 cell thickness
2. Nonstandard Output Files
None
III. CONTROL CARDS
Two control cards are used to input control data in the format shown below. Table 2.66 defines the
control card variables.
JD1JD2
INTFLG
TABLE 2.66. CONTROL CARD VARIABLES
Variable
Name
JD1
JD2
INTFLG
Unit
EST
EST
Description
Julian scenario start date and time as YYDDDHH
Julian scenario end date and time as YYDDDHH
Flag indicating whether surface stations are in WBAN format
Example:
8819612 8819911
Y
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
FORTRAN source files:
FORTRAN INCLUDE files:
Object files:
Executable file:
19 files
1 files
19 files
_1 file
40 files
264 blocks
4 blocks
120 blocks
126 blocks
514 blocks
93
-------
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss):
Buffered I/O count:
Direct I/O count:
Peak working-set size:
Peak virtual size:
C. Space Requirements: Log and Print Files
00:07:28
287
5762
1738
4411
P08GX1.LOG:
Print Files:
411 blocks
None
D. Space Requirements: Input and Output Files
Table 2.67 shows the input file and output file space requirements.
TABLE 2.67. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
PF111
PF119
PF132
MF109
SURMET1
RAWSTA1
PF142
PF156
MF112
MF113
File
Type
1
4
5
5
Nonstd
Nonstd
5
5
5
5
Storage
(in blocks)
8904
55
1899
1899
40251
24
53032
1899
1899
1899
1899
7596
Scenario
Data Span
72 hours
72 hours
72 hours
72 hours
1 month
N/A
72 hours
72 hours
72 hours
72 hours
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P08GV1A.LNK follows:
94
-------
$ ASSIGN/USER MODE S2SDUA24:
$ ASSIGN/USER'MODE $2$ouA24:
$ ASSIGN/USER'MODE $2$ouA24:
! ACCOUNTING CODE
SET VERIFY
! RUN STREAM IS IN FILE $2$OUA24: [ROMCOM.ROMNETJP08GVU.LNK
ON WARNING THEN EXIT
ASSIGN MLAB: SYSSPRINT
MAPFILE = "MET1:[S01S]P08GV1A.MAP"
$ EXEFILE = "$2$DUA24:[ROMCOH.ROMNET1P08GV1A.EXE"
$ ASSIGN/USER MODE $2$OUA24:[ROMOBJ.ROMNET]P08G.OBJ
CROMOB J.ROMNET]ABTERM.OBJ
[ROMOBJ.ROMNET]ALBAL F.OBJ
[ROMOBJ.ROMNET]ARCEST.OBJ
$ ASSIGN/USER'MODE $2$ouA24:[ROMOBJ.ROMNETJCLDFMS.OBJ
:[ROMOBJ.ROMNET]CLDMOO.OBJ
:[ROMOBJ.ROMNET]CLDPAR.OBJ
$ ASSIGN/USER MODE S2SDUA24:
$ ASSIGN/USER'MODE $2$ouA24:
$ ASSIGN/USER'MODE $2$ouA24:[ROMOBJ.ROMNET]CLDRAD.OBJ
$ ASSIGN/USER'MODE $2$ouA24:[ROMOBJ.ROMNET]CRTELS.OBJ
$ ASSIGN/USER'MODE $2$ouA24:[ROMOBJ.ROMNET]DELTAT.OBJ
$ ASSIGN/USER'MODE $2$ouA24:[ROMOBJ.ROMNET]FLXRAD.OBJ
$ ASSIGN/USER'MODE $2$ouA24: [ROMOBJ.ROMNET]GMOVSS.OBJ
$ ASSIGN/USER'MODE $2$ouA24:[ROMOBJ.ROMNET]PBLMIX.OBJ
$ ASSIGN/USER'MODE $2$ouA24:[ROMOBJ.ROMNET]PROFIL.OBJ
$ ASSIGN/USER'MODE $2$ouA24:[ROMOBJ.ROMNET]PTOZ.OBJ
$ ASSIGN/USER MODE S2SDUA24:
$ ASSIGN/USER'MODE $2$ouA24:
$ ASSIGN/USER'MODE $2$ouA24:
$ ASSIGN/USER MODE S2SOUA24:
$ ASSIGN/USER~MODE J2SOUA24:
$ ASSIGN/USER'MODE $2$ouA24:
$ ASSIGN/USER'MOOE S2SDUA24:
$ ASSIGN/USER~MODE $2$DUA24:
$ ASSIGN/USER'MODE S2SDUA24:
S ASSIGN/USER'MODE S2SDUA24:
$ ASSIGN/USER'MODE S2SDUA24:
$ ASSIGN/USER~MODE S2SOUA24:
$ ASSIGN/USER~MODE S2SDUA24:
$ ASSIGN/USER~MODE S2SDUA24:
$ ASSIGN/USER~MODE $2$DUA24:
$ ASSIGN/USER MODE $2SDUA24:
$ ASSIGN/USER~MODE S2SDUA24:
$ ASSIGN/USER~MODE S2SOUA24:
ASSIGN/USER MODE S2SDUA24
ASSIGN/USER~MODE S2SDUA24
$ ASSIGN/USER MODE S2SDUA24;
[ROMOBJ.ROMNET]OF LUX8.OBJ
[ROMOBJ.ROMNET]RAD LW8.06J
[ROMOBJ.ROMNET]RADPFL.OBJ
[ROMOBJ.ROMNET]RTIMOD.OBJ
[ROMOBJ.UTILI0]ADATE.OBJ
[ROHOBJ.UTILIO]CELLO.OBJ
[ROMOBJ.UTILI01FLSHRY.OBJ
[ROMOBJ.UTILIO]FSTAT1.OBJ
[ROMOBJ.UTILIO]GETYN.OBJ
[ROMOBJ.UTILIO]GMTLCL.OBJ
[ROMOBJ.UTILIO] GREG.OBJ
[ROMOBJ.UTILIO]IBLKR.OBJ
[ROMOBJ.UTILIO]IOCL.OBJ
[ROMOBJ.UTILIO]IOERR.OBJ
[ROMOBJ.UTILIO]JFILE1.OBJ
[ROMOBJ.UTILIO]JFILE2.OBJ
[ROMOBJ.UTILIO]JHOUR1.OBJ
[ROMOBJ.UTILIO]JULIAN.OBJ
[ROMOBJ.UTILIO]JUNIT.OBJ
[ROMOBJ.UTILIO]OPDIR2.OBJ
[ROMOBJ.UTILI0]OPEN2.OBJ
[ROMOBJ.UTILIO]PROGID.OBJ
[ROMOB J. UT IL10] ROD IR1. OB J
[ROMOBJ.UTILIO]RDFT1.OBJ
ASSIGN/USER MODE $2$DUA24:
$ ASSIGN/USER'MODE $2souA24:
$ ASSIGN/USER'MODE $2$ouA24:
$ ASSIGN/USER'MODE $2$ouA24: [ROMOBJ.UTaiO]RDFT4.OBJ
$ ASSIGN/USER MODE $2$DUA24:[ROMOBJ.UTILI01RDFT5.0BJ
$ ASSIGN/USER'MODE $2$ouA24:[ROMOBJ.UTILIOIRDREC.OBJ
$ ASSIGN/USER'MODE $2*ouA24:
$ ASSIGN/USER'MODE $2$ouA24:
S ASSIGN/USER_MODE $2$OUA24:
$ LINK -
/EXECUTABLE = S2SDUA24: [ROMCOM.ROMNETJP08GVU.EXE -
/MAP = MET1:[S01S]P08GV1A.MAP -
A1, - '
A2, -
A3, -
:[ROMOBJ.UTILIO]RDSRF1.0BJ
:[ROMOBJ.UTILIO]URFT5.OBJ
:[ROMOBJ.UTILI01WRREC.OBJ
A1
A2
A3
A4
A5
A6
A7
AS
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
A20
A21
A22
A23
A24
A25
A26
A27
A28
A29
A30
A31
A32
A33
A34
A35
A36
A37
A38
A39
A40
A41
A42
A43
A44
A45
A43, -
A44, -
A45
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1:[S01S]P08GV1A.MAP
(end of link stream)
95
-------
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P08GX1.COM follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE USER2WISK: [FOREMAN.FV1501AJP08GX1.COM
$ ASSIGN MLAB: SYSSPRINT
$ ! ASSIGN INPUT FILES
$ ASSIGN MET1:[ROMNET]DIRECT2.DAT PFNFDIR
$ ASSIGN MET1:[ROMNET.RAWDATAJRAUSTA.DAT RAWSTA1
$ ASSIGN MET23:[FOREMAN.RAWDATA3SRFC JUL85.DAT SURMET1
$ ASSIGN MET56:[ROMNET1.D851883PF111A.DAT PF111
$ ASSIGN MET1:tROMNET1.DOOOOOJPF119A.DAT PF119
$ ASSIGN MET56:[ROMNET1.D85188JPF132A.DAT PF132
$ ASSIGN MET56: [ROMNET1.D8518WMF109A.DAT MF109
$ ! ASSIGN OUTPUT FILES
$ ASSIGN MET56: [ROMNET1.D851881PFU2A.DAT PF142
$ ASSIGN MET56:[ROMNET1.D85188JPF156A.DAT PF156
$ ASSIGN MET56:[ROMNET1.D851883MF112A.DAT MF112
$ ASSIGN MET56:[ROMNET1.D851881MF113A.DAT MF113
$ SHOW PROCESS / ACCOUNTING
$ !
$ ! CONTROL CARDS FILE FOLLOWS:
$ TYPE USER2SOISK:[FOREMAN.FV1501A3P08GX1.CPR
$ ASSIGN / USER MODE USER2SDISK:[FOREMAN.FV1501A]P08GX1.CPR SYSSINPUT
$ !
$ RUN $2$DUA24:CROMEXE.ROMNET]P08GV1A
$ SHOW PROCESS / ACCOUNTING
$ aUSER2$DISK:[FOREMAN.COM1]MESSAGE FV1501A P08GX1
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
• A. Main Program
P08GV1A
B. Subroutines
ABTERM CLDPAR FLXjRAD QFLUX8
ALBALF CLDRAD PBLMIX RADPFL
ARCEST CRTEL8 PROFIL RTIMOD
CLDMOD DELTAT PTOZ
C. Functions
RADLW8
CLDFN8
GMOVS8
D. Block Data Files
None
-------
ADATE
CELLO
FLSMRY
FSTAT1
GMTLCL
GREG
IBLKR
IOERR
JF1LE1
OPDIR2
OPEN2
PROGID
RDDIR1
RDFT1
RDFT4
RDFT5
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A. Subroutines
DISKSVAXSET:[ROMLIB.UTILIO]
RDSRFl
WRFT5
WRREC
IOERR PROGID RDFT5
B. Functions
DISK$VAXSET:[ROMLIB.UTILIO]
GETYN JFILE2 JULIAN
IOCL JHOUR1 JUNIT
IX. INCLUDE FILES
DISK$VAXSET:[ROMLIB.ROMNET]
REGPRM.EXT
2.9 PROCESSOR P09G (METEOROLOGY)
I. PROCESSOR FUNCTION
This stage 5 processor computes atmospheric density, temperature, water vapor concentration, cloud
cover, and solar zenith angle. P09G computes these parameters in two subroutines: (1) subroutine
DEN computes the hourly gridded layer-averaged air density, the air density at the top of each layer,
the temperature, and the water vapor concentration^ (2) subroutine ZEN generates the hourly
gridded zenith angle and the cloud-layer transmission factor. The computed parameters are used by
the Core Model to calculate the adjustment factors for the chemical rate constants that are determined
by preprocessor CVCHEM (see Section 7.2, Part 1), as well as being used in other processors.
II. I/O COMPONENTS
A Input Files
1. Standard Input Files
P09G uses 8 standard input files:
PF102 from P01G PF131 from P01G MF112 from P08G
PF104 from P01G PF132 from P07G MF113 from P08G
PF119 from P06G MF109 from P07G
We refer to water vapor concentration instead of to specific humidity; although the units for either parameter are identical, water
vapor concentration is calculated on a volume basis (KHL-L-1), rather than on the mass basis (KHkg-kg-1) of specific humidity.
97
-------
2. Nonstandard Input Files
P09G uses one nonstandard input file, SURMET1, that contains hourly surface meteo-
rology observations from the National Climatic Data Center and the Canadian Climate
Centre raw data tapes. SURMET1 is read in two stages. The first stage reads header
information. READ and FORMAT statements for SURMET1 are called by P09G from
RDSRFI in the UTELIO library. Table 2.68 shows the SURMET1 Stage 1 parameters.
TABLE 2.68. SURMET1 STAGE 1 PARAMETERS
Farm
No.
1
2
3
4
5
Farm
Name
INYR
INMON
DSTDAY
INHOUR
NSTAT
The Stage 2 parameters
Unit
EST
Data
Type Description
Integer*4 Scenario year (YY)
Integer*4 Scenario month (MM)
Integer*4 Scenario day (DD)
Integer*4 Scenario hour (HH)
Integer *4 No. of reporting stations at HH
that are used in P09G are described in Table 2.69:
TABLE 2.69.
Farm
No.
la
Ib
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Farm
Name Unit
STAIDn
STAID,,
SLATSn
SLONSn
OPQCOVn
TOTCOVn
COVER1,,
BASE!,,
COVER^
BASE2n
COVERSn
BASE3n
PQn
DIR«
SPDW
Tn
TDn
P*
0 N
. w
%
%
m
%
m
%
m
mb
deg
m-s-1
°C
CC
mb
SURMET1 STAGE 2 PARAMETERS
Data
Type Description
Char*4 Station ID (non-WBAN format)
Integer*4 Station ID (WBAN format)
Real*4 Latitude
Real*4 Longitude
Real *4 Opaque sky cover
Real*4 Total sky cover (see note below)
Real*4 Coverage, lowest cloud layer
Real*4 Lowest cloud base
Real*4 Coverage, second-lowest cloud layer
Real*4 Second-lowest cloud base
Real*4 Coverage, third-lowest cloud layer
Real*4 Third-lowest cloud base
Real*4 Sea level pressure
Real*4 Wind direction
Real*4 Wind speed
Real*4 Temperature
Real*4 Dew point
Real*4 Station pressure
Note: n = surface station number (one or more digits). Total sky cover classes are as follows: 0 = clear, 1 = partial
obscuration; 2 = thin scattered; 3 = thin broken; 4 «= thin overcast; 5 = scattered; 6 = broken; 7 = overcast; 8 =
obscured; -99 = indeterminate.
98
-------
B. Output Files
1. Standard Output Files
a. MF132
This file contains the hourly, gridded, layer-averaged air density in layer 0. It is used by
P10G, P33G, and P39G. Table 2.70 shows its parameter.
TABLE 2.70. MF132 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 Oy;/, mol-ppnv^nr3 Real*4 Layer-averaged air density in layer 0
Note: i = column number,/ = row number, h = hour; units are mass per volume.
b. MF133
This file contains the hourly, gridded, layer-averaged air density in layer 1. It is used by
P10G, P12G, P29G, P33G, and P39G. Table 2.71 shows its parameter.
TABLE 2.71. MF133 PARAMETER
Parm Parm Data
No. Name Unit Type Description
1 ly;/, mol-ppm-Lnv3 Real*4 Layer-averaged air density in layer 1
Note: i = column number,/ = row number, h = hour; units are mass per volume.
C. MF134
This file contains the hourly, gridded, layer-averaged air density in layer 2. It is used by
P10G, P12G, P29G, P33G, and P39G. Table 172 shows its parameter.
TABLE 2.72. MF134 PARAMETER
Parm Parm Data
No. Name Unit Type Description
1 2y;/, mol-ppnH-nv3 Real*4 Layer-averaged air density in layer 2
Note: i = column number,; = row number, h = hour, units are mass per volume.
99
-------
d. MF135
This file contains the hourly, gridded, layer-averaged air density in layer 3. It is used by
P12G, P29G, and P39G. Table 2.73 shows its parameter.
TABLE 2.73. MF135 PARAMETER
Parm Parm Data
No. Name Unit Type Description
1 3y;A mol-ppm-Lnv3 Real*4 Layer-averaged air density in layer 3
Note: / = column number,;' = row number, h = hour; units are mass per volume.
e. MF136
This file contains the hourly, gridded, layer-averaged air temperature in layer 1. It is used
by P39G, and Table 2.74 shows its parameter.
TABLE 2.74. MF136 PARAMETER
Parm Parm Data
No. Name Unit Type Description
1 ly^ K Real*4 Layer-averaged air temperature for layer 1
Note:; = column number,;' = row number, h = hour
f. MF137
This file contains the hourly, gridded, layer-averaged air temperature in layer 2. It is used
by P39G, and Table 2.75 shows its parameter.
TABLE 2.75. MF137 PARAMETER
Parm Parm Data
No. Name Unit Type Description
1 2y^ K Real*4 Layer-averaged air temperature for layer 2
Note: i = column number,;' = row number, h = hour
g. MF138
This file contains the hourly, gridded, layer-averaged air temperature in layer 3. It is used
by P39G, and Table 2.76 shows its parameter.
100
-------
TABLE 2.76. MF138 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 3y;/, K Real*4 Layer-averaged air temperature for layer 3
Note: ( = column number,; = row number, h = hour
h. MF139
This file contains the hourly gridded solar zenith angle; grid cell latitude and longitude,
and meridional variations in local standard time, are considered by REGPRM.EXT. It is used
by P15G, P27G, and P39G. Table 2.77 shows its parameter.
TABLE 2.77. MF139 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 thetay^, ° Real*4 Solar zenith angle
Note: /' = column number,/ «= row number, h = hour
i. MF140
This file contains the hourly gridded cloud-layer transmission factor for solar energy. It is
used by P15G and P39G. Table 2.78 shows its parameter.
TABLE 2.78. MF140 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 psijj,h Real*4 Cloud-layer transmission factor:
1 = clear sky
0 = opaque sky
Note: /' = column number,/' = row number, h = hour
j. MF160
This file contains the hourly gridded air density at the top of layer 0. It is used by P12G and
P39G. Table 2.79 shows its parameter.
101
-------
TABLE 2.79. MF160 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 SRHOOy;>, mol-pptn-i-nr3 Real*4 Air density at the top surface of layer 0
Note: /' = column number, / = row number, h = hour; units are mass per volume.
k. MF161
This file contains the hourly gridded air density at the top of layer 1. It is used by P12G and
P39G. Table 2.80 shows its parameter.
TABLE 2.80. MF161 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 SRHOly;/, mol-ppnH-m-3 Real*4 Air density at the top surface of layer 1
Note: / = column number,;' = row number, h = hour; units are mass per volume.
1. MF162
This file contains the hourly gridded air density at the top of layer 2. It is used by P12G and
P39G. Table 2.81 shows its parameter.
TABLE 2.81. MF162 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 SRHO2^/, mol-ppm-J-nr3 Real*4 Air density at the top surface of layer 2
Note: i = column number,; = row number, h = hour; units are mass per volume.
m. MF163
This file contains the hourly gridded air density at the top of layer 3. It is used by P12G and
P39G. Table 2.82 shows its parameter.
102
-------
TABLE 2.82. MF163 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 SRHOSy;/, mol-ppm-i-m-3 Real*4 Air density at the top surface of layer 3
Note: /' = column number,;' = row number, h = hour; units are mass per volume.
n. MF174
This file contains the hourly, gridded, layer-averaged water vapor concentration in layer 1.
It is used by P39G, and Table 2.83 shows its parameter.
TABLE 2.83. MF174 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 ly;/, ppm Real*4 Layer-averaged water vapor cone, in layer 1
Note: /' = column number,;' = row number, h = hour
o. MF175
This file contains the hourly, gridded, layer-averaged water vapor concentration in layer 2.
It is used by P39G, and Table 2.84 shows its parameter.
TABLE 2.84. MF175 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 2y;^ ppm Real*4 Layer-averaged water vapor cone, in layer 2
Note: i = column number,/' = row number, h = hour
p. MF176
This file contains the hourly, gridded, layer-averaged water vapor concentration in layer 3.
It is used by P39G, and Table 2.85 shows its parameter.
103
-------
TABLE 2.85. MF176 PARAMETER
Farm Farm
No. Name
Unit
Data
Type
Description
1 3y;>, ppm Real*4 Layer-averaged water vapor cone, in layer 3
Note: i = column number,;' = row number,/! = hour
2. Nonstandard Output Files
None
III. CONTROL CARDS
One control card is used to input control data in the format shown below. Table 2.86 defines the
control card variables.
ISDAT IENDAT INTFLAG
TABLE 2.86. CONTROL CARD VARIABLES
Variable
Name
ISDAT
IENDAT
INTFLAG
Unit
EST
EST
Description
Julian scenario start date and time as YYDDDHH
Julian scenario end date and time as YYDDDHH
Use of WBAN-format station identifiers in SURMET1:
. .TRUE. =>• WBAN format used;
.FALSE. =*• WBAN format not used
Example:
8819612 8819911 .TRUE.
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
FORTRAN source files:
FORTRAN INCLUDE files:
Object files:
Executable file:
3 files
0 files
3 files
1 file
7 files
65 blocks
0 blocks
22 blocks
98 blocks
185 blocks
104
-------
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss):
Buffered I/O count:
Direct I/O count:
Peak working-set size:
Peak virtual size:
C. Space Requirements: Log and Print Files
01:19:20
434
12823
8192
13068
P09GX1.LOG:
Print Files:
47 blocks
None
D. Space Requirements: Input and Output Files
Table 2.87 shows the input file and output file space requirements.
TABLE 2.87. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
PF102
PF104
PF119
PF131
PF132
MF109
MF112
MF113
SURMET1
MF132
MF133
MF134
MF135
MF136
MF137
MF138
MF139
MF140
MF160
MF161
MF162
MF163
MF174
MF175
MF176
File
Type
1
1
4
1
5
5
5
5
Nonstd
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
Storage
(in blocks)
7128
294
4
5724
1438
1438
1438
1438
88714
107616
1438
1438
1438
1438
1438
1438
1438
1438
1438
1438
1438
1438
1438
1438
1438
1438
23008
Scenario
Data Span
72 hours
72 hours
72 hours
72 -hours
72 hours
72 hours
72 hours
72 hours
1 month
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
105
-------
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P09GV1B.LNK follows:
! ACCOUNTING CODE
SET VERIFY
! RUN STREAM IS IN FILE DISKSVAXSET:[ROMCOM.ROMNET]P09GV1B.INK
ON WARNING THEN EXIT
ASSIGN MLAB: SYSSPRINT
MAPF1LE = »MET1:[S01S]P09GV1B.MAP"
EXEFILE = "DISKSVAXSET:[ROMEXE.ROMNET3P09GV1B.EXE"
ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.ROMNET]P09G.OBJ
ASSIGN/USER MODE DISKSVAXSET:
$ ASSIGN/USER_MODE DISKSVAXSET:
$ ASSIGN/USER_MODE DISKSVAXSET:
$ ASSIGN/USER MODE DISKSVAXSET:
$ ASSIGN/USER~MODE DISKSVAXSET:
$ ASSIGN/USER MODE DISKSVAXSET:
$ ASSIGN/USER~MODE DISKSVAXSET:
$ ASSIGN/USER~MODE DISKSVAXSET:
$ ASSIGN/USER~MODE DISKSVAXSET:
$ ASSIGN/USER~MODE DISKSVAXSET:
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]IBLKR.OBJ
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTIL10]IOCL.OBJ
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIO]IOERR.OBJ
S ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]JFILE1.OBJ
$ ASSIGN/USER~MODE DISKSVAXSET:
$ ASSIGN/USER~MODE DISKSVAXSET:
$ ASSIGN/USER~MODE DISKSVAXSET:
$ ASS1GN/USER~MODE DISKSVAXSET:
$ ASSIGN/USER~MODE DISKSVAXSET:
$ ASS1GN/USER~MOOE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER~MODE DISKSVAXSET:
£ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
:[ROMOBJ.ROMNET]DEN.OBJ
:[ROMOBJ.ROMNET]ZEN.OBJ
:[ROMOBJ.UTILIO]ADATE.OBJ
:[ROMOBJ.UTILIO]BGRID1.OBJ
:[ROMOBJ.UTILIO]BGRID3.0BJ
:[ROMOBJ.UTILIO]CELLO.OBJ
:[ROMOBJ.UTILIO]FLSMRY.OBJ
:[ROMOBJ.UTILIO]FSTAT1.OBJ
:[ROMOBJ.UTILIO]GMTLCL.06J
:[ROMOBJ.UTILI0]GREG.OBJ
:[ROMOBJ.UTILIO]JFILE2.OBJ
:[ROMOBJ.UTILIO]JHOUR1.OBJ
:[ROMOBJ.UTILIO]JULIAN.OBJ
![ROMOBJ.UTILIO]JUNIT.OBJ
;[ROMOBJ.UTILIO]OPDIR2.OBJ
:[ROMOSJ.UTILIO]OPEN2.OBJ
:[ROMOBJ.UTILIO]PROGID.OBJ
;[ROMOBJ.UTILIO]RDDIR1.OBJ
: [ROMOB J. UT IL10] RD FT 1. OB J
: [ROHOBJ.UTILI01RDFU.OBJ
:tROMOBJ.UTILIOJRDFT5.OBJ
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILI01RDREC.OBJ
$ ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.UTILIOIRDSRFLOBJ
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER~MODE DISKSVAXSET;
[ROMOBJ.UTILIO]RDWNDO.OBJ
[ROMOBJ.UTILIO]SOLAR.OBJ
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIO]WRFT5.OBJ
$ ASSIGN/USER'MOOE DISKSVAXSET:[ROHOBJ.UTILIOJURREC.OBJ
$ LINK -
/EXECUTABLE = DISKSVAXSET:[ROMEXE.ROMNET1P09GV1B.EXE -
/MAP = MET1:[S01S]P09GV1B.MAP -
A1. -
A2, -
A3. -
A1
A2
A3
A4
AS
A6
A7
AS
A9
A10
A11
A12
A13
AH
A15
A16
A17
A18
A19
A20
A21
A22
A23
A24
A25
A26
A27
A28
A29
A30
A31
A32
A30, -
A31, -
A32
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
ME T1:[S01S]P09GV1B.MAP
(end of link stream)
106
-------
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P09GX1.COM follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE USER2SDISK:[FOREMAN.FV1501A3P09GX1.COM
$ ASSIGN MLAB: SYSSPRINT
$ ! ASSIGN INPUT FILES
$ ASSIGN MET1:tROMNET3DIRECT2.DAT
$ ASSIGN MET23:[FOREMAN.RAWDATA]SRFC JUL85.DAT
$ ASSIGN MET56:[ROMNET1.D851883PF102A.DAT
$ ASSIGN MET56:[ROMNET1.D851883PF104A.DAT
$ ASSIGN MET1:[ROMNET1.DOOOOOJPF119A.DAT
$ ASSIGN MET56:[ROMNET1.D851881PF131A.DAT
$ ASSIGN MET56:[ROMNET1.D85188JPF132A.DAT
$ ASSIGN MET56:[ROMNET1.085188JMF109A.DAT
$ ASSIGN MET56:[ROMNET1.D85188JMF112A.DAT
$ ASSIGN MET56:[ROHNET1.D851881MF113A.DAT
$ ! ASSIGN OUTPUT FILES
$ ASSIGN MET56:[ROMNET1.085188]MF132A.DAT
$ ASSIGN MET56:[ROMNET1.D851883MF133A.DAT
S ASSIGN MET56:[ROMNET1.D851883MF134A.DAT
$ ASSIGN MET56:[ROMNET1.D851883MF135A.DAT
$ ASSIGN HET56:CROMNET1.D851881MF136A.DAT
$ ASSIGN MET56:[ROMNET1.D85188JMF137A.DAT
$ ASSIGN MET56:[ROMNET1.D851883HF138A.DAT
$ ASSIGN MET56:[ROMNET1.D85188JMF139A.DAT
$ ASSIGN MET56:[ROMNET1.D851881HF140A.DAT
$ ASSIGN MET56:[ROMNET1.D851883MF160A.DAT
ASSIGN MET56:[ROHNET1.D851881HF161A.DAT
ASSIGN MET56:[ROMNET1.D851881MF162A.DAT
$ ASSIGN MET56:[ROMNET1.D851881MF163A.DAT
ASSIGN MET56:[ROMNET1.D851881MF174A.DAT
ASSIGN MET56:[ROMNET1.D851881MF175A.DAT
ASSIGN MET56:tROMNET1.D85188JMFl76A.DAT
SHOW PROCESS / ACCOUNTING
PFMFDIR
SURMET1
PF102
PF104
PF119
PF131
PF132
HF109
MF112
MF113
MF132
MF133
NF134
MF135
MF136
HF137
HF138
HF139
HFUO
MF160
MF161
MF162
MF163
MF174
HF175
MF176
SYS$INPUT
TYPE USER2$DISK:[FOREMAN.fVI501MP09GX1.CPR
! ASSIGN CONTROL CARD(S) FILE
ASSIGN / USER MODE USER2SDISK:[FOREMAN.FV1501A3P09GX1.CPR
!
RUN DISKSVAXSET:[ROMEXE.ROMNET1P09GV1B.EXE
SHOW PROCESS / ACCOUNTING
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P09GV1B
B. Subroutines
DEN
ZEN
C. Functions
None
107
-------
D. Block Data Files
None
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A. Subroutines
DISK$VAXSET:[ROMLIB.UTILIO]
GREG
EBLKR
IOERR
JFILEl
OPDIR2
OPEN2
PROGID
RDDIR1
RDFT1
RDFT4
RDFT5
RDREC
RDSRF1
RDWNDO
SOLAR
WRFT5
WRREC
ADATE
BGRID1
BGRID3
CELLO
FLSMRY
GMTLCL
B. Functions
DISKSVAXSET:[ROMLIB.UTILIO]
IOCL
JFILE2
JHOUR1
JUNIT
IX. INCLUDE FILES
DISK$VAXSET:[ROMLIB.ROMNET]
REGPRM.EXT
2.10 PROCESSOR P10G (EMISSIONS)
I. PROCESSOR FUNCTION
This stage 7 processor transforms the emissions output from P14G and P27G into the hourly gridded
area-flux emission rates (the source strength functions) S, SI, and S2. These three functions produce the
emissions rate for layers 0, 1, and 2, respectively. The three basic tasks involved in computing the
source strengths are: (1) estimating the effective heights of the major point sources, (2) partitioning
the point- and area-source emissions among layers 0,1, and 2, and (3) converting the results to units of
parts per million (ppm). This processor also computes the plume volume fraction that is used in the
layer 0 equations to parameterize subgrid-scale chemistry processes.
108
-------
II. I/O COMPONENTS
A. Input Files
1. Standard Input Files
P10G uses 17 standard input files:
PF106fromP03G
PF107 from P04G
PFllSfromPllG
PF119 from P03G
PF132 from P07G
PF135 from P13G
2. Nonstandard Input Files
PF141 from P14G
PF144 from P27G
PF145 from P14G
PF155 from P33G
MFl09fromP07G
MF110fromP07G
MF111 from P07G
MF112 from P08G
MF132 from P09G
MF133 from P09G
MF134 from P09G
P10G uses one nonstandard input file, PTE3, that contains hourly emission rates for major
point sources. PTE3 is an output file from P14G. This unformatted file is read into P10G with
the following READ statement, and its parameters are shown in Table 2.88.
READ (IUNIT,IOSTAT=IEOF) STKID,PSLON,PSLAT,EXFL,PLMT,
& DIC,ZSIC,TIC,WK,(EK(L),L=1,NP)
TABLE 2.88. PTE3 PARAMETERS
Parm Farm
No. Name Unit
1 STKID
2 PSLON ° W
3 PSLAT ° N
4 EXFL
m3*-1
5 PLMT m
6 Dk
7 Zsk
8 Tk
9 Wk
10 EK1
11 EK2
12 EK2
13 EK4
m
m
°C
m-s-1
mol-h-i
! mol-h-i
( mol-h-i
\ mol-h-i
14 EK(5) mol-h-i
15 EK(6) mol-h-l
16 EK(7) mol-h-i
17 EK*
18 EKS
19 EK1
20 EK1
21 EK ]
22 EK1
5) mol-h-i
>) mol-h-i
0 mol-h-1
1 mol-h-i
2 mol-h-1
3 mol-h-1
23 EK(14) mol-h-i
24 EK(15) kg-h-i
25 EK(16)
Data
Type
Char* 12
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*
Real*
4
4
Real*4
Real*
Real*
Real*
4
4
4
Real*4
Real*
Real*
Real*
4
4
4
Real*4
Real*4
Real*
Real*
Real*
Real*
4
4
4
4
Description
NEDS state/county/plant/point ID
Longitude of stack
Latitude of stack
Exhaust flow rate
Plume height
Stack diameter
Stack height
Exhaust gas temperature
Exhaust gas velocity
Emission rate for:
Higher aldehydes
Carbon monoxide
Ethylene
Formaldehyde
Isoprene
Nitric oxide
Nitrogen dioxide
Olefins
Paraffins
Toluene
Xylene
Nonreactive hydrocarbons
Methane
Methanol
Volatile Organic Compounds
NOj/NMHC ratio
109
-------
B. Output Files
1. Standard Output Files
a. MF123
This file contains the hourly gridded fractions of layer 0 that are filled by plumes from line
sources and/or point sources. It is used by P40G, and its parameters are shown in Table
2.89.
TABLE 2.89. MF123 PARAMETERS
Farm
No.
1
Farm
Name
ZETA
Data
Unit Type
Real*4
Description
Plume volume fraction of layer 0
b. MF143
This file contains hourly gridded area-flux emission rates (5) for each pollutant species in
layer 0. (5 is known as the source strength function.) MF143 is used by P40G, and its
parameters are shown in Table 2.90.
TABLE 2.90. MF143 PARAMETERS
Parm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Parm
Name
ALD2
CO
ETH
FORM
ISOP
NO
NO2
OLE
PAR
TOL
XYL
NONR
TRAC
MTHL
Unit"
ppm-m-s-1
ppm-m-s-1
ppm-m-s-1
ppm-m-s-i
ppm-m-s-1
ppm-m-s-1
ppm-m-s-1
ppm-m-s-1
ppm-m-s-1
ppm-nvs-1
ppm-m-s-1
ppm-m-s-1
ppm-m-s-1
ppm-m-s-1
Data
Type
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real»4
Real*4
Real*4
Real*4
Real*4
Description
Emission rate in layer 0 for:
Higher aldehydes
Carbon monoxide
Ethylene
Formaldehyde
Isoprene
Nitric oxide
Nitrogen dioxide
Olefins
Paraffins
Toluene
Xylene
Nonreactive hydrocarbons
Tracer species
Methanol
The unit of ppm-m-s-1 is formed when the original emission rate data (units of mol-h-i) is converted to the
source strength function (units of mol-m-2-h-1), which is expressed as an area-flux. The conversion to layer 0
mixing ratios results in the unit ppm-m-s-1.
110
-------
c. MF144
This file contains hourly gridded emission rates (SI) for each pollutant species in layer 1.
(SI is the layer 1 analog to 5of layer 0.) MF144 is used by P40G, and its parameters are
shown in Table 2.91.
TABLE 2.91. MF144 PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Farm
Name
ALD2
CO
ETH
FORM
ISOP
NO
NO2
OLE
PAR
TOL
XYL
NONR
TRAC
MTHL
Unit
ppm-s-J
ppm-s-1
ppm-s-1
ppm-s-1
ppm-s-1
ppm-s-1
ppm-s-1
ppm-s-1
ppm-s-1
ppm-s-1
ppm-s-1
ppm-s-1
ppm-s-1
ppm-s-1
Data
Type
Real*4
Real*4
Real*4
RealM
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
RealM
Real*4
Real*4
RealM
Description
Emission rate in layer 1 for:
Higher aldehydes
Carbon monoxide
Ethylene
Formaldehyde
Isoprene
Nitric oxide
Nitrogen dioxide
Olefins
Paraffins
Toluene
Xylene
Nonreactive hydrocarbons
Tracer species
Methanol
d. MF145
This file contains hourly gridded emission rates (S2) for each pollutant species in layer 2.
It is used by P40G, and its parameters are shown in Table 2.92.
TABLE 2.92. MF145 PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Farm
Name
ALD2
CO
ETH
FORM
ISOP
NO
NO2
OLE
PAR
TOL
XYL
NONR
TRAC
MTHL
Unit
ppm-s-1
ppm-s-1
ppm-s-1
ppm-s-1
ppm-s-1
ppm-s-1
ppm-s-1
ppm-s-1
ppm-s-1
ppm-s-1
ppm-s-1
ppm-s-1
ppm-s-1
ppm-s-1
Data
Type
RealM
Real*4
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
Description
Emission rate in layer 2 for:
Higher aldehydes
Carbon monoxide
Ethylene
Formaldehyde
Isoprene
Nitric oxide
Nitrogen dioxide
Olefins
Paraffins
Toluene
Xylene
Nonreactive hydrocarbons
Tracer species
Methanol
111
-------
2. Nonstandard Output Files
None
III. CONTROL CARDS
Two control cards are used to input control data in the format shown below. Table 2.93 defines the
control card variables.
BIOG
SDATE SHR EDATE EHR
TABLE 2.93. CONTROL CARD VARIABLES
Variable
Name
Unit
Description
BIOG
SDATE
SHR
EDATE
EHR
EST
EST
Biogenics flag
.TRUE. = use biogenics data
.FALSE. = do not use biogenics data
Julian scenario start date as YYDDD
Scenario start time as HH
Julian scenario end date as YYDDD
Scenario end time as HH
Example:
.TRUE.
80194128019711
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
FORTRAN source files: 5 files 54 blocks
FORTRAN INCLUDE files: 5 files 15 blocks
Object files: 5 files 42 blocks
Executable file: _1 file j&4 blocks
16 files 195 blocks
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss):
Buffered I/O count:
Direct I/O count:
Peak working-set size:
Peak virtual size:
00:03:09
287
17167
4511
8093
112
-------
C. Space Requirements: Log and Print Files
P10GX1.LOG:
Print Files:
57 blocks
None
D. Space Requirements: Input and Output Files
Table 2.94 shows the input file and output file space requirements.
TABLE 2.94. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
PF106
PF107
PF115
PF119
PF132
PF135
PF141
PF144
PF145
PF155
MF109
MF110
MF111
MF112
MF132
MF133
MF134
PTE3
MF123
MF143
MF144
MF145
File
Type
3
5
5
4
5
4
4
5
5
4
5
5
5
5
5
5
5
Nonstd
4
5
5
5
Storage
(in blocks)
2142
1899
3798
55
1899
55
54
13287
30369
55
1899
1899
1899
1899
1899
1899
1899
13833
80739
1899
26574
26574
26574
81621
Scenario
Data Span
72 hours
72 hours
72 hours
N/A
72 hours
N/A
N/A
72 hours
72 hours
N/A
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
N/A
72 hours
72 hours
72 hours
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P10GV1B.LNK follows:
113
-------
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE $2$DUA24:[ROMCOM.ROMNET}P10GV1B.LNK
$ ON WARNING THEN EXIT
$ ASSIGN MLAB: SYSSPRINT
$ MAPFILE = "METl:tS01S]P10GV1B.MAP"
$ EXEFILE = "$2$OUA24:[ROMCOM.ROMNET3P10GV1B.EXE"
$ ASSIGN/USER MODE $2$DUA24:tROMCMS.PROCES3P10G.OBJ A1
$ ASSIGN/USER MODE $2$DUA24:[ROMCMS.PROCESJADPFMF.OBJ A2
$ ASSIGN/USERJtODE $2$DUA24:[ROMCMS.PROCES]RDSTAK.OBJ A3
$ ASSIGN/USER MODE $2$OUA24: [ROMCMS.PROCES]SATEMP.OBJ A4
$ ASSIGN/USER~MODE $2$DUA24:[ROMCMS.PROCES]SETCLK.OBJ A5
$ ASS1GN/USER_MOOE S2SDUA24: [ROMCMS.UTILIO]ADATE.OBJ A6
$ ASSIGN/USER MODE $2$OUA24:[ROMCMS.UTILIO]CELLO.OBJ A7
$ ASSIGN/USERJ10DE $2$DUA24: [ROMCMS.UTILIOKELL1.OBJ AS
$ ASSIGN/USER MODE $2$DUA24:[ROMCMS.UTILIOJCELL2.OBJ A9
$ ASSIGN/USERJ100E $2$DUA24: [ROMCMS.UTILIOKELLAR.OBJ A10
$ ASSIGN/USER MODE S2SDUA24:[ROMCMS.UTILIO]FLSMRY.OBJ A11
$ ASSIGN/USER MODE S2SDUA24:[ROMCMS.UTILIO]FSTAT1.OBJ A12
$ ASSIGN/USER_MODE $2$DUA24:[ROMCMS.UTILIO]IBLKR.OBJ A13
$ ASSIGN/USER MODE $2$OUA24:[ROMCMS.UTILIO] IOCL.OBJ A14
$ ASSIGN/USER~MODE $2$OUA24:[ROMCMS.UTILIO]JFILE1.OBJ A15
S ASSIGN/USERJ10DE S2SDUA24:tROMCMS.UTILIO]JFILE2.0BJ A16
$ ASSIGN/USER MODE S2SOUA24:[ROMCMS.UTILIO]JFILE3.OBJ A17
$ ASSIGN/USER MODE S2SDUA24:CROMCMS.UTILIO]JHOUR1.OBJ A18
$ ASSIGN/USER~MODE S2SDUA24:[ROMCMS.UTILIO]JUNIT.OBJ A19
$ ASSIGN/USER~MODE $2$OUA24:[ROMCMS.UTILIO]OPDIR2.0BJ A20
$ ASSIGN/USER MODE $2$OUA24:[ROMCMS.UTILIO]OPEN2.OBJ A21
$ ASSIGN/USER_MODE $2$OUA24:[ROMCMS.UTILIO]PROGID.OBJ A22
( ASSIGN/USER_MODE $2$DUA24:[ROMCMS.UTILIO]RDDIR1.OBJ A23
$ ASSIGN/USER_MODE S2SDUA24:[ROMCMS.UTILI01RDFT3.OBJ A24
$ ASSIGN/USER MODE S2SDUA24:[ROMCMS.UTILIO]RDFT4.OBJ A25
$ ASSIGN/USER MODE 52SOUA24:[ROMCMS.UTILIO]RDFT5.0BJ A26
$ ASSIGN/USERJ10DE S2SOUA24:[ROMCMS.UTILI03RDFHD1.OBJ A27
$ ASSIGN/USER MODE J2SOUA24:[ROMCMS.UTILIO]RDFHD2.OBJ A28
$ ASSIGN/USER~MODE S2SDUA24: [ROMCMS.UTILIO]RDREC.OBJ A29
$ ASSIGN/USER MODE S2SDUA24:[ROMCMS.UTILIO]WRFT4.0BJ A30
$ ASSIGN/USER MODE S2SOUA24:[ROMCMS.UTILIO]WRFT5.OBJ A31
$ ASSIGN/USER~MODE S2SDUA24:[ROMCMS.UTILIO]WRREC.OBJ A32
$ LINK -
/EXECUTABLE = S2SOUA24:[ROMCOM.ROMNET3P10GV1B.EXE -
/MAP = MET1:[S01S]P10GV1B.MAP •
A1, -
A2, -
A3. -
A30, -
A31, -
A32
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1:tS01S]P10GV1B.MAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P10GX1.COM follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE USER2SDISK:[FOREMAN.FV1S03A1P10GX1.COM
S ASSIGN MLAB: SYSSPRINT
$ ! ASSIGN INPUT FILES
$ ASSIGN MET1:[ROMNET1DIRECT2.DAT;14 PFMFDIR
$ ASSIGN MET1:[ROMNET1.D000001PF119A.DAT PF119
114
-------
$ ASSIGN MET1: [ROMNET1.DOOOOOJPF135A.DAT PF135
$ ASSIGN MET1: [ROMNET1.DOOOOO]PF155A.DAT PF155
$ ASSIGN MET58:[ROMNET1.D851883PTE3A.DAT PTE3
$ ASSIGN MET58: [ROMNET1.D851881PF141A.DAT PFU1
$ ASSIGN MET58: [ROMNET1.D851883PF145A.DAT PF145
$ ASSIGN MET56:[ROMNET1.D851881PF144A.DAT PF144
$ ASSIGN MET56:[ROMNET1.D85188JPF106A.DAT PF106
$ ASSIGN MET56:[ROMNET1.D851883PF107A.DAT PF107
$ ASSIGN MET56:[ROMNET1.D851881PF132A.DAT PF132
S ASSIGN MET56:[ROMNET1.D85188JMF109A.DAT MF109
$ ASSIGN MET56:[ROMNET1.D851881MF110A.DAT MF110
$ ASSIGN MET56:[ROMNET1.D851883MF111A.DAT MF111
$ ASSIGN MET56:[ROMNET1.D851881PF115A.DAT PF115
$ ASSIGN MET56:[ROMNETt.D851883MF112A.DAT MF112
$ ASSIGN MET56:[ROMNET1.D851881MF132A.DAT MF132
$ ASSIGN MET56:[ROMNET1.D85188JMF133A.DAT MF133
$ ASSIGN MET56:[ROMNET1.D85188JMF134A.DAT MF134
$ ! ASSIGN OUTPUT FILES
$ ASSIGN MET58:fROMNET1.D85188JMF123A.DAT MF123
$ ASSIGN MET58:[ROMNET1.D85188JMF143A.DAT MF143
$ ASSIGN MET58: [ROHNET1.D85188JMF144A.DAT MF144
$ ASSIGN MET58: [ROMNET1.D85188JMFH5A.DAT NF145
$ !
$ !SYNCHRONIZE/QUE=NORM MOD1/ENTRY=895
$ !
S ! ASSIGN CONTROL CARDS FILE
$ TYPE USER2SDISK:[FOREMAN.FV1503A]P10GX1.CPR
$ ASSIGN / USER MODE USER2SDISK:[FOREMAN.FV1503A]P10GX1.CPR SYS$INPUT
$ !
$ RUN S2SDUA24:[ROMEXE.ROMNET1P10GV1B.EXE
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P10GV1B
B. Subroutines
SETCLK RDSTAK
ADPFMF - SATEMP
C. Functions
None
D. Block Data Files
None
115
-------
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A. Subroutines
DISK$VAXSET:[ROMLIB.UTILIO]
ADATE
CELLO
CELL1
CELL2
CELLAR
FLSMRY
FSTAT1
IBLKR
JFILE1
OPDIR2
OPEN2
PROGID
RDDIR1
RDFT3
RDFT4
RDFT5
RDFHD1
RDFHD2
RDREC
WRFT4
WRFT5
WRREC
B. Functions
DISK$VAXSET:[ROMLIB.UnLIO]
JHOURl
JUNIT
IOCL
JFILE2
JFILE3
IX. INCLUDE FILES
DISK$VAXSET:[ROMLffi.ROMNETJ
REGPRM.EXT
DISK$VAXSET:[ROMLIB.PROCES]
EMISP.EXT
FILEID.EXT
METPRM.EXT
STKDAT.EXT
U1.EXT
2.11 PROCESSOR P11G (METEOROLOGY)
I. PROCESSOR FUNCTION
This stage 5 processor computes the hourly gridded wind fields from Fourier transforms for layers 1,2,
and 3, except for layer 1 during nighttime inversion conditions.
When we write the latitudinal and longitudinal components of the wind field as Fourier series, each
wind observation yields a pair of equations that relate (1) the Fourier coefficients of an observed wind,
and (2) the Fourier basis functions at the observation site, to the u and v components of the observed
wind. The set of equations can be collected into one matrix equation C • x - b, where C is the matrix of
values of the Fourier basis functions (calculated in trigonometric form as opposed to exponential
form), x is the vector of the Fourier coefficients of the wind field, and b is the vector of wind observa-
tions. This equation has, in practice, infinitely many solutions. P11G determines a wind field from the
set of infinite solutions by (1) determining the shape of the energy spectrum curve, and (2) the constant
of proportionality that determines the amplitude of this curve from the estimated kinetic energy per-
116
-------
turbation of the wind field. Given the curve shapes and the constants of proportionality, PUG com-
putes an approximate solution to the -3 Power Law using a convergence algorithm (Lamb 1984a,
Chapter 10).
II. I/O COMPONENTS
A. Input Files
1. Standard Input Files
PUG uses 7 standard input files:
PF101 from P01G MF109 from P07G
PF106 from P03G MF1 12 from P08G
PF127 from P07G MF113 from P08G
PF148 from P07G
2. Nonstandard Input Files
None
B. Output Files
1. Standard Output Files
a. PF113
This file contains the hourly gridded wind field for layer 3. It is used by P12G and P29G,
and its parameters are shown in Table 2.95.
_ TABLE 2.95. PF113 PARAMETERS _
Parm Farm Data
No. Name Unit Type Description
m-s-J Real*4 Layer 3 hourly gridded west-east wind
component
2 3fj>f, m-s-1 Real*4 Layer 3 hourly gridded north-south wind
component
Note: i = column number,;' = row number, h - hour.
b. PF114
This file contains the hourly gridded wind field for layer 2. It is used by P12G and P29G,
and its parameters are shown in Table 2.96.
117
-------
TABLE 2.96. PF114 PARAMETERS
Farm Farm Data
No. Name Unit Type Description
ih m-s-1 Real*4 Layer 2 hourly gridded west-east wind
component
2 2y;/, m-s-1 Real*4 Layer 2 hourly gridded north-south wind
component
Note: i = column number,; = row number, h = hour.
C. PF115
This file contains the hourly gridded wind field for layer 1. It is used by P10G, P12G,
P29G, and P33G; its parameters are shown in Table 2.97.
TABLE 2.97. PF115 PARAMETERS
Farm Farm
No. Name
i ly;/,
Unit
m-s-1
m-s-1
Data
Type
Real*4
Real*4
Description
Layer 1 hourly gridded west-east wind
component
Layer 1 hourly gridded north-south wind
component
Note:;' = column number,;' = row number, h = hour.
2. Nonstandard Output Files
a. The WNDOB Files
The WNDOB1, WNDOB2, and WNDOB3 files are direct access (binary) files that contain
records with lengths equal to (1 + 6 x NT), where NT is the maximum number of upper-air and
surface observation stations in the modeling domain (for ROMNET, NT = 300). Each of the
three WNDOB files contains 72 records, each with hourly layer-averaged u and v observed
wind components at each observation site for layers 1,2, and 3 respectively.9 The contents of
the files' records 1 - 72 are shown in Table 2.98; record 0 consists of a standard PF/MF file
header.
9. A single scenario consists of 72 hours.
118
-------
TABLE 2.98. WNDOB1, WNDOB2, AND WNDOB3 PARAMETERS
Farm Farm
No. Name
1 NSTAo,^
2 ID^/j
3 ELEVo^
4 LONQ/,
5 LATo/i
X- T T
Unit
m
o \y
0 N
m-s-i
m-s-1
Data
Type
Integer*4
Integer*4
Real*4
Real*4
Real*4
Real*4
Real*4
Description
Number of stations reporting at
Station identifiers
Station elevation
Station longitude
Station latitude
this hour
Hourly observed west-east wind component
Hourlypbserved north-south wind component
Note: Parameters 2 - 7 are the 6 variables for each station making up NT; these parameters are contained within
arrays of the data type shown. Subscripts are: o = observed and h = hour. Surface stations are distinguished
(from upper-air stations) by assigning them an elevation of 9999.0 m.
b. The FT Files
The FT1, FT2, and FT3 files are direct access (binary) files that contain records with lengths
equal to (10 + NA + NT + 4 x M0), where NA (= 100) is the number of annuli used in the
processor's convergence procedure, NT is the maximum number of upper-air and surface
observation stations in the modeling domain (for ROMNET, NT = 300), and MQ (= 1037) is
the number of wave numbers used for the Fourier series. Each of the three FT files contains 72
records, each with hourly Fourier coefficients, as well as layer-averaged u and v computed
average wind components, for layers 1,2, and 3 respectively. The contents of the files' records
1 - 72 are shown in Table 2.99; record 0 consists of a standard PF/MF file header.
TABLE 2.99. FT1, FT2, AND FT3 PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Farm
Name Unit
NOITER
MU m
NU m
KMAX1
LMAX2
MO
MSTAT
UAVG m-s-i
VAVG m-s-i
NANULI
R(NA)
ISTANO
LJR
VR
UI
VI
Data
Type
Integer*4
Real*4
Real*4
Integer*4
Integer*4
Integer*4
Integer*4
Real*4
Real*4
Integer*4
Real*4
Integer*4
Real*4
Real*4
Real*4
Real*4
Description
No. of iterations used
Fundamental longitudinal wavelength
Fundamental latitudinal wavelength
Maximum longitudinal wave number used
Maximum latitudinal wave number used
Maximum number of wavelengths
Number of stations used
Average layer u component of wind
Average layer v component of wind
Number of annuli used
Radii of the annuli
Station ID
Fourier coefficients: Real part of u
Imaginary part of u
Real part of v
Imaginary part of v
Note: Parameters 11-16 are contained within arrays of the data type shown.
119
-------
III. CONTROL CARDS
One control card is used to input control data in the format shown below. Table 2.100 defines the
control card variables.
YYDDD HH TT
TABLE 2.100. CONTROL CARD VARIABLES
Variable
Name
Unit
Description
YYDDD
HH
TT
EST
h
Julian start date as YYDDD
Stan hour as HH
Scenario duration
Example:
88194 12 72
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
FORTRAN source files:
FORTRAN INCLUDE files:
Object files:
Executable file:
73 files
20 files
73 files
_1 file
167 files
948 blocks
144 blocks
435 blocks
222 blocks
1749 blocks
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss):
Buffered I/O count:
Direct I/O count:
Peak working-set size:
Peak virtual size:
C. Space Requirements: Log and Print Files
1:37:02
556
9496
3452
16078
P11GX1.LOG:
Print Files:
288 blocks
528 blocks
D. Space Requirements: Input and Output Files
Table 2.101 shows the input file and output file space requirements.
120
-------
TABLE 2.101. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
PF101
PF106
PF127
PF148
MF109
MF112
MF113
PF113
PF114
PF115
WNDOB1
WNDOB2
WNDOB3
FT1
FT2
FT3
File
Type
1
3
5
5
5
5
5
5
5
5
nonstd
nonstd
nonstd
nonstd
nonstd
nonstd
Storage
(in blocks)
6465
2142
3798
1899
1899
1899
1899
20001
3798
3798
3798
960
960
960
2574
2574
2574
219%
Scenario
Data Span
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P11GV1B.LNK follows:
! ACCOUNTING CODE
SET VERIFY
RUN STREAM IS IN FILE DISK$VAXSET:[ROMCOM.ROMNETJP11GV1B.LNK
ON WARNING THEN EXIT
ASSIGN MLAB: SYSSPRINT
$ MAPFILE = »MET1:[S01S]P11GV1B.MAP»
$ EXEFILE = "DISKSVAXSET:[ROMCOM.ROMNET1P11GV1B.EXE"
$ ASSIGN/USER MODE DISttVAXSET:tROMOBJ.ROMNETJPl1G.OBJ A1
$ ASSIGN/USER'MODE DISKSVAXSET:CROMOBJ.ROMNETJALLOC.OBJ AZ
: [ROMOBJ.ROMNEHALTSOL.OBJ A3
:[ROMOBJ.ROMNET]CMPAUX.OBJ A4
:[ROMOBJ.ROMNET]CONVRG.OBJ AS
:[ROMOBJ.ROMNETJCPCONF.OBJ A6
:[ROMOBJ.ROMNET]CPGRAD.OBJ A7
$ ASSIGN/USER_MOOE DISKSVAXSET:[ROMOBJ.ROMNET]CUBMIN.OBJ AS
:[ROMOBJ.ROMNET]DIVRG.OBJ A9
:[ROMOBJ.ROMNET]DSLMAT. OBJ A10
:[ROMOBJ.ROMNET]DVGCLC.OBJ A11
:[ROMOBJ.ROMNET]DVGGRO.OBJ A12
:[ROMOBJ.ROMNET]DVMCLC.OBJ A13
: [ROMOBJ.ROMNET]EXPCLC.OBJ AH
:[ROMOBJ.ROMNET]FILES.OBJ A15
:[ROMOBJ.ROMNET]FINLPT.OBJ A16
Air
$ ASSIGN/USER MODE DISKSVAXSET:
$ ASSIGN/USER MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER MODE DISKJVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
ASSIGN/USER'MODE DISKSVAXSET:
ASSIGN/USER'MODE DISKSVAXSET.-
ASSIGN/USER MODE DISKSVAXSET:
ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.ROMNET1GCALC.OBJ
121
-------
$ ASSIGN/USER
$ ASSIGN/USER'
$ ASSIGN/USER
$ ASSIGN/USER"
$ ASSIGN/USER"
$ ASSIGN/USER'
$ ASSIGN/USER'
$ ASSIGN/USER"
$ ASSIGN/USER
$ ASSIGN/USER'
$ ASSIGN/USER"
$ ASSIGN/USER'
$ ASSIGN/USER'
$ ASSIGN/USER*
$ ASSIGN/USER"
$ ASSIGN/USER'
$ ASSIGN/USER"
$ ASSIGN/USER'
$ ASSIGN/USER'
$ ASSIGN/USER'
$ ASSIGN/USER'
$ ASSIGN/USER"
$ ASSIGN/USER"
$ ASSIGN/USER'
$ ASSIGN/USER'
$ ASSIGN/USER'
$ ASSIGN/USER'
$ ASSIGN/USER"
$ ASSIGN/USER'
$ ASSIGN/USER'
$ ASSIGN/USER'
$ ASSIGN/USER'
$ ASSIGN/USER'
$ ASSIGN/USER"
$ ASSIGN/USER'
$ ASSIGN/USER'
$ ASSIGN/USER"
$ ASSIGN/USER"
$ ASSIGN/USER"
$ ASSIGN/USER'
$ ASSIGN/USER'
$ ASSIGN/USER'
$ ASSIGN/USER'
$ ASSIGN/USER'
$ ASSIGN/USER'
$ ASSIGN/USER'
$ ASSIGN/USER
$ ASSIGN/USER
$ ASSIGN/USER
s ASSIGN/USER'
$ ASSIGN/USER'
$ ASSIGN/USER'
s ASSIGN/USER'
$ ASSIGN/USER
$ LINK -
/EXECUTABLE
/MAP = MET1
A1. -
A2. -
A3. -
MODE DISKSVAXSET:CROMOBJ,
MODE DISKSVAXSET:CROMOBJ
MODE DISKSVAXSET:CROMOBJ
MODE DISKSVAXSET:CROMOBJ
MODE DISKSVAXSET:CROMOBJ
"MODE DISKSVAXSET: CROMOBJ
'MODE DISKSVAXSET: CROMOBJ
'MODE D i SKSVAXSET : CROMOBJ
"MODE DISKSVAXSET: CROMOBJ
'MODE DISKSVAXSET:CROMOBJ
'MODE DISKSVAXSET: CROMOBJ
'MODE DISKSVAXSET: CROMOBJ
'MODE DISKSVAXSET: CROMOBJ
'MODE DISKSVAXSET:CROMOBJ
'MODE DISKSVAXSET:CROMOBJ
'MODE DISKSVAXSET: CROMOBJ
"MODE DISKSVAXSET: CROMOBJ
"MODE DISKSVAXSET:CROMOBJ
"MODE DISKSVAXSET:CROMOBJ
MODE DISKSVAXSET:CROMOBJ
"MODE DISKSVAXSET:CROMOBJ
"MODE DISKSVAXSET:CROMOBJ
"MODE DISKSVAXSET:CROMOBJ
MODE DISKSVAXSET:CROMOBJ
"MODE DISKSVAXSET:CROMOBJ
MODE DISKSVAXSET:CROMOBJ
'MODE DISKSVAXSET:CROMOBJ
MODE DISKSVAXSET:CROMOBJ
"MODE DISKSVAXSET:CROMOBJ
'MODE DISKSVAXSET:CROMOBJ
'MODE DISKSVAXSET:CROMOBJ
"MODE DISKSVAXSET:CROMOBJ
MODE DISKSVAXSET:CROMOBJ
'MODE DISKSVAXSET:CROMOBJ
'MODE DISKSVAXSET:CROMOBJ
'MODE DISKSVAXSET:CROMOBJ
'MODE DISKSVAXSET:CROMOBJ
MODE DISKSVAXSET:CROMOBJ
'MODE DISKSVAXSET:CROMOBJ
MODE DISKSVAXSET:CROMOBJ
'MODE DISKSVAXSET:CROMOBJ
'MODE DISKSVAXSET:CROMOBJ
MODE DISKSVAXSET:CROMOBJ
MODE DISKSVAXSET:CROMOBJ
"MODE DISKSVAXSET:CROMOBJ
"MODE DISKSVAXSET:CROMOBJ
MODE DISKSVAXSET:CROMOBJ
"MODE DISKSVAXSET:CROMOBJ
"MODE DISKSVAXSET:CROMOBJ
MODE DISKSVAXSET:CROMOBJ
MODE DISK$VAXSET:[ROMOBJ
'MODE DISKSVAXSET: CROMOBJ
'MODE DISKSVAXSET: CROMOBJ
MODE DISKSVAXSET:CROMOBJ
.ROMNET]GENCLC.OBJ
.ROMNET]HESS.OBJ
.ROMNET]INITPT.OBJ
.ROMNET]LAVRG.OBJ
.ROMNET]LINMIN.OBJ
.ROMNET]MEAN.OBJ
.ROMNET]P18.OBJ
.ROMNET]P20.OBJ
.ROMNET]POW.OBJ
.ROMNET]PROJEC.OBJ
.ROMNET]RDHTS.OBJ
.ROMNET]RDPLOT.OBJ
.ROMNET]READIN11.OBJ
.ROMNET]REFRSH.OBJ
.ROMNET]SETUP11.OBJ
.ROMNET]SLMAT.OBJ
.ROMNET]TSTFN.OBJ
.ROMNET]UV11.OBJ
.ROMNET]WEIGHT11.OBJ
.ROMNET]WRPLOT.OBJ
.ROMNET]URTOBS.OBJ
.ROMNET]XVCCLC.06J
.UTILI01ADATE.OBJ
.UTILI01BGRID2.0BJ
.UTILI01BGRID3.0BJ
.UTILI01CELLO.OBJ
.UTILI01CELL1.0BJ
.UT1L101CELL2.0BJ
.UTILIO]DATHR3.0BJ
.UTILI01DATHR6.0BJ
.UTILIOmSMRY.OBJ
.UTILI01FSTAT1.0BJ
.UTILI03GETMEM.OBJ
.UTILI01GETYN.OBJ
.UTILIOHBIKR.OBJ
.UTIL10]IOCL.OBJ
.UTILI01JHOUR1.0BJ
-UTILI03JFILE1.0BJ
.UTILIO]JFILE2.0BJ
.UTILI01JFILE3.0BJ
.UTILI01JUNIT.OBJ
.UTILI01NEXTHR.OBJ
.UTILI010PDIR2.0BJ
.UTIL10]OPEN2.0BJ
.UTILIOmoGID.OBJ
.UTILI01RDDIR1.0BJ
.UTILI01RDFHD1.0BJ
.UTILIO]RDFHD2.0BJ
.UTILI01RDFT1.0BJ
.UTILI01RDFT3.0BJ
.UTILI01RDFT5.0BJ
.UTILI01RDREC.OBJ
.UTILIO]WRFT5.0BJ
.UTILIOJWRREC.OBJ
A18
A19
A20
A21
A22
A23
A24
A25
A26
A27
A28
A29
A30
A31
A32
A33
A34
A35
A36
A37
A38
A39
A40
A41
A42
A43
A44
A45
A46
A47
A48
A49
A50
A51
A52
A53
A54
ASS
A56
A57
A58
A59
A60
A61
A62
A63
A64
A65
A66
A67
A68
A69
A70
A71
= DISKSVAXSET:CROMCOM.ROMNET1P11GV1B.EXE -
:CS01S]P11GV1B.MAP -
A69, -
A70, -
A71
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1:[S01SJP11GV1B.MAP
(end of link stream)
122
-------
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P11GX1.COM follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE USER2SDISK:[FOREMAN.FV1501AJP11GX1 .COM
$ ASSIGN MLAB: SYSSPRINT
$ ! ASSIGN INPUT FILES
$ ASSIGN MET1:[ROMNET]DIRECT2.DAT PFMFOIR
$ ASSIGN MET56:[ROMNET1.D851883PF101A.DAT PF101
$ ASSIGN MET56:[ROMNET1.D851881PF106A.DAT PF106
$ ASSIGN MET56:[ROMNET1.D851881PF127A.DAT PF127
$ ASSIGN MET56:[ROMNET1.D851881PF148A.DAT PF148
$ ASSIGN MET56:[ROMNET1.D851883MF109A.DAT MF109
$ ASSIGN MET56:[ROMNET1.D851881MF112A.DAT MF112
$ ASSIGN MET56:[ROMNET1.D85188JMF113A.DAT MF113
$ ! ASSIGN OUTPUT FILES
$ ASSIGN MET56:[ROMNET1.D851881PF113A.DAT
$ ASSIGN MET56:[ROMNET1.D851883PF114A.DAT
$ ASSIGN MET56:[ROMNET1.D851881PF115A.DAT
$ ASSIGN MET56:[ROHNET1.D851881FT1A.DAT
$ ASSIGN MET56: [ROMNET1.D85188m2A.DAT
ASSIGN MET56:[ROMNET1.D85188JFT3A.DAT
PF113
PF114
PF115
FT1
FT2
FT3
UNDOB1
WNDOB2
WNDOB3
$ ASSIGN MET56:[ROMNET1.D851881WNDOB1A.DAT
$ ASSIGN MET56:tROMNET1.D851883WNDOB2A.DAT
$ ASSIGN MET56:[ROMNET1.D851881WNDOB3A.DAT
$ SHOW PROCESS / ACCOUNTING
$ !
$ ! ASSIGN CONTROL CARO(S) FILE
$ TYPE USER2$OISK:[FOREMAN.FV1501AJP11GX1.CPR
$ !
$ ASSIGN / USER_MODE USER2$DISK:[FOREMAN.FV1501A1P11GX1.CPR SYSSINPUT
$ RUN $2$DUA24:[ROMEXE.ROMMET]P11GV1B
$ SHOW PROCESS / ACCOUNTING
$ 3USER2SDISK:[FOREMAN.COM13MESSAGE FV1501A P11GX1
$ PRINT/BURST/NOFEED/HEADER/COPIES=1 MET56:[ROMNET1.D85188]P11PRTFLA.APF
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P11GV1B
B. Subroutines
ALLOC
ALTSOL
CPGRAD
CUBMIN
CMPAUX
CONVRG
CPCONF
DIVRG
DSLMAT
DVGCLC
DVGGRD
DVMCLC
EXPCLC
FILES
FINLPT
GCALC
GENCLC
LAVRG
MEAN
P18
P20
PROJEC
RDHTS
RDPLOT
READIN11
REFRSH
SETUP11
SLMAT
UV11
WEIGHT11
WRPLOT
WRTOBS
XVCCLC
123
-------
C. Functions
HESS
LINMIN
POW
TSTFN
D. Block Data Files
None
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A. Subroutines
DISK$VAXSET:[ROMLIB.UnLIO]
ADATE FSTAT1
BGRID2 IBLKR
BGRID3 JFILE1
CELLO NEXTHR
CELL1 OPDIR2
CELL2 OPEN2
DATHR6 PROGID
FLSMRY RDDIR1
B. Functions
DISK$VAXSET:[ROMLIB.UTILIO]
DATHR3
GETMEM
IOCL
JFILE2
JFHJE3
RDFHD1
RDFHD2
RDFT1
RDFT3
RDFT5
RDREC
WRFT5
WRREC
JHOUR1
JUNIT
IX. INCLUDE FILES
DISK$VAXSET:[ROMLIB.ROMNETJ
REGPRM.EXT
DISKSVAXSET:(ROMLIB.PROCES]
DESCENT.EXT
DIVMAT.EXT
DVGPARMS.EXT
FHEAD2.EXT
FTRECEXT
GENTRY.EXT
MATRIX.EXT
PARM11.EXT
RADII.EXT
RAW.EXT
STATNS.EXT
UNITNOS.EXT
124
-------
2.12 PROCESSOR P12G (METEOROLOGY)
I. PROCESSOR FUNCTION
This stage 6 processor calculates the upward and downward volume fluxes between the ROM model
layers. The fluxes are calculated at the layer interfaces. Parameterizations of the effects of cumulus
clouds (when they are present) are included. These volume fluxes are used by the ROM in calculating
the interlayer transport of pollutants.
II. I/O COMPONENTS
A Input Files
1. Standard Input Files
P12G uses 28 standard input files:
PF112fromP03G
PF113 from PUG
PFll4fromPllG
PF115 from PUG
PF119fromP06G
PF125 from P07G
PF132 from P07G
PF142 from P08G
PF150 from P17G
PF151 from P17G
2. Nonstandard Input Files
None
B. Output Files
1. Standard Output Files
a. MF129
PF152 from P17G
PF153fromP17G
PF156 from P08G
PF157 from P05G
PF160 from P32G
PF161 from P32G
MF109 from P07G
MF110fromP07G
MFlllfromP07G
MF112fromP08G
MF113fromP08G
MF133 from P09G
MF134 from P09G
MF135 from P09G
MF160 from P09G
MF161 from P09G
MF162 from P09G
MF163 from P09G
This file contains the hourly gridded volume fluxes through the top surface of layer 3.
MF129 is used by P40G, and its parameter is shown in Table 2.102.
125
-------
TABLE 2.102. MF129 PARAMETER
Farm
No.
1
Farm
Name
.H3
Unit
m-s-1
Data
Type
Real*4
Description
Volume flux through top of layer 3
b. MF151
This file contains hourly gridded volume fluxes in the cumulus updraft at the base of the
clouds. MF151 is used by P04G, and its parameter is shown in Table 2.103.
TABLE 2.103. MFIS1 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 V3 m-s-1 Real*4 Cumulus updraft volume flux at cloud
base
c. MF152
This file contains hourly gridded downward volume fluxes of air (whose source lies outside
the cumulus roots) through the top surface of layer 2. MF152 is used by P40G, and its
parameter is shown in Table 2.104.
TABLE 2.104. MF152 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 W2MNS m-s-1 Real*4 Downward volume flux through top of
layer 2
d. MF153
This file contains hourly gridded upward volume fluxes of air (whose source lies outside
the cumulus roots) through the top of layer 2. MF153 is used by P40G, and its parameter
is shown in Table 2.105.
126
-------
TABLE 2.105. MF153 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 W2PLS m-s-i Real*4 Upward volume flux through top of
layer 2
e. MF154
This file contains hourly gridded downward volume fluxes of air (whose source lies outside
the cumulus roots) through the top of layer 1. MF154 is used by P40G, and its parameter
is shown in Table 2.106.
TABLE 2.106. MF154 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 W1MNS m-s-1 Real*4 Downward volume flux through top of
layer 1
f. MF155
This file contains hourly gridded upward volume fluxes of air (whose source lies outside
the cumulus roots) through the top of layer 1. MF153 is used by P40G, and its parameter
is shown in Table 2.107.
TABLE 2.107. MF1SS PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 W1PLS m-s-1 Real*4 Upward volume flux through top of
layer 1
g. MF156
This file contains hourly gridded downward volume fluxes of air (whose source lies outside
the cumulus roots) through the top of layer 0. MF156 is used by P40G, and its parameter
is shown in Table 2.108.
127
-------
TABLE 2.108. MF156 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 WOMNS m-s-i Real*4 Downward volume flux through top of
layer 0
h. MF157
This file contains hourly gridded upward volume fluxes of air (whose source lies outside
the cumulus roots) through the top of layer 0. MF157 is used by P40G, and its parameter
is shown in Table 2.109.
TABLE 2.109. MF1S7 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 WOPLS m-s-i Real*4 Upward volume flux through top of
layer 0
2. Nonstandard Output Files
None
III. CONTROL CARDS
One control card is used to input control data in the format shown below. Table 2.110 defines the
control card variables.
ID ATE IHRBGN NUMHRS
TABLE 2.110. CONTROL CARD VARIABLES
Variable
Name Unit Description
IDATE Julian scenario start date as YYDDD
IHRBGN EST Scenario start time as HH
NUMHRS h Number of hours to process
Example:
80194 12 72
128
-------
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
FORTRAN source files: 6 files 100 blocks
FORTRAN INCLUDE files: 4 files 29 blocks
Object files: 6 files 40 blocks
Executable file: _1 file 73 blocks
17 files 242 blocks
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss): 00:40:31
Buffered I/O count: 455
Direct I/O count: 13369
Peak working-set size: 3783
Peak virtual size: 6802
C. Space Requirements: Log and Print Files
P12GX1.LOG: ±204 blocks (varies)
Print Files: None
D. Space Requirements: Input and Output Files
Table 2.111 shows the input file and output file space requirements.
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P12GV1A.LNK follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
* ! RUN STREAM IS IN FILE $2*DUA24:[ROMCOM.ROMNET]P12GV1A.LNK
$ ON WARNING THEN EXIT
$ ASSIGN HLAB: SYSSPRINT
$ MAPFILE = "MET1:[S01S]P12GV1A.MAP"
$ EXEFILE = "S2$OUA24:tROMCOH.ROMNET3Pl2GV1A.EXE"
$ ASSIGN/USER MODE $2SDUA24:[ROHOBJ.ROMNET]P12G.OBJ A1
S ASS1GN/USER~MODE S2$DUA24:tROMOBJ.ROMNET]ALLFLX.OBJ A2
$ ASSIGN/USER'MODE $2$ouA24:CROMOBJ.ROMNET]CUFLUX.OBJ A3
$ ASSIGN/USER MODE S2SDUA24:[ROMOBJ.ROMNET]CUSET.OBJ A4
$ ASSIGN/USER~MODE S2$DUA24:[ROMOBJ.ROMNET]ERF.OBJ A5
$ ASSIGN/USER MODE S2SDUA24: [ROMOBJ.ROMNET]VOLFLX.OBJ A6
$ ASSIGN/USER~MODE S2SDUA24: [ROMOBJ.UTILIOJADATE.OBJ A7
$ ASSIGN/USER~MODE S2SDUA24:[ROMOBJ.UTILIO]CELLO.OBJ AS
$ ASSIGN/USER MODE S2SOUA24:[ROHOBJ.UTILIO]DATHR3.OBJ A9
$ ASSIGN/USER~MODE S2SDUA24:[ROMOBJ.UTILIO]FLSMRY.OBJ A10
$ ASSIGN/USER~MODE S2SDUA24: [ROMOBJ.UTILIO]FSTAT1.OBJ A11
$ ASSIGN/USER~MOOE S2SOUA24:[ROMOBJ.UTILIO]IBLKR.OBJ A12
$ ASSIGN/USER~MODE $2$OUA24:[ROMOBJ.UTILIO]IOCL.OBJ A13
' S2$DUA24:[ROMOBJ.UTILIO]JFILE1.0BJ A14
129
-------
TABLE 2.111. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
PF112
PF113
PF114
PF115
PF119
PF125
PF132
PF142
PF150
PF151
PF152
PF153
PF156
PF157
PF160
PF161
MF109
MF110
MF111
MF112
MF113
MF133
MF134
MF135
MF160
MF161
MF162
MF163
MF129
MF15I
MF152
MF153
MF154
MF155
MF156
MF157
File
Type
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
Storage
(in blocks)
1898
3770
3770
3770
52
1898
1898
1898
1898
1898
1898
1898
1898
1898
1898
1898
1898
1898
1898
1898
1898
1898
1898
1898
1898
1898
1898
1898
56914
1898
1898
1898
1898
1898
1898
1898
1898
15184
Scenario
Data Span
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
130
-------
$ ASSIGN/USER
$ ASSIGN/USER
$ ASSIGN/USER
ASSIGN/USER
ASSIGN/USER'
ASSIGN/USER
ASSIGN/USER'
ASSIGN/USER'
ASSIGN/USER'
ASSIGN/USER
$ ASSIGN/USER
ASSIGN/USER'
ASSIGN/USER'
LINK -
/EXECUTABLE
/MAP = MET1
A1. -
A2, -
A3, -
MODE S2SDUA24:
'MODE $2$OUA24:
'MODE $2$ouA24:
'MODE $2$OUA24:
'MODE $2$OUA24:
'MODE $2$OUA24:
'MODE $2$OUA24:
"MODE $2$OUA24:
'MODE $2$OUA24:
~MODE $2$DUA24:
"MODE $2$OUA24:
"MODE $2$DUA24:
"MODE $2$OUA24:
[ROMOBJ.UTILI0]JHOUR1.OBJ
[ROMOBJ.UTILI01JUNIT.OBJ
tROM06J.UTILI01NEXTHR.06J
[ROMOBJ.UTIL1010PDIR2.0BJ
[ROMOBJ.UTILI010PEN2.OBJ
[ROMOBJ.UTILI01PROGID.06J
[ROMOBJ.UTILI0]RODIR1.OBJ
[ROMOBJ.UTILI01RDFHD1.0BJ
[RONOBJ.UTILI01RDREC.OBJ
[ROMOBJ.UTILI01ROFU.OBJ
[ROMOBJ.UTIL10]RD FT5.OBJ
[ROMOBJ.UTIL10]UR FT5.06J
[ROMOBJ.UTILI01URREC.OBJ
= S2SOUA24:[ROMCOM.ROMNET1P12GV1A.EXE -
;[S01S1P12GV1A.MAP -
A15
A16
A17
A18
A19
A20
A21
A22
A23
A24
A25
A26
A27
A25, -
A26, -
A27
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1:[S01S]P12GV1A.MAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P12GX1.COM follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE USER2SDISK: [FOREMAN.FV150U1P12GX1.COM
$ ASSIGN MLAB: SYSJPRINT
$ ! ASSIGN INPUT FILES
$ ASSIGN MET1:[ROMNET1DIRECT2.DAT PFMFDIR
$ ASSIGN MET56:[ROMNET1.D851881PF112A.DAT PF112
$ ASSIGN MET56:[ROMNET1.D851881PF113A.DAT PF113
$ ASSIGN MET56: [ROMNET1.D851881PF1HA.DAT PF114
$ ASSIGN MET56:[ROMNET1.D85188JPF115A.DAT PF115
$ ASSIGN MET1: [ROMNET1.D000001PF119A.DAT PF119
$ ASSIGN MET56:[ROMNET1.D851881PF125A.DAT PF125
$ ASSIGN MET56:[ROMNET1.D85188JPF132A.DAT PF132
$ ASSIGN MET56:[ROMNET1.D85188JPF142A.DAT PFK2
$ ASSIGN MET56:[ROMNET1.D851881PF150A.DAT PF150
$ ASSIGN MET56:[ROMNET1.D851883PF151A.DAT PF151
$ ASSIGN MET56:[ROMNET1.D851881PF152A.DAT PF152
$ ASSIGN MET56:[ROMNET1.D851881PF153A.DAT PF153
$ ASSIGN MET56:[ROMNET1.D851881PF156A.DAT PF156
$ ASSIGN MET56:[ROMNET1.D851881PF157A.DAT PF157
$ ASSIGN HET56:[ROMNET1.D851881PF160A.DAT PF160
$ ASSIGN MET56:[ROMNET1.D851881PF161A.DAT PF161
(ASSIGN MET56:[ROMNET1.D85188JMF109A.DAT MF109
$ ASSIGN MET56:[ROMNET1.D851881MF110A.DAT MF110
$ ASSIGN MET56:[ROMNET1.D851881MF111A.DAT MF111
$ ASSIGN MET56:[ROHNET1.D851883MF112A.DAT MF112
$ ASSIGN MET56:[ROMNET1.D851881MF113A.DAT MF113
$ ASSIGN MET56:[ROHNET1.D851881MF133A.DAT MF133
$ ASSIGN MET56:[ROMNET1.D851881MF134A.DAT MF134
$ ASSIGN MET56:[ROMNET1.D851881MF135A.DAT MF13S
$ ASSIGN MET56:[ROMNET1.D851881MF160A.DAT MF160
$ ASSIGN MET56:[ROMNET1.D851881MF161A.DAT MF161
S ASSIGN MET56:[ROMNET1.D85188JHF162A.DAT MF162
131
-------
( ASSIGN MET56: [ROMNET1.D85188JMF163A.DAT
$ ! ASSIGN OUTPUT FILES
$ ASSIGN MET56: [ROMNET1.D851881MF129A.DAT
$ ASSIGN MET56: [ROMNET1.D851881MF151A.DAT
ASSIGN MET56: [ROMNET1.D851881MF152A.DAT
ASSIGN MET56: [ROMNET1.D85 188] MF153A.DAT
ASSIGN MET56: [ROMNET1.D85188JMF154A.DAT
ASSIGN MET56: [ROMNET1 .D85188JMF155A.DAT
ASSIGN MET56: [ROMNET1 .D85188JMF156A.DAT
ASSIGN MET56: [ROMNET1 .D85188JHF157A.DAT
SHOW PROCESS / ACCOUNTING
$ !
$ ! SYNCHRON I ZE/ENTRY=578
$ ! ASSIGN CONTROL CARDS FILE
$ TYPE USER2SDISK: [FOREMAN. FV1501A1P12GX1
S ASSIGN / USER MODE USER2SD I SK: [FOREMAN.
$ !
$ RUN $2$DUA24:[ROMEXE.ROMNET]P12GV1A
MF163
MF129
MF151
MF152
MF153
MF154
MF155
MF156
MF157
.CPR
FV1501A3P12GX1.CPR
$ SHOW PROCESS / ACCOUNTING
S S)USER2$DISK: [FOREMAN.COM1]MESSAGE FV1501A
SYS$INPUT
P12GX1
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P12GV1A
B. Subroutines
. AL.LFLX
• CUFLUX
CUSET
VOLFLX
C. Functions
ERF
D. Block Data Files
None
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A. Subroutines
DISKSVAXSET:[ROMLIB.UTILIO]
ADATE
CELLO
FLSMRY
FSTAT1
IBLKR
JFTLE1
NEXTHR
OPDIR2
OPEN2
PROGID
RDDIR1
RDFHD1
RDFT4
RDFT5
RDREC
WRFT5
WRREC
132
-------
B. Functions
DISK$VAXSET:[ROMLIB.UTILIO]
DATHR3
IOCL
JHOUR1
JUNIT
IX. INCLUDE FILES
DISK$VAXSET:[ROMLIB.ROMNET]
REGPRM.EXT
DISK$VAXSET:[ROMLIB.PROCES]
GRIDD.EXT
INTRNL.EXT
MFOUT.EXT
PFMFIN.EXT
2.13 PROCESSOR P13G (EMISSIONS)
I. PROCESSOR FUNCTION
This stage 0 processor uses the data output from the LINE_C and LINE_CR preprocessors to produce
a gridded total line-source length for each grid cell in the modeling domain; note that P13G needs to be
run only one time per modeling domain. P13G selects and can weight the importance of the roads
from among the 81 total possibilities contained in the original U.S. GeoData set (and the input file)
with respect to their importance as line sources. The selection and weighting code is shown below; the
real numbers represent the weighting factors.
DATA TFAC A*1.0, 8*0.0, 19*1.0, 49*0.0, 1.0/
The line sources contained in the output file are as follows: the first four sources are U.S. Interstates
or other major highways; roads 13 - 31 are minor U.S. and state roads; the final entry is the main-line
railroads. Note that this version of the ROM does not account for Canadian line sources. However,
you may decide that you want to include these data; in this case, we suggest that you use a digitizer to
capture Canadian roads, and include the data in the input file.
133
-------
II. I/O COMPONENTS
A. Input Files
1. Standard Input Files
None
2. Nonstandard Input Files
P13G uses one nonstandard file, LINES1.DAT, that is generated by LINE_CR. This file is
read by the READ and FORMAT statements listed below, and its parameters are shown in
Table 2.112.
READ (NRD1,100,END=40) LID,NPTS,IC,IR
READ (NRD1,200,END=40) XLT1.XLN1
READ (NRD1.200) XLT1.XLN1
100 FORMAT (17,16,15,12)
FORMAT (2F9.4)
200
TABLE 2.112. LINES1.DAT PARAMETERS
Farm
No.
1
2
3
4
5
6
Farm
Name Unit
LID
NPTS;
IQ
m,
XLTli ° N
XLNh ° W
Data
Type
Integer*4
Integer*4
Integer*4
Integer*4
Real*4
Real*4
Description
Sequential line number
Number of nodes in this line
Line attribute major code
Line attribute minor code (rank)
Latitude of first node of line segment
Longitude of first node of line segment
N
N
N Real*4 Latitude of A^h node of line segment
W Real*4 Longitude of AM node of line segment
Note: / = line identifier number, major codes are all 29050; minor codes are two-digit codes that correspond to the
final two numbers in the minor codes listed in Appendix A, Domaratz a ai, (1983).
B. Output Files
1. Standard Output Files
P13G generates one standard file, PF135, that contains gridded line-source lengths; the file is
used by P10G, and its parameter are shown in Table 2.113.
134
-------
TABLE 2.113. P135 PARAMETER
Farm
No.
Farm
Name
Unit
Data
Type
Description
m
Real*4
Total cell line-source length
Note: i = column number,;' = row number
2. Nonstandard Output Files
None
III. CONTROL CARDS
None
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
FORTRAN source files:
FORTRAN INCLUDE files:
Object files:
Executable file:
B. Execution Time Requirements
Charged CPU time (hh:mm:ss):
Buffered I/O count:
Direct I/O count:
Peak working-set size:
Peak virtual size:
C. Space Requirements: Log and Print Files
3 files
1 files
3 files
1 file
8 files
13 blocks
3 blocks
12 blocks
43 blocks
71 blocks
VAX 8650
00:02:46
133
921
618
965
P13GX1.LOG:
Print Files:
9 blocks
None
D. Space Requirements: Input and Output Files
Table 2.114 shows the input file and output file space requirements.
135
-------
TABLE 2.114. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
LINES1.DAT
PF135
File
Type
Nonstd
4
Storage
(in blocks)
11469
40
Scenario
Data Span
N/A
N/A
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P13GV1ALNK follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE DISKSVAXSET:[ROMCOM.ROMNET]P13GV1A.LNK
$ ON WARNING THEN EXIT
$ ASSIGN HLAB: SYSSPRINT
$ HAPFILE = "METl:tS01S]Pl3GV1A.MAP"
$ EXEFILE = ''DISKSVAXSET: [ROMEXE.ROMNETJP13GV1A.EXE"
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.ROMNET]P13G.06J A1
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.ROMNET]RBCLIP.OBJ A2
$ ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.ROMNET]SEGSUB.OBJ A3
$ ASSIGN/USER'MOOE DISK$VAXSET:[ROMOBJ.UTILIO]ADATE.OBJ A4
$ ASSIGN/USER'MOOE DISKSVAXSET:[ROMOBJ.UTILIOTCELLO.OBJ AS
$ ASSIGN/USER'MOOE DISKSVAXSET-. [ROMOBJ.UTILIODCELLI.OBJ A6
$ ASSIGN/USER'MOOE DISKSVAXSET:[ROMOBJ.UTILIOIFLSMRY.OBJ A?
$ ASSIGN/USER'MOOE DISKSVAXSET: CROMOBJ.UTILIOIFSTATLOBJ AS
$ ASSIGN/USER'MOOE DISKSVAXSET:[ROMOBJ.UTILIO]IBLKR.OBJ A9
$ ASSIGN/USER'MOOE DISKSVAXSET:[ROMOBJ.UTILIOJIOCL.OBJ AID
$ ASSIGN/USER'MOOE DISKSVAXSET:[ROMOBJ.UTILIOIJFILEI.OBJ AH
$ ASSIGN/USER'MOOE DISKSVAXSET:[ROMOBJ.UTILI01JFILE2.OBJ A12
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTIL10]JUNIT.OBJ A13
$ ASSIGN/USER'MOOE DISKSVAXSET:[ROMOBJ.UTILIO]OPDIR2.OBJ AH
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTIL10]OPEN2.OBJ A15
$ ASSIGN/USER'MOOE DISKSVAXSET:[ROMOBJ.UTILIOIPROGID.OBJ A16
S ASSIGN/USER MODE DISKSVAXSET: [ROMOBJ.UTILIOJRDDIR1.OBJ A17
$ ASSIGN/USER'MOOE DISK$VAXSET:[ROMOBJ.UTILIOJRDREC.OBJ A18
$ ASSIGN/USER MODE DISKSVAXSET: [ROMOBJ.UTILIOJWRFU.06J A19
$ ASSIGN/USER'MOOE DISKSVAXSET:[ROMOBJ.UTILIOIWRREC.OBJ A20
$ LINK -
/EXECUTABLE = DISKSVAXSET:[ROMEXE.ROMNET1P13GV1A.EXE -
/MAP = MET1:[S01S]P13GV1A.MAP -
A1. -
A2. -
A3, -
A18, -
A19, -
A20
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1: [S01S3P13GV1A.MAP
(end of link stream)
136
-------
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P13GX1.COM follows:
(end of run stream)
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE USER2SOISK:[FOREMAN.FV1050A]P13GX1.COM
$ ASSIGN MLAB: SYSSPRINT
$ ! ASSIGN INPUT FILES
$ ASSIGN MET1:[ROMNETJDIRECT2.DAT PFMFDIR
$ ASSIGN MET1.-rROMNET.RAUDATAUINES1.DAT LINES1
$ ! ASSIGN OUTPUT FILES
$ ASSIGN MET1: [ROMNET.D000001PF135A.DAT PF135
$ SNOW PROCESS / ACCOUNTING
$ !
$ RUN DISKSVAXSET:[ROMEXE.ROMNETJP13GV1A.EXE
S SHOW PROCESS / ACCOUNTING
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P13GV1A
B. Subroutines
RBCLIP
SEGSUB
C. Functions
None
D. Block Data Files
None
VIII. I/O AND UnLITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A. Subroutines
DISKSVAXSET:[ROMLIB.UTILIO]
ADATE IBLKR OPDIR2 RDDIR1
CELLO IOCL OPEN2 RDREC
CELL1 JFILE1 PROGID WRFT4
FLSMRY JUNIT RBCLIP WRREC
FSTAT1
137
-------
B. Functions
DISK$VAXSET:[ROMLIB.UTILIO]
JFILE2
IX. INCLUDE FILES
DISK$VAXSET:[ROMLIB.ROMNET]
REGPRM.EXT
2.14 PROCESSOR P14G (EMISSIONS)
I. PROCESSOR FUNCTION
This stage 2 processor generates a three-day emissions scenario (72 hours) from point-source and
area-source emissions data, and, optionally, from mobile-source emissions data. P14G determines the
day type (weekday, Saturday, or Sunday) of the start of the scenario, and uses the appropriate hour-
ly/daily/seasonal emissions data to create the output files. These files are produced using the following
steps:
Major point sources (as designated by preprocessor PTEXTR) are written to a sequential file;
Minor point sources (also designated by PTEXTR) are merged with the area-source emissions on
a gridded, hourly basis;
Scenario mobile-source emissions (from P26G) are optionally merged (via a control card) with the
minor point-source and area-source emissions;
All emissions units, if not already standardized, are converted to mol-lr1, except for volatile
organic compounds (VOC), which have units of kg-h'1;
Two scenario-specific files are written, one containing the major point-source emissions and stack
parameters, the other the merged point-, area-, and mobile-source emissions.
II. I/O COMPONENTS
A. Input Files
1. Standard Input Files
PF167 from P26G
138
-------
2. Nonstandard Input Files
P14G uses seven nonstandard input files; there are three day-specific files for both point-
source and area-source emissions, and one file that contains the stack parameters of the major
point sources.
a. AREASACSO, AREASU.CSO, and AREAWK.CSO
These are the day-specific area-source emissions data files, generated by P34G, for Satur-
days, Sundays, and weekdays respectively. The READ and FORMAT statements for these
files are listed below, and their parameters are shown in Table 2.115.
READ(UNIT1,90,IOSTAT=IOST)COL, ROW, JTIHEA,
(STEA(I),I=1,NPOLIN)
90 FORMAT(2I4,I2,17MO.O)
TABLE 2.115. AREASA.CSO, AREASU.CSO, AND AREAWK.CSO PARAMETERS
Parm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Parm
Name
COL
ROW
JTIMEA
STEA(l)y;A
STEA(2)y;A
^TP A /^\ •
•^^**t "^ ILlJl
*—***\ ^jLj.h
STEA(5)y^
STEA(6)y^,
OTPC A f^\ .
STEA(8)y^,
STEA(9)y,,
STEA(10)y^,
STEA(ll)y^
STEA(12)V^,
O 1 Ctf\{\.3jijh
STEA^14^' * i.
STEA(15)»;^
STEA( 1 fyjjfh
STEA(17)y^,
Unit
LST
tons-h-1
tons-h-1
tons-h-1
tons-h-1
mol-kg-1
mol-kg-1
mol-kg-1
mol-kg-1
mol-kg-1
mol-kg-1
mol-kg-1
mol-kg-1
mol-kg-1
mol-kg-1
tons-h-1
tons-h-1
mol-kg-1
Data
Type
IntegerM
IntegerM
IntegerM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
Description
Column number
Row number
Hour as HH
Emission rate for NO*
Emission rate for VOC
Emission rate for THC
Emission rate for CO
Emission rate for olefins
Emission rate for paraffins
Emission rate for toluene
Emission rate for xylene
Emission rate for formaldehyde
Emission rate for aldehydes
Emission rate for ethene
Emission rate for isoprenes
Emission rate for nonr.
Emission rate for methane
Emission rate for NO
Emission rate for NO2
Emission rate for methanol
Note: i = column number,;' = row number; h = hour, VOC = volatile organic compounds; THC = total
hydrocarbons; nonr. = nonreactive hydrocarbons.
139
-------
b. PNTSA.CSO, PNTSU.CSO, and PNTWK.CSO
These are the day-specific point-source emissions binary data files, generated by P34G, for
Saturdays, Sundays, and weekdays respectively. The READ statement for these files are
listed below, and their parameters are shown in Table 2.116.
READ(UNIT1,IOSTAT=IOST)STACK, JTIME,
-------
TABLE 2.117. STACKS.CSO PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
Farm
Name
SHFLG^
STKIDp
PSLONp
PSLAT,,
EXFLp
PLMTp
DKp
TKp
WlL
zsKp
Unit
°W
°N
m3^-1
m
m
°C
m-s-1
m
Data
Type
Integer*4
Char* 12
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
Description
Major/minor point source flag:
0 = major; 1 = minor
AEROS state/county/plant/point ID
Longitude (fractional)
Latitude (fractional)
Exhaust flow rate
Plume height
Stack diameter
Exhaust gas temperature
Exhaust gas exit velocity
Stack height
Note:/> *= point source.
B. Output Files
1. Standard Output Files
a. PP141
PF141 contains the number of minor point sources in each grid cell; it is used by P10G, and its
parameter is shown in Table 2.118.
TABLE 2.118. PF141 PARAMETER
Farm
No.
Pann
Name
Unit
Data
Type
Description
NMP;
Real*4 No. of minor point sources in cell
Note: i = column number,;' = row number.
b. PF145
PF145 contains hourly gridded minor point-source, area-source, and, optionally, mobile-
source emissions data; it is used by P10G, and its parameters are shown in Table 2.119.
141
-------
TABLE 2.119. PF145 PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Farm
Name
AEMIS(l)^
AEMIS(2);ij,
A T7A>f TQ/^\ • . .
/•VOlYllOl J If i h
AEMIS(4)JA
AEMIS (5)y /j
AEMIS(6);;y|
AEM.IS(7);i' /i
AEMIS(8);//,
AEMIS(9)y^/,
AEMIS(10)^/i
A TJ\>f TO/1 1 \ •
^•jmviAoi x j. )/ 1 'A
AEMIS(12)a/,
AEMIS(13);,-^
AEMIS(14)y/,
AEMISCIS)^/,
AEMIS(16)a/i
Unit
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-J
mol-h-1
mol-h-1
mol-h-1
kg-h-1
Data
Type
Real*4
RealM
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Description
Emission rate for aldehydes
Emission rate for CO
Emission rate for ethene
Emission rate for formaldehyde
Emission rate for isoprenes
Emission rate for NO
Emission rate for NO2
Emission rate for olefins
Emission rate for paraffins
Emission rate for toluene
Emission rate for xylene
Emission rate for nonr.
Emission rate for methane
Emission rate for methanol
Emission rate for VOC
NMHC/NOZ ratio
Note: i = column number,;' = row number, h = hour; nonr. = nonreactive hydrocarbons, VOC = volatile
organic compounds, NMHC = nonmethane hydrocarbons.
2. Nonstandard Output Files
P14G generates one binary output file, PTE3.DAT, that contains the major point-source
emissions data. The WRITE statement for this file is listed below, and its parameters are
shown in Table 2.120.
WRITE(IDEVI) STACK, SLON, SLAT, SXFL, SPLM, SDK, SZSK,
& STK, SUK, (SEK(I), I=1,MPOL)
III. CONTROL CARDS
Three control cards are used to input control data in the format shown below. Table 2.121 defines the
control card variables.
NHR
ISDATE, ISTIME
MOBLFLG
142
-------
TABLE 2.120. PTE3.DAT PARAMETERS
Parm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Farm
Name
STACKp
SLONn
SLAT,,
SXFLp
SPLMp
SDKp
SZSKp
STKg
SWlL
SEK(1)M
SEK(2)o/,
SEK(3)^
SEK(4)pf,
SEK(5)^
SEK(6)M
SEK(7)M
SEK(8)p,*
SEK(9U
SEK(10)M
SEK(ll)p,A
SEK(12)M
SEK(13)p>h
OCf/1 A\
OEJVi J.H Irj /|
SEK(15)/,;/,
SEK(16)p>A
Unit
°W
°N
m3-s-!
m
m
m
°C
m-s-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
kg-h-1
Data
Type
Char* 12
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
Description
AEROS state/county/plant/point ID
Longitude (fractional)
Latitude (fractional)
Exhaust flow rate
Plume height
Stack diameter
Stack height
Exhaust gas temperature
Exhaust gas exit velocity
Emission rate for aldehydes
Emission rate for CO
Emission rate for ethene
Emission rate for formaldehyde
Emission rate for isoprenes
Emission rate for NO
Emission rate for NO2
Emission rate for olefins
Emission rate for paraffins
Emission rate for toluene
Emission rate for xylene
Emission rate for nonr.
Emission rate for methane
Emission rate for methanol
Emission rate for VOC
NMHC/NO* ratio
Note: p = point source, h = hour; nonr. = nonreactive hydrocarbons, VOC = volatile organic compounds,
NMHC = nonmethane hydrocarbons.
TABLE 2.121. CONTROL CARD VARIABLES
Variable
Name
Unit
Description
NHR
ISDATE
ISTIME
MOBLFLG
EST
Number of hours in the scenario
Julian scenario start date as YYDDD
Scenario start time as HH
Flag for mobile-source emissions:
.TRUE. =>• include
.FALSE. => exclude
Example:
72
88184,12
.TRUE.
143
-------
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
FORTRAN source files:
FORTRAN INCLUDE files:
Object files:
Executable file:
8 files
8 files
8 files
_1 file
25 files
81 blocks
34 blocks
45 blocks
975 blocks
1135 blocks
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss):
Buffered I/O count:
Direct I/O count:
Peak working-set size:
Peak virtual size:
C. Space Requirements: Log and Print Files
P14G.LOG:
Print Files:
48 blocks
None
00:24:24
458
25876
4483
6708
D. Space Requirements: Input and Output Files
Table 2.122 shows the input file and output file space requirements.
TABLE 2.122. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
PF167
AREASA.DAT
AREASU.DAT
AREAWK.DAT
PNTSADAT
PNTSU.DAT
PNTWK.DAT
STACKS
PF141
PF145
PTE3.DAT
File
Type
5
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
4
5
Nonstd
Storage
(in blocks)
30369
28392
28392
28392
57960
57960
57960
3021
292446
54
26574
14571
41199
Scenario
Data Span
72 hours
daily
daily
daily
daily
daily
daily
72 hours
72 hours
144
-------
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P14GV1B.LNK follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE DISKSVAXSET: [ROMCOM.ROMNET]P14GV1 BANK
$ ON WARNING THEN EXIT
$ ASSIGN MLAB: SYSSPRINT
$ MAPFILE = »MET1:[S01S]P14GV1B.MAP"
$ EXEFILE = "DISKSVAXSET: [ROMEXE.ROMNEnP14GV1B.EXE"
$ ASSIGN/USER_MODE DISKSVAXSET:[ROMOBJ.PROCES]P14G.OBJ
$ ASSIGN/USER NODE DISKSVAXSET: [ROMOBJ.PROCES]ARESEL.OBJ
$ ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.PROCESIPONSEL.OBJ
$ ASSIGN/USER~MODE DISKSVAXSET: [ROMOBJ.PROCES]RDPFMF.OBJ
$ ASSIGN/USER~HODE DISKSVAXSET
$ ASSIGN/USER'MODE DISKSVAXSET
$ ASSIGN/USER'MODE DISKSVAXSET
$ ASSIGN/USER_HODE DISKSVAXSET
$ ASSIGN/USER MODE DISKSVAXSET
$ ASSIGN/USER~MODE DISKSVAXSET
$ ASSIGN/USER'MODE DISKSVAXSET
$ ASSIGN/USER MODE DISKSVAXSET:
$ ASSIGN/USER~MODE DISKSVAXSET:
$ ASSJGN/USER~MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
s ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MOOE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET;
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
ASSIGN/USER'MODE DISKSVAXSET:
ASSIGN/USER'MODE DISKSVAXSET:
ASSIGN/USER'MODE DISKSVAXSET:
[ROMOBJ.PROCES]STKHSH.OBJ
[ROMOBJ.PROCES]STKMRG.OBJ
[ROMOBJ.PROCES]SUAPEM.OBJ
[ROMOBJ.PROCES]SUAPSTK.OBJ
[ROHOBJ.UTILIO]ADATE.OBJ
[ROMOBJ.UTILIOJCELLO.OBJ
[ROMOBJ.UTILIO]CELL1.0BJ
[ROMOBJ.UTILI0]CHAIN2.OBJ
[ROMOBJ.UTILIO]DATEHR.06J
[ROMOBJ.UTILIO]OATHR4.OBJ
[ROMOBJ.UTILIO]FLSMRY.OBJ
[ROMOBJ.UTILIO]FSKIP1.OBJ
[ROMOBJ.UTIL10]FSTAT1.OBJ
[ROMOBJ.UTILIO]IBLKR.OBJ
[ROMOBJ.UTILIO] INDEX1.OBJ
[ROMOBJ.UTILIO]IOCL.OBJ
[ROMOBJ.UTILIO]JFILE1.OBJ
[ROMOBJ.UTILIO]JFILE2.OBJ
[ROMOBJ.UTILI0]JFILE4.OBJ
[ROMOBJ.UTILI0]JHOUR1.OBJ
[ROMOBJ.UTILIO]JUNIT.OBJ
[ROMOBJ.UTIL10]KDAY.OBJ
[ROMOBJ.UTILIO]MATCH.OBJ
[ROMOBJ.UTILIO]OPDIR2.OBJ
[ROMOBJ.UTILIO]OPEN2.OBJ
[ROMOBJ.UTILIO]PROGID.OBJ
[ROMOBJ.UTILI0]RDDIR1.OBJ
[ROMOBJ.UTILIO]RDFHD1.OBJ
[ROMOBJ.UTILIO]RDFHD2.OBJ
[ROMOBJ.UTILIO]RDFT5.OBJ
[ROMOBJ.UTILIO]RDREC.OBJ
[ROMOBJ.UTILIO]URFT5.OBJ
ASSIGN/USER MODE DISKSVAXSET
ASSIGN/USER'MODE DISKSVAXSET: [ROMOBJ.UTILIOIURREC.OBJ
ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.UTRIOJURFU.OBJ
LINK -
/EXECUTABLE = DISKSVAXSET:[ROMEXE.ROMNETJP14GV1B.EXE -
/MAP = MET1: [S01S]PKGV1B.MAP -
A1, -
A2. -
A3. -
A1
A2
A3
A4
AS
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
A20
A21
A22
A23
A24
A25
A26
A27
A28
A29
A30
A31
A32
A33
A34
A35
A36
A37
A38
A36. -
A37, -
A38
$ PRINT -
/NOHEADER -
145
-------
/NOFEED -
/NOTIFY -
MET1:[S01S]PUGV1B.MAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P14GX1.COM follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE USER2WISK: [FOREMAN.FV1873A]P14GX1.COM
$ ASSIGN MLAB: SYSSPRINT
$ ! Assign Data Base:
ASSIGN MET1: [ROMNETJDIRECT2.DAT PFMFDIR
! Assign point source input files:
ASSIGN MET52:[EMISSIONS.RNSUM85PJSTACKS.CSO STACK
ASSIGN MET52:[EMISSIONS.RNSUM85P]PNTWK.CSO PNTUK
ASSIGN MET52:[EMISSIONS.RNSUM85PJPNTSA.CSO PNTSA
ASSIGN MET52:[EMISSIONS.RNSUM85P3PNTSU.CSO PNTSU
! Assign area source input files:
ASSIGN MET52:[EMISSIONS.RNSUM85AJAREAWK.CSO AREAUK
ASSIGN MET52:[EMISSIONS.RNSUM85A1AREASA.CSO AREASA
$ ASSIGN MET52: [EMISSIONS.RNSUM85AJAREASU.CSO AREASU
$ ! Assign mobile source input files:
$ ASSIGN MET57:[ROMNET1.D881841PF167A.DAT PF167
$ ! Assign output files:
$ ASSIGN MET57:[ROMNET1.D88184DPTE3A.DAT PTE3
$ ASSIGN MET57:[ROMNET1.D88184JPF145A.DAT PF145
$ ASSIGN MET57: CROMNET1.D88184mi4lA.DAT PF141
$ !
$ ! ASSIGN CONTROL CARO(S) FILE
$ TYPE USER2SDISK:[FOREMAN.FV1873A1P14GX1.CPR
$ !
$ ASSIGN / USER MODE USER2SOISK:[FOREMAN.FV1873A1P14GX1.CPR SYSSINPUT
$ RUN DISWVAXSET: [ROMEXE.ROMNET1PHGV1B.EXE
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P14GV1B
B. Subroutines
ARESEL STKHSH SWAPEM
PONSEL STKMRG SWAPSTK
RDPFMF
C. Functions
None
D. Block Data Files
None
146
-------
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A Subroutines
DISK$VAXSET:[ROMLIB.UTILIO]
ADATE
CELLO
CELL1
CHAIN2
DATEHR
DATHR4
FLSMRY
B. Functions
FSKIPl
IBLKR
IOCL
JFILE1
JFILE4
JHOUR1
JUNIT
KDAY
OPDIR2
OPEN2
PROGID
RDDIR1
RDFHD1
RDFHD2
RDFT5
RDREC
WRFT4
WRFT5
WRREC
DISK$VAXSET:[ROMLIB.UTILIO]
INDEXl
JFILE2
KDAY
IX. INCLUDE FILES
DISK$VAXSET:[ROMLIB.ROMNETJ
REGPRM.EXT
DISK$VAXSET:[ROMLIB.PROCES]
EMISAR.EXT
EMISPAR.EXT
HASH1.EXT
ISDATE.EXT
PRID.EXT
STKDATA.EXT
STKDAT2.EXT
2.15 PROCESSOR P15G (METEOROLOGY)
I. PROCESSOR FUNCTION
This stage 6 processor produces the hourly gridded values of effective deposition velocities for ten
chemical species. The hourly effective bulk deposition resistances are first calculated over the grid, and
are used in conjunction with the calculated aerodynamic and quasilaminar sublayer resistances to esti-
mate the hourly gridded effective deposition velocities. The effective deposition velocities for these
ten species represent the effective deposition velocities for the ROM's full complement of 35 chemical
species.
147
-------
II. I/O COMPONENTS
A. Input Files
1. Standard Input Files
PF103 from P04G
PF106 from P03G
PF107 from P04G
2. Nonstandard Input Files
None
B. Output Files
1. Standard Output Files
PF108 from P04G
PF109 from P04G
PF110fromP04G
PF118fromP25G
MF139 from P09G
MF140 from P09G
P15G writes MF146, which contains hourly gridded effective deposition velocities for ten
chemical species. MF146 is used by P40G, the B-matrix compiler, and Table 2.123 shows its
parameters.
TABLE 2.123. MF146 PARAMETERS
Parm
No.
Parm
Name
Unit
Data
Type
Description
Hourly gridded effective deposition velocity for:
1
2
3
4
5
6
7
8
9
10
ALD2
CO
FORM
H2O2
HN02
HNO3
NO
NO2
O3
PAN
m-s-1
m-s-1
m-s-1
m-s-1
m-s-1
m-s-1
m-s-1
m-s-1
m-s-1
m-s-1
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Higher aldehydes
Carbon monoxide
Formaldehyde
Hydrogen peroxide
Nitrous acid
Nitric acid
Nitric oxide
Nitrogen dioxide
Ozone
Peroxyacetyl nitrate
2. Nonstandard Output Files
None
148
-------
III. CONTROL CARDS
One control card is used to input control data in the format shown below. Table 2.124 defines the
control card variables.
IDATEO IHRO NUMHRS ISESN
TABLE 2.124. CONTROL CARD VARIABLES
Variable
Name
Unit
Description
IDATEO
IHRO
NUMHRS
ISESN
Julian scenario start date as YYDDD
EST Scenario start time as HH
Number of hours to process
Seasonal category flag:
1 Midsummer with lush vegetation
2 Fall with unharvested cropland
3 Late fall after frost, no snow
4 Winter with snow on the ground
5 Transitional spring
Example:
88194 12 72 1
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
FORTRAN source files: 2 files 58 blocks
FORTRAN INCLUDE files: 6 files 40 blocks
Object files: 2 files 20 blocks
Executable file: _1 file 77 blocks
11 files 195 blocks
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss):
Buffered I/O count:
Direct I/O count:
Peak working-set size:
Peak virtual size:
00:13:58
284
4929
2066
4425
149
-------
C. Space Requirements: Log and Print Files
P15GX1.LOG:
Print Files:
41 blocks
None
D. Space Requirements: Input and Output Files
Table 2.125 shows the input file and output file space requirements.
TABLE 2.125. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
PF103
PF106
PF107
PF108
PF109
PF110
PF118
MF139
MF140
MF146
File
Type
5
3
5
4
5
5
4
5
5
5
Storage
(in blocks)
5642
2140
1898
52
1898
1898
286
1898
1898
17610
18746
Scenario
Data Span
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P15GV1A.LNK follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE $2$D.UA24: [ROMCOM.ROMNET1P15GV1A.LNIC
$ ON WARNING THEN EXIT
$ ASSIGN MLAB: SYSSPRINT
$ MAPFILE = "MET1:[S01SJP15GV1A.HAP"
$ EXEFILE = "$2$DUA24:[ROMCOM.ROMNET]P15GV1A.EXE"
$ ASSIGN/USER MODE $2$DUA24:[ROMOBJ.ROMNET]P15G.OBJ A1
$ ASS1GN/USER_MODE $2$OUA24:[ROMOBJ.ROMNET]RST.OBJ A2
$ ASSIGN/USER MODE S2JOUA24: [ROMOBJ.UTILI01ADATE.OBJ A3
$ ASSIGN/USERJ10DE S2SDUA24:[ROMOBJ.UTILIOJCELLO.OBJ A4
$ ASSIGN/USER MODE $2$DUA24:[ROMOBJ.UTILIO]FLSMRY.OBJ AS
$ ASSIGN/USER MODE S2SOUA24:[ROMOBJ.UTILIO]FSTAT1.OBJ A6
$ ASSIGN/USER~MODE $2SOUA24:[ROMOBJ.UTILIO]IBLKR.OBJ A7
$ ASSIGN/USER~MODE $2$OUA24: [ROMOBJ.UTILIO]IOCL.OBJ A8
ASSIGN/USERJ10DE S2SDUA24: [ROMOBJ.UTIL10]J FILE1.08J A9
: [ROMOBJ.UTILI01JFILE2.OBJ A10
: [ROMOBJ.UTILIO]JHOUR1.OBJ A11
:[ROMOBJ.UTILI01JUNIT.OBJ A12
:[ROMOBJ.UTILIOJNEXTHR.OBJ A13
A14
$ ASS1GN/USER~MOOE S2SDUA24:
$ ASSIGN/USER_MODE S2SDUA24:
$ ASSIGN/USER MODE S2SDUA24:
$ ASSIGN/USER~MODE S2SDUA24:
$ ASSIGN/USER MODE S2SOUA24: [ROMOBJ.UTILIO]OPDIR2.OBJ
150
-------
$ ASSIGN/USER MODE $2$DUA24: [ROMOBJ.UTILIWOPEN2.OBJ , A15
$ ASSIGN/USER~MOOE $2$OUA24:[ROMOBJ.UTILIO]PROGID.OBJ A16
$ ASSIGN/USER~HOOE $2$OUA24:[ROMOBJ.UTILI01RDDIR1.OBJ A17
$ ASSIGN/USER~MODE $2$DUA24: [ROMOBJ.UTILI01RDFHD1.0BJ A18
$ ASSIGN/USER~MODE $2$DUA24:[ROHOBJ.UTILI03RDFHD2.0BJ A19
$ ASSIGN/USER MODE S2SDUA24:[ROMOBJ.UTILI01RDFT3.0BJ A20
$ ASSIGN/USER~MODE S2SOUA24:[ROMOBJ.UTILI01RDFT4.0BJ A21
$ ASSIGN/USERJ10DE $2$OUA24:[ROMOBJ.UTILIO]RDFT5.0BJ A22
$ ASSIGN/USER MODE S2SDUA24:[ROMOBJ.UTILI01RDREC.OBJ A23
$ ASSIGN/USER~MODE $2$DUA24:[ROMOBJ.UTILI01WRFT5.0BJ A24
$ ASSIGN/USER~MODE $2$OUA24:[ROHOBJ.UTILIO]WRREC.OBJ A25
$ LINK -
/EXECUTABLE = J2SDUA24: [ROMCOM.ROMNET3P15GV1A.EXE -
/MAP = MET1:tS01S]P15GV1A.MAP -
A1, -
A2, -
A3, -
A23, -
A24. -
A25
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1:[S01S]P15GV1A.MAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P15GX1.COM follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE USER2SDISK:[FOREMAN.FV1501A3P15GX1.COM
$ ASSIGN MLAB: SYSSPRINT
S ! ASSIGN INPUT FILES
$ ASSIGN MET1:[ROMNET1DIRECT2.DAT PFMFDIR
$ ASSIGN MET56.-tROMNET1.D851883PF103A.DAT PF103
$ ASSIGN MET56:[ROMNET1.D85188lPF106A.DAT PF106
$ ASSIGN MET56:tROMNET1.0851883PF107A.DAT PF107
S ASSIGN MET56:[ROMNET1.D85188JPF108A.DAT PF108
$ ASSIGN MET56:[ROMNET1.D851883PF109A.DAT PF109
$ ASSIGN MET56:[ROMNET1.D851883PF110A.DAT PF110
S ASSIGN MET1:[ROMNET1.D000003PF118A.DAT PF118
$ ASSIGN MET56:[ROMNET1.D851883MF139A.DAT MF139
$ ASSIGN MET56:[ROMNET1.D85188JMF140A.DAT MF140
S ! ASSIGN OUTPUT FILES
S ASSIGN MET56: [ROMNET1.D851881MF14M.DAT NF146
$ SHOW PROCESS / ACCOUNTING
$ !
$ ! ASSIGN CONTROL CARD(S) FILE
$ TYPE USER2SD1SK:[FOREMAN.FV1501A1P15GX1.CPR
S !
$ ASSIGN / USER MODE USER2SOISK:[FOREMAN.FV1501A]P15GX1.CPR SYS$INPUT
$ RUN S2$DUA24:TROMEXE.ROMNET]P15GV1A
S SHOW PROCESS / ACCOUNTING
$ auSER2$0ISK:[FOREMAN.COM1JMESSAGE FV1501A P15GX1
(end of run stream)
151
-------
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A Main Program
P15GV1A
B. Subroutines
RST
C. Functions
None
D. Block Data Files
None
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A, Subroutines
DISK$VAXSET:[ROMLIB.UTILIO]
ADATE
CELLO
FLSMRY
FSTAT1
•IBLKR
JFILE1
NEXTHR
OPDIR2
OPEN2
PROGID
RDDIR1
RDFHD1
RDFHD2
RDFT3
RDFT4
RDFT5
RDREC
WRFT5
WRREC
B. Functions
DISK$VAXSET:[ROMLIB.UTILIO]
IOCL
JFILE2
JHOUR1
JUNIT
IX. INCLUDE FILES
DISK$VAXSET:[ROMLffi.ROMNET]
REGPRM.EXT
DISK$VAXSET:[ROMLIB.PROCES]
GRIDEF.EXT
INPRES.EXT
INPUTS.EXT
PFILE6.EXT
RESIST.EXT
152
-------
2.16 PROCESSOR P16G (METEOROLOGY)
I. PROCESSOR FUNCTION
This stage 1 processor produces hourly vertical profiles from observed rawinsonde soundings and sur-
face meteorology observations. This is accomplished by first interpolating sounding data to a 25-mb
resolution, horizontally filtering these data using the Barnes objective analysis scheme (Barnes, 1973),
and vertically filtering the result. Linear interpolation is then performed on the filtered soundings to
produce hourly profiles. The hourly surface observations, after smoothing by the Barnes scheme, are
incorporated into the interpolated profiles. P16G then checks the profiles to ensure that they violate
no physical principles.
II. I/O COMPONENTS
A. Input Files
1. Standard Input Files
None
2. Nonstandard Input Files
a. RAWIN1
RAWIN1 contains rawinsonde upper-air soundings at 12-hour intervals. The file is pro-
duced from raw data tapes that undergo extensive processing and quality control (refer to
Meteorology Preprocessors, Section 3, Part 1). RAWIN1 is read using the READ and
FORMAT statements listed below, and its parameters are shown in Table 2.126.
READ(RAWIN1,200) IYR,IMO,IDA,IHR,IDST,LEV,LEVS,PRES,
& HTP.TP,DP,RH.DIR,SPD,XLAT,XLON
200 FORMAT (4I3,I6,2X,2I2,9F8.0)
b. RAWSTA1
RAWSTA1 contains the land use classification of each rawind (upper-air) station in the
domain. The READ statements for this file are as follows:
READ (STAT, *, IOSTAT = IOST) GRIDNM, YEARNM
READ (STAT, *, IOSTAT = IOST) IDRAD(N), TMP1, TMP2, TMP3,
(LNDUSE(JJ.n), JJ=1,10)
Table 2.127 shows the RAWSTA1 parameters.
153
-------
TABLE 2.126. RAWIN1 PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Note: m
Farm
No.
1
2
3
4
5
6
7
Note: m
Farm
Name
IYR
IMO
IDA
IHR
IDST
LEV
LEVS
PRES^,-
HTP^/
TPm,i
DP™,,
RHm,,
DIR^,;
SPD^,
XLATW
XLONOT
Unit
EST
mb
m
°C
°C
%
deg
nvs-1
0 N
• w
Data
Type
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
= upper-air station number (one or more digits); i =
Farm
Name
GRIDNM
YEARNM
IDRADm
TMPlm
TMP2™
TMP3™
LNDUSEw
URBAN
AGRI
RANGE
DF
CF
MF
WATER
BARREN
NFW
MAR
TABLE 2.127.
Unit
0 N
o vy
m
RAWSTA1
Data
Type
Char*8
IntegerM
IntegerM
RealM
RealM
RealM
RealM
Description
Scenario year (YY)
Scenario month (MM)
Scenario day (DD)
Scenario hour (HH)
Station ID
Level of the data
No. levels in sounding
Pressure
Geopotential height
Temperature
Dew point
Relative humidity
Wind direction
Wind speed
Latitude
Longitude
level number in 25 mb intervals (one or more digits).
PARAMETERS
Description
Region name (see Appendix A)
Scenario year (YY)
Station WBAN identifier
Station latitude
Station longitude
Station elevation
Land use classification:
urban
agriculture
rangeland
deciduous forest
coniferous forest
mixed forests including wetlands
water
barren land
nonforested wetland
mixed agriculture/rangeland
= upper-air station number (one or more digits).
154
-------
c. SURMET1
SURMET1 contains hourly surface meteorology observations processed from the
National Climatic Data Center and the Canadian Climate Centre raw data tapes. SUR-
MET1 is read in two stages. The first stage reads header information, and the first READ
and FORMAT statements for this file are as follows:
READ (NSFC.200) IYR,IMON,IDA,IHR.NUMSTA
200 FORMAT (412,18)
Table 2.128 shows the SURMET1 Stage 1 parameters.
TABLE 2.128. SURMET1 STAGE 1 PARAMETERS
Farm
No.
1
2
3
4
5
Farm
Name Unit
IYR
IMON
EDA
IHR EST
NUMSTA
Data
Type
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Description
Scenario year (YY)
Scenario month (MM)
Scenario day (DD)
Scenario hour (HH)
No. of reporting stations at HH
The Stage 2 READ and FORMAT statements for data in non-WBAN format are listed
below.
READ ,DR,SP,Z(3,N>,ZC4,N),PSTA
202 FORMAT (I5.5.2F7.2,42X,F8.1,4F7.1,F8.1)
The Stage 2 parameters are described in Table 2.129.
B. Output Files
1. Standard Output Files
P16G writes PF111, which contains hourly-interpolated upper-air profiles at 25-mb intervals.
PF111 is used by P01G, P05G, and P08G. Table 2.130 shows the parameters of PF111.
155
-------
TABLE 2.129. SURMET1 STAGE 2 PARAMETERS
Farm
No.
la
Ib
2
3
4
5
6
7
8
9
Farm
Name
CALLn
WBAN,,
Yrt
Xn
ZS,,
DRn
SPB
Z3W
Z4»
PSTAn
Unit
0 N
o W
mb
deg
nvs-1
°C
•C
mb
Data
Type
Char*4
Integer*4
RealM
Real*4
Real*4
RealM
Real*4
Real*4
Real*4
RealM
Description
Station ID (non-WBAN format)
Station ID (WBAN format)
Latitude
Longitude
Sea level pressure
Wind direction
Wind speed
Temperature
Dew point
Station pressure
Note: n = surface station number (one or more digits).
TABLE 2.130. PF111 PARAMETERS
Farm
No.
1
2
3
4
5
Farm
Name
~u .
~V»
T •
lm,t
TDm,i
n .
/7l)/
Unit
m-s-1
m-s-1
°C
°C
mb
Data
Type
RealM
RealM
RealM
RealM
RealM
Description
West-to-east wind component
South-to-north wind component
Dry bulb temperature
Dew point temperature
Atmospheric pressure level
Note: m = upper-air station number (one or more digits); i = level number at 25 mb intervals (one or more digits)
2. Nonstandard Output Files
None
III. CONTROL CARDS
Two control cards are used to input control data in the format shown below. Table 2.131 defines the
control card variables.
JDT1 JDT2
INTFLG
Example:
88196128819911
Y
156
-------
TABLE 2.131. CONTROL CARD VARIABLES
Variable
Name
JDT1
JDT2
INTFLG
Unit
EST
EST
Description
Julian scenario start date and time as YYDDDHH
Julian scenario end date and time as YYDDDHH
Flag for surface stations in WBAN format (Y/N)
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A Memory Requirements (1 block = 512 bytes)
FORTRAN source files: 14 files 147 blocks
FORTRAN INCLUDE files: 9 files 30 blocks
Object files: 14 files 72 blocks
Executable file: _1 file .87 blocks
38 files 336 blocks
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss): 00:02:13
Buffered I/O count: 263
Direct I/O count: 2620
Peak working-set size: 887
Peak virtual size; 4400
C. Space Requirements: Log and Print Files
P16GX1.LOG: 30 blocks
Print Files: None
D. Space Requirements: Input and Output Files
Table 2.132 shows the input file and output file space requirements.
TABLE 2.132. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
RAWIN1
RAWSTA1
SURMET1
PF011
File
Type
Nonstd
Nonstd
Nonstd
1
Storage
(in blocks)
21585
24
40251
61860
1899
Scenario
Data Span
1 month
N/A
1 month
72 hours
157
-------
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P16GV1A.LNK follows:
: [ROMOBJ.ROMNET]RAOTIM.OBJ
:[ROMOBJ.ROMNET]RWND25.OBJ
:[ROMOBJ.ROMNET]SFCHRS.OBJ
:[ROMOBJ.ROMNET]SFCLEV.OBJ
:[ROMOBJ.ROMNET]SMUTHR.OBJ
; [ROMOBJ.ROMNET]WHICH1 .OBJ
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE S2SDUA24:[ROMCOM.ROMNETJP16GV1A.LNK
$ ON WARNING THEN EXIT
$ ASSIGN MLAB: SYSSPRINT
$ MAPFILE = "MET1:[S01S]P16GV1A.MAP"
$ EXEFILE = »$2$OUA24:[ROMCOM.ROMNETJP16GV1A.EXE"
$ ASSIGN/USER MODE $2$DUA24:[ROMOBJ.ROMNET]P16G.OBJ
$ ASSIGN/USER'MODE $2$ouA24:[ROMOBJ.ROMNET]APPROX.OBJ
s ASSIGN/USER'MODE $2$ouA24:[ROMOBJ.ROMNET]COUPLE.OBJ
$ ASSIGN/USERJIODE $2$DUA24:[ROMOBJ.ROMNET]ENDPTS.OBJ
$ ASSIGN/USER MODE S2SDUA24:[ROMOBJ.ROMNET]FILLER.OBJ
$ ASSIGN/USER'MODE $2$ouA24:[ROMOBJ.ROMNET]GM2MOD.OBJ
$ ASSIGN/USER'MODE $2$ouA24:[ROMOBJ.ROMNET]MBARZS.OBJ
$ ASSIGN/USER~MODE $2SDUA24:
$ ASSIGN/USER'MODE $2$DUA24:
$ ASSIGN/USER'MODE S2SDUA24:
$ ASSIGN/USER'MODE $2$ouA24:
$ ASSIGN/USER'MOOE $2$ouA24:
$ ASSIGN/USER'MODE $2$ouA24:
$ ASSIGN/USER'MODE $2$ouA24:[ROMOBJ.ROMNETJUNDFIX.OBJ
$ ASSIGN/USER'MODE S2SDUA24: [ROMOBJ.UTILIOIADATE.OBJ
s ASSIGN/USER'MODE $2$ouA24:[ROMOBJ.UTILIOJFLSMRY.OBJ
$ ASSIGN/USER MODE S2SDUA24:[ROMOBJ.UTILIOJFSTAT1.OBJ
$ ASSIGN/USER'MODE S2SDUA24:[ROMOBJ.UTILIO]GETYN.OBJ
$ ASSIGN/USER'MODE S2SDUA24: [ROMOBJ.UTILIOHBLKR.OBJ
$ ASSIGN/USER_MODE $2$OUA24:[ROMOBJ.UTILIO]IOCL.OBJ
$ ASSIGN/USER MODE S2SDUA24:
s ASSIGN/USER'MODE $2$ouA24:
$ ASSIGN/USER'MODE $2$ouA24:
$ ASSIGN/USER'MODE $2$DUA24:
$ ASSIGN/USER'MODE $2$ouA24:
$ ASSIGN/USER MODE S2SDUA24:
$ ASSIGN/USER'MODE S2$ouA24:
$ ASSIGN/USER MODE S2SDUA24:
$ ASSIGN/USER'MODE S2$ouA24: [ROMOBJ.UTILIO]RODIRI.OBJ
$ ASSIGN/USER'MODE S2SDUA24:[ROMOBJ.UTILIOIRDREC.OBJ
$ ASSIGN/USER'MODE S2$ouA24:[ROHOBJ.umio]URFTi.oBJ
S ASSIGN/USER_MODE $2$OUA24: [ROMOBJ.UTILIO]WRREC.06J
$ LINK -
/EXECUTABLE = $2SDUA24:[ROMCOM.ROMNET1P16GV1A.EXE -
/MAP = MET1:[S01S]P16GV1A.MAP -
A1, -
A2, -
A3, -
:[ROMOBJ.UTILIO]JFILE1.OBJ
:[ROMOBJ.UTILIO]JFILE2.0BJ
:[ROMOBJ.UTILI0]JHOUR1.06J
:[ROMOBJ.UTILI0]JUNIT.OBJ
:[ROMOBJ.UTILIO]OPDIR2.0BJ
:[ROMOBJ.UTILIO]OPEN2.OBJ
:[ROMOBJ.UTILIO]POINTS.OBJ
:[ROMOBJ.UTILIOJPROGID.OBJ
A1
A2
A3
A4
AS
A6
A7
AS
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
A20
A21
A22
A23
A24
A25
A26
A27
A28
A29
A30
A31
A32
A30, -
A31, -
A32
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1:[S01S]P16GV1A.MAP
(end of link stream)
158
-------
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P16GX1.COM follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE USER2SDISK:[FOREMAN.FV1501AJP16GX1.COM
$ ASSIGN MLAB: SYSSPRINT
$ ! ASSIGN INPUT FILES
$ ASSIGN MET1:[ROMNETJDIRECT2.DAT PFMFDIR
$ ASSIGN MET25:[FOREMAN.RAUDATA1RWND JUL85.DAT RAWIN1
$ ASSIGN MET1: [ROMNET.RAUDATA]RAUSTA7DAT RAUSTA1
$ ASSIGN MET23:[FOREMAN.RAUDATAJSRFC JUL85.DAT SURMET1
$ ! ASSIGN OUTPUT FILES
(ASSIGN MET56:[ROMNET1.D851881PF114A.DAT PF111
$ SHOW PROCESS / ACCOUNTING
$ \
$ TYPE USER2SOISK:[FOREMAN.FV1501A]P16GX1.CPR
$ ! ASSIGN CONTROL CARD(S) FILE
$ ASSIGN / USER MODE USER2SOISK:[FOREMAN.FV1501A1P16GX1.CPR SYS$INPUT
$ !
$ RUN $2$OUA24:[ROMEXE.ROMNET]P16GV1A
$ SHOW PROCESS / ACCOUNTING
$ aU5ER2$D I SIC: [FOREMAN. COM1] MESSAGE FV1501A P16GX1
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P16GV1A
B. Subroutines
APPROX FILLER . RADTJM SFCLEV
COUPLE GM2MOD RWND25 SMUTHR
ENDPTS MBAR2S SFCHRS WNDFIX
C. Functions
WHICHl
D. Block Data Files
None
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A. Subroutines
DISKSVAXSET:rROMLIB.UTILIO]
ADATE IBLKR OPEN2 RDDIR1
FLSMRY JFILE1 POINTS WRFT1
FSTAT1 OPDIR2 PROGID WRREC
159
-------
B. Functions
DISK$VAXSET:[ROMLffi.UTILIO]
GETYN
IOCL
JFILE2
JHOUR1
JULIAN
IX. INCLUDE FILES
DISK$VAXSET:[ROMLIB.PROCES]
ENDRAD.EXT
ENDSFC.EXT
FLOGIC.EXT
GMTTIM.EXT
HOURLY.EXT
INTPRM.EXT
MODTIM.EXT
OUTPUT.EXT
RAWSND.EXT
2.17 PROCESSOR P17G (METEOROLOGY)
I. PROCESSOR FUNCTION
This stage 5 processor computes the heights of layers 0,1,2, and 3, and determines the hourly gridded
local time derivatives (a/a/) of the heights of each layer. Figure 2.1 shows an example of the model
layer heights and thicknesses along a cross section of row 41 of a hypothetical domain.
ROW 41 CROSS SECTION
JMTE = 88105 JHR = 12
3000
= terrain
Z = terrain or layer height
h = layer thickness
Figure 2.1. Sample model layer heights and thicknesses along row 41.
160
-------
II. I/O COMPONENTS
A. Input Files
1. Standard Input Files
P17G uses 5 standard input files:
PF119 from P06G MF112 from P08G
PF132 from P07G MF113 from P08G
MF109 from P07G
2. Nonstandard Input Files
None
B. Output Files
1. Standard Output Files
a. PF150
This file contains the hourly gridded local time derivative of the height of layer 0. It is used
by P12G. The PF150 parameter is shown in Table 2.133.
TABLE 2.133. PF150 PARAMETER
Parm Parm Data
No. Name Unit Type Description
1 .ZOy m-s-1 Real*4 Local time derivative of height ZQ
Note: i = column number,/ = row number.
b. PF151
This file contains the hourly gridded local time derivative of the height of layer 1. It is used
by P12G. The PF151 parameter is shown in Table 2.134.
161
-------
TABLE 2.134. PF151 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 .Zly- m-s-1 Real*4 Local time derivative of height Z\
Note: i = column number,;' = row number.
c. PF152
This file contains the hourly gridded local time derivative of the height of layer 2. It is used
by P12G. The PF152 parameter is shown in Table 2.135.
TABLE 2.135. PF152 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 .Z2y m-s-1 Real*4 Local time derivative of height Zi
Note: i = column number,;' = row number.
d. PF153
This file contains the hourly gridded local time derivative of the height of layer 3. It is used
by P12G. The PF153 parameter is shown in Table 2.136.
TABLE 2.136. PF1S3 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 .Z3y m-s-1 Real*4 Local time derivative of elevation Z^
Note: / = column number,;' = row number.
e. MF164
This file contains the hourly gridded height of the top of layer 0. It is used by P12G. The
MF164 parameter is shown in Table 2.137.
162
-------
TABLE 2.137. MF164 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 ZOy m above MSL Real*4 Height of the top of layer 0
Note: j = column number,; = row number.
f. MF165
This file contains the hourly gridded height of the top of layer 1. It is used by P12G. The
MF165 parameter is shown in Table 2.138.
TABLE 2.138. MF165 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 Zly m above MSL Real*4 Height of the top of layer 1
Note: i = column number,;' = row number.
g. MF166
This file contains the hourly gridded height of the top of layer 2. It is used by P12G. The
MF166 parameter is shown in Table 2.139.
TABLE 2.139. MF166 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 Z2y m above MSL Real*4 Height of the top of layer 2
Note: t = column number,; = row number.
h. MF167
This file contains the hourly gridded height of the top of layer 3. It is used by P12G. The
MF167 parameter is shown in Table 2.140.
163
-------
TABLE 2.140. MF167 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 Z3y m above MSL Real*4 Height of the top of layer 3
Note: i = column number,/ = row number.
2. Nonstandard Output Files
None
III. CONTROL CARDS
One control card is used to input control data in the format shown below. Table 2.141 defines the
control card variable.
YYDD1 HI Cl
TABLE 2.141. CONTROL CARD VARIABLES
Variable
Name Unit Description
YYDD1 Julian start date as YYDDD
HI EST Start hour as HH
Cl h Scenario duration
Example:
88194 12 72
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
FORTRAN source files: 2 files 15 blocks
FORTRAN INCLUDE files: 1 file 1 block
Object files: 2 files 9 blocks
Executable file: 1 file 52 blocks
6 files 77 blocks
164
-------
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss):
Buffered I/O count:
Direct I/O count:
Peak working-set size:
Peak virtual size:
C. Space Requirements: Log and Print Files
00:00:17
232
5740
1800
4034
P17GX1.LOG:
Print Files:
91 blocks
None
D. Space Requirements: Input and Output Files
Table 2.142 shows the input file and output file space requirements.
TABLE 2.142. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
PF119
PF132
MF109
MF112
MF113
PF150
PF151
PF152
PF153
MF164
MF165
MF166
MF167
File
Type
4
5
5
5
5
5
5
5
5
5
5
5
5
Storage
(in blocks)
40
1440
1440
1440
1440
5800
1440
1440 .
1440
1440
1440
1440
1440
1440
11520
Scenario
Data Span
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P17GV1ALNK follows:
165
-------
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE DISKSVAXSET:[ROMCOM.ROMNET]P17GV1A.LNK
$ ON WARNING THEN EXIT
$ ASSIGN MLAB: SYSSPRINT
$ MAPFILE = "MET1:[S01S]P17GV1A.MAP»
$ EXEFILE = "DISKSVAXSET: [ROMCOM.ROMNETJP17GV1A.EXE"
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.ROMNET]P17G.OBJ
:tROMOBJ.ROMNETlRDPRH2.OBJ
;[ROMOBJ.UTILIO]ADATE.OBJ
:[ROMOBJ.UTILIO]DATHR3.0BJ
[[ROMOBJ.UTILIO]CELLO.OBJ
:[ROMOBJ.UTILIO]FLSMRY.OBJ
i[ROMOBJ.UTILIO]FSTAT1.OBJ
:[ROMOBJ.UTILIO]IBLKR.OBJ
:[ROMOBJ.UTILIO]IOCL.OBJ
:[ROMOBJ.UTILIO]JFILE1.OBJ
$ ASSIGN/USER_MODE DISKSVAXSET:
$ ASSIGN/USER MODE DISKSVAXSET:
$ ASSIGN/USER MODE DISKSVAXSET:
$ ASSIGN/USERJWDE DISKSVAXSET:
$ ASSIGN/USER MODE DISKSVAXSET:
$ ASSIGN/USERJ10DE DISKSVAXSET:
$ ASSIGN/USER MODE DISKSVAXSET:
$ ASSIGN/USER~MODE DISKSVAXSET:
$ ASSIGN/USER~MODE DISKSVAXSET:
$ ASSIGN/USER JIODE DISKSVAXSET:[ROMOBJ.UTILIO]JHOUR1.OBJ
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIO]JUNIT.OBJ
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILI010PDIR2.OBJ
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]OPEN2.OBJ
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]PROGID.OBJ
$ ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.UTILIOIRDDIRI.OBJ
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]RDFHD1.OBJ
$ ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.UTILIOIRDFTS.OBJ
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]RDFT4.OBJ
$ ASSIGN/USER~MOOE DISKSVAXSET:[ROMOBJ.UTILIO]RDREC.OBJ
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILI03WRFT5.OBJ
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIO]URREC.OBJ
$ LINK -
/EXECUTABLE = DISKSVAXSET: [ROMCOM.ROMNEnP17GV1A.EXE -
/MAP = MET.1:[S01S]P17GV1A.MAP -
A1, -
A2, -
A3, -
A1
A2
A3
A4
AS
A6
A7
AS
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
A20
A21
A22
A20, -
A21, -
A22
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1:rs01S]P17GV1A.MAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P17GX1.COM follows:
$ ! ACCOUNTING CODE
SET VERIFY
! RUN STREAM IS IN FILE USER2SDISK:[FOREMAN.FV1501A3P17GX1.COM
ASSIGN MLAB: SYSSPRINT
! ASSIGN INPUT FILES
ASSIGN MET1:[ROMNET]DIRECT2.DAT PFMFDIR
ASSIGN MET1:[ROMNET1.DOOOOOJPF119A.DAT PF119
ASSIGN MET56:[ROMNET1.D85188JPF132A.DAT PF132
ASSIGN MET56:[ROMNET1.D851881MF109A.DAT MF109
ASSIGN MET56:[ROMNET1.D851881MF112A.DAT MF112
ASSIGN MET56:[ROMNET1.D851883MF113A.DAT MF113
! ASSIGN OUTPUT FILES
ASSIGN MET56:[ROMNET1.D851881PF150A.DAT PF150
ASSIGN MET56:[ROMNET1.D851881PF151A.DAT PF151
ASSIGN MET56:[ROMNET1.D85188JPF152A.DAT PF152
ASSIGN MET56:[ROMNET1.D8S1881PF153A.DAT PF153
ASSIGN MET56:[ROMNET1.D851881MF164A.DAT MF164
166
-------
$ ASSIGN MET56: [ROMNET1.D851881MF165A.DAT MF165
$ ASSIGN MET56:[ROMNET1.D851881MF166A.DAT HF166
$ ASSIGN MET56:[ROMNET1.D85188JMF167A.DAT MF167
$ SHOW PROCESS / ACCOUNTING
$ !
$ TYPE USER2SDISK:[FOREMAN.FV1501AJP17GX1.CPR
$ ! ASSIGN CONTROL CARD(S) FILE
$ ASSIGN / USER_MOOE USER2$OISK:[FOREMAN.FV1501A3P17GX1.CPR SYSSINPUT
$ !
$ RUN DISK$VAXSET:[ROMEXE.ROMNET]P17GV1A
$ SHOW PROCESS / ACCOUNTING
$ aUSER2$OIS(C: [FOREMAN.COM13MESSAGE FV1501A P17GX1
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P17GV1A
B. Subroutines
RDPRM2
C. Functions
None
D. Block Data Files
None
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A Subroutines
DISK$VAXSET:[ROMLIB.UTILIO]
ADATE IBLKR OPEN2 RDREC
CELLO IDATE PROGID TIME .
FSTAT1 JFILE1 RDDIR1 WRFT5
FLSMRY OPDIR2 RDFT4 WRREC
B. Functions
None
IX. INCLUDE FILES
DISK$VAXSET:[ROMLIB.ROMNETJ
REGPRM.EXT
167
-------
2.18 PROCESSOR P19G (METEOROLOGY)
I. PROCESSOR FUNCTION
This stage 1 processor computes the hourly gridded fractional sky coverage by all cloud types
combined. Interpolation of valid surface observations of sky cover (between 0% and 100%) is achieved
by the Barnes gridding subroutine BGRIDI. Each grid cell value is then checked to ensure that all
values lie between 0 (negative sky coverage) and 1 (sky coverage > 100%); values are reset if necessary.
II. I/O COMPONENTS
A. Input Files
1. Standard Input Files
None
2. Nonstandard Input Files
P19G uses one nonstandard input file, SURMET1, that contains hourly surface meteo-
rology observations from the National Climatic Data Center and the Canadian Climate
Centre raw data tapes. SURMET1 is read in two stages. The first stage reads header
information. READ and FORMAT statements for SURMET1 are called by P19G from
RDSRFI in the UTILIO library. Table 2.143 shows the SURMET1 Stage 1 parameters.
TABLE 2.143. SURMET1 STAGE 1 PARAMETERS
Parm
No.
1
2
.3
4
5
Parm
Name Unit
INYR
INMON
INDAY
INHOUR EST
NSTAT
Data
Type
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Description
Scenario year (YY)
Scenario month (MM)
Scenario day (DD)
Scenario hour (HH)
No. of reporting stations at HH
The Stage 2 parameters that are used in P19G are described in Table 2.144:
168
-------
TABLE 2.144. SURMET1 STAGE 2 PARAMETERS
Farm
No.
la
Ib
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16.
17
Farm
Name
STAIDW
STAJDn
SLATS,,
SLONS,,
OPQCOVrt
TOTCOVrt
COVER1W
BASEln
COVER2n
BASE2n
COVER3n
BASE3n
PO,
DTRn
SPDn
Tn
TDn
Pn
Unit
0 N
o W
%
%
m
%
m
%
m
mb
deg
m-s-1
ec
°C
mb
Data
Type
Char*4
Integer*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Description
Station ID (non-WBAN format)
Station ID (WBAN format)
Latitude
Longitude
Opaque sky cover
Total sky cover (see note below)
Coverage, lowest cloud layer
Lowest cloud base
Coverage, second-lowest cloud layer
Second-lowest cloud base
Coverage, third-lowest cloud layer
Third-lowest cloud base
Sea level pressure
Wind direction
Wind speed
Temperature
Dew point
Station pressure
Note: 7i = surface station number (one or more digits). Total sky cover classes are as follows: 0 = clear; 1 = partial
obscuration; 2 = thin scattered; 3 = thin broken; 4 = thin overcast; 5 = scattered; 6 = broken; 7 = overcast; 8 =
obscured; -99 = indeterminate.
B. Output Files
1. Standard Output Files
P19G produces one standard file, PF117, that contains the hourly gridded fraction of sky cov-
erage by all cloud types combined. It is used by P17G, and Table 2.145 shows its parameter.
TABLE 2.145. PF117 PARAMETER
Farm Farm
No. Name
Unit
Data
Type
Description
1 SIGMAct
Real*4 Fractional sky coverage by all cloud types
Note: ct = cloud total
2. Nonstandard Output Files
None
169
-------
III. CONTROL CARDS
Two control cards are used to input control data in the format shown below. Table 2.146 defines the
control card variables.
ISTDAT ENDAT
INTFLAG
TABLE 2.146. CONTROL CARD VARIABLES
Variable
Name
ISTDAT
ENDAT
INTFLAG
Unit
EST
EST
Description
Julian scenario start date and time as YYDDDHH
Julian scenario end date and time as YYDDDHH
Use of WBAN-format station identifiers in SURMET1:
Y => WBAN format used;
N =*• WBAN format not used
Example:
8819612 8819911
Y
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
FORTRAN source files:
FORTRAN INCLUDE files:
Object files:
Executable file:
1 files
0 files
1 files
1 file
3 files
9 blocks
0 blocks
5 blocks
62 blocks
77 blocks
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss):
Buffered I/O count:
Direct I/O count:
Peak working-set size:
Peak virtual size:
C. Space Requirements: Log and Print Files
P19GX1.LOG:
Print Files:
27 blocks
None
00:08:06
287
1692
735
4400
170
-------
D. Space Requirements: Input and Output Files
Table 2.147 shows the input file and output file space requirements.
TABLE 2.147. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
SURMET1
PF117
File
Type
Nonstd
5
Storage
(in blocks)
107616
1438
Scenario
Data Span
1 month
72 hours
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P19GV1A.LNK follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE DISWVAXSET:[ROMCOM.ROMNET3P19GV1A.LNK
$ ON WARNING THEN EXIT
$ ASSIGN MLAB: SYSSPRINT
$ MAPFILE = «MET1:[S01S3P19GV1A.MAP"
$ EXEFILE = "DISWVAXSET: [ROMEXE.ROMNET3P19GV1A.EXE"
$ ASSIGN/USER NODE DISWVAXSET: tROMOBJ.ROMNET3P19G.OBJ A1
$ ASSIGN/USER MODE DISWVAXSET: [ROMOBJ.UTILI03ADATE.OBJ A2
$ ASSIGN/USER MODE DISWVAXSET: [ROMOBJ.UTILI03BGRID1.0BJ A3
$ ASSIGN/USER~MODE DISWVAXSET: [ROMOBJ.UT1LIO]CELLO.OBJ A4
$ ASSIGN/USER~MODE DISWVAXSET: [ROMOBJ.UTILI03 FLSMRY.OBJ AS
$ ASSIGN/USER MODE DISWVAXSET: [ROMOBJ.UTILIO] FSTAT1 .OBJ A6
$ ASSIGN/USER MODE DISWVAXSET: [ROMOBJ.UTILI03GETYN.OBJ A7
$ ASSIGN/USERJIODE DISWVAXSET: IROMOBJ.UTILIOJGMTLCL.OBJ A8
$ ASSIGN/USER MODE DISWVAXSET: [ROMOBJ.UTIL10] IBLKR.OBJ A9
$ ASSIGN/USER'MODE DISWVAXSET:[ROMOBJ.UTUIOJIOCL.OBJ AID
$ ASSIGN/USER MODE DISWVAXSET: [ROMOBJ.UT IL103 IOERR.OBJ A11
$ ASSIGN/USER~MODE DISWVAXSET: [ROMOBJ.UTILIO]JFILE1.OBJ A12
$ ASSIGN/USER MODE DISWVAXSET: [ROMOBJ.UT IL10] JFILE2.0BJ A13
$ ASS1GN/USERJ40DE DISWVAXSET: [ROMOBJ.UT IL10] JHOUR1 .OBJ AU
$ ASS1GN/USER_HOOE DISWVAXSET: CROHOBJ.UTILIO] JULIAN.OBJ A15
$ ASSIGN/USER MODE DISWVAXSET: [ROMOBJ.UT IL10] JUNI T.OB J A16
$ ASSIGN/USERJIODE DISWVAXSET: [ROMOBJ.UTILIOJOPDIR2.OBJ A17
$ ASSIGN/USER MODE DISttVAXSET:tROMOBJ.UTILI030PEN2.OBJ A18
$ ASSIGN/USER MODE DISWVAXSET: [ROMOBJ.UTILIO]PROGID.OBJ A19
$ ASSIGN/USER~MODE DISWVAXSET: [ROMOBJ.UTILJ01RDOIR1 .OBJ A20
$ ASSIGN/USER'MODE DISWVAXSET:[ROMOBJ.UTILIODRDREC.OBJ A21
$ ASSIGN/USER MODE DISWVAXSET: [ROM08J.UTILIOJRDSRF1 .OBJ A22
$ ASSIGN/USER~MODE DISWVAXSET: [ROMOBJ.UTILIOJRDWNDO.OBJ A23
$ ASSIGN/USER'MODE DISWVAXSET: [ROMOBJ.UTILIOJWRFTS.OBJ A24
$ ASSIGN/USER'MODE DISWVAXSET: [ROMOBJ.UTILIOIWRREC.OBJ A25
$ LINK -
/EXECUTABLE = DISWVAXSET: [ROMEXE.ROMNETJP19GV1A.EXE -
/MAP = MET1:[S01S3P19GV1A.NAP -
A1, -
A2, -
A3, -
A23. -
171
-------
A24, -
A25
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1:CS01S]P19GV1A.MAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P19GX1.COM follows:
$ ! ACCOUNTING CODE
SET VERIFY
! RUN STREAM IS IN FILE USER2SOISK:[FOREMAN.FV1501AJP19GX1.COM
ASSIGN MLAB: SYSSPRINT
! ASSIGN INPUT FILES
ASSIGN MET1:[ROMNET1DIRECT2.DAT PFMFDIR
ASSIGN MET23:[FOREMAN.RAUDATA1SRFC JUL85.DAT SURMET1
! ASSIGN OUTPUT FILES
ASSIGN MET56:[ROMNET1.D851881PF117A.DAT PF117
SHOW PROCESS / ACCOUNTING
!
$ ! ASSIGN CONTROL CARD
-------
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A. Subroutines
DISK$VAXSET:[ROMLIB.UTILIO]
ADATE
BGRID1
CELLO
FLSMRY
FSTAT1
GMTLCL
IBLKR
IOERR
JFILE1
OPDIR2
OPEN2
PROGID
RDDIR1
RDREC
RDSRF1
RDWNDO
WRFT5
WRREC
B. Functions
DISK$VAXSET:[ROMLIB.UTILIO]
GETYN
IOCL
JFILE2
JHOUR1
JULIAN
JUNIT
IX. INCLUDE FILES
DISKSVAXSET:[ROMLIB.ROMNET]
REGPRM.EXT
2.19 PROCESSOR P21G (CHEMISTRY)
I. PROCESSOR FUNCTION
This stage 0 processor uses the initial mean tropospheric background concentrations listed in Table
2.148 (Killus and Whitten, 1984) and computes, using the temperature-dependent rate constants cal-
culated by preprocessor CVCHEM, all the carbon-bond mechanism 4.2 chemical reactions (Gery et al,
1988) for "clean air." The processor equilibriates gases using constant daylight photolysis and reaction
rates for 720 minutes (12 hours); calculated background concentrations are output after 600 minutes.
These calculations are followed by equilibriation at constant nighttime reaction rates for the remaining
720 minutes of a 24-hour day; nighttime background concentrations are output after 1320 minutes.
TABLE 2.148. INITIAL MEAN TROPOSPHERIC BACKGROUND CONCENTRATIONS,
PRECURSOR SPECIES
Species
CO
N02
NO
Ethanol
Olefins
Concentration (ppm)
0.1
1.0x10-3
1.0x10-3
3.5x10^
2.1x10^
Species
Aldehydes
Formaldehyde
Toluene
Xylene
Paraffins
All others
Concentration (ppm)
1.12x10-3
1.4x10-3
1.4xlO^»
1.05x10-4
7.42x10-3
1.0x10-16
173
-------
II. I/O COMPONENTS
A Input Files
1. Standard Input Files
None
2. Nonstandard Input Files
P21G uses one nonstandard input file, RATECONS, that contains the rate constants output
by CVCHEM. The read and format statements for this file are listed below. Note that the file
contains two header records followed by the data records; Table 2.149 shows the file's param-
eters.
READ (JRATE.1017) TEXT
1017 FORMAT (A100)
READ (JRATE,1017) TEXT
DO 103 IDORN=1,2
READ (JRATE.1023) NORD(IDORN)
1023 FORMAT (A8)
DO 103 1LAY=1,NLAY
READ (JRATE.1023) INLAY(ILAY)
READ (JRATE.1027) (RICH,LAY,IDORN),IF1,NREACT)
FORMAT (5E15.0)
1027
103 CONTINUE
TABLE 2.149. RATECONS PARAMETERS
Farm
No.
1
2
3
4
4
Farm
Name Unit
TEXT
NORD
INLAY
RK^,- ppm-i-s-1
Data
Type
Char* 100
Char'8
Char*8
RealM
Description
Header record text
NIGHT or DAY indicator
Layer number
Rate constant for 2-species chemical reactions
Rate constant for monospecific photolytic
reactions
Note: r = chemical reaction number, L = layer number, i = 1 (day) or 2 (night).
B. Output Files
1. Standard Output Files
None
174
-------
2. Nonstandard Output Files
P21G generates CLEANAIR. This file contains the "clean air" (background) concentrations
for all the chemical species (listed in Gery et a/., 1988) used in the ROM. The first record of
this file contains the first and second parameters shown in Table 2.150; the next record is a
P21G-generated header record; this is followed by the remaining data records, shown in the
same Table. CLEANAIR is used in P02G, P23G, and P24G. The 35 chemical species con-
tained in the file are shown in Table 3.155. The file is produced by the WRITE and FORMAT
statements listed below.
WRITE (OUTUNT.1001) CO ATE, CTI ME
1001 FORMAT (IX,'FILE CREATED ON DATE: ',A8,'AT TIME: ',A8)
WRITE (OUTUNT,1021>
1021 ('THIS FILE OF CLEAN-AIR BACKGROUND CONCENTRATIONS IS
& VALID FOR SUMMERTIME SCENARIOS.1)
DO 205 IDORN=1,2
WRITE (OUTUNT.1023) NORD(IDORN)
1023 FORMAT (A8)
DO 205 ILAY=1,NLAY
WRITE (OUTUNT.1023) INLAY(ILAY)
WRITE (OUTUBT.1011) (SPNAME(I),NITRO(I),C(I),I=1,NSPECS)
1011 FORMAT (A4,2X,L1,3X,E10.4)
205 CONTINUE
TABLE 2.150. CLEANAIR PARAMETERS
Parm
No.
1
2
3
4
5
6
7
Parm
Name Unit
CDATE
CTIME EST
NORD
INLAY
SPNAME
NITRO
Q,i PPm
Data
Type
Char'8
Char'8
Char*8
Char*8
Char*4
Logical *4
Real*4
Description
File creation date as MMDDYY
File creation time as HHMMSS
NIGHT or DAY indicator
Level number
Chemical species name / abbreviation
Flag: = .TRUE, for all nitrogenous species
Species concentration
Note: L = level number, i = 1 (day) or 2 (night).
III. CONTROL CARDS
One control card is used, in the format shown below. Table 2.151 describes the control card variables.
DELTAT OUTIME TSP
175
-------
TABLE 2.151. CONTROL CARD VARIABLES
Farm
No.
1
2
3
Farm
Name Unit
DELTAT min
OUTIME min
TSP min
Data
Type
Real*4
Real*4
Real*4
Description
Total simulation time for each set of rate
constants
Simulation time at which output files are
written
Simulation time interval for printing con-
centrations to the log file for quality assur-
ance checks
Example:
720.0 600.0 60.0
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
FORTRAN source files: 2 files 23 blocks
FORTRAN INCLUDE files: 7 files 21 blocks
Object files: 2 files 17 blocks
Executable file: _1 file IS blocks
12 files 76 blocks
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss): 00:01:35
Buffered I/O count: 149
Direct I/O count: 328
Peak working-set size: 571
Peak virtual size: 937
C. Space Requirements: Log and Print Files
P21GX1.LOG: 198 blocks
Print Files: None
D. Space Requirements: Input and Output Files
Table 2.152 shows the input file and output file space requirements.
176
-------
TABLE 2.152. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
RATECON
CLEANAIR
File
Type
Nonstd
Nonstd
Storage
(in blocks)
22
11
Scenario
Data Span
N/A
set by control card
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P21GV1ALNK follows:
$ ! ACCOUNTING CODE
$ SET VERIFr
$ ! RUN STREAM IS IN FILE J2SDUA24:[ROMCOM.ROMNET1P21GV1A.LNK
S ON WARNING THEN EXIT
$ ASSIGN MLAB: SYSSPRINT
$ MAPFILE = ''MET1:tS01S)P21GV1A.MAP"
$ EXEFILE = "$2$OUA24: [ROMCOM.ROMNET]P21GV1A.EXE"
$ ASSIGN/USER_MOOE S2SDUA24: [ROMOBJ.ROHNET]P21G.OBJ A1
$ ASSIGN/USER MODE S2SDUA24:[ROMOBJ.ROMNET1BLKCLN.OBJ A2
$ ASSIGN/USER MODE $2*DUA24:[ROMOBJ.UTILIO]ADATE.OBJ A3
$ ASSIGN/USER MODE $2$DUA24: [ROMOBJ.UTKIOJGPRIME.OBJ A4
$ ASSIGN/USER~MODE $2$DUA24:[ROMOBJ.UTILIO]IOCL.OBJ AS
$ ASSIGN/USER~MOOE S2SDUA24:[ROMOBJ.UTILIO]JFILE2.0BJ A6
$ ASSIGN/USER MODE S2SDUA24:[ROMOBJ.UTILIO]JUNI T.OBJ A7
$ ASSIGN/USER MODE S2SOUA24:[ROMOBJ.UTILI01PQ1CB42.OBJ AS
$ ASSIGN/USER_MODE $2$DUA24:[ROMOBJ.UTILI01PQCOEFCB42.0BJ A9
S ASSIGN/USER MODE $2$OUA24:[ROHOBJ.UTILIO]PROGID.OBJ A10
. $ ASSIGN/USER MODE $2$OUA24:[ROMOBJ.UTILIO]RATEDCB42.OBJ A11
S ASSIGN/USER MODE $2$DUA24:[ROMOBJ.UTILI01TOTAL.OBJ A12
$ LINK -
/EXECUTABLE = $2$OUA24:[ROMCOM.ROMNET1P21GV1A.EXE -
/MAP = MET1:[S01S)P21GV1A.MAP -
A1, -
A2, -
A3, -
A10, -
All, -
A12
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1:[S01S]P21GV1A.MAP
(end of link stream)
177
-------
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P21GX1.COM for U.S. data follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE USER2JOISK:[FOREMAN.FV1002A1P21GX1.COM
$ ASSIGN MLAB: SYSSPRINT
$ !
$ ! ASSIGN INPUT FILES
$ ASSIGN MET1:[NEROS3DIRECT2.DAT PFMFDIR
$ ASSIGN MET1:[ROMNET.RAUDATA1RATECB4-2.DAT RATECONS
$ ! ASSIGN OUTPUT FILES
$ ASSIGN MET1: [ROMNET.RAWDATAKLEANAIR ROMNET.DAT CLEANAIR
$ !
$ SHOW PROCESS / ACCOUNTING
$ !
$ ! ASSIGN CONTROL CARD FILE
S TYPE USER2SDISK:[FOREMAN.FV1002A]P21GX1.CPR
$ ASSIGN / USER MODE USER2SDISK:[FOREMAN.FV1002A]P21GX1.CPR SYSSINPUT
$ !
$ RUN USER2SOISK:[ROMEXE.NEROSJP21G.EXE
$ SHOW PROCESS / ACCOUNTING
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P21GV1A
B. Subroutines
None
C. Functions
None
D. Block Data Files
BLKCLN
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A. Subroutines
DISKSVAXSET:[ROMLIB.UTILIO]
ADATE PQCOEFCB42 RATEDCB42
GPRIME PROGID TOTAL
PQ1CB42
178
-------
B. Functions
DISK$VAXSET:[ROMLIB.UTILIO]
IOCL
JFILE2
JUNIT
IX. INCLUDE FILES
DISK$VAXSET:[ROMLffi.PROCES]
COMBS.EXT IOUNIT.EXT PRID.EXT
CONCS.EXT PARAM.EXT TRCONC.EXT
FRACT.EXT
2.20 PROCESSOR P22G (CHEMISTRY)
I. PROCESSOR FUNCTION
This stage 2 processor generates BCON, the boundary conditions file, which contains the species con-
centrations at each of the modeling domain's four boundaries (north, south, east, and west) for every
time step.
II. I/O COMPONENTS
A- Input Files
\. Standard Input Files
None
2. Nonstandard Input Files
P22G uses one nonstandard input file output from P24G, EQUILBCS, which contains the
steady state species concentrations (for 35 species) at each boundary. Note that in this version
of the ROM, EQUILBCS.DAT contains data only for the two hours of each day of an episode
at which P24G calculates boundary conditions. These hours are assumed to be representative
of daytime and nighttime boundary conditions respectively. The READ and FORMAT state-
ments for EQUILBCS.DAT are listed below, and its parameters are shown in Table 2.153.
179
-------
READ (JCONC,*) BCSTDT.BCSTHR
DO 109 1LEV=1,NLEVBC
DO 109 ISPC=1,NSPCBC
READ (JCONC,1003) SPNMBC(ISPC),
& (2X,E10.4))
109 CONTINUE
TABLE 2.153. EQUILBCS PARAMETERS
Farm Farm
No. Name
1 BCSTDT
2 BCSTHR
3 SPNMBQ,*
4 CONCS^fc
Unit
EST
ppm
Data
Type
Integer*4
Integer*4
Char*4
Real*4
Description
Boundary condition Julian date as YYDDD
Boundary condition time as HH
Species name (see Table 2.154)
Species concentration
Note: L = layer number; b = boundary.
The 35 species used in the ROM are shown in Table 2.154.
TABLE 2.154. ROM SPECIES AND REACTIONS
Symbol
ALD2
C203
CO
CRES
CRO
ETH
FORM
H2O2
HN02
HN03
HO2
ISOP
MGLY
N2O5
NO
NO2
NO3
O
Description
High MW aldehydes
Peroxyacetyl radical
Carbon monoxide
Cresol and high MW phenols
Methylphenoxy radical
Ethene
Formaldehyde
Hydrogen peroxide
Nitrous acid
Nitric acid
Hydroperoxy radical
Isoprene structures
Methylglyoxal
Dinitrogen pentoxide
Nitric oxide
Nitrogen dioxide
Nitrogen trioxide
CPP atom
Symbol
O1D
O3
OH
OLE
OPEN
PAN
PAR
PNA
ROR
TO2
TOL
XO2
XO2N
XYL
MTHL
NONR
TRAC
Description
OlD atom
Ozone
Hydroxyl radical
Olefinic carbon bond
High MW aromatic oxidation
ring fragment
Peroxyacetyl nitrate
Paraffinic carbon bond
Peroxynitric acid
Secondary organic oxy radical
Toluene-hydroxyl radical adduct
Toluene
NO to NO2 reaction
NO to nitrate (NO 3) reaction
Xylene
Methanol
Nonreactive hydrocarbons
Tracer species
Note: MW = molecular weight
B. Output Files
1. Standard Output Files
None
180
-------
2. Nonstandard Output Files
P22G generates BCON; this file contains the boundary condition concentrations of the species
shown in Table 2.154 for each model level (or layer), for a one-cell depth at each of the
boundaries. The BCON file contains the same data as the input file, but in the standard format
of ROM concentration files. However, P22G writes a boundary concentration for every model
time step; these data are copies of information contained in EQUILBCS, and change only
when new data is encountered in the input file. (Recall that EQUILBCS contains only two
times for each day at which boundary conditions are calculated.) BCON is used by the Core
Model. There are up to 24 records written to the file prior to the concentration field. These
are described below.
a. Record 1
This record contains the parameters shown in Table 2.155. The parameters are first writ-
ten to the buffer SEG1BF; subsequently subroutine WRCHAR writes the data (unfo-
rmatted) to BCON. These steps are listed below.
WRITE (SEG1BF,1001,IOSTAT=IOST)
& COATBC, CTIMBC, SDATBC, STHRBC, TSTPBC, FRSTBC,
& GRDNBC, SULNBC, SULTBC, NELNBC, NELTBC, DLONBC,
& DLATBC, NCOLBC, NROUBC, NLEVBC, NSPCBC, ICNTBC
1001 FORMAT (6I8.8,A8,4F8.3,2F8.5,5I4.4)
CALL WRCHAR (IUNIT,SEG1BF,IOST)
SUBROUTINE WRCHAR(IUNIT,CHBUF,IOST)
IMPLICIT NONE
INTEGER** IUNIT,IOST
CHARACTER*^) CHBUF
WRITE(IUN.IT,IOSTAT=IOST) CHBUF
RETURN
END
b. Record 2
This record contains the parameter shown in Table 2.156. The parameter is first written to
the buffer SPNMBF; subsequently subroutine WRCHAR writes the data (unformatted) to
BCON. The WRITE and FORMAT statements are listed below:
WRITE (SPNMBF,1003,IOSTAT=IOST) (SPNMBC(I), 1=1,NSPCBC)
1003 FORMAT <6<10(A4))/>
CALL WRCHAR (IUNIT,SPNMBF,IOST)
181
-------
TABLE 2.155. BCON RECORD 1 PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Farm
Name
CDATBC
CTIMBC
SDATBC
STHRBC
TSTPBC
FRSTBC
GRDNBC
SWLNBC
SWLTBC
NELNBC
NELTBC
DLONBC
DLATBC
NCOLBC
NROWBC
NLEVBC
NSPCBC
ICNTBC
Unit
EST
EST
s
s
°W
°N
°W
°N
°W
°N
Data
Type
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Char*8
Real*4
Real*4
Real*4
Real'4
Real*4
Real*4
Integer*4
Integer*4
Integer*4
lnteger*4
Integer*4
Description
File creation date as MMDDYY
File creation time as HHMMSS
Julian scenario start date as YYDDD
Scenario start time as HH
Time step, simulation
First time step in BCON
Grid name (see Appendix A)
Longitude, SW corner of grid
Latitude, SW corner of grid
Longitude, NE corner of grid
Latitude, NE corner of grid
Cell longitude increment
Cell latitude increment
Number of columns in grid
Number of rows in grid
Number of levels in simulation
Number of species in BCON file
Number of text records
TABLE 2.156. BCON RECORD 2 PARAMETER
Farm
No.
Farm
Name
Unit
Data
Type
Description
SPNMBC
Char*4
Chemical species name
c. Record 3
This record contains the parameter shown in Table 2.157. The parameter is first written to
the buffer LEVNBF; subsequently subroutine WRCHAR writes the data (unformatted) to
BCON. The WRITE and FORMAT statements are listed below:
WRITE (LEVNBF,1005,IOSTAT=IOST)
& (LVNMBC(I), 1=1,NLEVBC)
1005 FORMAT (2(10(A4»/)
CALL WRCHAR (IUNIT,LEVNBF,IOST)
182
-------
TABLE 2.157. BCON RECORD 3 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 LVNMBC Char*4 Layer number
d. Records 4 - (4 + ICNTBC)
These records contain the parameter shown in Table 2.158, which consists of the optional
text that can be entered as part of P22G's input. The parameter is first written to the
buffer TEXTBF from control card records 3 up to 22; subsequently, subroutine WRCHAR
writes the 80-character strings to the output records in BCON. The WRITE statements
are listed below:
DO 200, 1=1, ICNTBC
TEXTBF = TEXTBC(I)
CALL WRCHAR (IUNIT,TEXTBF,IOST)
200 CONTINUE
TABLE 2.158. BCON RECORDS 4 • (4 + ICNTBC) PARAMETER
Farm Farm
No. Name
1 TEXTBC
Data
Unit Type
Char*80
Description
Descriptive text
e. Record (5 + ICNTBC): the time step header
There is one time step header record for each time step. This record contains the param-
eters shown in Table 2.159. The WRITE statements write the header from a COMMON
declaration; these codes are listed below:
REAL*4 DATBC, TINBC, ELPBC, STPBC
COMMON /RTSHBC/ DATBC, TIHBC, ELPBC, STPBC
C--WRITE TIME STEP HEADER
CALL URFILE (IUNIT,IULTSN,DATBC,IOST)
SUBROUTINE URFILE (IUNIT, NUORDS, BUFFER, IOST)
IMPLICIT NONE
INTEGERS IUNIT, NUORDS, IOST
REAL*4 BUFFER (NUORDS)
URITE (IUNIT, IOSTAT = IOST) BUFFER
RETURN
END
183
-------
TABLE 2.159. BCON TIME STEP HEADER RECORD PARAMETERS
Farm
No.
1
2
3
4
Farm
Name Unit
DATBC
TIMBC EST
ELPBC s
STPBC
Data
Type
RealM
Real*4
Real*4
Real*4
Description
Julian date on BCON file as YYDDD
Time on BCON file as HHMMSS
Elapsed time since start
Step number on BCON file
f. Records (6 + ICNTBC) - (4 x NSPECIES): species concentration data
These records are written for each time step, and contain the boundary species concentra-
tions by layer (determined by the subroutine WRBC), iterated over either columns (north-
ern and southern boundaries), or rows (western and eastern boundaries). The records'
parameters are shown in Table 2.160. The value of the IWDLN2 variable shown in the
WRITE statements below is the product of the number of columns in the modeling
domain and the number of model layers; the value of IWDLN3 is the product of the
number of rows in the modeling domain and the number of model layers. IWDLN2 and
IWDLN3 define the buffer length.
DO 301, ISPC = 1, NSPECS
CALL WRFILE (IUNIT,IWDLN3,WEST(1.1,ISPC),IOST)
301 CONTINUE
DO 303, ISPC = 1, NSPECS
CALL WRFILE (IUNIT,IUDLN3.EAST(1,1,ISPC),IOST)
303 CONTINUE
DO 305, ISPC = 1, NSPECS
CALL WRFILE (IUNIT,IWDLN2,NORTH(1,1,ISPC),IOST)
305 CONTINUE
DO 307, ISPC = 1, NSPECS
CALL WRFILE (IUNIT,IWDLN2,SOUTH(1,1,ISPC),IOST)
307 CONTINUE
TABLE 2.160. BCON SPECDZS CONCENTRATION RECORDS PARAMETERS
Farm
No.
1
2
3
4
Farm
Name
WEST,^
EAST;^,
NORTH^
SOUTH^
Unit
ppm
ppm
ppm
ppm
Data
Type
RealM
Real*4
Real*4
RealM
Description
Species concentrations at the:
Western boundary
Eastern boundary
Northern boundary
Southern boundary
Note: /' = column number;/ = row number; L = layer number; s - species.
184
-------
III. CONTROL CARDS
Two control cards are used, in the format shown below. Table 2.161 describes the control card vari-
ables. Following these two control cards, optional text information can be entered in as many as 20
records. This text will be included in the BCON file's header.
REGION SDATBC STHRBC
IDATBC ITIMBC NSTEPS
VAXFMT
TABLE 2.161. CONTROL CARD VARIABLES
Farm
No.
1
2
3
4
5
6
7
Farm
Name Unit
REGION
SDATBC
STHRBC EST
IDATBC
ITIMBC EST
NSTEPS
VAXFMT
Description
Modeling domain name
Julian scenario start date as YYDDD
Scenario start hour as HE
Julian date of boundary conditions as YYDDD
Time of initial conditions as HHMMSS
Number of time steps
Translate flag:
.TRUE. =»do not translate to IBM binary
.FALSE =*• translate to IBM binary
Example:
'ROMNET 88236,12
88236,120000,145
BOUNDARY CONDITIONS FILE GENERATED FOR 145 TIME STEPS.
THIS BC FILE IS PRODUCED BY DISK$VAXSET:[ROMEXEROMNET]P22GV1C.EXE.
THERE ARE THIRTY-FTVE SPECIES USED IN THE CURRENT VERSION OF THE ROM.
.FALSE.
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
FORTRAN source files:
FORTRAN INCLUDE files:
Object files:
Executable file:
4 files
11 files
4 files
_1 file
20 files
53 blocks
39 blocks
25 blocks
45 blocks
162 blocks
185
-------
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss): 00:00:52
Buffered I/O count: 574
Direct I/O count: 2998
Peak working-set size: 570
Peak virtual size: 2518
C. Space Requirements: Log and Print Files
P22GX1.LOG: 54 blocks
Print Files: None
D. Space Requirements: Input and Output Files
Table 2.162 shows the input file and output file space requirements.
TABLE 2.162. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
Logical File
Name
EQUILBCS
BCON
File
Type
Nonstd
Nonstd
Storage
(in blocks)
330
30677
Scenario
Data Span
20 days
72 hours
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P22G VI C.LNK follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE DISKSVAXSET:[ROMCOH.ROMNET]P22GV1C.INK
ON WARNING THEN EXIT
ASSIGN MLAB: SYSSPRINT
MAPFILE = »MET1:[S01S]P22GV1C.MAP"
EXE FILE = ''DISKSVAXSET: [ROMCOM.ROMNET1P22GV1C.EXE"
ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.ROMNET]P22G.OBJ A1
ASSIGN/USERJ10DE DISKSVAXSET:[ROMOBJ.ROMNETJBLKBC.OBJ A2
$ ASSIGN/USER MODE DISKSVAXSET: [ROMOBJ.ROMNET30PWRBC.OBJ A3
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.ROMNET]URBC.OBJ A4
$ ASSIGN/USER'MOOE DISKSVAXSET: [ROMOBJ.UTILIOJADATE.OBJ AS
$ ASSIGN/USER MODE DISKSVAXSET: [ROMOBJ.UTILIOKELLO.OBJ A6
$ ASSIGN/USER~MODE DISKSVAXSET: [ROMOBJ.UTILIOKLOCK1 .OBJ A7
$ ASSIGN/USER_MODE DISKSVAXSET: [ROMOBJ.UTIL10}CLOCK2.0BJ AS
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIOJDATTIM.OBJ A9
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]IOCL.OBJ A10
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTIL10]JFILE2.0BJ A11
186
-------
$ ASSIGN/USER_MODE DISKSVAXSET: [ROMOBJ.UTILIO]JFILE5.0BJ A12
$ ASSIGN/USER_MODE DISKSVAXSET:[ROMOBJ.UTILIO]JUNIT.OBJ A13
$ ASSIGN/USER MODE DISKJVAXSET: [ROMOBJ.UTILIO]PROGID.OBJ A14
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]WRCHAR.OBJ A15
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTIL103WRFILE.OBJ A16
$ LINK -
/EXECUTABLE = DISKSVAXSET:[ROMCOM.ROMNET]P22GV1C.EXE -
/MAP = MET1:[S01S]P22GV1C.MAP -
A1, -
A2. -
A3, -
AH. -
A15, -
A16
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1:CS01S]P22GV1C.MAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P22GX1.COM follows; note that file-naming conventions (for the BCON file) is described in Part 3 of
this User's Guide (EPA 600/8-90-083c).
$ I ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE DISKSVAXSET:[FOREMAN.FV1502A3P22GX1.COM
$ !
$ ASSIGN MLAB: SYSSPRINT
$ !
$ ! ASSIGN INPUT FILES
$ ASSIGN MET1:[ROMNET1DIRECT2.DAT PFMFDIR
$ ASSIGN MET1:[ROMNET.RAUDATA]EQBC RNETJUL85.DAT EOUILBCS
$ ! ASSIGN OUTPUT FILES
$ ASSIGN MET31:[FOREMAN.ICBCS3BCFV1502A.DAT BCON
$ SHOW PROCESS / ACCOUNTING
$ !
$ TYPE DI SKSVAXSET: [FOREMAN. F.V1502AJP22GX1.CPR
$ ! ASSIGN CONTROL CARD(S) FILE
$ !$ ASSIGN / USER MODE DISWVAXSET: [FOREMAN.FV1502A]P22GX1 .CPR SYSSINPUT
$ RUN DISKSVAXSET:TROMEXE.ROMNET3P22GV1C.EXE
$ SHOW PROCESS / ACCOUNTING
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P22GV1C
B. Subroutines
OPWRBC
WRBC
187
-------
C. Functions
None
D. Block Data Files
BLKBC
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A. Subroutines
DISK$VAXSET:[ROMLIB.UTILIO]
ADATE
CELLO
CLOCK1
B. Functions
CLOCK2
DATTIM
PROGE)
WRCHAR
WRFILE
DISK$VAXSET:[ROMLIB.UTILIO]
IOCL
JFILE2
JFILE5
. JUNIT
IX. INCLUDE FILES
DISKSVAXSET:[ROMLffi.PROCES]
BCFILE.EXT
FLNAMS.EXT
GRDDEF.EXT
HDFMTS.EXT
HEADBCEXT
LUNITS.EXT
LVNAME.EXT
PARM22.EXT
PRID.EXT
REGION.EXT
TSHDBCEXT
2.21 PROCESSOR P23G (CHEMISTRY)
I. PROCESSOR FUNCTION
This stage 1 processor reads the 35 species background concentrations from CLEANAIR, and outputs
the upper boundary (the top of layer 3) concentrations for a subset of 12 "species." These "species" are,
in fact, aggregations of species by magnitude of their concentrations, as shown by example in Table
2.163. P23C assigns a discrete value, calculated as the mean group concentration, to each group. It
chooses a representative species from each group to denote the name of the group in the MF147 out-
put file. The purpose of these aggregations is (1) to reduce CPU time in later stages of the ROM, and
188
-------
(2) to conform to the structure of PF/MF files, which limit the number of species that can be written to
them. The ROM can reconstruct the individual species concentrations as required via an indexing
array that holds the relevant mapping information.
TABLE 2.163. EXAMPLE OF SPECIES AGGREGATIONS IN P23G
Magnitude
10-1
10-2
10-3
10-4
10-5
10-*
io-7
10-8
10-9
10-10
10-n
10-12
10-13-10-14
10-15
10-16
Species
carbon monoxide
ozone
formaldehyde
hydrogen peroxide
nitric acid
paraffinic C-bond
aldehydes
nitric oxide
nitrogen dioxide
peroxyacetyl nitrate
ethene
hydroperoxy radical
toluene
NO -»NO2 reaction
NO-+NOg reaction
peroxyacetyl radical
heavy phenols
nitrous acid
peroxynitric acid
hydroxyl radical
heavy ring fragments
methylphenoxy radical
methylglyoxal
nitrogen trioxide
dinitrogen pentoxide
oJefins
xylene
Q3P atom
O1D atom
toluene-hydroxyl radical adduct
2° organic oxy radical
none
none
none
isoprenes
methanol
nonreactive HC's
tracer species
Mean group concentration (ppm)
0.988
2.91
1.81
1.75
1.18
1.57
3.98
0.708
1.60
1.57
0.836
1.00
189
-------
We equilibriate the layer' 3 ozone concentrations with ozone levels in the free atmosphere by
initializing the layer 3 background concentration with free atmosphere concentrations. The chemical
reactions are then modeled until the system reaches a steady state.
II. I/O COMPONENTS
A. Input Files
1. Standard Input Files
None
2. Nonstandard Input Files
a. CLEANAIR
CLEANAIR, created by P21G, contains the "clean air" (background) steady state daytime
and nighttime concentrations for the 35 chemical species used in the ROM. It is used to
generate the steady state boundary conditions. The file is read by the WRITE and FOR-
MAT statements listed below, and its parameters are shown in Table 2.164.
READ (JCONC.1011) HDTEXT
READ (JCONC.1011) HDTEXT
DO 101 IDORN=1,2
READ (JCONC.1015) NORD
DO 101 ILAY=1,NLAY
READ
-------
b. RATECONS
RATECONS, created by preprocessor CVCHEM, contains the rate constants for the
reactions of the Carbon-bond 4.2 mechanism. The rates in this file have been adjusted to
the meteorological parameters in CVCHEM (see Section 7.2.1, Part 1). The READ and
FORMAT statements for this file are listed below, and its parameters are shown in Table
2.165.
READ (JRATE.1011) HDTEXT
READ (JRATE.1011) HDTEXT
1011 FORMAT (A100)
DO 103 IDORN=1,2
READ (JRATE.1015) NORD
DO 103 ILAY=1,JNLAY
READ (JRATE.1015) INLAY
READ (JRATEJ027) (RK(I,ILAY,IDORN),I=1,NREACT)
103 CONTINUE
1015 FORMAT (A8)
1027 FORMAT (5E15.0)
TABLE 2.165. RATECONS PARAMETERS
Farm
No.
1
2
3
4
Farm
Name Unit
HDTEXT
NORD
INLAY
RK(l)/^ min-i
Data
Type
Char* 100
Char*8
Char*8
Real*4
Description
Header text record
NIGHT or DAY indicator
Layer name
Rate constant, species 1
or
86 RK^),^ ppm-i-min-1 Real*4 Rate constant, species 83
Note: i = day (1) or night (2) indicator; L = layer. Units are dependent on the number of reacting gases.
B. Output Files
1. Standard Output Files
P23G creates MF147, which contains the hourly gridded upper boundary condition species
concentrations (c.) for 12 species. MF147 is used by P39G, and its parameters are shown in
Table 2.166.
2. Nonstandard Output Files
None
191
-------
TABLE 2.166. MF147 PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
Farm
Name
ALD2
C2O3
CO
CRO
ETH
FORM
ISOP
N205
O
O3
OH
ROR
Unit
ppm
ppm
ppm
ppm
ppm
ppm
ppm
ppm
ppm
ppm
ppm
ppm
Data
Type
Real*4
Real*4
RealM
Real*4
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
Description
c«, aldehydes
c_, acetate
c _ , carbon monoxide
c «,, methylphenoxy radical
c.,ethene
c., formaldehyde
c.,isoprenes
c., nitrogen pentoxide
c . , atomic oxygen
c., ozone
c., hydroxyl radical
c ., secondary organic oxy radicals
III.
Note: c . = background concentration at top of layer 3
CONTROL CARDS
One control card is used, in the format shown below. Table 2.167 describes the control card variables.
SDATIN STHRIN NHOURS
TABLE 2.167. CONTROL CARD VARIABLES
Farm
No.
1
2
3
Farm
Name
SDATIN
STHRIN
NHOURS
Unit
EST
h
Description
Julian scenario start date as YYDDD
Scenario start hour as HH
Number of hours to process
Example:
88105 120000 72
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
FORTRAN source files:
FORTRAN INCLUDE files:
Object files:
Executable file:
1 file
13 files
1 file
_1 file
16 files
24 blocks
78 blocks
15 blocks
_75 blocks
192 blocks
192
-------
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss):
Buffered I/O count:
Direct I/O count:
Peak working-set size:
Peak virtual size:
00:00:37
253
2778
88
2992
C. Space Requirements: Log and Print Files
P23GX1.LOG:
Print Files:
60 blocks
None
D. Space Requirements: Input and Output Files
Table 2.168 shows the input file and output file space requirements.
TABLE 2.168. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Logical File
Name
CLEANAIR
RATECONS
File
Type
Nonstd
Nonstd
Storage
(in blocks)
11
22
33
Scenario
Data Span
N/A
N/A
Output
MF147
22776
72 hours
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P23GV1A.LNK follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE DISKSVAXSET:[ROMCOM.ROMNET]P23GV1A.LNK
$ ON WARNING THEN EXIT
$ ASSIGN HLAB: SYSSPRINT
$ MAPFILE = "MET1:[S01S]P23GV1A.HAP"
$ EXEFILE = "DISKSVAXSET:[ROMEXE.ROMNET1P23GV1A.EXE"
$ ASSIGN/USER_MODE DISKSVAXSET:[ROMOBJ.ROMNET]P23G.OBJ A1
$ ASSIGN/USER_MODE DISKSVAXSET:tROMOBJ.UTIL10]ADATE.OBJ A2
:[ROMOBJ.UTILIO]CELLO.OBJ A3
:CROM06J.UTILIO]FLSHRY.OBJ A4
:[ROMOBJ.UTILIO]FSTAT1.0BJ AS
$ ASSIGN/USER_MOOE DISKSVAXSET:[ROHOBJ.UTILIO]GPRIME.OBJ A6
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIO]IBLKR.OBJ A7
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTIL10]INDEX1.OBJ AS
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]IOCL.OBJ A9
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]JFILE1.OBJ A10
ASSIGN/USER'MODE DISKSVAXSET:
ASSIGN/USER MODE DISKSVAXSET:
ASSIGN/USER~MOOE DISKSVAXSET:
193
-------
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIO]JFILE2.OBJ A11
$ ASSIGN/USERJ10DE DISttVAXSET:[ROMOBJ.UTILI0]JHOUR1.OBJ A12
$ ASSIGN/USER NODE DISttVAXSET:[ROMOBJ.UTILIO]JUNIT.OBJ A13
$ ASSIGN/USERJ10DE DISttVAXSET: [ROMOBJ.UTILIO]PQ1CB42.OBJ AU
$ ASSIGN/USER_MODE DISttVAXSET:[ROMOBJ.UTILIO]PQCC€FCB42.0BJ A15
$ ASSIGN/USER MODE DISttVAXSET:[ROMOBJ.UTILIO]PROGID.OBJ A16
$ ASSIGN/USERJIODE DISttVAXSET:[ROMOBJ.UTILIO]OPDIR2.0BJ A17
$ ASSIGN/USER_MOOE DISttVAXSET:tROMOBJ.UTIL10]OPEN2.0BJ A18
$ ASSIGN/USER MODE DISttVAXSET:[ROMOBJ.UTILIO]RATEDCB42.OBJ A19
$ ASSIGN/USERJIODE DISttVAXSET:[ROMOBJ.UTILIO]RDDIR1.OBJ A20
$ ASSIGN/USER_MODE DISttVAXSET:[ROMOBJ.UTIL10]RDREC.OBJ A21
$ ASSIGN/USERJIODE DISWVAXSET: [ROHOBJ.UTILIOHOTAL.OBJ A22
$ ASSIGN/USERJIODE DISttVAXSET:[ROMOBJ.UTILIO]WRREC.OBJ A23
$ ASSIGN/USER MODE DISttVAXSET:[ROMOBJ.UTILI01WRFT5.OBJ A24
$ LINK -
/EXECUTABLE = DISWVAXSET: [ROMEXE.ROMNETJP23GV1A.EXE -
/MAP = MET1:[S01S]P23GV1A.MAP -
A1, -
A2, -
A3, -
A22, -
A23, -
A24
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
HET1:[S01S]P23GV1A.MAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P23GX1.COM follows:
! ACCOUNTING CODE
SET VERIFY
! RUN STREAM IS IN FILE USER2SDISK: [FOREMAN.FV150UIP23GX1.COM
ASSIGN MLAB: SYSSPRINT
! ASSIGN INPUT FILES
ASSIGN MET1:[ROMNETJDIRECT2.DAT PFMFDIR
ASSIGN MET 1: [ROMNET.RAWDATAKLEANBCS.DAT CLEANAIR
ASSIGN MET1:[ROMNET.RAUDATA1RATECB4-2.DAT RATECONS
! ASSIGN OUTPUT FILES
ASSIGN MET56:[ROMNET1.D851881MF147A.DAT MF147
SHOW PROCESS / ACCOUNTING
!
! ASSIGN CONTROL CARD(S) FILE
TYPE USER2SDISK:[FOREMAN.FV1501A3P23GX1.CPR
ASSIGN / USER MODE USER2SDISK:[FOREMAN.FV1501A1P23GX1.CPR SYSSINPUT
$ RUN DISttVAXSET: [ROMEXE.ROMNETJP23GV1A.EXE
$ SHOW PROCESS / ACCOUNTING
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P23GV1A
194
-------
B. Subroutines
None
C. Functions
None
D. Block Data Files
None
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A. Subroutines
DISK$VAXSET:[ROMLffi.UTILIO]
ADATE IBLKR
CELLO JFILE1
FLSMRY PQ1CB42
FSTAT1 PQCOEFCB42
GPRIME PROGID
B. Functions
DISKSVAXSET:[ROMLIB.UTILIO]
INDEXl
IOCL
JFILE2
JHOUR1
JUNIT
IX. INCLUDE FILES
DISKSVAXSET:[ROMLIB.PROCES]
OPDIR2
OPEN2
RATEDCB42
RDDIR1
COMBS.EXT
CONCS.EXT
DIRREC.EXT
FDIR1.EXT
FDIR2.EXT
FHEAD1.EXT
FHEADZEXT
FRACT.EXT
GRDDEF.EXT
IOUNIT.EXT
RDREC
TOTAL
WRREC
WRFT5
PARAM.EXT
PARMS.EXT
PRID.EXT
195
-------
2.22 PROCESSOR P24G (CHEMISTRY)
I. PROCESSOR FUNCTION
This stage 1 processor generates the twice daily (daytime and nighttime) gridded equilibriated con-
centrations for the 35 species used in the ROM, for the north, south, east, and west boundaries of each
model layer. Each boundary is assigned a single value for ozone, which all grid cells in that boundary
assume; so that no systematic bias is introduced, this value roughly agrees with the observed ozone
concentrations along the boundary. The remaining 34 species are then equilibriated to this ozone
concentration, generating the set of concentration values for that boundary. The purpose of the equi-
libriation calculations performed by P24G is to reduce CPU time in later stages of the ROM.
II. I/O COMPONENTS
A Input Files
1. Standard Input Files
None
2. Nonstandard Input Files
a. CLEANAJR
CLEANAIR, created by P21G, contains the "clean air" (background) steady state daytime
and nighttime concentrations for the 35 chemical species used in the ROM. It is used to
generate the steady state boundary conditions. The file is read by the following READ and
FORMAT statements, and its parameters are shown in Table 2.169.
READ (J1CS.1009) HDTEXT
READ (JICS.1009) HDTEXT
DO 101 IDORN-1,2
READ CJICS.1013) NORD
DO 101 ILAY=1.HLAY
READ (JICS.1013) INLAY
READ (JICS.1017) (SPNAHE(I).NITRO(I),
& LAYERC(I,ILAY,IDORN),I=1,NSPECS)
101 CONTINUE
1009 FORMAT (A100)
1013 FORMAT (AS)
1017 FORMAT
-------
TABLE 2.169. CLEANAIR PARAMETERS
Farm Farm
No. Name
1 HDTEXT
2 NORD
3 INLAY
4 SPNAME/,,-
5 NITRO/,,
6 LAYERQ,,
Data
Unit Type
Char* 100
Char*8
Char*8
Char*4
Logical *4
ppm Real*4
Description
Header text record
NIGHT or DAY indicator
Layer number
Chemical species name /abbreviation
Flag: = .TRUE, for all nitrogenous species
Species concentration
Note: L = layer number, i = 1 (day) or 2 (night)
b. RATECONS
RATECONS, created by preprocessor CVCHEM, contains the rate constants for the
reactions of the Carbon-bond 4.2 mechanism. The rates have been adjusted to meteoro-
logical parameters by CVCHEM (Section 7.2, Part 1). The READ and FORMAT state-
ments for this file are listed below, and its parameters are shown in Table 2.170.
READ (JRATE.1009) HOTEXT
READ (JRATE.1009) HDTEXT
1009 FORMAT (A100)
DO 103 IDORN=1,2
READ (JRATE.1013) NORD
DO 101 ILAY=1,INLAY
READ (JRATE.1013) INLAY
READ (JRATE.1027) (RKd.ILAY, 1DORN),1=1.NREACT)
101 CONTINUE
1013 FORMAT (A8)
1027 FORMAT (5E15.0)
TABLE 2.170. RATECONS PARAMETERS
Farm
No.
1
2
3
4
Farm
Name Unit
HDTEXT
NORD
INLAY
RK(1)I>L min-i
Data
Type
Char* 100
Char*8
Char*8
Real*4
Description
Header text record
NIGHT or DAY indicator
Layer name
Rate constant, species 1
or
86 RK(83)JtL
Real*4
Rate constant, species 83
Note: / = 1 (day) or 2 (night) indicator; L = layer. Units are dependent on the number of reacting gases.
197
-------
c. OZONE
OZONE, created by preprocessing AIRS data (Section 7.1, Part 1) contains the observed
surface ozone concentrations for each of the four model boundaries. The READ and
FORMAT statements for our version of this file are listed below, and its parameters are
shown in Table 2.171. Note that you may decide on a different format for OZONE, in
which case you will need to reflect your changes in the code shown below.
READ (JRATE.1009) HDTEXT
READ (JRATEJ009) HDTEXT
1009 FORMAT (MOO)
READ (J03,1031) JDATE, TINE, (03DAY1UBND), IBND=1,NBOUND)
1031 FORMAT (I5,2X,I2,2X,4I5)
TABLE 2.171. OZONE PARAMETERS
Farm
No.
1
2
3
4
Farm
Name
HDTEXT
JDATE
TIME
03DAY1*
Unit
EST
ppm
Data
Type
Char* 100
Integer*4
Integer*4
Real*4
Description
Header text record
Julian date as YYDDD
Time as HH
Ozone concentration
Note: b = boundary
B. Output Files
1. Standard Output Files
None
2. Nonstandard Output Files
P24G creates one nonstandard file, EQUILBCS, that contains the twice daily (daytime and
nighttime) steady-state species concentrations at all four boundaries for the 35 species used in
the ROM. Note that there is only a single concentration for each of the species at each
boundary. EQUILBCS is used by P22G. The WRITE and FORMAT statements for this file
are listed below, and its parameters are shown in Table 2.172.
WRITE (OUTUNT, 1037) JDATE, TIME
1037 FORMAT (2X,E10.4))
211 CONTINUE
213 CONTINUE
198
-------
TABLE 2.172. EQUILBCS PARAMETERS
Farm Farm
No. Name
1 JDATE
2 TIME
3 SPNAME/.
4 BCONQ^
Unit
EST
ppm
Data
Type
Integer*4
Integer*4
Char*4
Real*4
Description
Julian date as YYDDD
Time as HH
Species name
Equilibriated boundary concentration
Note: L = layer, i = 1 (day) or 2 (night) indicator, 5 = species, b = boundary
III. CONTROL CARDS
One control card is used, in the format shown below. Table 2.173 describes the control card variables.
DELTAT TSP
TABLE 2.173. CONTROL CARD VARIABLES
Farm Farm
No. Name Unit
Description
1 DELTAT min
2 TSP min
Maximum chemistry equilibriation time
Time between reported concentrations to the log
Example:
90.0 90.0
RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A Memory Requirements (1 block = 512 bytes)
FORTRAN source files: 1 file 29 blocks
FORTRAN INCLUDE files: 7 files 21 blocks
Object files: 1 file 13 blocks
Executable file: _1 file 45 blocks
10 files 108 blocks
B. Execution Time Requirements (Representative Values for a 20-Day Scenario):
VAX 8650
Charged CPU time (hh:mm:ss):
Buffered I/O count:
Direct I/O count:
Peak working-set size:
Peak virtual size:
00:09:38
293
2676
552
2528
199
-------
C. Space Requirements: Log and Print Files
P24GX1.LOG:
Print Files:
2292 blocks
None
D. Space Requirements: Input and Output Files
Table 2.174 shows the input file and output file space requirements.
TABLE 2.174. I/O FILE SPACE REQUIREMENTS
File
Group
Logical File
Name
File
Type
Storage
(in blocks)
Scenario
Data Span
Input
CLEANAIR
RATECONS
OZONE
Nonstd
Nonstd
Nonstd
11
22
11
44
N/A
N/A
20 days
Output
EQUILBCS
Nonstd
462
20 days
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P24GV1 A.LNK follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE DISKSVAXSET: [ROMCOM.ROMNET1P24GV1A.LNIC
S ON WARNING THEN EXIT
$ ASSIGN MLAB: SYSSPRINT
$ HAPFILE - "MET1:[S01S]P24GV1A.MAP"
$ EXE FILE = "DISKSVAXSET:[ROMEXE.ROMNET1P24GV1A.EXE"
$ ASSIGN/USER_MOOE 0ISKSVAXSET:tROMOBJ.ROMNET]P24G.OBJ
[ROMOBJ.UTILIO]ADATE.OBJ
[ROMOBJ.UTILI0]GPRIME.OBJ
[ROMOBJ.UTILIO]IOCL.OBJ
[ROMOBJ.UTILI01JFILE2.0BJ
[ROMOBJ.UTILIO]JUNIT.OBJ
ASSIGN/USER MODE DISKSVAXSET:
ASSIGN/USERJ40DE DISKSVAXSET:
ASSIGN/USER MODE DISKSVAXSET:
ASSIGN/USER~MODE 01SKSVAXSET:
ASSIGN/USER~MODE DISKSVAXSET:
ASSIGN/USER_MODE DISKSVAXSET:[ROMOBJ.UTILIO]PQ1CB42.OBJ
ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIO]PQCOEFCB42.0BJ
ASSIGN/USER~MODE DISKSVAXSET:
ASSIGN/USER~MOOE DISKSVAXSET:
[ROMOBJ.UTILIO]PROGID.06J
[ROMOBJ.UTILI01RATEDCB42.0BJ
$ ASSIGN/USER MODE DISKSVAXSET: [ROMOBJ.UTILIO]TOTAL.OBJ
$ LINK -
/EXECUTABLE = DISKSVAXSET:[ROMEXE.ROMNET1P24GV1A.EXE -
/MAP = MET1:[S01S]P24GV1A.MAP -
A1. -
A2. -
A3, -
A1
A2
A3
A4
AS
A6
A7
A8
A9
AID
A11
200
-------
A9, -
A10, -
A11
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1:[S01S]P24GV1A.MAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P24GX1.COM follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ .' RUN STREAM IS IN FILE USER2SOISK: [FOREMAN. FV1502AIP24GX1 .COM
$ ASSIGN MLAB: SYSSPRINT
$ ! ASSIGN INPUT FILES
$ ASSIGN MET1:[ROMNETJDIRECT2.DAT PFMFDIR
$ ASSIGN MET1:[ROMNET.RAWOATAKLEANAIR.DAT CLEANAIR
$ ASSIGN MET1:[ROMNET.RAWDATA10ZONEJUL85.DAT OZONE
$ ASSIGN MET1:[ROMNET.RAUDATA3RATECB4-2.DAT RATECONS
$ ! ASSIGN OUTPUT FILES
$ ASSIGN MET1:[ROMNET.RAUDATA]EQBC RNETJUL85.DAT EQUILBCS
$ SHOW PROCESS / ACCOUNTING
$ !
! ASSIGN CONTROL CARD(S) FILE
TYPE USER2SDISK:[FOREMAN.FV1502A]P24GX1.CPR
!
ASSIGN / USER MODE USER2SDISK: [FOREMAN.FV1502A]P24GX1.CPR SYS$INPUT
RUN DISKSVAXSET:[ROMEXE.ROMNET1P24GV1A.EXE
$ SHOW PROCESS / ACCOUNTING
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P24GV1A
B. Subroutines
None
C. Functions
None
D. Block Data Files
None
201
-------
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A. Subroutines
DISK$VAXSET:[ROMLffi.UTILIO]
GPRIME
PQ1CB42
PQCOEFCB42
RATEDCB42
TOTAL
B. Functions
DISK$VAXSET:[ROMLffi.UTILIO]
IOCL
JFILE2
JUNIT
IX. INCLUDE FILES
DISK$VAXSET:[ROMLffi.PROCES]
PARM24.EXT
PRID.EXT
2.23 PROCESSOR P25G (LAND USE)
I. . PROCESSOR FUNCTION
In 1980, the EPA laboratory at Las Vegas, Nevada, delivered the National Land Use and Land Cover
Inventory to the Regional Oxidant Modeling program. The inventory includes all of the United States
and Canada to 55 °N latitude. Land use data were assigned on the basis of 20-km grid cells covering
the inventory area as a percentage of 10, later 11, land use and land cover categories in each cell. Note
that actual grid cells are a constant ]/4 degree longitude by 1/6 degree latitude. This is nominally 20
kilometers on a side, but in fact the longitudinal distance varies from 16 km to 25 km between 25
°N and 55 °N respectively. The latitudinal distance is a constant 18.5 km over the whole domain. The
data consist of a tape record of the latitude and longitude of the center point of each cell, together with
the cell's land cover categories. Land use and land cover data were derived from the U.S. Geological
Survey's Land Use and Land Cover (LULC) 1:250000 scale map series (circa 1972), from Landsat
regional mosaic images of the same date for areas with no LULC data, and from Landsat spot cover-
ages over major metropolitan areas where needed.
202
-------
The set of 11 land use categories are: (1) urban land, (2) agricultural land, (3) rangeland, (4) deciduous
forest, (5) coniferous forest, (6) mixed forest (including forested wetland), (7) water, (8) barren land,
(9) nonforested wetland, (10) mixed agricultural land and rangeland, and (11) rocky open places occu-
pied by low shrubs and lichens.
This stage 0 processor extracts land use data from LUSE1, the land use master-file tape, and computes,
for every grid cell, the fraction of each land use category in the cell. Note that you need to run the
processor only once for each modeling domain.
II. I/O COMPONENTS
A. Input Files
1. Standard Input Files
None
2. Nonstandard Input Files
P25G uses one nonstandard input file, LUSE1, that contains land use percentages for each
land use category by latitude and longitude. LUSE1 is read in using the READ and FORMAT
statements below, and Table 2.175 shows its parameters.
READ (LUSEUN, 93001, IOSTAT=IOST) LAT, LATFRC, LONG,
& LONFRC, (LNDUSE(I), I = 1.NPARM)
93001 FORMAT (414,1115)
TABLE 2.175. LUSE1 PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Farm
Name Unit
LAT °N
LATFRC 1/12 °N
LONG * W
LONFRC us°W
LNDUSE(I) %
LNDUSE(I) %
LNDUSE(I) %
LNDUSE(I) %
LNDUSE(I) %
LNDUSE(I) %
LNDUSE(I) %
LNDUSE(I) %
LNDUSE(I) %
LNDUSE(I) %
LNDUSE(I) %
Data
Type
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Description
Latitude
Latitude in twelfths
Longitude
Longitude in eighths
Percent of land in a cell that is:
urban
agricultural
rangeland
deciduous forest
coniferous forest
mixed forest (includes wetlands)
water
outside study area
nonforested wetland
mixed agricultural and rangeland
rocky open areas occupied by low-
growing shrubs and lichens
203
-------
B. Output Files
1. Standard Output Files
a. PF118
This file contains the land use fractions for all land use categories in each grid cell; it is
used by processors P04G and P15G. Table 2.176 shows its parameters.
TABLE 2.176. PF118 PARAMETERS
Parm
No.
1
2
3
4
5
6
7
8
9
10
11
Parm
Name Unit
URBAN
AGRI
RANGE
DF
EV
MF
WATER
BARREN
NFW
MAR
ROCKY
Data
Type
RealM
RealM
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Description
Fraction of land in a cell that is:
urban
agricultural
rangeland
deciduous forest
evergreen forest
mixed forest (includes wetlands)
water
barren
nonforested wetland
mixed agriculture/rangeland
rocky, open
2. Nonstandard Output Files
None
III. CONTROL CARDS
None
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
FORTRAN source files:
FORTRAN INCLUDE files:
Object files:
Executable file:
1 file
2 files
1 file
J. file
5 files
12 blocks
26 blocks
7 blocks
46 blocks
91 blocks
204
-------
B. Execution Time Requirements:
VAX 8650
Charged CPU time (hh:mm:ss): 00:00:32
Buffered I/O count: 173
Direct I/O count: 462
Peak working-set size: 692
Peak virtual size: 1613
C. Space Requirements: Log and Print Files
P25GV1A.LOG: 11 blocks
Print Files: None
D. Space Requirements: Input and Output Files
Table 2.177 shows the input file and output file space requirements.
TABLE 2.177. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
LUSE1
PF118
File
Type
Nonstd
4
Storage
(in blocks)
3774
286
Scenario
Data Span
N/A
N/A
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P25GV1A follows:
$ ! ACCOUNTING CODE
$ SET VERIFr
! RUN STREAM IS IN FILE S2SDUA24:tROMCOM.ROMNETJP25GV1A.LNK
ON WARNING THEN EXIT
ASSIGN MLAB: SYSSPRINT
MAPFILE = "MET1:[S01S]P25GV1A.MAP"
EXEFILE = "S2SDUA24:[ROHCOM.ROHNETJP25GV1A.EXE"
ASSIGN/USER_MOOE S2SOUA24:[ROHOBJ.ROMNET]P25G.OBJ A1
$ ASSIGN/USER MODE $2$DUA24:[ROMOBJ.UTILIOJADATE.OBJ A2
$ ASSIGN/USER~HODE $2$DUA24:[ROMOBJ.UTILIO]CELLO.OBJ A3
$ ASSIGN/USER~MODE S2SOUA24:[ROHOBJ.UTILI01CELL1.OBJ A4
$ ASSIGN/USER~MODE $2$DUA24: [ROHOBJ.UTILIO)FLSMRY.OBJ A5
S ASSIGN/USER~MOOE $2$OUA24:[ROHOBJ.UTILIO]FSTAT1.0BJ A6
$ ASSIGN/USER~HODE $2$DUA24: [ROHOBJ.UTILIO]IBLKR.OBJ A7
$ ASSIGN/USER~MOOE S2SOUA24:[ROMOBJ.UTILIO]IOCL.OBJ AS
$ ASSIGN/USER~MODE $2$DUA24:[ROMOBJ.UTILIO]IOERR.OBJ A9
$ ASS1GN/USERJ10DE $2»UA24: [ROHOBJ.UTILIO] JFILE1 .OBJ A10
$ ASSIGN/USER_MODE $2SDUA24:CROMOBJ.UTILIO]JFILE2.OBJ A11
$ ASSIGN/USER MODE $2$DUA24:[ROMOBJ.UTILIO]JUNIT.OBJ A12
$ ASSIGN/USER'MODE $2$ouA24:[ROHOBJ.UTILIOJOPDIRZ.OBJ A13
205
-------
$ ASSIGN/USER MODE $2$OUA24:[ROMOBJ.UTILIO]OPEN2.0BJ A14
$ ASSIGN/USERJIODE $2$OUA24:[ROMOBJ.UTILIOJPROGID.OBJ A15
$ ASSIGN/USER_MOOE $2$DUA24:[ROMOBJ.UTILIO]RDDIR1.0BJ A16
$ ASSIGN/USER MODE S2SDUA24:[ROMOBJ.UTILI01RDREC.OBJ A17
$ ASSIGN/USER~MODE $2$DUA24:[ROMOBJ.UTILIO]WRFT4.0BJ A18
$ ASSIGN/USERJtODE $2$OUA24:[ROMOBJ.UTILIOJWRREC.OBJ A19
$ LINK -
/EXECUTABLE = $2$DUA24: [ROMCOM.ROMNETJP25GV1A.EXE -
/MAP = MET1:[S01S]P25GV1A.MAP -
A1, -
A2, -
A3, -
A17. -
A18, -
A19
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1:[S01S]P25GV1A.MAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P25GX1.COM follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE USER2SDISK:[FOREMAN.FV1050A]P25GX1.COM
ASSIGN MLAB: SYSSPRINT
! ASSIGN INPUT FILES
ASSIGN MET1:[ROMNETJDIRECT2.DAT PFMFDIR
ASSIGN MET1: [ROMNET.RAUDATAHNDUSE1.DAT LUSE1
! ASSIGN OUTPUT FILES
ASSIGN MET1: [ROMNET.D000003PF118A.DAT PF118
SHOW PROCESS/ACCOUNTING
TYPE USER2SOISK:[FOREMAN.FV1050A3P25GX1.CPR
RUN USER2SDISK: [ROMNET.P25G]P25G
SHOW PROCESS/ACCOUNTING
auSER2$DISK:[FOREMAN.COM1]MESSAGE FV1000A P25GX1
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A Main Program
P25GV1A
B. Subroutines
None
C. Functions
None
206
-------
D. Block Data Files
None
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A Subroutines
DISK$VAXSET:[ROMLIB.UTILIO]
ADATE FSTAT1 OPEN2 RDREC
CELLO IBLKR PROGID WRFT4
CELLl JFILE1 RDDIR1 WRREC
FLSMRY OPDIR2
B. Functions
DISKSVAXSET:[ROMLIB.UTILIO]
IOCL
JFILE2
JUNIT
IX. INCLUDE FILES
DISK$VAXSET:[ROMLIB.ROMNET]
REGPRM.EXT
DISK$VAXSET:[ROMLIB.PROCES]
PARMS.EXT
2.24 PROCESSOR P26G (MOBILE-SOURCE EMISSIONS)
I. PROCESSOR FUNCTION
This stage 1 processor prepares mobile-source emissions data for use in the emissions processors. The
original mobile-source data are transformed by control efficiency adjustment factors10 and by temper-
ature adjustments. The adjustment factors are time-dependent because they are a function of the daily
average temperature in each grid cell. The output file contains gridded, hourly, adjusted,
mobile-source emissions.
10. The magnitude of hydrocarbon emissions contained in the raw data sets represent "uncontrolled" emission levels. An effective
emissions reduction has been realized at certain locations within the NAPAP inventory domain as a result of legislation enacted by
various political bodies. Alliance Technologies provided estimates of the control efficiencies for gasoline-exhaust hydrocarbon
emissions. These estimates, or "county control efficiency factors", were made on a city or county basis. We translated the county-
based factors to the NAPAP grid system, and apply the gndded factors to the weekday and weekend data sets. The nonstandard
input file BASECEFFAC contains these gridded factors.
207
-------
II. I/O COMPONENTS
A. Input Files
1. Standard Input Files
PF192 from TEMPROC.
2. Nonstandard Input Files
P26G uses seven nonstandard input files.
a. MOBLSAZ, MOBLSUZ, and MOBLWKZ.
These three files contain the hourly mobile-source emissions data for Saturday, Sunday,
and weekdays respectively. The READ and FORMAT statements for these files are as
follows, and the files' parameters are shown in Table 2.178.
READCINUNIT, 100, IOSTAT=IOST)ICOL. IROW, JHOUR,
& (NBEN(ISPC), ISPC = 1, NSPCMB), CNTYID
100 FORNAK2K, 12, 8E10.3, A6)
where NSPCMB = 8.
TABLE 2.178. MOBLSAZ, MOBLSUZ, AND MOBLWKZ PARAMETERS
Parm
No.
1
2
3
4
5
6
7
8
9
10
11
12
Parm
Name
ICOL
mow
JHOUR
MBEM(l)
MBEM(2)
MBEM(3)
MBEM(4)
MBEM(5)
MBEM(6)
MBEM(7)
MBEM(8)
CNTYID
Unit"
GMT
tons-h-1
tons-h-1
tons-h"1
tons-h-1
tons-h"1
tons-h"1
tons-lr1
tons-lr1
Data
Type
Integer*4
Integer*4
Integer*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Char*6
Description
NAPAP column number
NAPAP row number
Start hour
Mobile CO emissions
Mobile NO emissions
Mobile NO2 emissions
Mobile evap. emissions
Mobile exhaust emissions
Mobile diesel emissions
Mobile VOC emissions
Mobile THC emissions
AEROS State/County code *>
a. Units are in English short tons-h-1; 1 ton = 907.20 kg. NO emissions are reported as weight of NCK
b. AEROS = Aerometric and Emissions Reporting System. For more information on AEROS, refer to AEROS
Manual Volume S, AEROS Manual of Coder, EPA-450/2-76-005a.
208
-------
b. PCTCELL
PCTCELL is based on a Geographic Information System (GIS) file; it assigns percentages
of grid cell areas that belong to different counties. For each grid cell, the number of
counties within that cell is given as one record. Below that record, there is a record for
each county in that cell. These records contain the county's name, identification number,
and percent of the grid cell consisting of that county. The READ and FORMAT state-
ments used for this file are listed below. Note that there are other variables in this file that
P26G does not use. PCTCELL parameters are described in Table 2.179.
READONUNIT, 100, IOSTAT=IOST) NCNTY
100 FORMATOX, 12)
DO 200 I = 1, NCNTY
READ(INUNIT, 110, IOSTAT=IOST) ICOL, IROW, CCODE, PCTCL
110 FORMATdX, 12, 1X, 12, 1X, A6, 39X, F7.3)
200 CONTINUE
TABLE 2.179. PCTCELL PARAMETERS
Parm
No.
1
2
3
4
Parm
Name
ICOL
IROW
CCODE
PCTCL
Data
Unit Type
Integer*4
Integer*4
Char*6
% Real*4
Description
Column number
Row number
County AEROS code
Percent of cell in the county
c. REFORMTFAC
This file originated from Alliance Technologies, and has been made into a direct access file
(by including a header portion) to speed processing in the ROM. It contains the temper-
ature adjustment factors that are used on the mobile-source emissions data. These factors
are required because Alliance's mobile-source emissions data are reported as
"unadjusted," i.e., only at a temperature of 85 °F with a 20 °F range. These "unadjusted"
mobile-source emissions need to be adjusted for air temperature, and must be corrected
for missing running losses. Further information on mobile-source emissions can be
obtained from the ROMNET Final Project Report (EPA, 1990). REFORMTFAC has
data for one or more years. The header on the file contains information regarding (1)
which years are included, and (2) the temperature ranges; this information also details how
many partitions separate the maximum and minimum of the range. New data, consisting
of a year's temperature adjustment factors, must be appended to the file, and the header
changed to reflect this addition. An example of the header follows; the first line indicates
209
-------
that the file contains three years of data. Clearly, the years 1995 and 2005 represent
projections. The second line indicates that the temperatures are partitioned into 12 seg-
ments from 40.00 "F to 95.00 °F. Lines 3-14 indicate that the 12 segments are equally
incremented by 5 °F, and that the range for each segment lies between 0.00 °F and 40.00
°F. Lines 2-14 are repeated for each year.
3 1985 1995 2005
12 40.00 95.00
5
5
5
5
5
5
5
5
5
5
5
5
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
40.00
40.00
40.00
40.00
40.00
40.00
40.00
40.00
40.00
40.00
40.00
40.00
READ and FORMAT statements for REFORMTFAC are listed below, and its parame-
ters are described in Table 2.180.
READdNUNIT, 100, REC=IREC) YEAR, TFAC_MEAN, TFAC RANGE,
& VOC FAC, CEM_FAC(IFAC), IFAC = 1, NFAC)
100 FORMAT(1X7 K, 5X, 2(1X, F4.0), <1X. F8.5), 5(1X, F8.5»
where NFAC = 5.
TABLE 2.180. REFORMTFAC PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
Farm
Name Unit
YEAR
TFAC_MEAN °F
TFAC~RANGE °F
VOC_FAC
EM_FAqi)
EM~FAC(2)
EMJFAC(3)
EMJFAC(4)
EMJFAC(5)
Data
Type
Integer*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Description
Control year
Mean temperature
Temperature range
VOC adjustment factor
Evaporative adjustment factor
Gasoline adjustment factor
Diesel adjustment factor
NO* adjustment factor
CO adjustment factor
d. BASECEFFAC
Motor vehicle "county control efficiency factors" are kept in this file. The file has a seven
line header containing a description of its contents. The header lines are read using the
following statements:
210
-------
DO 101 IREC = 1, 7
' READUNUNIT, 1001, IOSTAT=IOST) CLABEL
1001 FORMAT(A51)
101 CONTINUE
READ and FORMAT statements for BASECEFFAC are listed below, and its parameters
are described in Table 2.181.
READUNUNIT, 1003, IOSTAT=IOST) BCEID(ICNTY),
& (BCEBUFUCNTY, IFC), IFC = 1, NFAC
1003 FORMATCA6, 5(F9.5»
TABLE 2.181. BASECEFFAC PARAMETERS
Farm
No.
1
2
3
4
5
6
Farm
Name Unit
BCEID(I)
BCEBUF(I,1)
BCEBUF(I,2)
BCEBUF(U)
BCEBUF(I,4)
BCEBUF(I,5)
Data
Type
Char*6
Real*4
Real*4
Real*4
Real*4
Real*4
Description
State/county id.
Evaporative efficiency factor
Gas exhaust efficiency factor
Diesel efficiency factor
NO* efficiency factor
CO efficiency factor
e. SPECFAC
SPECFAC files contain annual speciation factors for mobile-source emissions data, and
originate from Alliance Technologies. The file contains 33 speciation factors, 11 each for
evaporative species, diesel exhausts, and gasoline exhausts. Speciation factors are used to
derive the 11 species of hydrocarbons used by the ROM from the three types of exhausts
above. The evaporative species factors derive from non-exhaust sources, such as oil and
gas leakage from vehicles, and are read using the following statements:
DO 100 ISPC = 1, 11
READdNUNIT, 1005, IOSTAT=IOST) SFACV(ISPC), FACNAM
1005 FORMATC1X, E8.3, 11X, A4>
100 CONTINUE
The 11 diesel exhaust factors are then read with the following statement:
DO 200 ISPC = 1, 11
READdNUNIT, 1005, IOSTAT=IOST) SFACD(ISPC), FACNAM
200 CONTINUE
Finally, the 11 gasoline exhaust speciation factors are read.
DO 300 ISPC =1,11
READdNUNIT, 1005, IOSTAT=IOST) SFACG(ISPC), FACNAM
300 CONTINUE
211
-------
SPECFAC parameters are described in Table 2.182.
TABLE 2.182. SPECFAC PARAMETERS
Farm
No.
Farm
Name
Unit
Data
Type
Description
Evaporative
1
2
3
4
5
6
7
8
9
10
11
12
SFACV(l)
SFACV(2)
SFACV(3)
SFACV(4)
SFACV(5)
SFACV(6)
SFACV(7)
SFACV(8)
SFACV(9)
SFACV(IO)
SFACV(ll)
FACNAM
mol-kg-1
mol-kg-1
mol-kg-1
mol-kg-1
mol-kg-1
mol-kg-1
mol-kg-1
mol-kg-1
mol-kg-1
mol-kg-1
mol-kg-1
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Char*4
Diesel exhaust
13 SFACD(l)
mol-kg-1 Real*4
Speciation factors for:
olefins
paraffins
toluene
xylene
formaldehyde
aldehydes
ethylene
isoprenes
nonreactive hydrocarbons
methane
methanol
Species names
Diesel exhaust speciation factors as
above.
23 SFACD(ll) mol-kg-1
24 FACNAM
Gasoline exhaust
25 SFACV(l) mol-kg-1
Real*4
Char*4 Species names
Real*4 Gasoline exhaust speciation factors as
above.
35 SFACV(ll) mol-kg-1 Real*4
36 FACNAM Char*4 Species names
B. Output Files
1. Standard Output Files
P26G produces two standard output files, PF191 and PF167. PF167 is used by P14G. PF191 is
not used by any processor; it is a quality-control file.
212
-------
a. PF167
This file contains hourly, gridded, temperature-adjusted, mobile-source VOC, NO^, and
CO emissions. Table 2.183 shows the file's parameters.
TABLE 2.183. PF167 PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
.11
12
13
14
15
16
Parm
Name
ALD2
CO
ETH
FORM
ISOP
NO
NO2
OLE
PAR
TOL
XYL
NONR
METH
MTHL
VOC
RATIO
Unit
mol-h-1
mol-h-1
mol-h-i
mol-lr1
mol-h-1
mol-lr1
mol-h-i
mol-lr1
mol-lr1
mol-h'1
mol-h'1
mol-h-1
mol-h'1
moMr1
kg-h-i
Data
Type
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Description
Emission rates for:
aldehydes
CO
ethylene
formaldehydes
isoprenes
NO
N02
olefins
paraffins
toluene
xylene
nonreactive hydrocarbons
methane
methanol
volatile organic compounds
Nonmethane hydrocarbons rNO* ratio
b. PF191
This file contains the gridded-temperature and control-efficiency factors that are applied
to the Alliance "unadjusted" mobile-source emissions data. Table 2.184 shows the file's
parameters.
2. Nonstandard Output Files
None
III. CONTROL CARDS
Two control cards are used to input control data in the format shown below. Table 2.185 defines the
control card variables.
YEAR REGION TADJ IMPE
IDATEIHOUR NHRS
213
-------
TABLE 2.184. PF191 PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
Farm
Name
. TAFACV
TAFACG
TAFACD
TAFACN
TAFACC
CEFACV
CEFACG
CEFACD
CEFACN
CEFACC
Data
Unit Type
RealM
Real*4
Real*4
Real*4
RealM
RealM
RealM
RealM
RealM
RealM
Description
Temperature adjustment factors for:
evaporative THC's
gasoline exhaust THC's
diesel exhaust THC's
NO*
CO
Control efficiency adjustment factors for:
evaporative THC's
gasoline exhaust THC's
diesel exhaust THC's
NO*
CO
TABLE 2.185. CONTROL CARD VARIABLES
Variable
Name
Unit
Description
YEAR
REGION
TADJ
IMPE
IDATE
IHOUR
NHRS
EST
Emissions data year as YYYY
Modeling domain name
Temperature adjustment factors flag:
.FALSE. =>do not apply
.TRUE. =*• apply
Control efficiency factors flag:
.FALSE. =»-do not apply
.TRUE. =>• apply
Julian scenario start date as YYDDD
Scenario start time as HH
No. of hours in the scenario
Example:
1985 'ROMNET1' .TRUE. .TRUE
88184 12 72
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A Memory Requirements (1 block = 512 bytes)
FORTRAN source files:
FORTRAN INCLUDE files:
Object files:
Executable file:
6
5
6
1
files
files
files
file
18 files
92 blocks
29 blocks
57 blocks
J7 blocks
265 blocks
214
-------
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss): 00:09:52
Buffered I/O count: 242
Direct I/O count: 9304
Peak working-set size: 2019
Peak virtual size: 4242
C. Space Requirements: Log and Print Files
P26GX1.LOG: 26 blocks
Print Files: None
D. Space Requirements: Input and Output Files
Table 2.186 shows the input file and output file space requirements.
TABLE 2.186. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
PF192
MOBLSAZ.CSO
MOBLSUZ.CSO
MOBLWKZ.CSO
PCTCELL
REFORMTFAC
BASECEFFAC
SPECFAC
PF191
PF167
File
Type"
5
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
5
5
Storage
(in blocks)
1014
26075
26075
26075
695
33
9
3
79979
1066
29978
31044
Scenario
Data Span
72 hours
24 hours
24 hours
24 hours
72 hours
72 hours
a. Note that PF191 and PF192 are pseudo-type 5 Dies; their data is listed (by YYDDD HH) as, e.g., 88194 12, 88195 12,
88196 12... instead of 88194 12,88194 13,8819414....
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P26GV1B.LNK follows:
215
-------
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE $2$OUA24:[ROMCOM.ROMNET]P26CV1B.LNK
$ ON WARNING THEN EXIT
$ ASSIGN MLAB: SYSSPRINT
$ HAPFILE = "MET1:[S01S]P26GV1B.MAP»
$ EXEFILE = »$2$DUA24:[ROMCOM.ROMNET1P26GV1B.EXE"
$ ASSIGN/USER_MODE J2SDUA24:[ROMOBJ.ROMNETJP26G.OBJ A1
$ ASSIGN/USER_MODE $2$DUA24:[ROMOBJ.ROMNET]BLKMOB.OBJ A2
$ ASSIGN/USER_MOOE $2$DUA24: [ROMOBJ.ROMNETKTREFF.OBJ A3
$ ASSIGN/USER MODE $2$DUA24:[ROMOBJ.ROMNET]OFFNDX.OBJ A4
$ ASSIGN/USER~MODE S2SDUA24:[ROMOBJ.ROMNET]PROCMB.OBJ A5
$ ASSIGN/USERJIODE S2SDUA24: [ROMOBJ.ROMNET1RDTFAC.OBJ A6
$ ASSIGN/USER MODE S2SDUA24: [ROMOBJ.UTILI01ADATE.OBJ A7
$ ASSIGN/USERJ10DE $2SDUA24:[ROMOBJ.UTILIO]FLSMRY.OBJ A8
$ ASSIGN/USER MODE $2$DUA24:[ROMOBJ.UTILIO]FSTAT1.OBJ A9
$ ASSIGN/USERJWDE S2SDUA24:[ROMOBJ.UTILIO]IBLKR.OBJ A10
$ ASSIGN/USER MODE $2$DUA24:[ROMOBJ.UTILIO]INDEX1.OBJ A11
$ ASSIGN/USER~MODE S2SDUA24:[ROMOBJ.UTILIO]IOCL.OBJ A12
$ ASSIGN/USER~MODE $2$DUA24:[ROMOBJ.UTILIO]JFI LEI.OBJ A13
$ ASSIGN/USER~MODE $2$OUA24:[ROMOBJ.UTILIO]JFILE2.OBJ A14
$ ASSIGN/USER~MODE $2$DUA24:[ROMOBJ.UTILIO]JHOUR1.0BJ A15
$ ASSIGN/USER~MODE S2SDUA24:[ROMOBJ.UTILIO]JUNIT.OBJ A16
$ ASSIGN/USERJ10DE $2$DUA24:[ROMOBJ.UTILIO]KDAY.OBJ A17
$ ASSIGN/USER_MODE S2SDUA24:[ROMOBJ.UTILI010PDIR2.0BJ A18
$ ASSIGN/USER MODE $2$DUA24:[ROMOBJ.UTILIO]OPEN2.0BJ A19
$ ASSIGN/USER~MODE $2$DUA24:[ROMOBJ.UTILI01PROGID.OBJ A20
$ ASSIGN/USERJ10DE S2SDUA24:[ROMOBJ.UTILIO]RDDIR1.0BJ A21
$ ASSIGN/USER MODE S2SDUA24:[ROMOBJ.UTILIOJRDFT5.0BJ A22
$ ASSIGN/USER~HODE S2SDUA24:[ROMOBJ.UTILIO]RDREC.OBJ A23
$ ASSIGN/USER MODE S2SDUA24:[ROMOBJ.UTILIO]URFTS.OBJ A24
$ ASSIGN/USER~MODE S2SDUA24:[ROMOBJ.UTILIO]WRREC.OBJ A25
$ LINK -
/EXECUTABLE = $2$DUA24:[ROMCOM.ROMNET1P26GV1B.EXE -
/MAP = MET1:[S01S]P26GV1B.MAP -
A1, -
A2, -
A3. -
A23, -
A24, -
A25
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1:[S01S]P26GV1B.MAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P26GX1.COM follows.
! ACCOUNTING CODE
SET VERIFY
! RUN STREAM in USER2SDISK:[FOREMAN.FV1503A1P26GX1.COM
ASSIGN MLAB: SYSSPRINT
ASSIGN MET1:[ROMNET1DIRECT2.DAT PFMFDIR
! inputs:
$ ASSIGN MET52:[EMISSIONS.RNSUM85M1MOBLSAZ.CSO MBSA
S ASSIGN MET52:[EMISSIONS.RNSUM85M]MOBLSUZ.CSO MBSU
$ ASSIGN MET52:[EMISSIONS.RNSUM85MJMOBLWKZ.CSO MBWK
$ ASSIGN HET52:[EMISSIONS.RNSUM85M1SPFAC85.DAT SPECFAC
S !
$ ASSIGN MET1REMISSIONS.RNSUM85M1PCTCELLMOB.DAT PCTCELL
$ ASSIGN MET1REMISSIONS.RNSUM85N1RETFAC1.DAT REFORHTFAC
216
-------
$ ASSIGN MET1:[EMISSIONS.RNSUM85M1IM85CNTY.DAT BASECEFFAC
$ ASSIGN MET1:[ROMNET1.D851821PF192A.DAT PF192
$ ! outputs:
$ ASSIGN MET58:[ROMNET1.D851881PF191A.DAT PF191
$ ASSIGN MET58:[ROMNET1.D851883PF167A.DAT PF167
$ !
$ TYPE USER2$DISK:[FOREMAN.FV1503A]P26GX1.CPR
$ ASSIGN USER2$OISK:[FOREMAN.FV1503A]P26GX1.CPR FOR005
$ !
$ ASSIGN $2$OUA24:[ROMEXE.ROMNETJP26GV1A.EXE PROCP26G
$ DIRECTORY / FULL PROCP26G
$ RUN PROCP26G
$ !
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P26GV1B
B. Subroutines
CTREFF
OFFNDX
PROCMB
RDTFAC
C. Functions
None
D. Block Data Files
BLKMOB
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A Subroutines
DISK$VAXSET:[ROMLIB.UTILIO]
ADATE JFUJE1 PROGID RDREC
FLSMRY OPDIR2 RDDIR1 WRFT5
FSTAT1 OPEN2 RDFT5 WRREC
IBLKR
217
-------
B. Functions
DISK$VAXSET:[ROMLIB.UTILIO]
INDEXl JHOUR1
IOCL JUNIT
JFILE2 KDAY
IX. INCLUDE FILES
DISK$VAXSET:[ROMLIB.ROMNETJ
REGPRM.EXT
DISK$VAXSET:[ROMLIB.PROCES]
ADJFAC.EXT
MOBPRM.EXT
PRID.EXT
SPCFAC.EXT
2.25 PROCESSOR P27G (BIOGENIC EMISSIONS)
I. PROCESSOR FUNCTION
This stage 6 processor prepares biogenic emissions data for use in the emissions processors. The con-
centration data generated by P27G (the Biogenic Emissions Inventory System) are grouped into seven
of the carbon-bond-chemistry species carried in the ROM: olefins, paraffins, isoprenes, aldehydes,
nonreactive hydrocarbons, NO, and NO2.
II. I/O COMPONENTS
In the following tables, i and ;' refer to the grid column and row number respectively, and mm is a
two-letter month abbreviation.
A. Input Files
1. Standard Input Files
PF103 from P04G
MF139 from P09G
PF190 from subroutine SOLENG within P27G11
tl. SOLENG computes total (air plus clouds) atmospheric attenuation of incident solar energy flux as a function of wavelength and
solar zenith angle.
218
-------
2. Nonstandard Input Files
a. FLUX.DAT contains actinic (spherically integrated) flux data as a function of zenith angle
and wavelength, but not as a function of latitude (Demerjian et al., 1980). The file's
gridded columns represent ten different zenith angles: 0°, 10°, 20°, 30°, 40°, 50°, 60°,
70°, 78°, and 86°. There are 52 rows in the grid that represent different wavelengths of
the solar spectrum, from 290 nm (ultraviolet) to 800 (near infrared). Each wavelength
increment is 10 nm. The READ and FORMAT statements for FLUX.DAT are listed
below, and its parameters are shown in Table 2.187.
READ (INUNIT.100) (XJ(I,J), J=1,10)
100 FORMAT (10F10.7)
TABLE 2.187. FLUX.DAT PARAMETERS
Farm
No.
1
' 2
3
Farm
Name
XJ(1,1)
XJ(1,2)
XJ(U)
Unit
photons-cm-2-s-1
photons-cm-2*-1
photons-cnr2^-1
Data
Type
Real*4
RealM
RealM
Description
Actinic flux at:
zenith angle = 10°, A = 290 nm
zenith angle = 20°, A = 290 nm
zenith angle = 30°, A = 290 nm
520 XJ(10,52) photons-cm-2*-1 RealM zenith angle = 86°, A = 800nm
Note: A = wavelength in nanometers.
b. SRFC_MMM1Y.DAT (from the ROM meteorology preprocessors) contains surface
meteorology and cloud data. The READ and FORMAT statements for the header por-
tion of this file are as follows:
READ (INUNIT,100,END=75,ERR=80) YR, IM, ID, MTHOOR, NSTA
100 FORMAT (412,18)
If the data contained in the file are in WBAN format, then the following statements are
used:
READ ( INUNIT , 121 , END=75 , ERR=80 )
& LAT, LONG, COVER, DESCRI,
& PERCNT(I), NGT<1), PERCNT<2).
& HGT(2), PERCNU3), HGT(3)
121 FORMAT (5X,F6,2,F7.2,F5.0,I3,1X,3(1X,F4.0,F6.0))
If the data contained in the file are not in WBAN format, then the following statements
are used:
219
-------
120
READ ( INUNIT , 120 , END=75 , ERR-80 )
& LAT, LONG, COVER, DESCRI,
& PERCNT(I), HGT(1), PERCNT(2),
& HGT(2), PERCNTC3), HGT(3)
FORMAT (4X,2F7.2,F5.0,I3,1X,3(1X,F4.0,F6.0))
Table 2.188 shows the parameters for SRFC_MMMJY.DAT; since the station ID infor-
mation is skipped by the READ statement, there are no differences between WBAN and
non-WBAN data in this input file.
TABLE 2.188. SRFC MMMYT.DAT PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Farm
Name Unit
YR
IM
ID
MTHOUR GMT
NSTA
LATn °N
LONGn • W
COVER*
DESCRI^
PERCNT(1)B %
HGT(l)n m
PERCNT(2)n %
HGT(2)n m
PERCNT(3)n %
HGT(3)n m
Data
Type
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Real*4
RealM
Real*4
Integer*4
RealM
RealM
RealM
RealM
RealM
RealM
Description
Year
Month
Day
Hour
Number of Stations
Latitude
Longitude
Total Opaque Skycover
Sky Coverage
0 = clear
1 = partial obscuration
2 = thin scattered .
3 = thin broken
4 = thin overcast
5 = scattered
6 = broken
7 = overcast
8 = obscured
-99 = indeterminate
Coverage, lowest cloud layer
Lowest cloud base
Coverage, second-lowest cloud layer
Second-lowest cloud base
Coverage, third-lowest cloud layer
Third-lowest cloud base
Note: n = station number (one or more digits)
c. GCNBIOmm.DAT
This file contains the gridded canopy foliar biomass by layer, and is derived from the
biogenics preprocessors (see Section 6, Part 1). The canopy layering is based on the
220
-------
assumption that the biomass has a vertical distribution through the canopy. This file's
READ and FORMAT statements are listed below, and its parameters are shown in Table
2.189.
REWHGCB10, 2001, IOSTAT = IOSTDCCOL, CROW, (CNBIO(I),1=1,32)
2001 FORMAT(2(1X,I2),32(F12.3»
TABLE 2.189. GCBIOmm.DAT PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Farm
Name
CCOL
CROW
CNBIO(l)
CNBIO(2)
CNBIO(3)
CNBIO(4)
CNBIO(5)
CNBIO(6)
CNBIO(7)
CNBIO(8)
CNBIO(9)
CNBIO(IO)
CNBIO(ll)
CNBIO(12)
CNBIO(13)
CNBIO(14)
CNBIO(15)
CNBIO(16)
CNBIO(17)
CNBIO(18)
CNBIO(19)
CNBIO(20)
CNBIO(21)
CNBIO(22)
CNBIO(23)
CNBIO(24)
CNBIO(25)
CNBIO(26)
CNBIO(27)
CNBIO(28)
CNBIO(29)
CNBIO(30)
CNBIO(31)
CNBIO(32)
Unit
kg
kg
kg
kg
kg
kg
kg
kg
kg
kg
kg
kg
kg
kg
kg
kg
kg
kg
kg
kg
kg
kg
kg
kg
kg
kg
kg
kg
kg
kg
kg
kg
Data
Type
Integer*4
Integer*4
Real*4
RealM
Real*4
RealM
RealM
Real*4
Real*4
RealM
Real*4
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
ReaJM
RealM
RealM
RealM
RealM
RealM
RealM
Description
Column number
Row number
High isoprene layer 1
High isoprene layer 2
High isoprene layer 3
High isoprene layer 4
High isoprene layer 5
High isoprene layer 6
High isoprene layer 7
High isoprene layer 8
Low isoprene layer 1
Low isoprene layer 2
Low isoprene layer 3
Low isoprene layer 4
Low isoprene layer 5
Low isoprene layer 6
Low isoprene layer 7
Low isoprene layer 8
No isoprene layer 1
No isoprene layer 2
No isoprene layer 3
No isoprene layer 4
No isoprene layer 5
No isoprene layer 6
No isoprene layer 7
No isoprene layer 8
Coniferous layer 1
Coniferous layer 2
Coniferous layer 3
Coniferous layer 4
Coniferous layer 5
Coniferous layer 6
Coniferous layer 7
Coniferous layer 8
221
-------
d. GNCBIO/M/M.DAT
This file contains the gridded noncanopy land-use area, and is derived from the biogenics
preprocessors (see Section 6, Part 1). This file's READ and FORMAT statements are
listed below, and its parameters are shown in Table 2.190.
READCGNBIO, 3001, IOSTAT = IOST2)NCCOL, NCROW, (NCNBIO(I),1=1,19)
3001 FORMAT<2(1X,I2),19(F12.3»
TABLE 2.190. GNCBIOmm.DAT PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Farm
Name
NCCOL
NCROW
NCBIO(l)
NCBIO(2)
NCBIO(3)
NCBIO(4)
NCBIO(5)
NCBIO(6)
NCBIO(7)
NCBIO(8)
NCBIO(9)
NCBIO(IO)
NCBIO(ll)
NCBIO(12)
NCBIO(13)
NCBIO(14)
NCBIO(15)
NCBIO(16)
NCBIO(17)
NCBIO(18)
NCBIO(19)
Unit
ha
ha
ha
ha
ha
ha
ha
ha
ha
ha
ha
ha
ha
ha
ha
ha
ha
ha
ha
Data
Type
Integer*4
Integer*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
RealM
Real*4
Real*4
Real*4
RealM
Real*4
RealM
Real*4
Real*4
Description
Column number
Row number
Gridded land use area for
Alfalfa
Sorghum
Hay
Soybean
Corn
Potato
Tobacco
Wheat
Cotton
Rye
Rice
Peanut
Barley
Oats
Scrub
Grass
Urban Grass
Miscellaneous Crops
Water
e. GUTBIOww.DAT
This file contains the gridded urban tree-foliage biomass, and is derived from the brogenics
preprocessors (see Section 6, Part 1). This file's READ and FORMAT statements are
listed below, and its parameters are shown in Table 2.191.
REAOCGUBIO, 4001, IOSTAT = IOST3)UCOL, UROW, (URBIO(I),1=1,4)
4001 FORMAT(2(1X,I2).4
-------
TABLE 2.191. GUTBIOmm.DAT PARAMETERS
Farm
No.
1
2
3
4
5
6
B. Output Files
1. Standard
PF144
Farm
Name
UCOL
UROW
URBIO(l)
URBIO(2)
URBIO(3)
URBIO(4)
Output Files
Unit
kg
kg
kg
kg
Data
Type
Integer*4
Integer*4
Real*4
Real*4
Real*4
Real*4
Description
Column number
Row number
High isoprene biomass
Low isoprene biomass
Nonisoprene biomass
Coniferous biomass
This file contains hourly gridded concentrations of biogenic emissions for olefins, paraffins,
isoprenes, aldehydes, nonreactive hydrocarbons, NO, and NO2; it is used by P10G. Table 2.192
shows the file's parameters.
TABLE 2.192. PF144 PARAMETERS
Farm
No.
1
2
3
4
5
6
7
Farm
Name
BIOEMIS(iV,l)
BIOEMISOV',2)
BIOEMIS(iV3)
BIOEMIS(iV,4)
BIOEMISOV.5)
BIOEMIS(iV,6)
BIOEMIS(/;,7)
•Note: i = grid column number,; =
2. Nonstandard
None
Output Files
Unit
mol-lr1
mol-lr1
mol-lr1
mol-h-1
mol-h-i
mol-h-1
mol-h-1
grid row number.
Data
Type
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Description
Olefins
Paraffins
Isoprenes
Aldehydes
Nonreactive hydrocarbons
Nitric oxide (NO)
Nitrogen dioxide (NO2)
III. CONTROL CARDS
Two control cards are used to input control data in the format shown below. Table 2.193 defines the
control card variables.
223
-------
SDATE SHOUR NHRSITMZON LISTNG
INTFLAG
TABLE 2.193. CONTROL CARD VARIABLES
Variable
Name
Unit
Description
SDATE
SHOUR
NHRS
ITMZON
LISTNG
INTFLAG
EST
Julian scenario start date as YYDDD
Scenario start time as HH
No. of hours in the scenario
No. of hours difference from GMT
Attenuation factors flag (y/n) (0.05 to 1.00)
'NO'=»• no listing
'YES' => printout of gridded solar energy attenuation
by the atmosphere
WBAN flag (y/n)
Example:
88196,12,72,05, 'NO'
YES
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A Memory Requirements (1 block = 512 bytes)
FORTRAN source files: 6 files 117 blocks
FORTRAN INCLUDE files: 2 files 25 blocks
Object files: 6 files 42 blocks
Executable file: _1 file 109 blocks
15 files 293 blocks
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss):
Buffered I/O count:
Direct I/O count:
Peak working-set size:
Peak virtual size:
02:21:30
333
4815
6067
8634
C. Space Requirements: Log and Print Files
P27GX1.LOG:
Print Files:
204 blocks for LISTNG = 'NO'
4812 blocks for LISTNG = 'YES'
None
224
-------
D. Space Requirements: Input and Output Files
Table 2.194 shows the input file and output file space requirements.
TABLE 2.194. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
PF103
PF190
MF139
FLUKDAT
SRFC_MMM1Y.DAT
GCNBIOmm.DAT
GNCBIOmm.DAT
GUTBIOmm.DAT
PF144
File
Type
5
5
5
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
5
Storage
(in blocks)
5642
3770
1898
10
40250
1863
1138
172
54743
13130
Scenario
Data Span
72 hours
72 hours
72 hours
1 month
1 month
1 month
1 month
72 hours
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P27GV1ALNK follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE DISK$VAXSET:[ROMCOM.ROMNET]P27GV1A.LNK
$ ON WARNING THEN EXIT
$ ASSIGN MLAB: SYSJPRINT
$ MAPFILE = "MET1:[S01S]P27GV1A.MAP"
$ EXEFILE = "DISKSVAXSET:[ROMCOM.ROMNET1P27GV1A.EXE"
ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.ROMNETJP27G.OBJ
ASSIGN/USER'MOOE DISKSVAXSET: [ROMOBJ.ROMNETJCLDATN.OBJ
ASSIGN/USER_MODE DISKSVAXSET
ASSIGN/USER_MODE DISKSVAXSET
ASSIGN/USER_MODE DISKSVAXSET
$ ASSIGN/USER_MODE DISKSVAXSET
$ ASSIGN/USER MODE DISKSVAXSET
$ ASSIGN/USER~MODE DISKSVAXSET
$ ASSIGN/USER MODE DISKSVAXSET
$ ASSIGN/USER~MODE DISKSVAXSET
$ ASSIGN/USER~MODE DISKSVAXSET
$ ASSIGN/USER~MODE DISKSVAXSET
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]IBLKR.OBJ
$ ASSIGN/USER MODE DISKSVAXSET:tROMOBJ.UTILIO]IOCL.OBJ
$ ASSIGN/USER~MOOE DISKSVAXSET:[ROMOBJ.UTIL10]GETYN.OBJ
$ ASSIGN/USER_MOOE DISKSVAXSET
$ ASSIGN/USER_MODE DISKSVAXSET
$ ASSIGN/USER MODE DISKSVAXSET
$ ASSIGN/USER'MODE DISKSVAXSET
$ ASSIGN/USER~MOOE DISKSVAXSET
[ROMOBJ.ROMNET]CORRECT.OBJ
[ROMOBJ.ROMNET] FLXEIN.OBJ
[ROMOBJ.ROMNET]PRNTGRD.OBJ
[ROMOBJ.ROMNET]SOLENG.OBJ
[ROMOBJ.UTILIO]ADATE.OBJ
[ROMOBJ.UTILIO]BGRID1.OBJ
[ROMOBJ.UTILIO]CELLO.OBJ
[ROMOBJ.UTILIO]CELL2.OBJ
[ROMOBJ.UTILIO]FLSMRT.OBJ
[ROMOBJ.UTILI01FSTAT1.OBJ
$ ASSIGN/USER MODE DISKSVAXSET
$ ASSIGN/USER'MOOE DISKSVAXSET
[ROMOBJ.UTILIO]JFILE1.OBJ
[ROMOBJ.UTILIO]JFILE2.OBJ
[ROMOB J. UTIL10] J FI LEX. OB J
[ROMOBJ.UTILIO]JHOUR1.OBJ
[ROMOBJ.UTILIO]JULIAN.OBJ
[ROMOBJ.UTILIO]JUNIT.OBJ
[ROMOBJ.UTILI010PDIR2.OBJ
$ ASSIGN/USER MODE DISKSVAXSET: [ROMOBJ.UTIL10]OPEN2.0BJ
A)
A2
A3
A4
AS
A6
A7
AS
A9
A10
A11
A12
A13
AH
A1S
A16
A17
A18
A19
A20
A21
A22
A23
225
-------
ASSIGN/USER
ASSIGN/USER'
ASSIGN/USER'
ASSIGN/USER'
ASSIGN/USER'
ASSIGN/USER
ASSIGN/USER
ASSIGN/USER
ASSIGN/USER
LINK -
/EXECUTABLE
/MAP = MET1
A1, -
A2, -
A3, -
MODE DISK$VAXSET:[ROMOBJ
'MODE DISK$VAXSET:[ROMOBJ
"MODE DISK$VAXSET:[ROMOBJ
'MODE DISKSVAXSET: CROMOBJ
'MODE DIS«VAXSET:[ROHOBJ
'MODE DISK$VAXSET:[ROMOBJ
'MODE DISK$VAXSET:[ROMOBJ
'MODE DISKSVAXSET.-CROMOBJ
'MODE DISK$VAXSET:CROMOBJ
.UTILIOIPROGID.OBJ
.UTIL10]RDDIR1.0BJ
.UTILIO]RDFHD1.0BJ
,UTILIO]RDFHD2.0BJ
.UTILI01RDFT5.0BJ
.UTILI01RDREC.OBJ
.UTILIOJSOLELV.OBJ
.UTILIOJWRFT5.0BJ
.UTILI01URREC.OBJ
= DISKSVAXSET: CROMCOM.ROMNETJP27GV1A.EXE
[S01S1P27GV1A.MAP -
A24
A25
A26
A27
A28
A29
A30
A31
A32
A30, -
A31, -
A32
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1: [S01S1P27GV1A.MAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P27GX1.COM follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN USER62SDISK:[XHS.P27G3P27GX1.COM
$ ASSIGN MLAB: SYSSPRINT
$ j ASSIGN INPUT FILES
$ ASSIGN MET1:[ROMNET]DIRECT2.DAT
S ASSIGN USER2SDISK: [FOREMAN.BEISmUX.DAT
$ ASSIGN MET23:[FOREMAN.RAUDATAJSRFC JUL88,DAT
$ ASSIGN MET51:[ROMNET1.D881841MF139A.DAT
$ ASSIGN MET51: [ROMNET1.D881841PF103A.DAT
$ ASSIGN MET1:[ROMNET.BIOGENICIGCNBIOJL.DAT
$ ASSIGN MET1:[ROMNET.BIOGENICJGNCBIOJL.DAT
PFMFDIR
FLUX
SURMET1
MF139
PF103
GCBIOMASS
GNBIOMASS
GUB10MASS
PF190
PF1U
SYSSINPUT
$ ASSIGN MET1 .-[ROMNET.BIOGENIC1GUTBIOJL.DAT
$ ! ASSIGN OUTPUT FILES
$ ASSIGN MET51:[ROMNET1.D88184JPF190A.DAT
S ASSIGN MET51: [ROMNET1.D881841PF1UA.DAT
$ SHOW PROCESS/ACCOUNTING
! ASSIGN CONTROL CARDS FILE
TYPE USER62SDISK:[XHS.P27G1P27GX1.CPR
ASSIGN / USER_MODE USER62$DtSK:[XHS.P27G1P27GX1.CPR
i ""
S RUN USER62SDISK:[XHS.P27G3P27G.EXE
$ SHOW PROCESS/ACCOUNTING
$ EXIT . .
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P27GV1A
226
-------
B. Subroutines
CLDATN PRNTGRD
CORRECT SOLENG
FLXEIN
C. Functions
None
D. Block Data Files
None
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A. Subroutines
DISK$VAXSET:[ROMLIB.UTILIO]
ADATE
BGRID1
CELLO
CELL2
FLSMRY
IBLKR
FSTAT1
JFILE1
JFILEX
OPDIR2
OPEN2
PROGID
RDDIR1
RDFHD1
RDFT5
RDREC
SOLELY
WRFT5
WRREC
B. Functions
DISK$VAXSET:[ROMLIB.UTILIO]
JHOURi
JULIAN
JUNIT
GETYN
IOCL
JFILE2
IX. INCLUDE FILES
DISK$VAXSET:[ROMLIB.ROMNET]
REGPRM.EXT
DISK$VAXSET:[ROMLIB.PROCES]
PARMS.EXT
227
-------
2.26 PROCESSOR P29G (METEOROLOGY)
I. PROCESSOR FUNCTION
This stage 5 processor calculates the wind components that are used by the Core Model. These wind
components are calculated as backtracks (see Figure 2.2), initially in degrees of latitude and longitude,
and output finally in A-# coordinates. (A-^ coordinates are normalized grid coordinates; the south-
west corner of the grid has values A=l, #=1, and the northeast corner has values of A=(NCOLS),
$=(NROWS).) A backtrack is the calculated position of a parcel of air (start at time f) at time M,
where the model's time steps have durations of 30 minutes. (Note that the input data are at 60-minute
intervals.) Although P29G computes back trajectories at 10-minute intervals to determine the
30-minute position (backtrack) of an air parcel, the trajectories are not stored. P29G calculates back-
tracks for each grid cell and for each time step.
•—parcel at time step t
"^•—(-calculated back trajectory in 10-minute
•time steps (3 positions in a 30-minute
.P29G time step)
parcel at time step t-I
backtrack location in coordinates
Figure 2.2. Backtracks and back trajectories.
The first scenario simulation of an episode requires the initial conditions for P29G from the input files,
via processors P11G (layer wind components), P32G (layer eddy diffusivities), P07G and P08G (layer
thicknesses), and P09G (air density correction factors). Note that you must use program PFMFCOPY
(Section 7.6. Part 1) to copy the first hour's data from these processors to the files recorded as a -1
below: these data, with an effective time of 11:00 if the scenario start time is 12:00, are identical to the
228
-------
12:00 data. Initial conditions for subsequent scenarios are provided by P29G itself, in the form of
standard output files a -1 (see below).i2 These files contain data from the last hour of a scenario's
simulation.
Backtracks are our computational method of choice because the biquintic interpolation schemes of the
ROM are faster and easier to implement when regularly-arrayed data are input; backtracks provide
regularly-arrayed grids, while calculations forward in time would generate randomly-arrayed grids.
We show below the sequence of calculations of the ROM. Assume that we are start with the second
scenario of an episode, i.e., we are at 12:00 p.m. EST.
Read regularly-arrayed grid concentrations at 11:00.
• Read the backtrack locations for the 11:30 to 11:00 time step.
Interpolate the backtrack position concentrations biquintically.
Advect these concentrations forward in time to the grid cell value at 11:30, with corrections for
layer thicknesses and diffusion.
• Read the backtrack locations for the 12:00 to 11:30 time step.
• Interpolate the backtrack position concentrations biquintically.
Advect these concentrations forward in time to the grid cell value at 12:00, with corrections for
layer thicknesses and diffusion.
II. I/O COMPONENTS
A Input Files
1. Standard Input Files
P29G uses 12 standard input files, plus the P29G recursive output files PF168 - PF179. The 12
files generated by other processors are:
PF113 from PUG MF109 from P07G
PFH4fromPllG . MF112fromP08G
PFllSfromPllG MF113fromP08G
PF128fromP32G MF133 from P09G
PF129 from P32G MF134 from P09G
PF130 from P32G MF135 from P09G
2. Nonstandard Input Files
None
12. Note that these standard output files have nonstandard usage, since the date and hour in the header record are fictitious.
229
-------
B. Output Files
1. Standard Output Files
a. PF168
This file contains the gridded layer 1 wind components for the last hour of a simulation.
PF168 is used by P29G, and its parameters are shown in Table 2.195.
TABLE 2.195. PF168 PARAMETERS
Parm Pann Data
No. Name Unit Type Description
1 l m-s-1 Real*4 Layer 1 cell west-east wind component
2 l m-s-1 Real*4 Layer 1 cell south-north wind component
b. PF169
. This file contains the gridded layer 2 wind components for the last hour of a simulation.
PF169 is used by P29G, and its parameters are shown in Table 2.196.
TABLE 2.1%. PF169 PARAMETERS
Parm Parm Data
No. Name Unit Type Description
1 2 m-s-1 Real*4 Layer 2 cell west-east wind component
2 2 m-s-1 Real*4 Layer 2 cell south-north wind component
c. PF170
This file contains the gridded layer 3 wind components for the last hour of a simulation.
PF170 is used by P29G, and its parameters are shown in Table 2.197. .
TABLE 2.197. PF170 PARAMETERS
Parm Parm Data
No. Name Unit Type Description
1 3 m-s-1 Real*4 Layer 3 cell west-east wind component
2 3 m-s-1 Real*4 Layer 3 cell south-north wind component
230
-------
d. PF171
This file contains the gridded layer 1 cell thicknesses for the last hour of a simulation.
PF171 is used by P29G, and its parameter is shown in Table 2.198.
TABLE 2.198. PF171 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 hi m Real*4 Layer 1 cell thicknesses
e. PF172
This file contains the gridded layer 2 cell thicknesses for the last hour of a simulation.
PF172 is used by P29G, and its parameter is shown in Table 2.199.
TABLE 2.199. PF172 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 h2 m Real*4 Layer 2 cell thicknesses
f. PF173
This file contains the gridded layer 3 cell thicknesses for the last hour of a simulation.
PF173 is used by P29G, and its parameter is shown in Table 2.200.
TABLE 2.200. PF173 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 h3 m Real*4 Layer 3 cell thicknesses
g. PF174
This file contains the gridded layer 1 horizontal eddy diffusivities for the last hour of a
simulation. PF174 is used by P29G, and its parameter is shown in Table 2.201.
231
-------
TABLE 2.201. PF174 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 Kl m-s-1 Real*4 Layer 1 cell horizontal eddy diffusivity
h. PF175
This file contains the gridded layer 2 horizontal eddy diffusivities for the last hour of a
simulation. PF175 is used by P29G, and its parameter is shown in Table 2.202.
TABLE 2.202. PF175 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 K2 m-s-1 Real*4 Layer 2 cell horizontal eddy diffusivity
i. PF176
This file contains the gridded layer 3 horizontal eddy diffusivities for the last hour of a
simulation. PF176 is used by P29G, and its parameter is shown in Table 2.203.
TABLE 2.203. PF176 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 K3 m-s-1 Real*4 Layer 3 cell horizontal eddy diffusivity
j. PF177
This file contains the gridded layer 1 air density correction factors (used in chemical rate
constant calculations) for the last hour of a simulation. PF177 is used by P29G, and its
parameter is shown in Table 2.204.
TABLE 2.204. PF177 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 1 mol-nr1 Real*4 Layer 1 cell air density correction factors
232
-------
k. PF178
This file contains the gridded layer 2 air density correction factors (used in chemical rate
constant calculations) for the last hour of a simulation. PF178 is used by P29G, and its
parameter is shown in Table 2.205.
TABLE 2.205. PF178 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 2 mol-nr1 Real*4 Layer 2 cell air density correction factors
1. PF179
This file contains the gridded layer 3 air density correction factors (used in chemical rate
constant calculations) for the last hour of a simulation. PF179 is used by P29G, and its
parameter is shown in Table 2.206.
TABLE 2.206. PF179 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 3 mol-nv1 Real*4 Layer 3 cell air density correction factors
m. MF103
This file contains the hourly gridded layer 1 horizontal eddy diffusivities in (A-^) coordi-
nates. MF103 is used by P38G, and its parameters are shown in Table 2.207.
TABLE 2.207. MF103 PARAMETERS
Farm Farm
No. Name
Unit
Data
Type
Description
1 K*xly rad^s-1 Real*4 A-component layer 1 horizontal eddy diffusivity
2 K*yly rad^s-1 Real*4 ^-component layer 1 horizontal eddy diffusivity
Nole: i = column number,/ = row number.
233
-------
n. MF104
This file contains the hourly gridded layer 2 horizontal eddy diffusivities in (A-^) coordi-
nates. MF104 is used by P38G, and its parameters are shown in Table 2.208.
TABLE 2.208. MF104 PARAMETERS
Farm Farm
No. Name
Unit
Data
Type
Description
Real *4 A-component layer 2 horizontal eddy diffusivity
Real*4 ^-component layer 2 horizontal eddy diffusivity
Note: /' = column number,,/ = row number.
O. MF105
This file contains the hourly gridded layer 3 horizontal eddy diffusivities in (A-^) coordi-
nates. MF105 is used by P38G, and its parameters are shown in Table 2.209.
TABLE 2.209. MF105 PARAMETERS
Farm Farm
No. Name
Unit
Data
Type
Description
K*X3
y
Real *4 A-component layer 3 horizontal eddy diffusivity
Real*4 ^-component layer 3 horizontal eddy diffusivity
Note: i = column number,;' = row number.
p. MF106
This file contains hourly layer 1 backtrack positions, in (A-#) coordinates, of grid cell
nodes. Each hour begins at grid cell nodes; P29G calculates the backtrack coordinates at
(hour - 30 min); then, start at (hour - 30) and again at the grid cell nodes, P29G calculates
the (hour - 00 min) position. MF106 is used by P38G, and its parameters are shown in
Table 2.210.
TABLE 2.210. MF106 PARAMETERS
Farm Farm
No. Name
1 LAMBDAbtl-OOy^,
2 PHIbtl-OOy;A
3 LAMBDAbtl-30y^
4 PHIbtl-30^
Note: i = column node number,;
Data
Unit Type
Real*4
Real*4
Real*4
Real*4
= row node number, h
Description
A (column) layer 1 location at (hour - 00 min)
^ (row) layer 1 location at (hour - 00 min)
A (column) layer 1 location at (hour - 30 min)
4> (row) layer 1 location at (hour - 30 min)
= hour.
234
-------
q. MF107
This file contains hourly layer 2 backtrack positions, in (A-#) coordinates, of grid cell
nodes. Each hour begins at grid cell nodes; P29G calculates the backtrack coordinates at
(hour - 30 min); then, start at (hour - 30) and again at the grid cell nodes, P29G calculates
the (hour - 00 min) position. MF107 is used by P38G, and its parameters are shown in
Table 2.211.
TABLE 2.211. MF107 PARAMETERS
Parm Farm
No. Name Unit
1 LAMBDAbt2-00^
2 PHIbt2-00^(/I
3 LAMBDAbt2-30^
4 PHIbt2-30y;/,
Data
Type
Real*4
Real*4
Real*4
Real*4
Description
A (column) layer 2 location at (hour - 00 min)
# (row) layer 2 location at (hour - 00 min)
A (column) layer 2 location at (hour - 30 min)
(row) layer 2 location at (hour - 30 min)
Note: /' = column node number,;' = row node number, h — hour.
r. MF108
This file contains hourly layer 3 backtrack positions, in (A-^) coordinates, of grid cell
nodes. Each hour begins at grid cell nodes; P29G calculates the backtrack coordinates at
(hour - 30 min); then, start at (hour - 30) and again at the grid cell nodes, P29G calculates
the (hour - 00 min) position. MF108 is used by P38G, and its parameters are shown in
Table 2.212.
TABLE 2.212. MF108 PARAMETERS
Parm Parm
No. Name Unit
1 LAMBDAbt3-OOy^
2 PHIbt3-00^
3 LAMBDAbt3-30y^,
4 PHIbt3-30^
Data
Type
Real*4
Real*4
Real*4
RealM
Description
A (column) layer 3 location at (hour - 00 min)
4> (row) layer 3 location at (hour - 00 min)
A (column) layer 3 location at (hour - 30 min)
4> (row) layer 3 location at (hour - 30 min)
Note: i = column node number,; = row node number, h = hour.
2. Nonstandard Output Files
None
III. CONTROL CARDS
One control card is used to input control data in the format shown below. Table 2.213 defines the
control card variables.
235
-------
STDATE STHOUR OUTHRS INHRS SCDATE PRHOUR NSUBS
TABLE 2.213. CONTROL CARD VARIABLES
Variable
Name
STDATE
STHOUR
OUTHRS
INHRS
SCDATE
PRHOUR
NSUBSS
Unit
EST
h
h
EST
Description
Julian scenario start date as YYDDD
Scenario start time as HH
Number of hours to process
Number of hours required for input a
Julian episode start date as YYDDD
Last hour of previous scenario, used
nario,asHHb
Number of subtntervals per time step
putation
as input to current sce-
for back trajectory com-
a. Used by P29G to check the value of OUTHRS.
b. PRHOUR is indexed start with HH = 12 for the first day of an episode; subsequent records are written as though they are
one hour apart (refer to the examples below).
Examples (control cards by scenario through an episode):
88194 12 72 72 88194 12 3
88197 12 72 72 88194 13 3
88200 12 72 72 88194 14 3
[first scenario]
[second scenario]
[third scenario]
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
FORTRAN source files:
FORTRAN INCLUDE files:
Object files:
Executable file:
16 files
8 files
16 files
.1 file
41 files
138 blocks
51 blocks
87 blocks
102 blocks
378 blocks
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss):
Buffered I/O count:
Direct I/O count:
Peak working-set size:
Peak virtual size:
00:50:44
517
10106
3583
6127
236
-------
C. Space Requirements: Log and Print Files
P29GX1.LOG:
Print Files:
69 blocks
None
D. Space Requirements: Input and Output Files
Table 2.214 shows the input file and output file space requirements.
TABLE 2.214. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
PF113
PF114
PF115
PF128
PF129
PF130
MF109
MF112
MF113
MF133
MF134
MF135
PF168
PF169
PF170
PF171
PF172
PF173
PF174
PF175
PF176
PF177
PF178
PF179
MF103
MF104
MF105
MF106
MF107
MF108
File
Type
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
Storage
(in blocks)
3798
3798
3798
1899
1899
1899
1899
1899
1899
1899
1899
1898
28485
3806
3806
3806
1903
1903
1903
1903
1903
1903
1903
1903
1903
3798
3798
3798
5696
56%
5696
62718
Scenario
Data Span
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
1 hours
1 hours
1 hours
1 hours
1 hours
1 hours
1 hours
1 hours
1 hours
1 hours
1 hours .
1 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
237
-------
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P29GV1A.LNK follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE $2SDUA24:[ROMCOM.ROMNET]P29GV1A.LNK
$ ON WARNING THEN EXIT
ASSIGN MLAB: SYSSPRINT
MAPFILE = "MET1:[S01S]P29GV1A.MAP"
EXEFILE = »$2$DUA24: [ROMCOM.ROMNEnP29GVlA.EXE"
ASSIGN/USER MODE $2$DUA24:[ROMOBJ.ROMNET)P29G.OBJ
ASSIGN/USER'MODE $2$oiM24:CROMOBJ.ROMNET]AREAC.OBJ
ASSIGN/USER'MODE *2$oi)A24:[ROMOBJ.ROMNET]BQSLAM.OBJ
ASSIGN/USER~MCOE $2»UA24:[ROMOBJ.ROMNET]BQ3PHI.OBJ
ASSIGN/USER~MODE S2SDUA24:[ROMOBJ.ROMNET]CONDIF.OBJ
ASSIGN/USER~MODE $2$ouA24:[ROMOBj.ROMNET]CONWIN.OBJ
ASSIGN/US£R~MOOE S2SDUA24:[ROMOBJ.ROMNET]DATHR.OBJ
ASSIGN/USERlMOOE $2SDUA24:[ROMOBJ.ROMNET]DAY.OBJ
[ROMOBJ.ROMNET]DI FLAM.OBJ
[ROMOBJ.ROMNET]DIFPHI.OBJ
[ROMOBJ.ROMNET]DLNLAM.OBJ
$ ASSIGN/USER MODE S2SDUA24
$ ASSIGN/USER'MODE $2$ouA24
$ ASSIGN/USER~MOOE $2SDUA24
$ ASSIGN/USER~MOOE S2SOUA24:[ROMOBJ.ROMNET]DLNPHI.OBJ
$ ASSIGN/USER~MODE S2SDUA24:[ROMOBJ.ROMNET]LNRHVO.OBJ
$ ASSIGN/USER MODE S2SDUA24:[ROMOBJ.ROMNET]POLY.OBJ
$ ASSIGN/USER MODE S2SDUA24:
[ROMOBJ.ROMNET]RDCONV.OBJ
[ROMOBJ.ROMNET]VOLCAL.OBJ
[ROMOBJ.UTILI0]ADATE.OBJ
[ROMOBJ.UTILIO]CELLO.OBJ
S ASSIGN/USER MODE S2SOUA24:
S ASSIGN/USER~MODE $2$OUA24:
$ ASSIGN/USER~MODE $2$OUA24:
S ASSIGN/USER MODE $2$DUA24:[ROMOBJ.UTILIO]CELL2.OBJ
$ ASSIGN/USER'MODE $2$ouA24:[ROMOBJ.UTILIOJDATHRS.OBJ
s ASSIGN/USER'MODE S2$oiM24:[ROMOBJ.UTILIO]FLSMRY.OBJ
$ ASSIGN/USER MODE $2$OUA24:tROMOBJ.UTILIO]FSTAT1.OBJ
$ ASSIGN/USER~MODE S2SDUA24:[ROMOBJ.UTILIO]IBLKR.OBJ
S ASSIGN/USER_MOOE S2$DUA24:IROMOBJ.UTILIO]IOCL.OBJ
S ASSIGN/USER MODE $2$DUA24:[ROMOBJ.UTILIO]JFILE1.0BJ
S ASSIGN/USER~MODE $2SDUA24:[ROMOBJ.UTILIO]JHOUR1.OBJ
S ASSIGN/USER MODE $2$DUA24:[ROMOBJ.UTILIO]JUNIT.OBJ
$ ASSIGN/USER'MODE $2$ouA24: [ROMOBj.umio]OPDiR2.0Bj
$ ASSIGN/USER_MODE S2$DUA24:[ROMOBJ.UTILI010PEN2.0BJ
$ ASSIGN/USER_MODE S2SDUA24: [ROMOBJ.UTILI01PROGID.OBJ
$ ASSIGN/USER MODE S2JDUA24:[ROMOBJ.UTILI01RDDIR1.0BJ
$ ASSIGN/USER~MODE $2$OUA24:[ROMOBJ.UTILIO]RDFHD1.OBJ
$ ASSIGN/USERJ40DE $2$OUA24:[ROMOBJ.UTILIO]RDFT5.OBJ
$ ASSIGN/USER_MODE $2$OUA24:[ROMOBJ.UTILIO]RDREC.OBJ
$ ASSIGN/USER_MODE S2SDUA24:[ROMOBJ.UTILI01URFT5.OBJ
$ ASSIGN/USER MODE S2SDUA24:[ROMOBJ.UTILIO]WRREC.OBJ
$ LINK -
/EXECUTABLE = S2SDUA24:[ROMCOM.ROMNET1P29GV1A.EXE -
/MAP = MET1:[S01S]P29GV1A.MAP -
A1. -
A2. -
A3, -
A1
A2
A3
A4
AS
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
A20
A21
A22
A23
A24
A25
A26
A27
A28
A29
A30
A31
A32
A33
A34
A35
A36
A34, -
A35, -
A36
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1: [S01S1P29GV1A.MAP
(end of link stream)
238
-------
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P29GX1.COM follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE USER2$DISK:[FOREMAN.FV1501A3P29GX1.COM
$ ASSIGN MLAB: SYSSPRINT
$ ! ASSIGN INPUT FILES
$ ASSIGN MET1:[ROMNET1DIRECT2.DAT
$ ASSIGN MET56:[ROMNET1.D85188JPF113A.DAT
$ ASSIGN MET56: [ROMNET1.D851883PF1UA.DAT
$ ASSIGN MET56:[ROMNET1.D851881PF115A.DAT
$ ASSIGN MET56:[ROMNET1.D851883PF128A.DAT
PFMFDIR
PF113
PF1U
PF115
PF128
PF129
PF130
MF109
MF112
MF113
MF133
MF134
MF135
MF103
MF104
MF105
MF106
MF107
MF108
PF168
PF169
PF170
PF171
PF172
PF173
PF174
PF175
PF176
PF177
PF178
PF179
TYPE USER2SDISK: [FOREMAN. FV1501A1P29GX1.CPR
! ASSIGN CONTROL CARO(S) FILE
ASSIGN / USER_MOOE USER2SOISK: [FOREMAN. FV150U]P29GX1.CPR
$ ASSIGN MET56:[ROMNET1.D85188JPF129A.DAT
$ ASSIGN MET56:[ROMNET1.D85188JPF130A.DAT
$ ASSIGN MET56:[ROMNET1.D851883MF109A.DAT
$ ASSIGN MET56:[ROMNET1.D85188JMF112A.DAT
$ ASSIGN MET56:[ROMNET1.D851883MF113A.DAT
$ ASSIGN MET56:[ROMNET1.D85188JMF133A.DAT
$ ASSIGN MET56:[ROMNET1.0851881MF134A.DAT
$ ASSIGN HET56:[ROMNET1.085188JMF135A.DAT
$ ! ASSIGN OUTPUT FILES
$ ASSIGN MET58: [ROMNET1.D85188JMF103A.DAT
$ ASSIGN MET58:[ROMNET1.D851881MF104A.DAT
$ ASSIGN MET58:[ROMNET1.D851881MF105A.DAT
$ ASSIGN MET58:[ROMNET1.D85188JMF106A.DAT
$ ASSIGN MET58:[ROMNET1.D851881MF107A.DAT
$ ASSIGN METS8:[ROMNET1.D851881MF108A.DAT
ASSIGN MET1:[ROMNET1.D85188JPF168A.DAT
ASSIGN MET1:[ROMNET1.D851883PF169A.DAT
ASSIGN MET1:[ROMNET1.D851881PF170A.DAT
ASSIGN MET1:[ROMNET1.D85188JPF171A.DAT
ASSIGN MET1:[ROMNET1.D851881PF172A.DAT
$ ASSIGN MET1:[ROMNET1.D85188JPF173A.DAT
S ASSIGN MET1:[ROMNET1.D851881PF174A.DAT
$ ASSIGN HET1: [ROMNET1.D8S1881PF175A.DAT
$ ASSIGN MET1:tROMNETl.D851883PF176A.DAT
$ ASSIGN MET1: [ROMNET1.D851883PF177A.DAT
$ ASSIGN MET1:[ROMNET1.D85188JPF178A.DAT
$ ASSIGN MET1:[ROMNET1.D851881PF179A.DAT
$ SHOW PROCESS / ACCOUNTING
$
$
S
$
$
$
$
$
$
SYS$INPUT
RUN $2$DUA24:[ROMEXE. ROMNET] P29GV1 A
SHOW PROCESS / ACCOUNTING
ajSER2$DISK: [FOREMAN. COM1] MESSAGE FV1501A
P29GX1
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P29GV1A
B. Subroutines
AREAC
BQ3LAM
BQ3PHI
CONDIF
CONWIN
DATHR
DAY
DIFLAM
DIFPHI
DLNLAM
DLNPHI
LNRHVO
POLY
RDCONV
VOLCAL
239
-------
C. Functions
None
D. Block Data Files
None
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A. Subroutines
DISK$VAXSET:[ROMLffi.UTILIO]
ADATE
CELLO
CELL2
FLSMRY
FSTAT1
IBLKR
JFILE1
OPDIR2
OPEN2
PROGID
RDDIR1
RDFHD1
RDFT5
RDREC
WRFT5
WRREC
B. Functions
DISK$VAXSET:[ROMLEB.UTILIO]
DATHR3
IOCL
JHOUR1
JUNIT
IX. INCLUDE FILES
DISK$VAXSET:[ROMLIB.ROMNET]
REGPRM.EXT
DISK$VAXSET:[ROMLIB.PROCES]
ABGUTS.EXT
CNTRL.EXT
DAYHR.EXT
FILES.EXT
P29PRM.EXT
SOLPRM.EXT
ZGUTS.EXT
240
-------
2.27 PROCESSOR P31G (EMISSIONS)
I. PROCESSOR FUNCTION
This stage 0 processor extracts the hourly point-source emissions for three representative day types
(Saturdays, Sundays, and weekdays) from the SEANPT.CSO data file.
II. I/O COMPONENTS
A. Input Files
1. Standard Input Files
None
2. Nonstandard Input Files
SEANPT.CSO contains the annual point-source emissions data plus seasonal temporal alloca-
tion factors; it is generated by PTEXTR. The READ and FORMAT statements for this file
are listed below, and its parameters are shown in Table 2.215.
READCUNITTR, 1003, IOSTAT = IOSTR)
& STKID, SCC,
& NSPCIN, (CLASSUSPC), SEANEM(ISPC). ISPC = 1, NSPCIN),
& MXDYIN, (S AFAC(IDAY), 0 SFAC(IDAY),
& (H~DFAC(IHR, IDAY), IHR = 1, 24), IDAY = 1, MXDYIN)
1003 FORMAT(A12, AB,
& 13, (A5, E12.0),
& 12, (F5.0, F6.0, 24F6.0))
B. Output Files
1. Standard Output Files
None
2. Nonstandard Output Files
PNTWK.CSO, PNTSA.CSO, and PNTSU.CSO
P31G generates three binary output files named PNTWK.CSO (weekdays), PNTSACSO
(Saturdays), and PNTSU.CSO (Sundays), that contain the seasonal hourly concentrations
of the 15 chemical species shown in Table 2.216. The output files contain the point
sources sorted by their AEROS state/county/plant/point identification codes. The
WRITE statement for these files is listed below.
URITE(IUNIT) STKSR, HOURSR, EMISSR
241
-------
TABLE 2.215. SEANPT.CSO PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
61
62
63
64
88
89
90
91
115
Farm
Name
STKID
sec
NSPCIN
CLASS(l)
SEANEM(l)p
CLASS(2)
SEANEM(2).,
CLASS(3)
SEANEM(3)p
CLASS(4)
SEANEM(4)p
CLASS(5)
SEANEM(5)p
CLASS(6)
SEANEM(6)p
CLASS(7)
SEANEM(7)p
CLASS(8)
SEANEM(8)p
CLASS(9)
SEANEM(9)p
CLASS(IO) .
SEANEM(10)p
CLASS(ll)
SEANEM(ll)p
CLASS(12)
SEANEM(12)P
CLASS(13)
SEANEM(13)P
CLASS(14)
SEANEM(14)p
CLASS(15)
SEANEM(15)P
MXDAYIN
S AFACp
D SFACp
HJDFAC(l)p
H DFAC(24)p
S AFACp
DlSFACj
H_DFACa)p
H DFAC(24)p
S~AFAC,
D~ SFACp
HlDFAC(l)p
H_DFAC(24)p
Unit
tons-y1
tons-y1
tons-y1
tons-y1
tons-y1
tons-y1
tons-y1
tons-y1
tons-y1
tons-y1
tons-y1
tons-y1
tons-y1
tons-y1
tons-y1
Data
Type
Char*12
Char*8
Integer*4
Char*5
Real*4
Char*5
Real*4
Char*5
Real*4
Char*5
Real*4
Char*5
Real*4
Char*5
Real*4
Char*5
Real*4
Char*5
Real*4
Char*5
Real*4
Char*5
Real*4
Char*5
Real*4
Char*5
Real*4
Char*5
Real*4
Char*5
Real*4
Char*5
Real*4
Integer*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
RealM
Description
Stack ID
Source classification code
Number of species
AEROS code for VOC
Annual emission rate, VOC
AEROS code for CO
Annual emission rate, CO
AEROS code for olefins
Annual emission rate, olefins
AEROS code for paraffins
Annual emission rate, paraffins
AEROS code for toluene
Annual emission rate, toluene
AEROS code for xylene
Annual emission rate, xylene
AEROS code for formaldehyde
Annual emission rate, formald.
AEROS code for aldehydes
Annual emission rate, aldehydes
AEROS code for ethene
Annual emission rate, ethene
AEROS code for nonr.
Annual emission rate, nonr.
AEROS code for isoprenes
Annual emission rate, isoprenes
AEROS code for methane
Annual emission rate, methane
AEROS code for NO
Annual emission rate, NO
AEROS code for NO2
Annual emission rate, NO2
AEROS code for methanol
Annual emission rate, methanol
No. of day types per season
Seasonal allocation factor
Weekday allocation factor
Hour 1 allocation factor
Hour 24 allocation factor
Seasonal allocation factor
Saturday allocation factor
Hour 1 allocation factor
Hour 24 allocation factor
Seasonal allocation factor
Sunday allocation factor
Hour 1 allocation factor
Hour 24 allocation factor
Note:/> = point source; nonr. = nonreactive hydrocarbons; formald. •
NO emissions are reported as weight of NOi
: formaldehyde. Units are English short tons.
242
-------
TABLE 2.216. PNTWK.CSO, PNTSA.CSO, AND PNTSU.CSO PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Pann
Name
STKSR
HOURSR
EMISSR(l)ip
EMlSSR(2)p
EMISSR(3)p
EMISSR(4)p
EMISSRC5),
EMlSSR(6)p
EMlSSR(7)p
EMlSSR(8)p
EMISSR(9)p
EMISSR(10)p
EMISSR(ll)p
EMISSR(12)p
EMISSR(13)p
EMISSRC14);,
EMISSRCIS),
Unit
LST
tons-h-1
tons-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-J
mol-h-1
mol-h-1
mol-h-1
mol-h-1
tons-h-1
tons-h-1
mol-h-1
Data
Type
Char* 12
Integer*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Description
AEROS stack ID
Hourasffi/
Annual emission rate, VOC
Annual emission rate, CO
Annual emission rate, olefins
Annual emission rate, paraffins
Annual emission rate, toluene
Annual emission rate, xylene
Annual emission rate, formald.
Annual emission rate, aldehydes
Annual emission rate, ethene
Annual emission rate, nonr.
Annual emission rate, isoprenes
Annual emission rate, methane
Annual emission rate, NO
Annual emission rate, NO2
Annual emission rate, methanol
Note:/? = point source; nonr. = nonreactive hydrocarbons; formald. = formaldehyde.
III. CONTROL CARDS
None
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
FORTRAN source files:
FORTRAN INCLUDE files:
Object files:
Executable file:
3
3
3
J.
files
files
files
file
10 files
30 blocks
9 blocks
15 blocks
27 blocks
81 blocks
B. Execution Time Requirements (Representative Values for One Season's Extractions):
VAX 8650
Charged CPU time (hh:mm:ss):
Buffered I/O count:
Direct I/O count:
Peak working-set size:
Peak virtual size:
00:44:18
2416
19686
6751
8663
243
-------
C. Space Requirements: Log and Print Files
PTEXTR.LOG: 6 blocks
Print Files: None
D. Space Requirements: Input and Output Files
Table 2.217 shows the input file and output file space requirements.
TABLE 2.217. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
SEANPT.CSO
PNTSA.CSO
PNTSU.CSO
PNTWK.CSO
File
Type
Nonstd
Nonstd
Nonstd
Nonstd
Storage
(in blocks)
26204
57960
57960
57960
173880
Scenario
Data Span
seasonal
daily
daily
daily
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P31GV1AXNK follows:
! ACCOUNTING CODE
SET VERIFY
! RUN STREAK IS IN FILE DISKSVAXSET:[ROMCOM.ROMNETJP31GV1A.LNK
ON WARNING THEN EXIT
ASSIGN MLAB: SYSSPRINT
MAPFILE = «MET1:[S01S]P31GV1A.MAP»
EXEFILE = ''DISKSVAXSET: [ROMEXE.ROMNETJP31GV1A.EXE'1
ASSIGN/USER_HODE DISKSVAXSET:[ROMOBJ.PROCES]P31G.06J A1
ASS I GN/USERJWOE DISWVAXSET: [ROMOB J. PROCES] RDSAPT .OBJ A2
ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.PROCES]SRTREC.OBJ A3
ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]ADATE.OBJ A4
ASSIGN/USER'NODE DISKSVAXSET:[ROMOBJ.UTILIOIGETMSG.OBJ AS
ASSIGN/USER_MODE DISKSVAXSET:[ROMOBJ.UTILIO]INDEX1.OBJ A6
ASSIGN/USERJWOE DISKSVAXSET:[ROMOBJ.UTILI0]IOCL.OBJ A7
ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIO]JFILE2.OBJ AS
ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]JFILE«.OBJ A9
ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]JUNIT.OBJ A10
ASSIGN/USER_MODE DISKSVAXSET:[ROM06J.UTILI01PROGID.OBJ A11
LINK -
/EXECUTABLE = DISKSVAXSET:[ROMEXE.ROMNET1P31GV1A.EXE -
/HAP = MET1:[S01S]P31GV1A.MAP -
A1. -
A2, -
A3, -
A9, -
A10, -
244
-------
A11
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1: [S01S1P31GVU.MAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P31GX1.COM follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE USER2SDISK:[FOREMAN.FV1503A1P31GX1.COM
$ ASSIGN MLAB: SYSSPRINT
$ ! Assign work files for sorting - currently about 100,000 blocks each:
$ ASSIGN MET20: SORTWORKO
$ ASSIGN MET27: SORTWORK1
$ ! ASSIGN INPUT FILES--BASE CASE (NO CONTROL STRATEGY)
$ ASSIGN MET53:[EMISSIONS.RNSUM05P]SEANPT.CSO SEANLPT
$ ! ASSIGN OUTPUT FILES
$ ASSIGN WORK SCRATCH:PNTUKZ.CSO PNTUKZ
$ ASSIGN WORK~SCRATCH:PNTSAZ.CSO PNTSAZ
$ ASSIGN WORK~SCRATCH:PNTSUZ.CSO PNTSUZ
$ !
$ SHOW PROCESS / ACCOUNTING
$ RUN DISKSVAXSET:[ROMEXE.ROMNETJP31GV1A.EXE
$ SHOW PROCESS / ACCOUNTING
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A Main Program
P31GV1A
B. Subroutines
RDSAPT
SRTREC
C. Functions
None
D. Block Data Files
None
245
-------
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A. Subroutines
DISK$VAXSET:[ROMLIB.UTILIO]
ADATE
GETMSG
PROGID
B. Functions
DISK$VAXSET:[ROMLffi.UTILIO]
INDEXl
IOCL
JFILE2
JFILE4
JUNIT
IX. INCLUDE FILES
DISK$VAXSET:[ROMLIB.PROCES]
HRFILE.EXT
SPCLIS.EXT
SRFILE.EXT
2.28 PROCESSOR P32G (METEOROLOGY)
I. PROCESSOR FUNCTION
This stage 5 processor calculates (1) the horizontal eddy diffusivities for layers 1,2, and 3, and (2) the
vertical turbulence for layers 0 and 1. The horizontal eddy diffusivities are used to parameterize the
dispersion of pollutants within a layer. Vertical turbulence values are used in the calculation of volume
fluxes through the layer interfaces.
II. I/O COMPONENTS
A. Input Files
1. Standard Input Files
P32G uses 10 standard input files:
246
-------
PF106 from P03G ' PF156 from P08G
PF107 from P04G PF157 from P05G
PF109fromP04G MF109fromP07G
PF1 10 from P04G MF1 12 from P08G
PF132 from P07G MF113 from P08G
2. Nonstandard Input Files
None
B. Output Files
1. Standard Output Files
a. PF128
This file contains the hourly gridded horizontal eddy diffusivity for layer 1. PF128 is used
by P29G, and its parameter is shown in Table 2.218.
TABLE 2.218. PF128 PARAMETER _ _
Parm Pann Data
No. Name Unit Type Description
1 Kl m^s-l Real*4 Layer 1 horizontal eddy diffusivity
b. PF129
This file contains the hourly gridded horizontal eddy diffusivity for layer 2. PF129 is used
by P29G, and its parameter is shown in Table 2.219.
TABLE 2.219. PF129 PARAMETER
Parm Parm Data
No. Name Unit Type Description
1 K2 m^s-1 Real*4 Layer 2 horizontal eddy diffusivity
c. PF130
This file contains the hourly gridded horizontal eddy diffusivity for layer 3. PF130 is used
by P29G, and its parameter is shown in Table 2.220.
247
-------
TABLE 2.220. PF130 PARAMETER
Farm Farm Data
No. Name Unit Type Description
K3 m2*-! Real*4 Layer 3 horizontal eddy diffusivity
d. PF160
This file contains the hourly gridded vertical turbulence in layer 0. PF160 is used by P12G,
and its parameter is shown in Table 2.221.
TABLE 2.221. PF160 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 SIGMAwO m-s-1 Real*4 Layer 0 vertical turbulence
e. PF161
This file contains the hourly gridded vertical turbulence in layer 1. PF161 is used by P12G,
and its parameter is shown in Table 2.222.
TABLE 2.222. PF161 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 SIGMAwl m-s-1 Real*4 Layer 1 vertical turbulence
2. Nonstandard Output Files
None
III. CONTROL CARDS
One control card is used to input control data in the format shown below. Table 2.223 defines the
control card variables.
ID ATE IHRBGN NUMHRS
248
-------
TABLE 2.223. CONTROL CARD VARIABLES
Variable
Name
IDATE
IHRBGN
NUMHRS
Unit
EST
h
Description
Julian scenario start date as YYDDD
Scenario start time as HH
Number of hours to process
Example:
80194 12 72
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A Memory Requirements (1 block = 512 bytes)
FORTRAN source files: 2 files 31 blocks
FORTRAN INCLUDE files: 3 files 29 blocks
Object files: 2 files 14 blocks
Executable file: 1 file 76 blocks
8 files 150 blocks
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss): 00:09:33
Buffered I/O count: 315
Direct I/O count: 5895
Peak working-set size: 1716
Peak virtual size: 4411
C. Space Requirements: Log and Print Files
P32GX1.LOG: 32 blocks
Print Files: None
D. Space Requirements: Input and Output Files
Table 2.224 shows the input file and output file space requirements.
E. Space Requirements: Tape Files
None
249
-------
TABLE 2.224. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
PF106
PF107
PF109
PF110
PF132
PF156
PF157
MF109
MF112
MF113
PF128
PF129
PF130
PF160
PF161
File
Type
3
5
5
5
5
5
5
5
5
5
5
5
5
5
5
Storage
(in blocks)
2140
1898
1898
1898
1898
1898
1898
1898
1898
1898
19222
1898
1898
1898
1898
1898
9490
Scenario
Data Span
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P32GV1A.LNK follows:
. $ ! ACCOUNTING CODE
$ SET VERIFY
! RUN STREAM IS IN FILE DISKSVAXSET: tROMCOM.ROMNET3P32GV1A.LNK
ON WARNING THEN EXIT
ASSIGN MLAB: SYSSPRINT
MAPFILE = »MET1:[S01S]P32GV1A.MAP"
EXEFILE = "DISKSVAXSET:tROMCOM.ROMNETlP32GVlA.EXE"
ASSIGN/USER MODE DISKJVAXSET:[ROMOBJ.ROMNET3P32G.OBJ A1
ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.ROMNET]DIFTRB.OBJ A2
ASSIGN/USER~MOOE DISKSVAXSET:[ROMOBJ.UTILI01ADATE.OBJ A3
ASSIGN/USER'MODE DISK$VAXSET:[ROMOBJ.UTILIO]BGRIDI.OBJ. A«
ASSIGN/USER~MODE DISKSVAXSET: [ROMOBJ.UTILKMCELLO.OBJ AS
ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]FLSMRY.OBJ A6
ASSIGN/USER~MODE DISKSVAXSET:tROMOBJ.UTILIO]FSTAT1.OBJ A7
ASSIGN/USER'MODE DISKSVAXSET:CROMOBJ.UTILIOIGETMEM.OBJ AS
ASSIGN/USER'MODE DISKSVAXSETICROMOBJ.UTILIOIIBLKR.OBJ A9
ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.UTILIO]IOCL.OBJ AID
ASSIGN/USER'MODE DISKSVAXSET: CROMOBJ.UTILIOJJFILEI.OBJ AH
ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.UTILIO]JHOURI.OBJ A12
ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.UTILIO]JUNIT.OBJ A13
ASSIGN/USER MODE DISKSVAXSET: [ROMOBJ.UTILIO]NEXTHR.OBJ AH
ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILI010PDIR2.OBJ A15
ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.uTiLioiopEN2.OBj A16
ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.UTILIOIPROGID.OBJ A17
ASSIGN/USER'MCOE DISKSVAXSET:[ROMOBJ.UTILIO]RDDIRI.OBJ A18
ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.UTILIOJRDFHDI.OBJ A19
ASSIGN/USER'MODE DISKSVAXSET:[ROMOBj.uTiLio]RDFHD2.OBJ A20
ASSIGN/USER'MODE DISKSVAXSET:CROMOBJ.UTILIOJRDFTS.OBJ A21
ASSIGN/USER'MODE DISKSVAXSET:CROMOBJ.UTILIOIRDFTS.OBJ A22
ASSIGN/USER'MODE DI SKSVAXSET .-[ROMOBJ.UTILIOJRDREC. OBJ A23
$ ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.UTILIOJWRFTS.OBJ A24
$ ASSIGN/USER_MODE DISKSVAXSET:[ROMOBJ.UTILI03WRREC.OBJ A25
250
-------
$ LINK -
/EXECUTABLE = DISttVAXSET:[ROMCOM.ROMNEnP32GVlA.EXE -
/MAP = MET1:[S01SJP32GV1A.MAP -
A1. -
A2, -
A3, -
A23, -
A24. -
A25
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1:[501S]P32GV1A.NAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P32GX1.COM follows:
! ACCOUNTING CODE
SET VERIFY
! RUN STREAM IS IN FILE USER2SOISK:[FOREMAN.FV1501A1P32GX1.COM
ASSIGN MLAB: SYSSPRINT
! ASSIGN INPUT FILES
ASSIGN MET1:[ROMNET]DIRECT2.DAT PFMFOIR
ASSIGN MET56:[ROMNET1.D851881PF106A.DAT PF106
ASSIGN MET56:[ROMNET1.D851881PF107A.DAT PF107
ASSIGN MET56: [ROMNET1.D85188JPF109A.DAT PF109
ASSIGN MET56:[ROMNET1.D851881PF110A.DAT PF110
ASSIGN MET56:[ROMNET1.085188]PF132A.DAT PF132
ASSIGN MET56:[ROMNET1.D851881PF156A.DAT PF156
ASSIGN MET56:[ROMNET1.D851883PF157A.DAT PF157
ASSIGN MET56:[ROMNET1.D851881MF109A.DAT MF109
ASSIGN MET56:[ROMNET1.D851881MF112A.DAT MF112
ASSIGN MET56:[ROMNET1.D851881MF113A.DAT MF113
! ASSIGN OUTPUT FILES
ASSIGN MET56:[ROMNET1.D851881PF128A.DAT PF128
ASSIGN MET56:[ROMNET1.D851881PF129A.DAT PF129
ASSIGN MET56:[ROMNET1.D85188JPF130A.DAT PF130
ASSIGN MET56:[ROMNET1.D851883PF160A.DAT PF160
ASSIGN MET56:[ROMNET1.085188)PF161A.DAT PF161
SHOW PROCESS / ACCOUNTING
j
TYPE USER2SOISK:[FOREMAN.FV1501A]P32GX1.CPR
! ASSIGN CONTROL CARD(S) FILE
ASSIGN / USER MODE USER2SDISK: [FOREMAN.FV1501A]P32GX1.CPR
RUN DISKSVAXSET:[ROMEXE.ROMNET]P32GV1A
SHOW PROCESS / ACCOUNTING
fflUSER2$OISK:[FOREMAN.COM1]MESSAGE FV1501A P32GX1
(end of run stream)
SYS$INPUT
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P32GV1A
251
-------
B. Subroutines
DIFTRB
C. Functions
None
D. Block Data Files
None
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A. Subroutines
DISK$VAXSET:[ROMLIB.UTILIO]
ADATE
BGRID1
CELLO
FLSMRY
FSTAT1
IBLKR
JFILE1
NEXTHR
OPDIR2
OPEN2
PROGID
RDDIR1
RDFHD1
RDFHD2
RDFT3
RDFT5
RDREC
WRFT5
WRREC
B. Functions
DISK$VAXSET:[ROMLffi.UTILIO]
GETMEM
IOCL
JHOUR1
JUNIT
IX. INCLUDE FILES
DISKSVAXSET:[ROMLIB.ROMNETj
REGPRM.EXT
DISK$VAXSET:[ROMLIB.PROCES]
METDAT.EXT
PARMS.EXT
252
-------
2.29 PROCESSOR P33G (EMISSIONS)
I. PROCESSOR FUNCTION
This stage 6 processor generates the locations and strength of a hypothetical tracer species that might
emanate from a constant-source emitter. The tracer's grid cell locations and strength is defined by the
set of locations and strengths of the grid cells with the top 50 concentrations of NO* and VOC.13 The
processor searches for the highest NO* value from among these 50 cells, and assigns this value to each
of the 50 cells. Note that the output file from P33G is used only in the calculation of pollutant trans-
port; the actual numeric value of the parameter has no significance.
II. I/O COMPONENTS
A. Input Files
1. Standard Input Files
P33G uses 13 standard input files:
PF106 from P03G MF110 from P07G
PF107 from P04G MF111 from P07G
PF115 from PUG MF112 from P08G
PF119 from P03G MF132 from P09G
PF132 from P07G MF133 from P09G
PF145 from P14G MF134 from P09G
MF109 from P07G
2. Nonstandard Input Files
P33G uses one binary output file, PTE3.DAT, that contains the major point-source hourly
emissions data. The READ statement for this file is listed below, and its parameters are shown
in Table 2.225.
READ (IUNIT.IOSTAT=IEOF) STKID,PSLON,PSLAT,EXFL,PLMT
& DK,ZSK,TK,UK,(EKa),L=1,NP)
13. Within the ROMNET domain, we have found these locations to be predominantly cities.
253
-------
TABLE 2.225. PTE3.DAT PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Farm
Name
STKIDn
PSLONp
PSLATp
EXFLp
PLMTp
DKp
ZSKp
TKp
WlL
EK(1)M
EK(2)M
EK(3)pi,
EK(4)M
EK(5)M
t?VYrf£\
*•"****{** jpJi
\^)pJ*
*~* \ )pji
EK(9U
EK(lO)p*
EK(11)M
EK(12)M
EK(13)M
EK(14)M
EK(15)M
EK(16)M
Unit
°W
°N
m3-s-1
m
m
m
°C
m-s-1
mol-h-1
mol-h-1
mol-h'1
mol-h-1
mol-h-1
mol-h-1
mol-h'1
mol-h-1
mol-h -1
mol-h'1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
kg-h-1
Data
Type
Char* 12
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Description
AEROS state/county/plant/point ID
Longitude (fractional)
Latitude (fractional)
Exhaust flow rate
Plume height
Stack diameter
Stack height
Exhaust gas temperature
Exhaust gas exit velocity
Emission rate for aldehydes
Emission rate for CO
Emission rate for ethene
Emission rate for formaldehyde
Emission rate for isoprenes
Emission rate for NO
Emission rate for NO2
Emission rate for olefins
Emission rate for paraffins
Emission rate for toluene
Emission rate for xylene
Emission rate for nonr.
Emission rate for methane
Emission rate for methanol
Emission rate for VOC
NMHC/NQc ratio
Note:
p — point source, h = hour, nonr. = nonreactrve hydrocarbons, VOC = volatile organic compounds,
NMHC = nonmcthane hydrocarbons.
B. Output Files
1. Standard Output Files
P33G generates one output file, PF155, that contains the concentration of the hypothetical
tracer species that is placed in the grid cells that originally had the top 50 concentrations of
NO, and VOC. PF155 is used by P10G, and its parameter is shown in Table 2.226.
TABLE 2.226. PF155 PARAMETER
Farm
No.
Farm
Name
Unit
Data
Type
Description
1 TRCEMISy ppm-m-s-1 Real*4 Emissions concentration for tracer
species (50 cells only)
Note: i = column number,;' = row number.
254
-------
2. Nonstandard Output Files
None
III. CONTROL CARDS
One control card is used to input control data in the format shown below. Table 2.227 defines the
control card variables.
JDATE, JHOUR
TABLE 2.227. CONTROL CARD VARIABLES
Variable
Name
Unit
Description
JDATE
JHOUR
EST
Julian scenario start date as YYDDD
Scenario start time as HH
Example:
88184,12
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A Memory Requirements (1 block = 512 bytes)
FORTRAN source files: 6 files 69 blocks
FORTRAN INCLUDE files: 6 files 36 blocks
Object files: 6 files 36 blocks
Executable file: _1 file 75 blocks
19 files 216 blocks
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss):
Buffered I/O count:
Direct I/O count:
Peak working-set size:
Peak virtual size:
C. Space Requirements: Log and Print Files
P33G.LOG:
Print Files:
87 blocks
None
00:03:35
269
1202
3465
6850
255
-------
D. Space Requirements: Input and Output Files
Table 2.228 shows the input file and output file space requirements.
TABLE 2.228. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
PF106
PF107
PF115
PF119
PF132
PF145
MF109
MF110
MF111
MF112
MF132
MF133
MF134
PTE3.DAT
PF155
File
Type
3
5
5
4
5
5
5
5
5
5
5
5
5
Nonstd
4
Storage
(in blocks)
2142
1899
3798
55
1899
30369
1899
1899
1899
1899
1899
1899
1899
13833
67288
55
Scenario
Data Span
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P33GV1A.LNK follows:
! ACCOUNTING CODE
SET VERIFY
! RUN STREAM IS IN FILE DISKSVAXSET:[ROMCOM.ROMNET3P33GV1A.LNK
ON WARNING THEN EXIT
ASSIGN MLAB: SYSSPRINT
MAPFILE = »MET1:CS01S]P33GV1A.MAP«
EXEFILE = "DISKSVAXSET:[ROMEXE.ROMNET1P33GV1A.EXE"
ASSIGN/USER_MODE DISKSVAXSET: [ROMOBJ.PROCESJP33G.OBJ
ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.PROCES]RDSTAK.OBJ
ASSIGN/USER'HOOE DISKSVAXSET:[ROMOBJ.PROCESISATEMP.OBJ
ASSIGN/USER'MOOE DISKSVAXSET:[ROMOBJ.PROCESJSETCLK.OBJ
ASSIGN/USER'MODE DISKSVAXSET:[ROMOBJ.PROCESS SORTAi.OBJ
ASSIGN/USERJTODE DISKSVAXSET:CROMOBJ.PROCESJSORTAR.OBJ
ASSIGN/USER_MOOE DISKSVAXSET:[ROMOBJ.UTILIO]ADATE.OBJ
ASSIGN/USER MODE DISKSVAXSET: [ROMOBJ.UTILIO]CELLO.OBJ
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIOKELL1.OBJ
$ ASSIGN/USER MODE DISKSVAXSET:
ASSIGN/USER MODE DISKSVAXSET:
ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER MODE DISKSVAXSET:
[ROMOBJ.UTILIO]CELL2.OBJ
[ROMOBJ.UTILIO:CELLAR.OBJ
[ROMOBJ.UTILIO]FLSMRY.OBJ
[ROMOBJ.UTILI0]FSTAT1.OBJ
S ASSIGN/USER MODE DISKSVAXSET: [ROMOBJ.UTILIO]IBLKR.OBJ
$ ASSIGN/USER~MOOE DISKSVAXSET:[ROMOBJ.UTILIO] IOCL.OBJ
A1
A2
A3
A4
AS
A6
A7
A8
A9
A10
A11
A12
A13
AU
A15
256
-------
$ ASSIGN/USER_HODE DISKSVAXSET:[ROMOBJ.UTILIO]JFILE1.0BJ A16
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIO]JFILE2.0BJ A17
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]JFILE3.OBJ A18
$ ASSIGN/USERJIODE DISK$VAXSET:[ROMOBJ.UTILIO]JHOUR1.OBJ A19
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIO]JUNIT.OBJ A20
$ ASSIGN/USER~MODE DISK$VAXSET:[ROMOBJ.UTILIO]OPDIR2.0BJ A21
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILI030PEN2.OBJ A22
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTIL10]PROGID.OBJ A23
$ ASSIGN/USERJTODE DISKSVAXSET:[ROMOBJ.UTILI03RDDIR1.0BJ A24
$ ASS I GN/USER_MOOE DISKSVAXSET: [ROMOB J. UTIL10] RD FT3. OB J A25
$ ASSIGN/USER_MODE DISKSVAXSET: [ROMOBJ.UTILI01RDFT4.OBJ A26
$ ASSIGN/USER_MODE DISKSVAXSET:[ROMOBJ.UTILI03RDFT5.OBJ A27
$ ASSIGN/USER_MOOE DISKSVAXSET:[ROMOBJ.UTIL10] RDREC.OBJ A28
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIO]URFT4.OBJ A29
$ ASSIGN/USER~MCOE DISKSVAXSET:[ROMOBJ.UTIL10]URREC.OBJ A30
$ LINK -
/EXECUTABLE = DISKSVAXSET: [ROMEXE.ROMNETJP33GV1A.EXE -
/MAP = MET1:[S01S]P33GVU.MAP -
A1, -
A2, -
A3. -
A28. -
A29, -
A30
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1: [S01S3P33GV1A.MAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P33GX1.COM follows:
S ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE USER2SDISK:[FOREMAN.FV1503A]P33GX1 .COM
$ ASSIGN MLAB: SYSSPRINT
$ ! ASSIGN INPUT FILES
$ ASSIGN MET1:[ROMNET]DIRECT2.DAT PFMFDIR
$ ASSIGN MET58:[ROMNET1.D85188IPTE3A.DAT PTE3
S ASSIGN MET56:[ROMNET1.D851881PF106A.DAT PF106
$ ASSIGN MET56:[ROMNET1.0851883PF107A.DAT PF107
S ASSIGN MET56:[ROMNET1.D851883PF115A.DAT PF115
$ ASSIGN MET1:[ROMNET1.D000001PF119A.DAT PF119
S ASSIGN MET56:[ROMNET1.D851881PF132A.DAT PF132
S ASSIGN MET58: [ROMNET1.D851883PF145A.DAT PFU5
$ ASSIGN MET56:[ROMNET1.D851881MF109A.DAT MF109
S ASSIGN MET56:[ROMNET1.D8S1881MF110A.DAT MF110
$ ASSIGN MET56:[ROMNET1.D851881MF111A.DAT MF111
S ASSIGN MET56:[ROMNET1.D851881MF112A.DAT MF112
$ ASSIGN MET56:[ROMNET1.D851883MF132A.DAT MF132
S ASSIGN MET56:[ROMNET1.D8S1881MF133A.DAT MF133
S ASSIGN MET56:[ROMNET1.D8S1881MF134A.DAT MF134
S ! ASSIGN OUTPUT FILES
$ ASSIGN HET1:[ROMNET1.D000001PF155A.DAT PF155
$ SHOW PROCESS / ACCOUNTING
S !
S TYPE USER2SOIS(C:rFOREMAN.FV1503A3P33GX1.CPR
$ ! ASSIGN CONTROL CARD(S) FILE
$ ASSIGN / USER MODE USER2SDISK:[FOREMAN.1503A1P33GX1.CPR SYSSINPUT
$ !
$ RUN DISKSVAXSET:[ROMEXE.ROMNET1P33GV1A.EXE
S SHOW PROCESS / ACCOUNTING
(end of run stream)
257
-------
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A Main Program
P33GV1A
B. Subroutines
SORTAI
SORTAR
RDSTAK
SATEMP
SETCLK
C. Functions
None
D. Block Data Files
None
VIII. I/O AND UnLITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A Subroutines
DISK$VAXSET:[ROMLIB.UTILIO]
ADATE
CELLO
CELL1
CELL2
CELLAR
FLSMRY
FSTAT1
IBLKR
JFILE1
OPDIR2
OPEN2
PROGID
RDDIR1
RDFT3
RDFT4
RDFT5
WRFT4
WRREC
B. Functions
DISK$VAXSET:[ROMLIB.UTILIO]
JHOURl
JUNIT
IOCL
JFILE2
JFILE3
IX. INCLUDE FILES
DISK$VAXSET:[ROMLIB.ROMNET]
REGPRM.EXT
DISK$VAXSET:[ROMLffi.PROCES]
EMISP.EXT
FILEID.EXT
METPRM.EXT
STKDAT.EXT
U1.EXT
258
-------
2.30 PROCESSOR P34G (EMISSIONS)
I. PROCESSOR FUNCTION
Time information for the emissions data received under the National Acid Precipitation Assessment
Program (NAPAP) inventory is given as Greenwich Mean Time (GMT). However, the ROM requires
information based on local standard time (LST). This stage 0 processor performs the required time
shift from GMT to LST on the point-, area-, and mobile-source data sets. Each of these source types
has an associated day type (Saturdays, Sundays, and weekdays) that are fully independent from each
other. Thus, for example data that occur at 0300 GMT on Sunday are not transposed to 2200 EST on
Saturday; instead, they are assigned a "wrap-around" time within the "Sunday" file of 2200 EST. Note
that we have designated the LST for the ROMNET domain to be EST, although the western portion of
the domain falls within the Central time zone.
II. I/O COMPONENTS
A Input Files
1. Standard Input Files
None
2. Nonstandard Input Files
P34G uses up to nine nonstandard input files; there can be three day-specific files for each of
the point-, area-, and mobile-source emissions data. The second control card defines how
many input files will be read into the processor.
a. AREASAZ.CSO, AREASUZ.CSO, and AREAWKZ.CSO
These are the day-specific area-source emissions data files, generated by preprocessor
ARMERG, for Saturdays, Sundays, and weekdays respectively. The READ and FOR-
MAT statements for these files are listed below, and their parameters are shown in Table
2.229.
READ(IUNIT1,90,IOSTAT=IOST)COL, ROW, HOUR,(STEA(I),1=1,17)
90 FORMAT(2I4,I2,17E10.3>
259
-------
TABLE 2.229. AREASAZ.CSO, AREASUZ.CSO, AND AREAWKZ.CSO PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Farm
Name
COL
ROW
HOUR
STEA(l)y^
STEA(2)yVl
STEA(3)yy,
STEA(4)y-^
STEA(5)y^,
STEA(6)yy,
STEA(7)y;/,
STEA(8)y;/I
STEA(9)y>
STEAdO)^
STEA(ll)y>/,
STEA(12)yy,
STEA(13)y;/,
STEA(14)y>/,
STEA(15)y;/I
STEA(16)y-^
STEA(17)yy,
Unit
LST
tons-lr1
tons-h-1
tons-h-1
tons-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h-1
tons-h-1
tons-h-1
mol-h-1
Data
Type
IntegerM
Integer*4
Integer*4
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
Description
Column number
Row number
Hour as ##
Emission rate for NO*
Emission rate for VOC
Emission rate for THC
Emission rate for CO
Emission rate for olefins
Emission rate for paraffins
Emission rate for toluene
Emission rate for xylene
Emission rate for formaldehyde
Emission rate for aldehydes
Emission rate for ethene
Emission rate for isoprenes
Emission rate for nonr.
Emission rate for methane
Emission rate for NO
Emission rate for NO2
Emission rate for methanol
Note: /' = column number;;' = row number, h = hour; VOC = volatile organic compounds; THC = total
hydrocarbons; nonr. = nonreactive hydrocarbons.
b. PNTSAZ.CSO, PNTSUZ.CSO, and PNTWKZ.CSO
These are the day-specific point-source emissions binary data files, generated by P31G, for
Saturdays, Sundays, and weekdays respectively. The READ statement for these files are
listed below, and their parameters are shown in Table 2.230.
READ(IUNIT2,IOSTAT=IOST2)STACK, PTIME, (SEK(I),1=1,15)
c. MOBLSAZ.CSO,MOBLSUZ.CSO,andMOBLWKZ.CSO
These are the day-specific mobile-source emissions data files, generated by preprocessor
MBEXTR, for Saturdays, Sundays, and weekdays respectively. The READ and FORMAT
statements for these files are listed below, and their parameters are shown in Table 2.231.
READ(IUNIT3,90,IOSTAT=IOST3) COL, ROW, HOUR,(STEMd).1=1,8),
& STATE, CNTY
90 FORMAT(2I4,I2,8E10.3,12,14)
260
-------
TABLE 2.230. PNTSAZ.CSO, PNTSUZ.CSO, AND PNTWKZ.CSO PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Farm
Name
STACK
PTIME
SEK(l)ft/,
SEK.(2)pf,
SEK(3)M
SEK(4)M
SEK(5)M
SEK(6)M
SEK(7)M
SEK^)^
SEK(9)pif,
SEK(IO)^
OTTT.^ /I 1 \
O£_rJr^( A X In fc
SEK(12)A/I
SEK(13)p^,
SEKCU)^
SEK(15)M
Unit
LST
tons-h-i
tons-h-i
mol-h-i
mol-h-i
mol-h-1
mol-h-1
mol-h-1
mol-h-1
mol-h'1
mol-h'1
mol-h'1
mol-h'1
tons-h-1
tons-h-1
mol-h-1
Data
Type
Char* 12
IntegerM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
Description
AEROS state/county/plant/point ID
Hour as HH
Emission rate for VOC
Emission rate for CO
Emission rate for olefins
Emission rate for paraffins
Emission rate for toluene
Emission rate for xylene
Emission rate for formaldehyde
Emission rate for aldehydes
Emission rate for ethene
Emission rate for nonr.
Emission rate for isoprenes
Emission rate for methane
Emission rate for NO
Emission rate for NO2
Emission rate for methanol
Note: p = point source; h = hour, VOC = volatile organic compounds; nonr. = nonreactive hydrocarbons.
TABLE 2.231. MOBLSAZ.CSO, MOBLSUZ.CSO, AND MOBLWKZ.CSO PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
Farm
Name
COL
ROW
HOUR
STEM(l)
STEM(2)
STEM(3)
STEM(4)
STEM(5)
STEM(6)
STEM(7)
STEM(8)
STATE
CNTY
Unit"
LST
tons-h-1
tons-h-1
tons-h-1
tons-h-1
tons-h-1
tons-h-1
tons-lr1
tons-h-1
Data
Type
Integer*4
Integer*4
Integer*4
Real*4
Real*4
Real*4
RealM
Real*4
RealM
RealM
RealM
IntegerM
IntegerM
Description
Column number
Row number
Hour as HH
Mobile CO emissions
Mobile NO emissions
Mobile NO2 emissions
Mobile evap. emissions
Mobile exhaust emissions
Mobile diesel emissions
Mobile VOC emissions
Mobile THC emissions
State AEROS code
County AEROS code
a. Units are in English short tons-h-1; 1 ton = 907.20 kg.
261
-------
B. Output Files
1. Standard Output Files
None
2. Nonstandard Output Files
P34G generates up to nine nonstandard input files; there can be three day-specific files for
each of the point-, area-, and mobile-source emissions data. The second control card defines
how many files will be generated by the processor.
a. AREASACSO,AREASU.CSO,andAREAWK.CSO
These are the area-source emissions data files, with data registered in LST, for Saturdays,
Sundays, and weekdays respectively. The WRITE and FORMAT statements for these files
are listed below, and their parameters are shown in Table 2.232. The files are used by
P14G.
URITE(OUNIT(A),150) COL. ROW, HOUR, (STEA(I),I=1,17)
150 FORMAT(2K,I2,17E10.3)
262
-------
TABLE 2.232. AREASA.CSO, AREASU.CSO, AND AREAWK.CSO PARAMETERS
Parm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Parm
Name
COL
ROW
HOUR
STEA(l)^
STEA(2)y;/l
STEA(3)y;/,
STEA(4)y;A
STEA(5)y>
STEA(6)y>/,
STEA(7)yV,
STEA(8)y;/,
STEA(9)y^
STEA(10)y;/,
STEA(ll)y;Al
onpi'i* A f~\ ^\ ,
/,
STEA(17)y;A
Unit
LST
tons-h'1
tons-h'1
tons-h'1
tons-h'1
mol-h-1
mol-h-1
mol-h'1
mol-h'1
mol-h'1
mol-h-1
mol-h-1
mol-h'1
mol-h-1
mol-h-1
tons-h-1
tons-h'1
mol-h-1
Data
Type
Integer*4
Integer*4
Integer*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real'4
Real*4
RealM
Description
Column number
Row number
Hour as HH
Emission rate for NO^
Emission rate for VOC
Emission rate for THC
Emission rate for CO
Emission rate for olefins
Emission rate for paraffins
Emission rate for toluene
Emission rate for xylene
Emission rate for formaldehyde
Emission rate for aldehydes
Emission rate for ethene
Emission rate for isoprenes
Emission rate for nonr.
Emission rate for methane
Emission rate for NO
Emission rate for NO2
Emission rate for methanol
Note: i = column number;;' = row number, h = hour; VOC = volatile organic compounds; THC = total
hydrocarbons; nonr. = nonreactive hydrocarbons.
b. PNTSA.CSO, PNTSU.CSO, and PNTWK.CSO
These are the unformatted point-source emissions data files, with data registered in LST,
for Saturdays, Sundays, and weekdays respectively. The WRITE statements for these files
are listed below, and their parameters are shown in Table 2.233. The files are used by
P14G.
URITE(OUNIT(A» STACK, PTIME, (SEK(I), 1=1,15).
263
-------
TABLE 2.233. PNTSA.CSO, PNTSU.CSO, AND PNTWK.CSO PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Note:
Farm
Name
STACK
PTME
CT7f t\ ^
O.Cn.^ *-)p n
SEK(2)p,h
SEK(3)p,h
SEK(4)M
SEK(5)M
SEK(6)M
SEK(7)M
SEK(8)M
OTJ^/QV
^•""•t " 7DL/I
SEK(10)M
SEK(11)M
SEK(12)M
SEK(13)M
SEK(14)M
SEK(15)M
p = point source; h
Unit
LST
tons-h-1
tons-h-1
mol-h-1
mol-h'1
mol-h'1
mol-h'1
mol-h'1
mol-h'1
mol-h'1
mol-h'1
mol-h'1
mol-h-1
tons-h'1
tons-h'1
mol-h-1
= hour, VOC
Data
Type
Char* 12
Integer*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Description
AEROS state/county/plant/point ID
Hour asHH
Emission rate for VOC
Emission rate for CO
Emission rate for olefins
Emission rate for paraffins
Emission rate for toluene
Emission rate for xylene
Emission rate for formaldehyde
Emission rate for aldehydes
Emission rate for ethene
Emission rate for nonr.
Emission rate for isoprenes
Emission rate for methane
Emission rate for NO
Emission rate for NO2
Emission rate for methanol
= volatile organic compounds; nonr. = nonreactive hydrocarbons.
c. MOBLSA.CSO, MOBLSU.CSO, and MOBLWK.CSO
These are the mobile-source emissions data files, with data registered in LST, for Satur-
days, Sundays, and weekdays respectively. The WRITE and FORMAT statements for
these files are listed below, and their parameters are shown in Table 2.234. The files are
used by P26G.
1051
WRITE(OUNIT(A),1051) COL, ROW, HOUR, (STEM( I ), 1=1 ,8)
A STATE, CMTY
FORNAT(2I4,I2,8(1PE10.3),I2,K>
264
-------
TABLE 2.234. MOBLSA.CSO, MOBLSU.CSO, AND MOBLWK.CSO PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
Farm
Name
COL
ROW
HOUR
STEM(l)
STEM(2)
STEM(3)
STEM(4)
STEM(5)
STEM(6)
STEM(7)
STEM(8)
STATE
CNTY
Unit"
LST
tons-lr1
tons-lr1
tons-h-1
tons-lr1
tons-h-1
tons-h-1
tons-h-1
tons-h-1
Data
Type
Integer*4
Integer*4
Integer*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Integer*4
Integer*4
Description
Column number
Row number
Hour as HH
Mobile CO emissions
Mobile NO emissions
Mobile NO2 emissions
Mobile evap. emissions
Mobile exhaust emissions
Mobile diesel emissions
Mobile VOC emissions
Mobile THC emissions
State AEROS code
County AEROS code
a. Units are in English short tons-h-1; 1 ton = 907.20 kg.
III. CONTROL CARDS
Two control cards are used to input control data in the format shown below. Table 2.235 defines the
control card variables.
Al PI A2 P2 AENDHR PENDHR OFFSET INCR
MOBLFLG AREAFLG PNTFLG
TABLE 2.235. CONTROL CARD VARIABLES
Variable
Name
Al
PI
A2
P2
AENDHR
PENDHR
OFFSET
INCR
MOBLFLG
AREAFLG
PNTFLG
Unit
GMT
GMT
LST
LST
GMT
GMT
h
h
Description
Area source beginning hour
Point source beginning hour
Area source beginning hour
Point source beginning hour
Area source end hour
Point source end hour
Time difference between GMT and LST
Time added to first OFFSET number of GMT hours (24 - OFFSET)
Hag for mobile-source emissions:
.TRUE. =>• include, .FALSE. =*• exclude
Flag for area-source emissions:
.TRUE. =*• include, .FALSE. => exclude
Flag for point-source emissions:
.TRUE. =>• include, .FALSE. => exclude
265
-------
Example:
1,0,6,5,24,23,5,19
.TRUE.,.TRUE.,.TRUE.
Note that although the ROMNET domain spans two time zones (Eastern and Central), we use only
EST.
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
FORTRAN source files:
FORTRAN INCLUDE files:
Object files:
Executable file:
B. Execution Time Requirements:
Charged CPU time (hh:mm:ss):
Buffered I/O count:
Direct I/O count:
Peak working-set size:
Peak virtual size:
C. Space Requirements: Log and Print Files
4
0
4
1
9
files
files
files
file
files
VAX 8650
01:56:32
4589
55168
565
2827
42
0
33
_2Q
105
blocks
blocks
blocks
blocks
blocks
P34G.LOG:
Print Files:
36 blocks
None
D. Space Requirements: Input and Output Files
Table 2.236 shows the input file and output file space requirements.
E. Space Requirements: Tape Files
None
266
-------
TABLE 2.236. I/O FILE SPACE REQUIREMENTS
File File
Group Name
Input AREASAZ
AREASUZ
AREAWKZ
PNTSAZ
PNTSUZ
PNTWKZ
MOBLSAZ
MOBLSUZ
MOBLWKZ
Output AREASA
AREASU
AREAWK
PNTSA
PNTSU
PNTWK
MOBLSA
MOBLSU
MOBLWK
File
Type
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Storage
(in blocks)
28392
28392
28392
57960
57960
57960
26076
26076
26076
337284
28392
28392
28392
57960
57960
57960
26076
26076
26076
337284
Scenario
Data Span
daily
daily
daily
daily
daily
daily
daily
daily
daily
daily
daily
daily
daily
daily
daily
daily
daily
daily
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P34GV1 A.LNK follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE DISKSVAXSET:[ROMCOM.ROMNET]P34GV1A.LNK
$ ON WARNING THEN EXIT
$ ASSIGN MLAB: SYSSPRINT
$
$
$
MAPFILE = "MET1:tS01S]P34GV1A.MAP"
EXE FILE = "DISKSVAXSET:[ROMEXE.ROMNET1P34GV1A.EXE"
ASSIGN/USER MODE DISKSVAXSET:
$ ASSIGN/USER~MODE DISKSVAXSET:
$ ASSIGN/USER_MOOE DISKSVAXSET:
$ ASSIGN/USER MODE DISKSVAXSET:
$ ASSIGN/USER~MODE DISKSVAXSET:
$ ASSIGN/USER~MODE DISKSVAXSET:
$ ASSIGN/USER~MODE DISKSVAXSET:
$ ASSIGN/USER MODE DISKSVAXSET:
$ ASSIGN/USER'MOOE DISKSVAXSET:
[ROMOBJ.PROCES]P34G.OBJ
[ROMOBJ.PROCES]ARSHFT.OBJ
[ROHOBJ.PROCES]MBSHFT.OBJ
[ROMOBJ.PROCES]PTSH FT.OBJ
[ROHOBJ.UTILI01ADATE.06J
[ROMOBJ.UTILIOHOCL.OBJ
[ROMOBJ.UTILI0]JFILE2.OBJ
[ROMOBJ.UTIL10]JFILE4.0BJ
[ROMOBJ.UTILI0]JUNIT.OBJ
[ROMOBJ.UTILI01PROGID.OBJ
$ ASSIGN/USER MODE DISKSVAXSET
$ LINK -
/EXECUTABLE = DISKSVAXSET:[ROMEXE.ROMNETJP34GV1A.EXE -
/MAP = MET1:[S01S]P34GV1A.MAP -
A1, -
A2, -
A3, -
A1
A2
A3
A4
AS
A6
A7
AS
A9
A10
267
-------
A8, -
A9, -
A10
$ PRINT -
/NOHEADER -
/MOFEED -
/NOTIFY -
HET1: [S01S3P34GV1A.MAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P34GX1.COM follows:
$ !ACCOUNT ING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE USER2SDISK:[FOREMAN.FV1503AJP34GX1.COM
$ ASSIGN MLAB: SYSSPRINT
S ! ASSIGN INPUT FILES
$ !ASSIGN MET52:[EMISSIONS.RNSUM85N]HOBLSAZ.CSO MOBLSAZ
$ (ASSIGN MET52:[EMISSIONS.RNSUM85M]MOBLSUZ.CSO MOBLSUZ
$ 'ASSIGN MET52:[EMISSIONS.RNSUM85M1MOBLUKZ.CSO MOBLWKZ
$ ASSIGN MET53:[EMISSIONS.RNSUM05A3ARSAZ.DAT AREASAZ
$ ASSIGN MET53:[ENISSIONS.RNSUM05A]ARSUZ.DAT AREASUZ
$ ASSIGN MET53:[EMISSIONS.RNSUM05A1ARWKZ.DAT AREAUKZ
$ ASSIGN WORK SCRATCH:PNTSAZ.CS1 PNTSAZ
$ ASSIGN WORK~SCRATCH:PNTSUZ.CS1 PNTSUZ
$ ASSIGN WORK SCRATCH:PNTWKZ.CS1 PNTWKZ
$ ! ASSIGN OUTPUT FILES
$ (ASSIGN MET52:[EMISSIONS.RNSUM85M3MOBLSA.CSO MOBLSA
S (ASSIGN MET52:[EMISSIONS.RNSUM85M]MOBLSU.CSO MOBLSU
$ IASSIGN MET52:[EMISSIONS.RNSUM85MJMOBLWK.CSO MOBLWK
S ASSIGN MET53:[EMISSIONS.RNSUM05A]AREASA.CS1 AREASA
$ ASSIGN MET53:[EMISSIONS.RNSUM05AJAREASU.CS1 AREASU
$ ASSIGN MET53:[EMISSIONS.RNSUM05A]AREAWK.CS1 AREAUK
S ASSIGN MET53:[EMISSIONS.RNSUM05P1PNTSA.CS1 PNTSA
$ ASSIGN MET53:[EMISSIONS.RNSUM05P3PNTSU.CS1 PNTSU
$ ASS IGN MET53:[EMISSIONS.RNSUM05P]PNTWK.CS1 PNTWK
$ SHOW PROCESS / ACCOUNTING
$ !
S TYPE USER2SDISK:[FOREMAN.FV1503ADP34GX1.CPR
$ ! ASSIGN CONTROL CARD(S) FILE
$ ASSIGN / USER MODE USER2SDISK: [FOREMAN.FV1503AJP34GX1.CPR SYS51NPUT
$ !
$ RUN DISKSVAXSET:[ROMEXE.ROMNET1P34GV1A.EXE
$ SHOW PROCESS / ACCOUNTING
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P34GV1A
B. Subroutines
ARSHFT
MBSHFT
PTSHFT
268
-------
C. Functions
None
D. Block Data Files
None
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A Subroutines
DISK$VAXSET:[ROMLIB.UTILIO]
ADATE
PROGID
B. Functions
DISK3VAXSET:[ROMLffi.UTILIO]
IOCL
JFILE2
JFILE4
.JUNIT
IX. INCLUDE FILES
None
2.31 PROCESSOR P36G (EMISSION CONTROL STRATEGIES)
I. PROCESSOR FUNCTION
This stage 0 processor applies NO* and VOC emission controls at the county level to 17 area-source
species and 7 mobile-source species. P36G applies controls to either or both area- and mobile-source
emissions data. The control cards contain the flags for emission control strategies for the area and
mobile sources. If the flag is .TRUE., P36G processes the control strategy by reading the control
strategy default values and the reduction file. Different control strategy default values and reduction
values exist for the area sources and mobile sources.
Note that this processor is not currently used, since the control strategies are applied at the raw data
stage (i.e., on the data tapes output from the FREDS).
269
-------
II. I/O COMPONENTS
A Input Files
1. Standard Input Files
None
2. Nonstandard Input Files
a. PCTCELL.DAT
This file contains the grid cell county allocation factors (i.e., the percentage of a grid cell
that is comprised of each county within the cell). The READ and FORMAT statements
for PCTCELLDAT are listed below, and the file parameters are shown in Table 2.237.
READ(PUNIT, 1001, IOSTAT = IOST) NCNTY
1001 FORMAT(1X, 12)
READCPUNIT, 1003, IOSTAT = IOST) ICOL, IROW, CCODE,
& IPCTCL
1003 FORNAT(1X, 12, IX, 12, 1X, A6, 39X, 13)
TABLE 2.237. PCTCELL.DAT PARAMETERS
Farm
No.
1
2
3
4
Parm
Name
ICOL
IROW
CCODE
IPCTCL
Data
Unit Type
Integer*4
Integer*4
Char*6
Integer*4
Description
ROMNET region column
ROMNET region row
AEROS county code
Percentage of county in grid cell
b. ARCTRLNOX.C&, ARCTRLVOCCSr, MBCTRLNOX-CSx, MBCTRLVOCCSr
These files, originating from control strategies set by the EPA's OAQPS for ROMNET
(EPA1990), contain county codes and their associated control strategies. Sample READ
and FORMAT statements for these files are listed below, and the file parameters are
shown in Table 2.238.
READCCUNIT, 1001, IOSTAT=IOST) HNXCIO(IREC), MNXRED(IREC)
1001 FORMATCIX, A6, F6.2)
270
-------
TABLE 2.238. CONTROL STRATEGY FILE PARAMETERS
Farm Farm Data
No. Name Unit Type Description
1 IREC Integer*4 Record count
2 MNXCID Char*6 County code
3 MNXRED % Real*4 Control strategy reduction
c. AREASA.CSO,AREASU.CSO,AREAWK.CSO
These files are generated by P34G, and their parameters can be found in Table 2.232. The
READ and FORMAT statements for the files are listed below.
READ(ARIUN,1001,IOSTAT=IOST) I COL, I ROW, I HOUR,
& (AREM(I),ISPC =1,MSPCAR)
1001 FORMAT(2I4, 12, E10.3)
d. MOBLSA.CSO, MOBLSU.CSO, MOBLWK.CSO
These files are generated by P34G, and their parameters can be found in Table 2.234. The
READ and FORMAT statements for the files are listed below.
READ(MBIUN,1001,IOSTAT=IOST) ICOL, IROW, I HOUR,
& (MBEM(ISPC). ISPC=1,NSPCMB).
& COUNTY
1001 FORMAT(2K, 12, E10.3, A6)
B. Output Files
1. Standard Output Files
None
2. Nonstandard Output Files
P36G can generate as many as six nonstandard output files, depending on the control cards
used: AREASACSx, AREASU.CSr, AREAWK-CSc, and/or MOBLSA.C&C, MOBLSU.CSr,
MOBLWK.C&C. The files contain the same parameters as the .CSO files (see Processor P34G),
with data values modified by the applied control strategy. The WRITE and FORMAT state-
ments for the AREAtt files (used by P14G) are listed below.
WRITE(AROUN,1001, IOSTAT = IOST) ICOL, I ROW, I HOUR,
£ (AREM(ISPC),ISPC =1, NSPCAR)
1001 FORMAT(2K, 12, E10.3)
271
-------
The WRITE and FORMAT statements for the MOBLtr files (used by P26G) are listed below.
URITE(NBOUN,1009, IOSTAT = IOST) ICOL, IROW, I HOUR,
& (NBEM(ISPC), ISPC =1, NSPCMB), COUNTY
1009 FORMAK2I4, 12, (1PE10.3), A6)
III. CONTROL CARDS
Two control cards, together with four title cards and two default-value cards are used to input control
data in the following format shown below. The control cards indicate the type of control strategy used,
as well as selecting the emissions data type that is processed. Table 2.239 defines the control card
variables.
CLABEL
AR_NOX, AR_VOC
CLABEL
ARDEF.NOX, ARDEF_VOC
CLABEL
MB_NOX, MB_VOC
CLABEL
MBDEF_NOX, MBDEF_VOC
TABLE 2.239. CONTROL CARD VARIABLES
Variable
Name
Unit
Description
CLABEL
AR_NOX
AR_VOC
MB_NOX
MB_VOC
ARDEF_NOX
ARDEF'VOC
MBDEF'NOX
MBDEF'VOC
Title of the following card
Area source NO* control flag:
.FALSE. => no NO* control file, use default value
Area source VOC control flag:
.FALSE. =*• no VOC control file, use default value
Mobile source NO* control flag:
.FALSE. => no NO* control file, use default value
Mobile source VOC control flag:
.FALSE. =>no VOC control file, use default value
Default control of NO* for area sources
Default control of VOC for area sources
Default control of NO* for mobile sources
Default control of VOC for mobile sources
272
-------
Example:
AR_NOX AR_VOC
.FALSE. .FALSR
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
FORTRAN source files:
FORTRAN INCLUDE files:
Object files:
Executable file:
B. Execution Time Requirements:
Charged CPU time (hh:mm:ss):
Buffered I/O count:
Direct I/O count:
Peak working-set size:
Peak virtual size:
C. Space Requirements: Log and Print Files
11 files
5 files
11 files
_1 file
28 files
76 blocks
11 blocks
71 blocks
40 blocks
198 blocks
VAX 8650
01:56:32
4589
55168
565
3117
P36G.LOG:
Print Files:
20 blocks
None
D. Space Requirements: Input and Output Files
Table 2.240 shows the input file and output file space requirements.
E. Space Requirements: Tape Files
None
273
-------
TABLE 2.240. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
PCTCELL
controls
AREASA.CSO
AREASU.CSO
AREAWK.CSO
MOBLSA.CSO
MOBLSU.CSO
MOBLWK.CSO
AREASA-CSx
AREASU.CSc
AREAWK-CSx
MOBLSACSr
MOBLSU.CSr
MOBLWICCSr
File
Type*
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Nonstd
Storage
(in blocks)
variable
variable
28392
28392
28392
26076
26076
26076
> 163404
28392
28392
28392
26076
26076
26076
163404
Scenario
Data Span
N/A
N/A
24 hours
24 hours
24 hours
24 hours
24 hours
24 hours
24 hours
24 hours
24 hours
24 hours
24 hours
24 hours
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P36G.LNK follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ !
ASSIGN /USER USEROSDISK:[LBW.P36GJP36G.OBJ A1
ASSIGN /USER USEROSDISK:UBW.P36G]BLKCTR.OBJ A2
ASSIGN /USER USER62SDISK:[FUG.MOBILE.QA1RDPCTC.OBJ A3
ASSIGN /USER USEROSDISK:[LBU.P36G3ARPROC.OBJ A4
ASSIGN /USER USER62SDISK:[FUG.MOBILE.QAJMBPROC.OBJ AS
ASSIGN /USER USEROSOISK:[LBU.P36G]ARCTRL.OBJ A6
ASSIGN /USER USEROSOISK:[LBW.P36G1RDARCS.OBJ A7
ASSIGN /USER USER62SDISK: [FUG.MOBILE.QAJRDMBCS.OBJ AS
ASSIGN /USER USEROSOISK: [LBU.P36G]ACRID.OBJ A9
ASSIGN /USER USEROSDISK:CLBU.P36G1RDATE.OBJ AID
ASSIGN/USER DISKSVAXSET:[ROHOBJ.UTILIO]ADATE.OBJ A11
[ROMOBJ.UTILI01IOCL.OBJ A12
[ROMOBJ.UTILI03JFILE1.0BJ A13
[ROMOBJ.UTILI01JFILE2.0BJ AH
[ROMOBJ.UTILI03JFILE3.0BJ A15
[ROMOBJ.UTILIOIJUNIT.OBJ A16
tROMOBJ.UTILI03JFILEX.OBJ A17
[ROMOBJ.UTILI03PROGID.OBJ A18
ASSIGN/USER DISKSVAXSET:[ROMOBJ.UTILIOJCELLO.OBJ A19
ASSIGN/USER DISKSVAXSET:[ROMOBJ.UTILIO]INDEX1.OBJ A20
LINK -
/DEBUG -
/EXECUTABLE = USEROSDISK:UBU.P36G1P36G.EXE -
A1, A2. A3, A4, AS, A6, A7, A8, A9, A10, -
A11, A12, A13, AU, A15, A16, A17, A18, A19, A20
(end of link stream)
ASSIGN/USER DISKSVAXSET:
ASSIGN/USER DISKSVAXSET:
ASSIGN/USER DISKSVAXSET:
ASSIGN/USER DISKSVAXSET:
ASSIGN/USER DISKSVAXSET:
ASSIGN/USER DISKSVAXSET:
ASSIGN/USER DISKSVAXSET:
274
-------
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P36G.COM follows:
! ACCOUNTING CODE
SET VERIFY
! run stream is in USEROSDISK:[LBW.P36G1P36G.CON
ASSIGN MLAB: SYSJPRINT
! assign input control strategy files
ASSIGN MET51:[EMISSIONS.COUNTY]PCTCELL.DAT
ASSIGN MET1: [EMISSIONS.NENOXCTRDARCTRLNOX.CS4
$ ASSIGN MET1:[EMISSIONS.NEVOCCTRL3ARCTRLVOC.CS4
ASSIGN MET1:[EMISSIONS.NENOXCTRL3MBCTRLNOX.CS4
$ ASSIGN MET1: [EMISSIONS.NEVOCCTRUMBCTRLVOC.CS3
$ ! assign input data files
$ ASSIGN MET66:[EMISSIONS.RNSUM85A.BASE]AREASA.CSO
$ ASSIGN MET66:[EMISSIONS.RNSUM85A.BASE1AREASU.CSO
$ ASSIGN MET66:[EMISSIONS.RNSUM8SA.BASE]AREAUK.CSO
$ ASSIGN MET66:[EMISSIONS.RNSUM85M.BASE]MOBLSA.CSO
$ ASSIGN MET66:[EMISSIONS.RNSUM85M.BASE1MOBLSU.CSO
$ ASSIGN MET66: [EMISSIONS.RNSUM85M.BASE1MOBLWIC.CSO
$ !
! assign output print files
ASSIGN MET66:[SCRATCH3NOXCSFPRF1N.DAT
ASSIGN MET66:[SCRATCH]VOCCSFPRF1N.DAT
$
$
$
$
$
$ ASSIGN MET66:[SCRATCH]AREASA.CST
PCTCELL
ARCTLNOX
ARCTLVOC
MBCTLNOX
MBCTLVOC
ARSA
ARSU
ARUK
MBSA
MBSU
MBWK
NOXCSF
VOCCSF
! assign output data files
ARSACS
ARSUCS
ARWKCS
MBSACS
MBSUCS
MBWKCS
$ ASSIGN MET66:[SCRATCH]AREASU.CST
$ ASSIGN MET66:[SCRATCH]AREAWK.CST
$ ASSIGN MET66:[SCRATCH]MOBLSA.CST
$ ASSIGN MET66:[SCRATCH]MOBLSU.CST
$ ASSIGN MET66:[SCRATCH]MOBLWK.CST
$ SHOW PROCESS / ACCOUNTING
$ !
$ TYPE USER62$DISK:[FUG.MOBILE.QA]P36GX1.CPR
$ ! ASSIGN CONTROL CARD(S) FILE
$ ASSIGN / USER MODE USER62SDISK:[FUG.MOBILE.QA3P36GX1.CPR
$ !
$ RUN/NODEBUG USEROSDISK:[LBU.P36G1P36G.EXE
$ SHOW PROCESS / ACCOUNTING
SYSSINPUT
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P36G
B. Subroutines
BLKCTR
RDPCTC
ARPROC
ARCTRL
RDARCS
MBPROC
MBCTRL
RDMBCS
AGRID
RDA1B
C. Functions
None
275
-------
D. Block Data Files
None
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A. Subroutines
DISK$VAXSET:[ROMLIB.UTILIO]
ADATE
CELLO
JFILE1
JFILEX
PROGID
B. Functions
DISK$VAXSET:[ROMNET.UTILIO]
INDEXl
IOCL
JFILE2
JFILE3
IX. INCLUDE FILES
DISK$VAXSET:[ROMLIB.ROMNET]
REGPRM.EXT
DISKSVAXSET:[ROMLIB.PROCES]
CTRLDF
CNTYGR
CSFGRD
CTRLSP
2.32 PROCESSOR P38G (BTRK FILE CREATION)
I. PROCESSOR FUNCTION .
This stage 7 processor reads the model input files containing the wind fields gridded backtrack loca-
tions and the horizontal difiusivities data and produces the Backtrack file (BTRK).14 Together with
the boundary conditions file BCON, BTRK contains the data necessary for the Core Model to compute
the horizontal advection component of the predicted concentrations of the model's 35 chemical spe-
cies.
14. The definition of backtrack can be found in Processor P29G.
276
-------
II. I/O COMPONENTS
A, Input Files
1. Standard Input Files
MF103 from P29G
MF104fromP29G
MF105 from P29G
MF106 from P29G
MF107 from P29G
MF108fromP29G
2. Nonstandard Input Files
None
B. Output Files
1. Standard Output Files
None
2. Nonstandard Output Files
BTRK contains data elements for each grid cell, model layer, and time step required by the
Core Model. The structure of the BTRK file conforms to the requirements for all ROM Core
Model files, and therefore contains a file header and time-step header structure. Descriptions
of the records containing this information are given below.
a. Record 1
The first record contains character strings representing alphanumeric data that describe the
file's contents. The data are prepared and written to a character buffer, which is then written
unformatted to the BTRK file by subroutine WRCHAR. The parameters of record 1 are
shown in Table 2.241.
C first segment record
WRITECRECONE, 1001, IOSTAT = IOST)
& COATBT, CTIMBT, SDATBT, STHRBT, TSTPBT, FRSTBT,
& GRDNBT,
& SULNBT, SULTBT, NELNBT, NELTBT,
& DLONBT, DLATBT,
& NCOLBT, NROWBT, NMIFBT, ICNTBT
277
-------
1001 FORMAT(6I8.8, A8, 4F8.3, 2F8.5, 414.4)
C
CALL URCHARdBTRK, RECONE, IOST)
SUBROUTINE WRCHAR (IUNIT. CHBUF, IOST)
IMPLICIT NONE
INTEGER*4 IUNIT, IOST
CHARACTER^*) CHBUF
WRITECIUNIT, IOSTAT = IOST) CHBUF
RETURN
END
TABLE 2.241. BTRK RECORD 1 PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Farm
Name
CDATBT
CTIMBT
SDATBT
STHRBT
TSTPBT
FRSTBT
GRDNBT
SWLNBT
SWLTBT
NELNBT
NELTBT
DLONBT
DLATBT
NCOLBT
NROWBT
NMIFBT
ICNTBT
Unit
EST
EST
s
s
°W
. °N
°W
°N
aw
°N
Data
Type
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Char*8
Real*4
Real*4
RealM
RealM
Real*4
RealM
IntegerM
IntegerM
Integer*4
IntegerM
Description
File creation date as MMDDYY
File creation time as HHMMSS
Julian start date of scenario as YYDDD
Start hour of scenario (00 to 23)
Time step size for simulation
Time to first step on BTRK file
Grid definition name
Longitude of southwest corner of grid
Latitude of southwest corner of grid
Longitude of northeast corner of grid
Latitude of northeast corner of grid
Grid cell longitudinal increment
Grid cell latitudinal increment
Number of columns in grid
Number of rows in grid
Number of model input files used to generate
the BTRK file
Number of text records
b. Records2-5
These records contain the list of model input file logical names that are read to generate the
BTRK file data. The parameters of these records are shown in Table 2.242.
MIF segment records
DO 201 IMIF = 1, NNIFBT
WRITECRECMIF, 1003, IOSTAT = IOST) MFNNBT(IMIF), CDMFBT(IMIF),
& CTMFBT(IMIF), UDMFBT(IMIF),
& UTMFBT(IMIF)
1003 FORMAT(A12, 418.8)
CALL WRCHAR(IBTRK, RECMIF, IOST)
201 CONTINUE
278
-------
TABLE 2.242. BTRK RECORDS 2 - 5 PARAMETERS
Farm
No.
1
2
3
4
5
Farm
Name
MFNMBT(J)
CDMFBT(J)
CTMFBT(J)
UDMFBT(J)
UTMFBT(J)
Data
Unit Type
Char* 12
Integer*4
Integer*4
Integer*4
Integer*4
Description
File name of MIF file /
Creation date of MIF file/
Creation time of MIF file /
Last update date of MIF file J
Last update time of MIF file /
c. Records 6 - (25 maximum)
These records contain descriptive text that you can optionally enter as part of the control cards
data set. One 80-character string is written to each record by means of the following state-
ments. A blank string must denote the end of the descriptive text records. The WRITE and
FORMAT statements for these records are listed below, and their parameter is shown in Table
2.243.
C text segment records
DO 301 I TXT = 1, ICNTBT
WRITECRECTXT. 1005. 10STAT = IOST) TEXTBT(ITXT)
1005 FORMAT(A80)
CALL WRCHARdBTRK, RECTXT, IOST)
301 CONTINUE
TABLE 2.243. RECORDS 6 - (6+ICNTBT-l) PARAMETERS
Farm
No.
Farm
Name
Unit
Data
Type
Description
1 TEXTBT(ITXT)
Char'80
Text description
These end the file header records. The following are the data records, headed by one time-step
record for each time interval.
d. Time-Step Header Record
There is one time-step header record written for each time step increment on the BTRK file.
The time-step header data are contained in a common block. The following statement writes
the data to the BTRK file by referencing the first variable of the common block, and specifying
279
-------
the number of the block's words to be written. The data are then written to the file by sub-
routine WRFILE. The WRITE and FORMAT statements for this record are listed below, and
its parameters are shown in Table 2.244.
COMMON / RTSHBT / DATBT, TIMBT, ELPBT, STPBT
NURDST = 4
CALL WRFILEdBTRK, NUDSTS, DATBT, IOST)
SUBROUTINE URFILE (IUNIT, NWORDS, BUFFER, IOST)
IMPLICIT NONE
INTEGER** IUNIT, NWORDS, IOST
REAL** BUFFER (NWORDS)
WRITEdUNIT, IOSTAT = IOST) BUFFER
RETURN
END
TABLE 2.244. TIME-STEP HEADER RECORD PARAMETERS
Farm
No.
1
2
3
4
Farm
Name
DATBT
TIMBT
ELPBT
STPBT
Unit
EST
s
Data
Type
Integer*4
Integer*4
Integer*4
Integer*4
Description
Julian current time step date as YYDDD
Current time step time as HHMMSS
Elapsed time since scenario start
Current time-step no. on BTRK file
e. Data Records
The data records are written by equivalencing common blocks of row data for each group. The
following parameter is used for dimensioning the common blocks and controlling the write
operations:
NVARBT = 4 is the number of level-dependent BCKTRAK variables, specifically: UU, W,
KKHU.KKHV.
We use a named common block, BTRKVR, for the specific variables, and the same common
block for a buffer, BTRKBF, that is written unformatted to the BTRK file by subroutine
WRFILE:
COMMON / BTRKVR /
& UKNCOLS1), U2CNCOLS1), U3(NCOLS1),
& VKNCOLS1), V2CNCOLS1), V3(NCOLS1),
t KHIU(NCOLSI), KH2UCNCOLS1), KH3U(NCOLS1),
& KHIV(NCOLSI), KH2V(NCOLS1), KH3V(NCOLS1)
COMMON / BTRKVR / BTRKBF(NCOLS1, NLEVS * NVARBT)
The procedure to write these data is listed below, and the file's parameters are shown in Table
2.245.
280
-------
NURDSB = NLEVS * NVARBT * NCOLS1
I ROW = 1
201 CONTINUE
IF (IROW .GT. NROUS1) GO TO 301
C
C write BTRK row
CALL URFILE (IBTRK, NURDSB, BTRKBF<1,1), IOST)
C
C read BT row
C
IGO = 3
RETURN
30001 CONTINUE
C
IROW = IROW + 1
GO TO 201
C
301 CONTINUE
TABLE 2.245. BTRK DATA PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
Farm
Name
UU1
UU2
UU3
Wl
W2
W3
KKH1U
KKH2U
KKH3U
KKH1V
KKH2V
KKH3V
Unit
column
column
column
row
row
row
rad^s-1
radis-i
rad2*-1
radZ-s-1
rad2-s-i
radis-i
Data
Type
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
Real*4
RealM
Real*4
Real*4
Description
Backtrack locations:
Longitudinal-component in layer 1
Longitudinal-component in layer 2
Longitudinal-component in layer 3
Latitudinal-component in layer 1
Latitudinal-component in layer 2
Latitudinal-component in layer 3
Horizontal diffusivities:
Longitudinal-component in layer 1
Longitudinal-component in layer 2
Longitudinal-component in layer 3
Latitudinal-component in layer 1
Latitudinal-component in layer 2
Latitudinal-component in layer 3
III. CONTROL CARDS
Two control cards are used to input the control data using the code shown below. Following these
control cards, you can optionally enter file-description text in as many as 20 80-character records. This
text is subsequently written to the BTRK file's header. Note that one blank text record is required at
the end of these character records, even if you opt to enter no text. Table 2.246 defines the control card
variables.
You will see that dummy records are read into a character variable, CLABEL. These records exist in
the input stream to describe what the following card of data represents.
281
-------
The control cards are input using the following format:
SDATBT STHRBT SSDATE SSHOUR ESDATE ESHOUR
VAXFMT
TEXTBT(K)
The code that reads the control card information follows.
C read control cards
READ(5, 1005) CLABEL
1005 FORMAT(ASO)
READ(5, *) SOATBT, STHRBT, SSDATE, SSHOUR,
& ESDATE, ESHOUR
SSTIME = SSHOUR * 10000
ESTIME = ESHOUR * 10000
READ(5, 1005) CLABEL
READ(5, *) VAXFHT
READ(5, 1003) CLABEL
DO 101 ITXT = 1, NTEXT
READ(5, 1007, IOSTAT = IOST) TEXTBT(ITXT)
1007 FORMAT(ASO)
IF (TEXTBT(ITXT) .EQ. BLANK) GO TO 111
101 CONTINUE
111 CONTINUE
ICNTBT = ITXT - 1
TABLE 2.246. CONTROL CARD VARIABLES
Variable
Name Unit
SDATBT
STHRBT EST
SSDATE
SSHOUR EST
ESDATE
ESHOUR EST
VAXFMT
TEXTBT(K)
Description
Julian scenario start date as YYDDD
Scenario start hour as HH
Julian simulation start date as YYDDD
Simulation start hour as HH
Julian simulation end date as YYDDD
Simulation end hour as HH
Translation flag:
.TRUE.=» do not translate to IBM binary
.FALSE=^ translate to IBM binary
Descriptive text records to be recorded on the BTRK file header
Example:
88187 12 88187 12 88191 12
.FALSE.
BACKTRACK FILE (BTRK)
for RON2.1 on the ROMNET grid
generated from formulation FV1501A for 144 steps
us i ng USER2SDISK:[FOREMAN. FV1503A]P39GX1.COM
USER2SDISK:[FOREMAN.FV1503A1P39GX1.CPR
DISKSVAXSET: [ROMEXE.ROMNET]P39GV1B.EXE
21 JUL 89
{blank line of text}
282
-------
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
FORTRAN source tiles:
FORTRAN INCLUDE files:
Object files:
Executable file:
8 files
16 files
8 files
_1 file
27 files
79 blocks
90 blocks
43 blocks
72 blocks
284 blocks
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss):
Buffered I/O count:
Direct I/O count:
Peak working-set size:
Peak virtual size:
C. Space Requirements: Log and Print Files
00:04:09
274
4401
1549
3971
P38GX1.LOG:
Print Files:
54 blocks
None
D. Space Requirements: Input and Output Files
Table 2.247 shows the input file and output file space requirements.
TABLE 2.247. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
MF103
MF104
MF105
MF106
MF107
MF108
BTRK
File
Type
5
5
5
5
5
5
Nonstd
Storage
(in blocks)
3798
3798
. 3798
5696
5696
5696
28482
45000
Scenario
Data Span
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
E. Space Requirements: Tape Files
None
283
-------
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P38GV1B.LNK follows.
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE DISttVAXSET:[ROMCOM.ROMNET]P38GV1B.LNK
$ ON WARNING THEN EXIT
$ ASSIGN MLAB: SYSSPRINT
$ MAPFILE = »MET1:[S01S]P38GV1B.MAP«
S EXEFILE = "DISttVAXSET: [ROMEXE.ROMNET1P38GV1B.EXE"
$ ASSIGN/USER MODE DISttVAXSET:[ROMOBJ.ROMNET]P38G.OBJ
$ ASS1GN/USER~MODE DISttVAXSET:[ROHOBJ.ROMNET]BLKBTR.OBJ
$ ASSIGN/USER MODE DISttVAXSET:[ROMOBJ.ROMNET]INTRPD.OBJ
$ ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.ROMNET}RDDIFF.OBJ
$ ASSIGN/USER~MODE DISttVAXSET:[ROMOBJ.ROMNET]RDWIND.OBJ
$ ASSIGN/USER~MODE DISttVAXSET:[ROMOBJ.ROMNET]TIMEBT.OBJ
:[ROMOBJ.ROMNET)WRBTRK.OBJ
: [ROMOBJ.ROMNET]WRHDBT.OBJ
: [ROMOBJ.UTILIOJADATE.OBJ
: [ROMOBJ.UTILIO]CELLO.OBJ
: [ROMOBJ.UTILIO]CLOCK1.OBJ
:CROMOBJ.UTILIO]CLOCK2.OBJ
:[ROMOBJ.UTILIO]DATHR3.OBJ
:[ROMOBJ.UTILIO]DATHR5.OBJ
:[ROMOBJ.UTILIO]ERROUT.OBJ
:[ROMOBJ.UTILIO]IOCL.OBJ
:[ROMOBJ.UTILIO]JFILE1.OBJ
$ ASSIGN/USER_MODE DISttVAXSET:
S ASSIGN/USER_MODE DISttVAXSET:
S ASSIGN/USER_MODE DISttVAXSET:
$ ASSIGN/USER_MODE DISttVAXSET:
$ ASSIGN/USER MODE DISttVAXSET:
S ASSIGN/USER~MODE DISttVAXSET:
S ASSIGN/USER~MODE DISttVAXSET:
$ ASSIGN/USER~MODE DISttVAXSET:
$ ASSIGN/USERJUODE DISttVAXSET:
$ ASSIGN/USER MODE DISttVAXSET:[ROMOBJ.UTILIO]FLSMRY.OBJ
$ ASSIGN/USERJWOE DISttVAXSET: [ROMOBJ.UTILIO] FSTAT1.OBJ
$ ASS I GN/USER_MODE DIS WVAXSET: [ROMOBJ.UTILI0]IBLKR.OBJ
$ ASSIGN/USER MODE DISttVAXSET:
$ ASSIGN/USERJWDE DISttVAXSET:
$ ASS IGN/USER_MODE DISttVAXSET:[ROMOBJ.UTIL10]J FILE6.06J
$ ASSIGN/USER_MODE DISttVAXSET:[ROMOBJ.UTIL10]JHOUR1.OBJ
$ ASSIGN/USER_MODE DISttVAXSET:[ROMOBJ.UTILIO]JUNIT.OBJ
$ ASSIGN/USER MODE DISttVAXSET:[ROMOBJ.UTILIOJOPOIR2.OBJ
S ASSIGN/USER_MODE DISttVAXSET:[ROMOBJ.UTIL10]OPEN2.0BJ
$ ASSIGN/USER MODE DISttVAXSET:[ROMOBJ.UTILIO]PROGID.OBJ
$ ASSIGN/USER~MODE DISttVAXSET:[ROMOBJ.UTILIOJRDDIR1.OBJ
S ASSIGN/USER_MODE DISttVAXSET:
$ ASSIGN/USER_MODE DISttVAXSET:
$ ASSIGN/USER MODE DISttVAXSET:
S ASSIGN/USER~MOOE DISttVAXSET:
S ASSIGN/USER~MODE DISttVAXSET:
$ ASSIGN/USER MODE DISttVAXSET:
$ LINK -
/EXECUTABLE = DISttVAXSET:[ROMEXE.ROMNETJP38GV1B.EXE -
/MAP = MET1:[S01S]P38GV1B.MAP -
A1, -
A2, -
A3. -
: [ROMOBJ.UTILIO]RDFHD1.0BJ
:[ROMOBJ.UTILIO]RDFT5.0BJ
:[ROMOBJ.UTILIO]RDREC.OBJ
:[ROMOBJ.UTILI0]TRNSLT.OBJ
i[ROMOBJ.UTILIO]WRCHAR.OBJ
:[ROMOBJ.UTILIO] WRFILE.OBJ
A1
A2
A3
A4
AS
A6
A7
AS
A9
A10
A11
A12
A13
AU
A15
A16
A17
A18
A19
A20
A21
A22
A23
A24
A25
A26
A27
A28
A29
A30
A31
A32
A33
A31. -
A32, -
A33
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET!:[S01S3P38GV1B.MAP
(end of link stream)
284
-------
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P38GX1.COM follows.
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE USER2SOISK:[FOREMAN.FV1503A3P38GX1.COM
$ ASSIGN MLAB: SYS$PRINT
$ !ASSIGN INPUT FILES
$ ASSIGN MET1:[ROMNET]DIRECT2.DAT PFMFDIR
$ ASSIGN MET56:[ROMNET1.D851883MF103A.DAT MF103
$ ASSIGN MET56: [ROMNET1.D851881MF104A.DAT MF104
$ ASSIGN MET56:IROMNET1.D851881MF105A.DAT MF105
$ ASSIGN MET56:[ROMNET1.D85188DMF106A.DAT MF106
$ ASSIGN MET56:[ROMNET1.D851881MF107A.DAT MF107
$ ASSIGN MET56:[ROMNET1.D851881MF108A.DAT MF108
$ ! ASSIGN OUTPUT FILES
$ ASSIGN -
NCCIBM:: ADRNER1 .NOBIOJP.BTRIC.FV1503A/NOTRANSLATE/SINGLE/SUPERSEDE -
BCKTRAK
$ !SYNCHRONIZE/ENTRY=592
$ SHOW PROCESS / ACCOUNTING
$ !
$ TYPE USER2SOISK:[FOREMAN.FV1503AJP38GX1.CPR
$ ! ASSIGN CONTROL CARD(S) FILE
ASSIGN USER2SDISK:[FOREMAN.FV1503AJP38GX1.CPR SYS$INPUT
!
ASSIGN DISKSVAXSET:[ROMEXE.ROMNET1P38GV1B.EXE PROCP38G
DIRECTORY / FULL PROCP38G
RUN PROCP38G
SHOW PROCESS / ACCOUNTING
SHOW STATUS
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P38GV1B
B. Subroutines
INTOPD TTMEBT
RDDIFF WRBTRK
RDWIND WRHDBT
C. Functions
None
D. Block Data Files
BLKBTR
285
-------
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A Subroutines
DISK$VAXSET:[ROMLffi.UTILIO]
ADATE ERROUT OPDIR2 RDFT5
CELLO FLSMRY OPEN2 RDREC
CLOCK1 FSTAT1 PROGID TRNSLT
CLOCK2 IBLKR RDDIR1 WRCHAR
DATHR5 JFILE1 RDFHD1 WRFILE
B. Functions
DISK$VAXSET:[ROMLIB.UTILIO]
DATHR3 JFILE6
IOCL JHOUR1
JFILE2 JUNIT
IX. INCLUDE FILES
DISK$VAXSET:[ROMLIB.ROMNETJ
REGPRM.EXT
DISK$VAXSET:[ROMLIB.PROCES]
BTLUNS.EXT
BTMFLS.EXT
BTRPRM.EXT
BTRKBF.EXT
BTRKVR.EXT
DISK$VAXSET:[ROMLffi.UTILIO]
DATIME.EXT
PRID.EXT
DISK$VAXSET:[ROMLffi.CORE]
HEADBT.EXT
RTSHBT.EXT
286
-------
2.33 PROCESSOR P39G (IMET FILE CREATION)
I. PROCESSOR FUNCTION
This stage 7 processor reads all the model input files that contain (1) meteorology data, and (2) the
deposition velocity and upper boundary condition concentrations (C .) for 12 of the model's 35 species.
P39G writes the Intermediate Meteorology file, IMET. The purpose of IMET is to separate all the
meteorology data from the emissions data. P40G then takes the IMET data and adds the data from the
model input files generated by the emissions processors to produce the B-Matrix file. We designed the
ROM this way to allow for the production of many different emissions-reduction scenarios for any one
set of meteorological conditions. The design also permits outside users to run their own emissions
reductions while accessing IMET files that have been previously generated in-house at the EPA
To produce the IMET data for a multiday scenario, P39G uses multiple 3-day simulations. For exam-
ple, one 15-day scenario requires five 3-day simulations; each simulation is contained in a separate
IMET file.
II. I/O COMPONENTS
A. Input Files
1. Standard Input Files
MFllOfromPOTG
MFlllfromP07G
MF129 from P12G
MF132 from P09G
MF133 from P09G
MF134fromP09G .
MF135fromP09G
MF136fromP09G
MF137 from P09G
MF138fromP09G
MF139 from P09G
2. Nonstandard Input Files
None
B. Output Files
1. Standard Output Files
None
MF140 from P09G
MF146fromP15G
MF147 from P23G
MF151 from P12G
MF152 from P12G
MF153 from P12G
MF154 from P12G
MF155 from P12G
MF156 from P12G
MF157 from P12G
MF160fromP09G
MF161 from P09G
MF162 from P09G
MF163 from P09G
MF164 from P17G
MF165 from P17G
MF166fromP17G
MF167 from P17G
MF174fromP09G
MF175 from P09G
MF176 from P09G
287
-------
2. Nonstandard Output Files
The IMET file contains the meteorology data for the model's chemistry rate-constant adjust-
ments as well as the deposition velocity and C. values for some of the model's 35 chemical
species. All data on the IMET file have been interpolated from hourly to 1800-second time
steps using a scheme that weights (1) each hour's data by 75% and the subsequent hour's data
by 25% for the first 1800-s time step, and (2) each hour's data by 25% and the subsequent
hour's data by 75% for the second 1800-s time step. Although the IMET file is not strictly a
ROM Core Model file, it nevertheless conforms to the requirements for all ROM Core Model
files, and therefore contains a file header and time-step header structure. Descriptions of the
records containing this information are given below.
a. Record 1
The first record contains character strings representing alphanumeric data that describe the
file's contents. The data are prepared and written to a character buffer, which is then written
unformatted to the IMET file by subroutine WRCHAR. The parameters of record 1 are
shown in Table 2.248.
C first segment record
WRITE(RECONE, 1001, IOSTAT = IOST)
& CDATIM, CTIMIM, SOATIM, STHRIM, TSTPIM, FRSTIM,
& GRDNIM,
& SWLNIM, SWLTIM, NELNIM, NELTIM,
& OLONIM, DLATIM,
& NCOLS1, NROWS1, NLEVS, NSPCIM, NMIFIM, ICNTIH
1001 FORNAT(6I8.8, AS, 4F8.3, 2F8.5, 614.4)
C
CALL URCHARCIINET, RECONE, IOST)
SUBROUTINE URCHAR (IUNIT, CHBUF, IOST)
IMPLICIT NONE
INTEGER*4 IUNIT, IOST
CHARACTERS*) CHBUF
URITEdUNIT, IOSTAT = IOST) CHBUF
RETURN
END
b. Record 2
This record contains the list of species names for which the Core Model computes concentra-
tion outputs. As for record 1 above, the data are written to a character buffer, which is then
written unformatted to the IMET file. The parameter of record 2 is shown in Table 2.249.
C species names record
WRITECRECSPN, 1003, IOSTAT = IOST) (SPNMIH(ISPC), ISPC = 1, NSPCIM)
1003 FORMAT(A4)
CALL URCHARdlNET, RECSPN, IOST)
288
-------
TABLE 2.248. IMET RECORD 1 PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Farm
Name
CDATIM
CTIMIM
SDATIM
STHRIM
TSTPIM
FRSTIM
GRDNIM
SWLNIM
SWLTIM
NELNIM
NELTIM
DLONIM
DLATIM
NCOLS1
NROWS1
NLEVS
NSPCIM
NMIFIM
ICNTIM
Unit
EST
EST
s
s
°W
°N
°W
°N
°W
°N
Data
Type
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Char'8
Real*4
Real*4
Real*4
RealM
Real*4
RealM
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Description
File creation date as MMDDYY
File creation time as HHMMSS
Julian start date of scenario as YYDDD
Start hour of scenario (00 to 23)
Time step size for simulation
Time to first step on IMET file
Grid definition name
Longitude of southwest corner of grid
Latitude of southwest corner of grid
Longitude of northeast corner of grid
Latitude of northeast corner of grid
Grid cell longitudinal increment
Grid cell latitudinal increment
Number of columns in grid
Number of rows in grid
Number of levels
Number of model species
Number of model input files used to generate
the IMET file
Number of text records
TABLE 2.249. IMET RECORD 2 PARAMETER
Farm
No.
Farm
Name
Unit
Data
Type
Description
SPNMIM(I)
Char*4
Name of species I
c. Records
This record contains the expansion list (look-up table) of species names for the deposition
velocities for which the IMET file has values. (Refer to processor P23G for an explanation of
the need for an expansion list.) These values are mapped to the full core-model list of species
names in processor P40G. The WRITE and FORMAT statements for this record are listed
below, and its parameter is shown in Table 2.250.
WRITE(RECSPN, 1003. IOSTAT = IOST) (DEPVNX(ISPC), ISPC
1003 FORMAT(A4)
CALL WRCHARUBMAT, RECSPN, IOST)
1, NSPCIM)
289
-------
TABLE 2.250. IMET RECORD 3 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 DEPVNX(K) Integer*4 Index array for species expansion of deposi-
tion velocities from the reduced IMET set to
the full model set
d. Record 4
This record contains the expansion list (look-up table) of species names for the C. concentra-
tions for which the IMET file has values. These values are mapped to the full core-model list
of species names in processor P40G. The WRITE and FORMAT statements for this record
are listed below, and its parameter is shown in Table 2.251.
URITE(RECSPN, 1003, IOSTAT = IOST) (CIMFMX(ISPC), ISPC = 1, NSPCIM)
1003 FORMAT(A4)
CALL WRCHARdBMAT, RECSPN, IOST)
TABLE 2.251. IMET RECORD 4 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 CINFNX(K) Integer*4 Index array for species expansion of C« con-
centrations from the reduced IMET set to
the full model set
e. Records
This record contains the list of Core Model level names. The WRITE and FORMAT state-
ments for this record are listed below, and its parameter is shown in Table 2.252.
C level names record
UR1TECRECLVN, 1005, IOSTAT = IOST) (LVNMIM(ILEV), ILEV = 1, NLEVS)
1005 FORMAT(A4)
CALL WRCHAR (IIMET, RECLVN, IOST)
TABLE 2.252. IMET RECORD 5 PARAMETER
Farm Farm Data
No. Name Unit Type Description
1 LVNMIM(J) Char*4 Name of level/
290
-------
f. Records 6-37
These records contain the list of logical names of the model input files (MIF) that are used to
generate the IMET file data. The WRITE and FORMAT statements for these records are
listed below, and their parameters are shown in Table 2.253.
C MIF segment records
DO 501 IMIF = 1, NMIFIH
WRITECRECMIF, 1007, IOSTAT = IOST) MFNHIM(IMIF), CDNFIM(IMIF),
£ CTMFIM(IMIF), UOHFIM(IHIF),
& UTMFIM(IMIF)
1007 FORMAT(A12, 418.8)
CALL WRCHARCIIMET, RECMIF, IOST)
501 CONTINUE
TABLE 2.253. IMET RECORDS 6 - 37 PARAMETERS
Farm Farm Data
No. Name Unit Type
Description
1
2
3
4
5
MFNMIM(J)
CDMFIM(J)
CTMFIM(J)
UDMFIM(J)
UTMFIM(J)
EST
EST
Char * 12
Integer*4
IntegerM
Integer*4
Integer*4
File name of MIF file /
Julian creation date (YYDDD) of MIF file /
Creation time (HH) of MIF file /
Last update Julian date of MIF file /
Last update time of MIF file/
g. Records 38 - (57 maximum)
These records contain descriptive text that you can optionally enter as part of the control cards
data set. One 80-character string is written to each record by means of the following state-
ments. A blank string must denote the end of the descriptive text records. The WRITE and
FORMAT statements for these records are listed below, and their parameter is shown in Table
2.254.
C text segment records
DO 601 ITXT = 1, ICNTIM
WRITE(RECTXT, 1009, IOSTAT = IOST) TEXTIM(ITXT)
1009 FORMAT(A80)
CALL URCHARUIMET, RECTXT, IOST)
601 CONTINUE
TABLE 2.254. RECORDS 38 - (38+ICNTIM-l) PARAMETERS
Farm
No.
Farm
Name
Unit
Data
Type
Description
1 TEXnM(ITXT)
Char'80
Text description
291
-------
These end the file header records. The following are the data records, headed by one time-step
record for each time interval.
h. Time-Step Header Record
There is one time-step header record written for each time step increment on the IMET file.
The time-step header data are contained in a common block. The following statement writes
the data to the IMET file by referencing the first variable of the common block, and specifying
the number of the block's words to be written. The data are then written to the file by sub-
routine WRFTLE. The WRITE and FORMAT statements for this record are listed below, and
its parameters are shown in Table 2.255.
COMMON / RTSHIM / DATIM, TIMIM, ELPIM, STPIM
NWRDST = 4
CALL URFILEdlMET, NUDSTS, DATIM, IOST)
SUBROUTINE WRFILE (IUNIT, NUORDS, BUFFER, IOST)
IMPLICIT NONE
INTEGER** IUNIT. NUORDS, IOST
REAL** BUFFER (NUORDS)
URITEdUNIT, IOSTAT = IOST) BUFFER
RETURN
END
TABLE 2.255. TIME-STEP HEADER RECORD PARAMETERS
Farm
No.
1
2
3
4
Farm
Name
DATIM
TIMIM
ELPIM
STPIM
Unit
EST
s
Data
Type
Integer*4
Integer*4
Integer*4
Integer*4
Description
Julian current time step date as YYDDD
Current time step time as HHMMSS
Elapsed time since scenario start
Current time-step no. on IMET file
i. Data Records
There are two groups of data records for each IMET time step increment. The first group
(GROUP 1 IMET PARAMETERS, Table 2.256) contains one record of variables for each
model domain row. The second group (GROUP 2 IMET PARAMETERS, Table 2.257) con-
tains a data record for each model domain row, for each species for which the IMET file has
values.
The data records are written by equivalencing common blocks of row data for each group. The
following parameters are used for dimensioning the common blocks and controlling the write
operations:
292
-------
NVRIM1 = 30;
NVRIM1 is the number of meteorology parameter INTRMET variables (Part 1), specifi-
cally: SIGTO, SIGT1, BH3DOT, SCRV1, W2MNS, W2PLS, W1MNS, W1PLS,
WOMNS, WOPLS, SRHOO, SRHO1, SRHO2, SRHO3, RHOO, RHO1, RHO2,
RHO3, ZO, Zl, Z2, Z3, TEMPI, TEMP2, TEMP3, WVC1, WVC2, WVC3,
THETA, PSI2;
NVRIM1 = 2;
NVRIM2 is the number of species-dependent INTRMET variables (Part 2), specifically
BETA and CINE
The first group (Part 1) uses a named common block, METVRS, for the specific variables, and
the same common block for a buffer, METBUF, that is written unformatted to the IMET file
by subroutine WRF1LE:
COMMON / METVRS /
& SIGTOCNCOLSD, SIGTKNCOLS1),
& BH300TCNCOLS1), SCRV3(NCOLS1),
& U2MNS(NCOLS1), W2PLS(NCOLS1),
& W1MNS(NCOLS1), U1PLS(NCOLS1),
& WOMNSCNCOLS1), WOPLS(NCOLSI),
& SRHOOCNCOLS1), SRHOKNCOLS1),
& SRH02(NCOLS1>, SRH03(NCOLS1),
& RHOO(NCOLSI), RHOUNCOLS1),
& RH02CNCOLS1), RH03(NCOLS1),
& ZO(NCOLSI), ZKNCOLS1),
& Z2(NCOLS1), Z3(MCOLS1),
& TEMPKNCOLS1), TEMP2(NCOLS1), TEMP3CNCOLS1),
& WVCKMCOLS1), WVC2(NCOLS1), UVC3(NCOLS1),
& THETA(NCOLSI), PSI2(NCOLS1)
COMMON / METVRS / METBUF(NCOLS1, NVRIM1)
The second group (Pan 2) uses a named common block, SPCVAR, for the specific variables,
and the same common block for a buffer, SPCBUF, which is written unformatted to the IMET
file by means of routine WRFILE:
COMMON / SPCVAR / BETA(NCOLS1, MXPRM),
& CINF(NCOLS1, MXPRM)
COMMON / SPCVAR / SPCBUF(NCOLS1, MXPRM, NVRIM2)
293
-------
The procedure to write these data is as follows:
REAL*4 BUFCNCOLS1, NVRIM2)
NUDSMT - NVRIM1 * NCOLS1
NUDSSP = NVRIN2 * NCOLS1
IROW = 1
201 CONTINUE
IF (IROW .GT. NROUS1) GO TO 301
C
C write block 1 for the row
CALL WRFILE (IIMET, NUDSMT, METBUF<1,1), IOST)
C
C row body species-reduced-list*
C
C write block 2 for the row
DO 251 IPRM = 1, MXPRM
C
DO 231 IFL = 1, NVRIM2
DO 231 ICOL = 1, NCOLS1
C transfer and reorder data from block 2 buffer
BUFOCOL, IFL) - SPCBUFdCOL, IPRM, IFL)
231 CONTINUE
CALL WRFILE (IIMET, NWDSSP, BUF, IOST)
C
251 CONTINUE
C
C row body end
C
C read IM row
C
IGO = 3
RETURN
30001 CONTINUE
C
IROW = IROW + 1
GO TO 201
C
C tstep body end
C
301 CONTINUE
where MXPRM = 12, the maximum of the species represented in the deposition velocities and
the C. concentrations. MXPRM is the number of species in the reduced set representing the
full set of model species.
294
-------
TABLE 2.256. IMET PART 1 PARAMETERS
Farm
No.
Farm
Name
Unit
Data
Type
Description
Terrain penetration fraction through:
1
2
3
4
5
6
7
8
9
10
SIGTO
SIGT1
BH3DOT
SCRV3
W2MNS
W2PLS
W1MNS
W1PLS
WOMNS
WOPLS
m-s-1
m-s-1
m-s-1
m-s-1
m-s-1
m-s-1
m-s-1
m-s-1
RealM
Real*4
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
layer 0
layer 1
Volume flux through the top of layer 3
Cumulus-root volume flux cloud-detrainment
velocity
Volume flux relative to top surface
layer 2, downward flux
layer 2, upward flux
layer 1, downward flux
layer 1, upward flux
layer 0, downward flux
layer 0, upward flux
of:
Interface air density at top surface of:
11
12
13
14
15
16
17
18
SRHOO
SRHO1
SRH02
SRHO3
RHOO
RHO1
RH02
RHO3
mol-ppm-m-3
mol-ppm-nr3
mol-ppm-m-3
mol-ppm-m-3
mol-ppm-m-3
mol-ppm-nr3
mol-ppm-m-3
mol-ppm-m-3
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
layer 0
layer 1
layer 2
layer 3
Layer-averaged air density in:
layer 0
layer 1
layer 2
layer 3
Mean sea level elevation of top surface of:
19
20
21
22
23
24
25
26
27
28
29
30
ZO
Zl
Z2
Z3
TEMPI
TEMP2
TEMP3
WVC1
WVC2
WVC3
THETA
PSI2
m
m
m
m
K
K
K
ppm
ppm
ppm
deg
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
layer 0
layer 1
layer 2
layer 3
Air temperature in:
layer 1
layer 2
layer 3
Water vapor concentration in:
layer 1
layer 2
layer 3
Solar zenith angle
Cloud cover correction factor
295
-------
TABLE 2.257. PART 2 IMET PARAMETERS
Farm
No.
31
32
Farm
Name
BETA
CINF
Unit
m-s-1
ppm
Data
Type
Real*4
Real*4
Description
Deposition velocity
Upper boundary condition concentration (C»)
for the 12 species of the reduced species list
III. CONTROL CARDS
Three control cards are used to input the control data using the code shown below. Following these
control cards, you can optionally enter file-description text in as many as 20 80-character records. This
text is subsequently written to the IMET file's header. Note that one blank text record is required at
the end of these character records, even if you opt to enter no text. Table 2.258 defines the control card
variables.
You will see that dummy records are read into a character variable, CLABEL. These records exist in
the input stream to describe what the following card of data represents.
The control cards are input using the following format:
SDATIM STHRIM SSDATE SSHOUR ESDATE ESHOUR
NSTGRP LBSTP(I) LESTP(I)
NCELL NNC(J) NNR(J)
TEXTIM(K)
The code that reads the control card information follows.
C read control cards
READC5, 1003) CLABEL
1003 FORMAT(ASO)
READ(5, *) SOATIH, STHRIM, SSDATE, SSHOUR,
& ESDATE, ESHOUR
SSTIME = SSHOUR * 10000
ESTIME - ESHOUR * 10000
READ(5, 1003) CLABEL
REAO(5, *> NSTGRP, (LBSTP(IGRP), LESTP(IGRP), IGRP * 1, NSTGRP)
RE AD (5, 1003) CLABEL
READ(5, *) NCELL, (NNC(ICELL), NNR(ICELL), ICELL = 1, NCELL)
C
DO 101 ITXT = 1, NTEXT
READ(5. 1003, IOSTAT * IOST) TEXTIM
-------
TABLE 2.258. CONTROL CARD VARIABLES
Variable
Name Unit
SDATIM
STHRIM EST
SSDATE
SSHOUR EST
ESDATE
ESHOUR EST
NSTGRP
LBSTP(I)
LESTP(I)
NCELL
NNC(J)
NNR(J)
TEXTIM(K)
Description
Julian scenario start date as YYDDD
Scenario start hour as HH
Julian simulation start date as YYDDD
Simulation start hour as HH
Julian simulation end date as YYDDD
Simulation end hour as HH
For reports to a print file:
Number of time step groups to report
Start step for time step group /
End step for time step group 7
Number of cell values to report
Column index for reporting cell /
Row index for reporting cell /
Descriptive text records to be recorded on the IMET file header
Example:
88187 12 88187 12 88191 12
02 19 22 94 97
03 15 11 41 17 49 24
... RURAL OZONE INTERMEDIATE METEOROLOGY FILE (INTRHET) ...
for ROM2.1 on the ROMNET grid
generated from formulation FV1501A for 144 Steps
us ing USER2SDISK:[FOREMAN.FV1503A]P39GX1.COM
USER2SOISK:[FOREMAN.FV1503A3P39GX1.CPR
0ISKSVAXSET:[RONEXE.ROMNET]P39GV1A.EXE
21 JUL 89
{blank line of text}
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
FORTRAN source files:
FORTRAN INCLUDE files:
Object files:
Executable file:
11 files
12 files
11 files
_\_ file
35 files
85 blocks
36 blocks
83 blocks
114 blocks
218 blocks
297
-------
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss): 00:17:28
Buffered I/O count: 9999
Direct I/O count: 333333
Peak working-set size: 4096
Peak virtual size: 5000
C. Space Requirements: Log and Print Files
P39GX1.LOG: 99 blocks
Print Files: Variable; none if not implemented by control cards
D. Space Requirements: Input and Output Files
Table 2.259 shows the input file and output file space requirements.
E. Space Requirements: Tape Files
None
This space deliberately left blank.
298
-------
TABLE 2.259. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
MF110
MF111
MF129
MF132
MF133
MF134
MF135
MF136
MF137
MF138
MF139
MF140
MF146
MF147
MF151
MF152
MF153
MF154
MF155
MF156
MF157
MF160
MF161
MF162
MF163
MF164
MF165
MF166
MF167
MF174
MF175.
MF176
IMET
File
Type
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
Nonstd
Storage
(in blocks)
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
18684
18684
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
94338
203124
Scenario
Data Span
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
299
-------
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P39GV1A.LNK follows.
! ACCOUNTING CODE
SET VERIFY
! RUN STREAM IS IN FILE DISKSVAXSET:[ROMCOM.ROMNET]P39GV1A.LNK
ON WARNING THEN EXIT
ASSIGN HLAB: SYSSPRINT
$ MAPF1LE = "MET1:[S01S]P39GV1A.MAP"
$ EXEFILE = "DISKSVAXSET: [ROMEXE.ROMNET1P39GV1A.EXE"
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.ROMNET]P39G.OBJ
$ ASSIGN/USER_MODE DISKSVAXSET
$ ASSIGN/USER MODE DISKSVAXSET
$ ASSIGN/USER~ttODE 01SKSVAXSET
$ ASSIGN/USERJTODE DISKSVAXSET
$ ASSIGN/USER MODE DISKSVAXSET
$ ASSIGN/USER~MODE DISKSVAXSET
$ ASSIGN/USERJUODE DISKSVAXSET
$ ASSIGN/USER_MODE DISKSVAXSET
S ASSIGN/USER_MODE DISKSVAXSET
$ ASSIGN/USER MODE DISKSVAXSET
$ ASSIGN/USERJWDE DISKSVAXSET
$ ASSIGN/USER MODE DISKSVAXSET
$ ASSIGN/USER~MODE DISKSVAXSET
[ROMOBJ.ROMNET]BLKIMT.OBJ
; [ROMOBJ.ROMNET]LISTIM.OBJ
; [ROMOBJ.ROMNET]INTRPM.OBJ
:[ROMOBJ.ROMNET]INTRPS.OBJ
:[ROMOBJ.ROMNET]RDMET.OBJ
:[ROMOBJ.ROMNET]RDSPC.OBJ
:[ROMOBJ.ROMNET]TIMEIM.OBJ
:[ROMOBJ.ROMNET]VRSPIM.OBJ
: [ROMOBJ.ROMNET]WRHDIM.OBJ
:[ROMOBJ.ROMNET]URIMET.OBJ
: [ROMOBJ.UTIL10]ADATE.OBJ
:[ROMOBJ.UTILIO]CELLO.OBJ
:[ROMOBJ.UTIL10]CLOCK1.06J
$ ASSIGN/USER MODE DISKSVAXSET: [ROMOBJ.UTILIOKLOCK2.OBJ
ASSIGN/USER_MODE DISKSVAXSET:[ROMOBJ.UTILIO]DATHR3.OBJ
ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILI01DATHR5.OBJ
ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.UTILIO]ERROUT.OBJ
$ ASSIGN/USER MODE DISKSVAXSET:
$ ASSIGN/USER'MODE DISKSVAXSET:
$ ASSIGN/USER MODE DISKSVAXSET:
$ ASSIGN/USER~MODE DISKSVAXSET:
$ ASSIGN/USER_MODE DISKSVAXSET:
$ ASSIGN/USER_MOOE DISKSVAXSET:
S ASSIGN/USER MODE DISKSVAXSET:
$ ASSIGN/USER~MODE DISKSVAXSET:
S ASSIGN/USER MODE DISKSVAXSET:
$ ASSIGN/USER~MODE DISKSVAXSET,'
S ASSIGN/USER~MODE DISKSVAXSET:
$ ASSIGN/USER_MODE DISKSVAXSET:
S ASSIGN/USER MODE DISKSVAXSET:
$ ASSIGN/USER~MODE DISKSVAXSET:
[ROMOBJ.UTILIO]FLSMRY.OBJ
[ROMOBJ.UTIL10]FSKIP1.OBJ
[ROMOBJ.UTILI0]FSTAT1.OBJ
[ROMOBJ.UTILI0]IBLKR.OBJ
[ROMOBJ.UTIL10]INDEX1.OBJ
[ROMOBJ.UTILIO]IOCL.OBJ
[ROMOBJ.UTILIO]JFILE1.OBJ
[ROMOBJ.UTILIO]JFILE2.OBJ
[ROMOB J. UT IL10] J FILE3. OB J
[ROMOB J. UT IL10] J HOUR 1. OB J
[ROMOBJ.UTILI0]JUNIT.OBJ
[ROMOBJ.UTILIO]OPDIR2.0BJ
[ROMOBJ.UTILI0}OPEN2.OBJ
[ROMOBJ.UTILIO]PROGID.OBJ
[ROMOBJ.UTILI0]RODIR1.OBJ
[ROMOBJ.UTILIO]RDFHD1.OBJ
[ROMOBJ.UTILIO]RDFHD2.0BJ
$ ASSIGN/USER MODE DISKSVAXSET
$ ASSIGN/USERJWDE DISKSVAXSET
$ ASSIGN/USER MODE DISKSVAXSET
$ ASSIGN/USERJWDE DISKSVAXSET:[ROMOBJ.UTILIOJRDFT5.OBJ
$ ASSIGN/USER_MODE DISKSVAXSET:[ROMOBJ.UTILI0]RDREC.OBJ
S ASSIGN/USER_MODE DISKSVAXSET:[ROMOBJ.UTILIO]WRCHAR.OBJ
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIOJURFILE.OBJ
$ LINK -
/EXECUTABLE = DISKSVAXSET:[ROMEXE.ROMNET1P39GV1A.EXE -
/MAP = MET1:[S01S]P39GV1A.MAP -
A1, -
A2. -
A3, -
A1
A2
A3
A4
AS
A6
A7
AS
A9
A10
A11
A12
A13
AK
A15
A16
A17
A18
A19
A20
A21
A22
A23
A24
A25
A26
A27
A28
A29
A30
A31
A32
A33
A34
A35
A36
A37
A38
A39
A37. -
A38. -
A39
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1:rS01S)P39GV1A.MAP
(end of link stream)
300
-------
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P39GX1.COM follows.
t I ACCOUNTING CODE
t SET VERIFY
t ! RUN STREAM in USER2SOISIC: [FOREMAN. FV1883AJP39GX1. COM
t SHOW DEVICE / MOUNT
S ASSIGN MLAB: SYSSPRINT
S ASSIGN MET1: [ROMNEHDIRECT2.DAT
t, ASSIGN MET51: [ROMNET1.D88187DMF110A.DAT
S ASSIGN MET51: [ROMNET1.D881873MF111A.DAT
t ASSIGN MET51: [ROMNET1.D881871MF129A.DAT
t ASSIGN MET51: [ROMNET1.D881871MF132A.DAT
£ ASSIGN MET51: [ROMNET1.D88187DMF133A.DAT
$ ASSIGN MET51: [ROMNET1.D88187JMF134A.DAT
$ ASSIGN MET51: [ROMNET1.D88187JMF135A.DAT
$ ASSIGN MET51: [ROMNET1.D881873MF136A.DAT
$ ASSIGN MET51: [RONNET1.D88187JMF137A.DAT
$ ASSIGN MET51: [ROMNET1.D881873MF138A.DAT
t ASSIGN MET51: [ROMNET1.0881871MF139A.DAT
$ ASSIGN MET51: [ROMNET1.D881871MF140A.DAT
$ ASSIGN MET51: [ROMNET1.D88187JMF146A.DAT
S ASSIGN MET51: [ROMNET1.D881871MF147A.DAT
$ ASSIGN MET51: [ROMNET1.D88187JNF151A.DAT
$ ASSIGN MET51: [ROMMET1.D88187IMF152A.DAT
S ASSIGN MET51: [ROMNET1.D881871MF153A.DAT
$ ASSIGN MET51: [ROMNET1.D881871MF154A.DAT
$ ASSIGN MET51: [ROMNET1.D88187JMF155A.DAT
S ASSIGN MET51: [ROMNET1.D881871MF156A.DAT
$ ASSIGN MET51: [ROMNET1.D881871MF157A.DAT
$ ASSIGN MET51: [ROMNET1.D88187JMF160A.DAT
S ASSIGN HET51: [ROMNET1.D881871MF161A.DAT
S ASSIGN MET51: [ROMNET1.D881873MF162A.DAT
$ ASSIGN MET51: [ROMNET1.D88187JMF163A.DAT
$ ASSIGN MET51: [ROMNET1.D88187lMF164A.DAT
$ ASSIGN MET51: [ROMNET1.D88187JMF165A.DAT
ASSIGN MET51: [ROMNET1.D881871MF166A.DAT
ASSIGN MET51: [ROMNET1.D881871MF167A.DAT
ASSIGN MET51 : [ROMNET 1 .D881873MF174A.DAT
ASSIGN MET51: [ROMNET1.D88187JMF175A.DAT
ASSIGN MET51: [ROMNET1.D88187JNF176A.DAT
ASSIGN MET58: [BMATRIX] IMETFV1883A.DAT
ASSIGN MET58: [BMATRIX] IMETFV1883A.PRF
SHOW PROCESS / ALL
ASSIGN USER2SDISK: [FOREMAN. FV1883A1P39GX1.
TYPE SYStlNPUT
ASS I GN S2SDUA24 : [ROMEXE . ROMNET] P39GV1 A . EXE
DIRECTORY / FULL PROCP39G
RUN PROCP39G
SHOW PROCESS / ALL
PRINT / DEVICE=MLAB: / NOTE = BIN 12
$ SET FILE / NOBACKUP / PROTECTION = G:RWED
S SHOW STATUS
PFMFDIR
MF110
MF111
MF129
MF132
MF133
MF134
MF13S
MF136
MF137
MF138
MF139
MF140
MF146
MF147
MF151
MF152
MF153
MF154
MF155
MF156
MF157
MF160
MF161
NF162
KF163
MF164
MF165
MF166
MF167
MF174
MF175
MF176
INTRMET
PRFILE
CPR SYSSINPUT
PROCP39G
PRFILE
INTRMET
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P39GV1A
301
-------
RDMET
RDSPC
TIMEIM
VRSPIM
WRHDIM
WRIMET
B. Subroutines
LISTIM
INTRPM
INTRPS
C. Functions
None
D. Block Data Files
BLKIMT
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A Subroutines
DISK$VAXSET:[ROMLIB.UTILIO]
ADATE
CELLO
CLOCK1
CLOCK2
DATHR5
ERROUT
FLSMRY
FSTAT1
IBLKR
JF1LE1
OPDIR2
OPEN2
PROGID
RDDIR1
RDFHD1
RDFHD2
RDFT5
RDREC
WRCHAR
WRFILE
B. Functions
DISK$VAXSET:[ROMLffi.UTILIO]
JFILE3
JHOUR1
JUNIT
DATHR3
INDEX1
IOCL
JFILE2
IX. INCLUDE FILES
DISK$VAXSET:[ROMLIB.ROMNET]
REGPRM.EXT
DISK$VAXSET:[ROMLffi.PROCES]
HEADIM.EXT
IMLUNS.EXT
IMMFLS.EXT
IMTPRM.EXT
METBUF.EXT
METVRS.EXT
DISK$VAXSET:[ROMLIB.UTILIO]
DATIME.EXT
PRID.EXT
RTSHIM.EXT
SPCBUF.EXT
SPCVAR.EXT
302
-------
2.34 PROCESSOR P40G (B-MATRIX FILE CREATION)
I. PROCESSOR FUNCTION
This stage 8 processor produces the B-matrix file from the model input files that contain meteorology
and emissions data. The B-matrix file contains (1) the interlayer mass-flux coefficients (the B-matrix
coefficients) for the parameterization of the vertical fluxes across the surfaces of the three model layers,
(2) the parameterizations for the emissions sources, and (3) the meteorology data for the Core Model,
required by the Core Model to make the necessary rate-constant adjustments in the Carbon Bond 4.2
chemical mechanism for local air temperature, atmospheric density, water vapor concentration, and
altitude.
P40G calculates the B-matrix coefficients, and interpolates these and the meteorology data from the
model input files' hourly data to the 1800-second time step of the Core Model. The emissions data are
not interpolated, but the hourly data are recorded for each time step on the hour and repeated once for
each subsequent model time step.
The B-matrix file requires a large amount of disk space. P40G allows you the option of writing this file
to several smaller subfiles on different disk packs ~ each of which may not individually have sufficient
space to contain the entire file.
II. I/O COMPONENTS
A Input Files
1. Standard Input Files
MF123 from P10G
MF143 from P10G
MF144fromP10G
MF145 from P10G
2. Nonstandard Input Files
P40G uses one nonstandard input file, IMET, which is generated by processor P39G. IMET
contains the meteorology data for the model's chemistry rate-constant adjustments as well as
the deposition velocity and C_ values for some of the model's 35 chemical species. All data on
the IMET file have been interpolated from hourly to 1800-second time steps using a scheme
that weights (1) each hour's data by 75% and the subsequent hour's data by 25% for the first
1800-s time step, and (2) each hour's data by 25% and the subsequent hour's data by 75% for
303
-------
the second 1800-s time step. Although the IMET file is not strictly a ROM Core Model file, it
nevertheless conforms to the requirements for all ROM Core Model files, and therefore con-
tains a file header and time-step header structure. Descriptions of the records containing this
information are given below.
The first call to subroutine RDIM opens the IMET file and reads and checks the file header
information:
SUBROUTINE RDIM (NWORDS, DATA, IOST)
C
C opens and reads the IMET file
C
C input arguments:
C NUORDS: number of words in record to be read
C
C output arguments:
C DATA: buffer area which will receive record
C IOST: status of record written to intermediate file
C
C read 1st header record
C
READ (IIMET, IOSTAT = IOST) RECONE
C convert character to mixed character & numeric
C
READ (RECONE, 1001, IOSTAT = IOST)
& CDATIM, CTIMIM, SDATIM, STHRIM, TSTPIM, FRSTIM,
& GRDNIM, SULNIM, SULTIM, NELNIM, NELTIM, DLONIM,
& DLATIM, NCOLIM, NROWIM, NLEVIM, NSPCIM, NHIFIM,
& ICNTIM
1001 FORMAT(6I8.8, AS, 4F8.3, 2F8.5, 6IA.4)
C read species names record
READ (IIMET, IOSTAT = IOST) (SPNHIM(ISPC), ISPC = 1, NSPCIM)
C
C read dep vel index record
READ (IIMET, IOSTAT = IOST) (DEPVNX(ISPC), ISPC = 1, NSPCIM)
C
C read cinf index record
READ (IIMET, IOSTAT = IOST) (CINFNX(ISPC), ISPC = 1, NSPCIM)
C
C read the level names record
READ (IIMET, IOSTAT = IOST) (LVNMIM(ILEV), ILEV = 1, NLEVIM)
C
C read the MIF data records
DO 301 IMIF = 1, NMIFIM
READ (IIMET. IOSTAT = IOST) RECMIF
C
READ (RECMIF, 1005, IOSTAT = IOST)
& MFNMIM(IMIF), CDMFIM(IMIF), CTMFIM(IMIF).
& UDMFIM(IttlF), UTHFIM(IMIF)
1005 FORMAT(A12, 418.8)
301 CONTINUE
C
C read header text records
DO 501 ITXT = 1, ICNTIM
READ (IIMET, IOSTAT = IOST) TBUF
C
READ (TBUF, 1007, IOSTAT = IOST) TEXTIMUTXT)
1007 FORMAT(A80)
501 CONTINUE
Subsequent calls to RDIM read either the time step header record or file body records:
304
-------
c
C file body record*
C
C read next record
READ (IIMET, IOSTAT = IOST) DATA
where DATA is the NWORDS buffer to receive the record.
Rather than repeat the large amount of information contained in the IMET file headers and
data body, as has been our convention in the rest of this document, we refer you to Tables 2.248
to 2.257.
B. Output Files
1. Standard Output Files
None
2. Nonstandard Output Files
The B-matrix file contains data elements required by the Core Model for each grid cell, pol-
lutant species, and time step. The structure of the B-matrix file conforms to the requirements
for all ROM Core Model files, and therefore contains a file header and time-step header'
structure. Descriptions of the records containing this information are given below.
a. Record 1
The first record contains character strings of alphanumeric data that describe the file's con-
tents. The data are prepared and written to a character buffer, which is then written unfor-
matted to the B-matrix file by subroutine WRCHAR. The parameters of record 1 are shown in
Table 2.260.
C first segment record
WRITECRECONE, 1001, IOSTAT = IOST)
& CDATBM, CTIMBM, SDATBN, STHRBM, TSTPBM, FRSTBH,
& GRDNBM,
& SWLNBM, SULTBH, NELNBM. NELTBM,
& DLONBM. DLATBM,
& NCOLBM, NROUBM, NLEVBN, NSPCBM, NMIFBM, ICNTBM
1001 FORMAT(6I8.8, A8, 4F8.3, 2F8.5, 614.4)
C
CALL URCHARUBMAT, RECONE, IOST)
SUBROUTINE WRCHAR (IUNIT, CHBUF, IOST)
IMPLICIT NONE
INTEGER** IUNIT, IOST
CHARACTERS*) CHBUF
WRITECIUNIT, IOSTAT = IOST) CHBUF
RETURN
END
305
-------
TABLE 2.260. B-MATRIX RECORD 1 PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Farm
Name
CDATBM
CTIMBM
SDATBM
STHRBM
TSTPBM
FRSTBM
GRDNBM
SWLNBM
SWLTBM
NELNBM
NELTBM
DLONBM
DLATBM
NCOLBM
NROWBM
NLEVBM
NSPCBM
NMIFBM
ICNTBM
Unit
EST
EST
s
s
°W
°N
°W
°N
°W
°N
Data
Type
IntegerM
Integer*4
Integer*4
Integer*4
Integer*4
Integer*4
Char*8
Real*4
Real*4
RealM
Real*4
RealM
RealM
Integer*4
Integer*4
IntegerM
IntegerM
IntegerM
IntegerM
Description
File creation date as MMDDYY
File creation time as HHMMSS
Julian start date of scenario as YYDDD
Stan hour of scenario (00 to 23)
Time step size for simulation
Time to first step
Grid definition name
Longitude of southwest corner of grid
Latitude of southwest corner of grid
Longitude of northeast corner of grid
Latitude of northeast corner of grid
Grid cell longitudinal increment
Grid cell latitudinal increment
Number of columns in grid
Number of rows in grid
Number of levels
Number of model species
Number of model input files used to generate
the B-matrix file
Number of text records
b. Record 2
This record contains the list of species names for which the Core Model computes concentra-
tion outputs. As for record 1 above, the data are written to a character buffer, which is then
written unformatted to the B-matrix file. The parameter of record 2 is shown in Table 2.261.
C species names record
WRITE(RECSPN, 1003, IOSTAT * IOST) (SPNMBM(ISPC), ISPC = 1, NSPCBM)
1003 FORMAT(A4)
CALL URCNARUBMAT, RECSPN, IOST)
TABLE 2.261. B-MATRIX RECORD 2 PARAMETER
Farm
No.
Farm
Name
Unit
Data
Type
Description
1 SPNMBM(I)
CharM
Name of species/
306
-------
c. Records
This record contains the expansion list (look-up table) of species names for which the B-matrix
file has values. (Refer to PROCESSOR P23G for an explanation of the need for an expansion
list.) These values are mapped to the full core-model list of species names. The WRITE and
FORMAT statements for this record are listed below, and its parameter is shown in Table
2.262.
WRITECRECSPN, 1005, IOSTAT = IOST) (BMINDX(ISPC), ISPC = 1, NSPCBM)
1005 FORNAT(I4)
CALL URCHARdBNAT, RECSPN, IOST)
TABLE 2.262. B-MATRIX RECORD 3 PARAMETER
Farm Parm Data
No. Name Unit Type Description
1 BMINDX(K) Integer*4 Index array for species expansion from the
reduced B-matrix set to the full model set
d. Record 4
This record contains the list of Core Model level names. The WRITE and FORMAT state-
ments for this record are listed below, and its parameter is shown in Table 2.263.
C level names record
WRITE(RECLVN, 1007, IOSTAT = IOST) (LVNMBM(ILEV), ILEV = 1, NLEVS)
1007 FORMAT(A4)
CALL URCHAR (IBMAT, RECLVN, IOST)
TABLE 2.263. B-MATRIX RECORD 4 PARAMETER
Parm Parm Data
No. Name Unit Type Description
1 LVNMBM(J) Char'4 Name of level/
e. Records5-8
These records contain the list of logical names of the model input files (MIF) that are used to
generate the B-matrix data. The WRITE and FORMAT statements for these records are
listed below, and its parameters are shown in Table 2.264.
307
-------
C MIF segment records
DO 401 IMIF = 1, NMIFBM
WRITE(RECMIF, 1009, IOSTAT = IOST) MFNMBM(IHIF), CDMFBH(IHIF),
& CTMFBM(IMIF), UDMFBM(IMIF),
& UTMFBM(IHIF)
1009 FORMAT(A12, 418.8)
CALL URCHAR(IBMAT, RECMIF, IOST)
401 CONTINUE
TABLE 2.264. B-MATRIX RECORDS 5 - 8 PARAMETERS
Farm
No.
1
2
3
4
5
Farm
Name
MFNMBM(J)
CDMFBM(J)
CTMFBM(J)
UDMFBM(J)
UTMFBM(J)
Unit
EST
EST
Data
Type
Char*12
Integer*4
Integer*4
Integer*4
Integer*4
Description
File name of MIF file /
Julian creation date (YYDDD) of MIF file J
Creation time (HH) of MIF file/
Last update Julian date of MIF file /
Last update time of MIF file /
f. Records 9 - (28 maximum)
These records contain descriptive text that you can optionally enter as part of the control cards
data set. One 80-character string is written to each record by means of the following state-
ments. A blank string must denote the end of the descriptive text records. The WRITE and
FORMAT statements for these records are listed below, and their parameter is shown in Table
2.265.
C text segment records .
DO 601 ITXT = 1, ICNTBN
WRITECRECTXT, 1011, IOSTAT = IOST) TEXTBM(ITXT)
1011 FORMAT(A80)
CALL WRCHAROBMAT, RECTXT, IOST)
601 CONTINUE
TABLE 2.265. RECORDS 9 - (9+ICNTBM-l) PARAMETERS
Farm Farm
No. Name
1 TEXTBM(rrXT)
Data
Unit Type
Char*80
Description
Text description
g. Subfile-Order Record
The purpose of this record is to ensure the correct ordering of input data when the Core Model
reads several B-matrix subfiles. The WRITE and FORMAT statements for this record are
listed below, and its parameters are shown in Table 2.266.
308
-------
C file order record
WRITE(FLCREC, 1013) SUBFL, NSUBFL, FRSTEP, LSSTEP
1013 FORMAT(4I4)
CALL URCHARdBMAT, FLCREC, IOST)
TABLE 2.266. SUBFILE-ORDER RECORD PARAMETERS
Farm
No.
1
2
3
4
Farm
Name
SUBFL
NSUBFL
FRSTEP
LSSTEP
Data
Unit Type
Integer*4
Integer*4
Integer*4
Integer*4
Description
Ordinal for this subfile
Total number of subfiles for this B-matrix file
First time step count for this subfile
Last time step count for this subfile
These end the file header records. The following are the data records, headed by one time-step
record for each time interval.
h. Time-Step Header Record
There is one time-step header record written for each time step increment on the B-matrix file.
The time-step header data are contained in a common block. The following statement writes '
the data to the BMAT file by referencing the first variable of the common block, and specifying
the number of the block's words to be written. The data are then written to the file by sub-
routine WRFILE. The WRITE and FORMAT statements for this record are listed below, and
its parameters are shown in Table 2.267.
COMMON / RTSHBM / DATBM. TIMBM, ELPBM, STPBM
NURDST = 4
CALL VRFILEdBMAT, NURDST, DATBM, IOST)
SUBROUTINE WRFILE (IUNIT, NWORDS, BUFFER, IOST)
IMPLICIT NONE
INTEGER*4 IUNIT, NUORDS, IOST
REAL*4 BUFFER (NUORDS)
URITEdUNIT, IOSTAT = IOST) BUFFER
RETURN
END
TABLE 2.267. TIME-STEP HEADER RECORD PARAMETERS
Farm
No.
1
2
3
4
Farm
Name
DATBM
TIMBM
ELPBM
STPBM
Unit
EST
s
Data
Type
Integer*4
Integer*4
Integer*4
Integer*4
Description
Julian current time step date as YYDDD
Current time step time as HHMMSS
Elapsed time since scenario start
Current time-step no. on B-matrix file
309
-------
i. Data Records
There are two groups of data records for each B-matrix time step increment. The first group
(GROUP 1 B-MATRIX PARAMETERS, Table 2.268) contains one record of variables for
each model domain row. Some variables are only primary-oxidant-species dependent; the
others are species independent (e.g., meteorological conditions). The second group (GROUP
2 B-MATRIX PARAMETERS, Table 2.269) contains a data record for each model domain
row that consists of concentrations of species for which the B-matrix file has values.
The data records are written by equivalencing common blocks of row data for each group. The
following parameters are used for dimensioning the common blocks and controlling the write
operations:
NVRBM1 = 18 + 3 * NLEVS + 6 * NPOXSP, where NLEVS = 3 and NPOXSP = 3, the
number of primary oxidant species, i.e., NO, NO2, and 03;
NVRBM1 is the number of Part 1 B-matrix variables, specifically: B12, B13, B21, B23, B32,
B33, BUS, BUSS, B31S, B31SS, QO3FAC, SSONO, TTHETA, PPSI2, ZZO, ZZ1,
ZZ2, ZZ3; RRHO(NLEVS)'s, TTEMP(NLEVS)'s, WWVC(NLEVS)'s; and
G1S, G1SS, G1FAC, G3S, G3SS, G3FAC, each dimensioned by NPOXSP;
NVRBM2 =6;
NVRBM2 is the number of species-array B-matrix variables, (Part 2) specifically: Bll, B22,
B31, Gl, G2, G3.
The first group (Part 1) uses a named common block, BM1VAR, for the specific variables, and
the same common block for a buffer, BM1, that is written unformatted to the B-matrix file by
subroutine WRFILE:
COMMON / BM1VAR /
& B12(NCOLS1), B13(NCOLS1),
ft B2KNCOLS1), B23(NCOLS1),
ft B32
-------
& TTHETA(NCOLSI), PPSI2(NCOLS1),
& ZZO(NCOLSI), ZZKNCOLS1),
& ZZ2(NCOLS1), ZZ3(NCOLS1)
COMMON / BM1VAR / BHKNCOLS1, NVRBM1)
The second group (Part 2) uses a named common block, BM2VAR, for the specific variables,
and the same common block for a buffer, BM2, which is written unformatted to the B-matrix
file by means of routine WRFTLE:
COMMON /BM2VAR / B1KNCOLS1, NSPECS),
& B22(NCOLS1, NSPECS),
& B3KNCOLS1, NSPECS),
& GKNCOLS1, NSPECS),
& G2CNCOLS1. NSPECS),
& G3(NCOLS1, NSPECS)
COMMON / BH2VAR / BM2(NCOLS1, NSPECS, NVRBM2)
The procedure to write these data is as follows:
REAL*4 BUFCNCOLS1, NVRBM2)
NWRDS1 - NVRBM1 * NCOLS1
NURDS2 - NVRBM2 * NCOLS1
IROW = 1
301 CONTINUE
IF (IROW .GT. NROWS1) GO TO 601
C
C write block 1 for the row
CALL WRFILE (IBMAT, NUROS1, BM1(1,1), IOST)
C
C row body species-reduced-list*
C
C write block 2 for the row
DO 501 ISPC = 1, BMSPRO
C
00 401 IPRM = 1, NVRBH2
DO 401 I COL = 1, NCOLS1
C transfer and reorder data from block 2 buffer
BUFUCOL, IPRM) = BM2UCOL, ISPC, IPRM)
401 CONTINUE
CALL WRFILE (IBMAT, NURDS2, BUF, IOST)
C
501 CONTINUE
C
C row body end
C
IROW = IROW * 1
GO TO 301
C
601 CONTINUE
where BMSPRD = 27, the number of species in the B-matrix reduced set that represents all
the model species.
311
-------
TABLE 2.268. B-MATRK PART 1 PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Farm
Name
B12
B13
B21
B23
B32
B33
BUS
BUSS
B31S
B31SS
QO3FAC
SSONO
G1S
G1SS
G1FAC
G3S
G3SS
G3FAC
RRHO1
RRHO2
RRHO3
TTEMP1
TTEMP2
TTEMP3
WWVC1
WWVC2
WWVC3
TTHETA
PPSI2
ZZO
ZZ1
722
77*
Unit
s-i
s-i
s-i
s-i
s-i
s-i
s-i
s-i
8-1
s-i
m-S"1
ppm-m-s-1
ppm-s-1
ppm-s-1
s-i
ppm-s-1
ppm-s-1
s-i
mol-ppm-m-3
mol-ppm-m-3
mol-ppm-m-3
K
K
K
ppm
ppm
ppm
deg
m
m
m
m
Data
Type
Real*4
Real*4
Real*4
RealM
RealM
RealM
Real*4
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
Description
B-matrix coefficient for:
layer- l/surface-2 flux
layer-l/surface-3 flux
layer-2/surface-l flux
layer-2/surface-3 flux
layer-3/surface-2 flux
layer-3/surface-3 flux
B-matrix coefficient for subgrid scale adjust-
ment for:
layer-l/surface-1 flux
alternate layer-l/surface-1 flux
layer-3/surface-l flux
alternate layer-3/surface-l flux
Run time subgrid scale adjustments:
ozone factor
NO surface emissions source strength
emissions source term in layer 1
alternate emissions source term in layer 1
emissions source factor in layer 1
emissions source term in layer 3
alternate emissions source term in layer 3
emissions source factor in layer 3
Rate constants density correction factor for:
layer 1
layer 2
layer 3
Absolute temperature for rate constants
adjustment for:
layer 1
layer 2
layer 3
Water vapor concentration for rate constants
adjustment for:
layer 1
layer 2
layer 3
Solar zenith angle for photolytic rate constants
adjustment
Cloud cover correction factor for photolytic
rate constants adjustment
Heights above sea level (used for rate constant
adjustments):
layer 0
layer 1
layer 2
layer 3
312
-------
TABLE 2.269. PART 2 B-MATRIX PARAMETERS
Farm
No.
34
35
36
37
38
39
Farm
Name
fill
B22
B31
Gl
G2
G3
Unit
s-i
s-i
s-i
ppm-s-1
ppm-s-1
ppm-s-i
Data
Type
Real*4
RealM
Real*4
RealM
RealM
RealM
Description
B-matrix coefficient for:
layer-l/surface-1 flux
layer-2/surface-2 flux
layer-3/surface-l flux
Emissions source term for:
layer 1
layer 2
layer 3
III. CONTROL CARDS
Three control cards are used to input the control data using the code shown below. Following these
control cards, you can optionally enter file-description text in as many as 20 80-character records. This
text is subsequently written to the B-matrix file's header. Note that one blank text record is required at
the end of these character records, even if you opt to enter no text. Table 2.270 defines the control card
variables.
You will see that dummy records are read into a character variable, CLABEL. These records exist in
the input stream to describe what the following card of data represents.
The control cards are input using the following format:
SDATBM STHRBM SSDATE SSHOUR
NSUBFL FLSIZE(I)
VAXFMT
TEXTBM(K)
The code that reads the control card information follows.
C read control cards
READ(5, 1003) CLABEL
1003 FORMAT(A80)
READ(5, *) SDATBM, STHRBM, SSDATE, SSHOUR
SSTIME = SSHOUR * 10000
READ(S, 1003) CLABEL
READ(5, *) NSUBFL, (FLSIZE(IFL), IFL = 1, NSUBFL)
READ(5, 1003) CLABEL
READ(5, *) VAXFMT
C
DO 101 I TXT = 1, NTEXT
READ(5, 1003, IOSTAT = IOST) TEXTBM(ITXT)
IF (TEXTBM(ITXT) -EQ. BLANK) GO TO 111
101 CONTINUE
111 CONTINUE
ICNTBM = I TXT - 1
313
-------
TABLE 2.270. CONTROL CARD VARIABLES
Variable
Name
Unit
Description
SDATBM Julian scenario start date as YYDDD
STHRBM EST Scenario start hour as HH
SSDATE Julian simulation start date as YYDDD
SSHOUR EST Simulation start hour as HH
NSUBFL Number of subfiles to be generated
FLSIZE(I) Number of time steps to be written to subfile /
VAXFMT Translate flag:
.TRUE =>do not translate to IBM binary
.FALSE. => translate to IBM binary
TEXTBM(K) Descriptive text records to be recorded on the B-matrix file header
Example:
88187 12 88187 12
1 144
.FALSE.
RURAL OZONE MULTIPLE BMATRIX FILE
for ROM2.1 on the ROMNET grid
generated from formulation FV1881A for 144 steps
using
USER2SDISK:P40GX1.COM
USER2SDISK:P40GX1.CPR
DISKSVAXSET:P40GV1B.EXE
25 JAN 90
{blank line of text}
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A. Memory Requirements (1 block = 512 bytes)
FORTRAN source files:
FORTRAN INCLUDE files:
Object files:
Executable file:
15 files
21 files
15 files
_1 file
52 files
165 blocks
72 blocks
126 blocks
114 blocks
477 blocks
314
-------
B. Execution Time Requirements (Representative Values for a 72-Hour Scenario):
VAX 8650
Charged CPU time (hh:mm:ss): 01:20:32
Buffered I/O count: 383
Direct I/O count: 45355
Peak working-set size: 3325
Peak virtual size: 6233
C. Space Requirements: Log and Print Files
P40GX1.LOG: 84 blocks
Print Files: None
D. Space Requirements: Input and Output Files
Table 2.271 shows the input file and output file space requirements.
TABLE 2.271. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
MF123
MF143
MF144
MF145
IMET
B-MATRK
File
Type
5
5
5
5
Nonstd
.Nonstd
Storage
(in blocks)
1899
26234
26234
26234
203124
283725
754000
Scenario
Data Span
72 hours
72 hours
72 hours
72 hours
72 hours
72 hours
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P40G V1B.LNK follows.
! ACCOUNTING CODE
SET VERIFY
! RUN STREAM IS IN FILE DISKSVAXSET: CROMCOM.ROMNETJP40GV1B.LNIC
ON WARNING THEN EXIT
ASSIGN MLAB: SYSSPRINT
MAPFILE = »MET1:[S01SJP40GV1B.MAP»
EXE FILE = "DISKSVAXSET:[RONEXE.ROMNET]P40GV1B.EXE"
ASSIGN/USER_HODE DISKtVAXSET:[ROMOBJ.ROMNET]P40G,OBJ A1
ASSIGN/USER_MODE DISttVAXSET:tROMOBJ.ROMNETJBLKBMT.OBJ A2
ASSIGN/USER MODE DISWVAXSET: [ROMOBJ.ROMNETIBMCOEF.OBJ A3
ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.ROMNET]OPIMET.OBJ AA
% ASSIGN/USER~MODE DISKSVAXSET:[ROMOBJ.ROMNET]POIMET.OBJ AS
$ ASSIGN/USERJWDE DISK5VAXSET:tROMOBJ.ROMNET]RDEMIS.OBJ A6
315
-------
$ ASSIGN/USER
$ ASSIGN/USER
$ ASSIGN/USER*
$ ASSIGN/USER
$ ASSIGN/USER*
$ ASSIGN/USER
$ ASSIGN/USER'
$ ASSIGN/USER'
ASSIGN/USER'
ASSIGN/USER'
ASSIGN/USER'
ASSIGN/USER'
ASSIGN/USER'
ASSIGN/USER'
ASSIGN/USER'
ASSIGN/USER'
ASSIGN/USER'
ASSIGN/USER'
ASSIGN/USER
$
$
$
$
$
$
$
$
$
$
$
$ ASSIGN/USER I
$ ASSIGN/USER"
$ ASSIGN/USER
$ ASSIGN/USER'
ASSIGN/USER
ASSIGN/USER'
ASSIGN/USER'
ASSIGN/USER'
ASSIGN/USER
ASSIGN/USER
ASSIGN/USER'
ASSIGN/USER'
ASSIGN/USER'
ASSIGN/USER
ASSIGN/USER
ASSIGN/USER
ASSIGN/USER
ASSIGN/USER
LINK -
/EXECUTABLE
/MAP = MET1
A1, -
A2, -
A3, -
NODE DISKSVAXSET:[ROMOBJ.ROMNET]RDIM.OBJ
'MODE DISKSVAXSET: [ROMOBJ.ROMNETJRDIMET.OBJ
MODE DISKSVAXSET:[ROMOBJ.ROMNET]SPCEXP.OBJ
'MODE DISKSVAXSET: [ROMOBJ.ROMNETJTIMEBM.OBJ
'MODE DISKSVAXSET:[ROMOBj.ROMNET]TRNSEM.OBJ
'MODE DISKSVAXSET:[ROMOBj.ROMNET]VERMET.OBJ
MODE DISKSVAXSET:[ROMOBJ.ROMNET]VRSPBM.OBJ
MODE DISKSVAXSET:[ROMOBJ.ROMNET]WRBMAT.OBJ
MODE DISKSVAXSET:[ROMOBJ.ROMNET]WRHDBM.OBJ
'MODE DISKSVAXSET:[ROMOBJ.UTILIOIADATE.OBJ
"MODE DISKSVAXSET: [ROMOBJ.umio] CELLO.OBJ
MODE DISKSVAXSET:[ROMOBJ.UTILIO]CLOCK1.OBJ
'MODE DISKSVAXSET: [ROMOBJ.umio]CLOCK2.OBJ
"MODE DISKSVAXSET: [ROMOBJ.UTILIOIDATHRS.OBJ
"MODE DISKSVAXSET:WOMOBJ.UTILIOIDATHRS.OBJ
'MODE DiSKSVAXSET:[ROMOBJ.UTiLio]ERROUT.OBJ
"MODE DISKSVAXSET:[ROMOBJ.UTILIOIFLSMRY.OBJ
"MODE DISKSVAXSET: [ROMOBJ.UTILIO] FSTATLOBJ
'MODE DISKSVAXSET:[ROMOBJ.UTILIO]IBLKR.OBJ
MODE DISKSVAXSET:[ROMOBJ.UTIL10]INDEX1.0BJ
MODE DISKSVAXSET:[ROMOBJ.UTIL10]IOCL.OBJ
'MODE DISKSVAXSET: [ROMOBJ.UTILIOJJFILELOBJ
MODE DISKSVAXSET:[ROMOBJ.UTILIO]JFILE2.0BJ
MODE DISKSVAXSET:[ROMOBJ.UTIL10]JFILE6.0BJ
'MODE DISKSVAXSET:[ROMOBJ.UTILIO]JHOURI.OBJ
MODE DISKSVAXSET:[ROMOBJ.UTILIO]JUNIT.OBJ
'MODE DISKSVAXSET: [ROMOBJ.umiojopDiR2.oBj
'MODE DISKSVAXSET: [ROMOBJ.UTILIOIOPENZ.OBJ
'MODE DISKSVAXSET:[ROMOBJ.UTILIO]PROGID.OBJ
MODE DISKSVAXSET:[ROMOBJ.UTILI0]RODIR1.OBJ
'MODE DISKSVAXSET:[ROMOBJ.UTILIOIRDFHDI.OBJ
'MODE DISKSVAXSET:[ROMOBJ.UTILIOJRDFHDZ.OBJ
'MODE DISKSVAXSET: [ROMOBJ.UTILIOIRDFTS.OBJ
'MODE DISKSVAXSET:[ROMOBJ.UTILIOIRDREC.OBJ
MODE DISKSVAXSET:[ROMOBJ.UTIL10]TRNSLT.OBJ
'MODE DISKSVAXSET:[ROMOBJ.UTILIOIWRCHAR.OBJ
.MODE DISKSVAXSET:[ROMOBJ.UTILIO]URFILE.OBJ
- DISKSVAXSET:[ROMEXE.ROMNET1P40GV1B.EXE -
:[S01S]P40GV1B.MAP -
A7
KB
A9
A10
A11
A12
A13
AU
A15
A16
A17
A18
A19
A20
A21
A22
A23
A24
A25
A26
A27
A28
A29
A30
A31
A32
A33
A34
A35
A36
A37
A38
A39
A40
A41
A42
A43
A41, -
A42, -
A43
$ PRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1: [S01S1P40GV1B.MAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P40GX1.COM follows.
! ACCOUNTING CODE
SET VERIFY
! RUN STREAM IS IN FILE USER2SDISK:[FOREMAN.FVI503AJP40GX1.COM
ASSIGN MLAB: SYSSPRINT
! ASSIGN INPUT FILES
$ ASSIGN MET1: [ROMNETJDIRECT2.DAT PFMFDIR
$ ASSIGN MET58:[ROMNET1.D85188JMF123A.DAT MF123
S ASSIGN MET58: [ROMNET1.D85188jMFK3A.DAT
MF143
316
-------
ASSIGN MET58:[ROMNET1.D851883MF144A.DAT MF144
ASSIGN MET58:[ROMNET1.D851883MF145A.DAT MF145
ASSIGN MET58: [BMATRIXHMETFV1503A.DAT INTRHET
! ASSIGN OUTPUT FILES
ASSIGN -
CCIBM::"""ADRNER1.NOBKUP.BMAT.FV1503A/NOTRANSLATE/SINGLE/SUPERSEDE"
HAT_01
!SYNCHRONIZE/ENTRY=530
SHOW PROCESS / ACCOUNTING
TYPE USER2SDISK:[FOREMAN.FV1503A]P40GX1.CPR
! ASSIGN CONTROL CARD(S) FILE
ASSIGN USER2SDISK:[FOREMAN.FV1503A1P40GX1.CPR
!
ASSIGN OISKSVAXSET: [ROMEXE.ROMNET3P40GV1B.EXE
DIRECTORY / FULL PROCP40G
RUN PROCP40G
SHOW PROCESS / ACCOUNTING
SHOW STATUS
(end of run stream)
SYSSINPUT
PROCP40G
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A Main Program
P40GV1B
B. Subroutines
RDIM
RDIMET
SPCEXP
TIMEBM
TRNSEM
VERMET
VRSPBM
WRBMAT
WRHDBM
BMCOEF
OPIMET
POIMET
RDEMIS
C. Functions
None
D. Block Data Files
BLKBMT
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A Subroutines
DISK$VAXSET:[ROMLIB.UTILIO]
ADATE
CELLO
CLOCK:
CLOCK2
DATHR5
ERROUT
FLSMRY
FSTAT1
IBLKR
JFILE1
OPDIR2
OPEN2
PROGID
RDDIR1
RDFHD1
RDFHD2
RDFT5
RDREC
TRNSLT
WRCHAR
WRFILE
317
-------
B. Functions
DISK$VAXSET:[ROMLIB.UTILIO]
JFILE6
JHOUR1
JUNIT
DATHR3
INDEX1
IOCL
JF1LE2
IX. INCLUDE FILES
DISK$VAXSET:[ROMLIB.ROMNET]
REGPRM.EXT
DISK$VAXSET:[ROMLIB.PROCES]
HEADIM.EXT
RTSHIM.EXT
BMTPRM.EXT
BMMFLS.EXT
BMLUNS.EXT
BMSPECEXT
IMFILE.EXT
EMISVR.EXT
BM1VAR.EXT
BM2VAR.EXT
ABGCHK.EXT
BM1BUF.EXT
BM2BUF.EXT
TSHDIM.EXT
IMTIME.EXT
DISK$VAXSET:[ROMLIB.UTILIO]
DATIME.EXT
PRID.EXT
DISK$VAXSET:[ROMLIB.CORE]
HEADBM.EXT
HDFMTS.EXT
2.35 PROCESSOR P41G (POINT-SOURCE EMISSIONS CONTROL STRATEGY)
I. PROCESSOR FUNCTION
This stage 0 processor applies a specific control strategy to NOX and VOC species for point-source
emissions.15
Control strategies are reductions to the base-case emissions files. The control strategies reduce the
emissions of certain species by a designated percentage. The reductions can vary between 0% and 99%,
but are usually between 5% and 99%.
Note that this processor is used only on raw point-source emissions data, and that all point sources are
usually not affected by any one control strategy.
15. VOC species input to the ROM are: olefins, paraffins, toluene, xylene, formaldehyde, higher aldehydes, ethene, and isoprenes.
318
-------
II. I/O COMPONENTS
A Input Files
1. Standard Input Files
None
2. Nonstandard Input Files
We adopted a convention to define control strategy input files that appends a suffix of .CSr to
the files. For example, .CSO files indicate no control strategy (the base case), while .CS1 and
.CS2 indicate control strategies numbers 1 and 2 respectively.
a. SEANPT.CSO
SEANPT.CSO is the seasonal annual point-source emissions file containing 15 chemical
species; it is produced by preprocessor PTEXTR. The READ and FORMAT statements
for this file are listed below, and its parameters are shown in Table 2.272.
READ(UNITR, 1003, IOSTAT = IOSTR)
& XSTKID,
& NSPCIN, (CLASS(ISPC), ANEM(ISPC), ISPC = 1, NSPCIN),
& MXDYIN, (S AFAC(IDAY), D SFAC(IDAY),
& (F5.3, F6.4, 24F6.0))
b. NOXPTCTRL.CSJ:
This file contains the NOZ control strategy, it originates from the Office of Air Quality
Planning and Standards, the U.S. Environmental Protection Agency, Research Triangle
Park, NC The READ and FORMAT statements for this file are listed below, and its
parameters are shown in Table 2.273.
READ(CUNIT, 1001, IOSTAT = IOST)
& CTRLST NOX(ISTK), NOXSPF(ISTK)
1001 FORMATdX, A12, 11X, F6.2)
319
-------
TABLE 2.272. SEANPT.CSO PARAMETERS
Farm
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
60
61
62
63
87
88
89
90
114
Farm
Name
XSTDID
NSPCIN
CLASS(l)
ANEM(l)p
CLASS(2)
ANEM(2)n
CLASS(3)
ANEM(3)p
CLASS(4)
ANEM(4)n
CLASS(5)
ANEM(5)n
CLASS(6)
ANEM(6)n
CLASS(7)
ANEM(7i,
CLASS(8)
ANEM(8)»
CLASS(9)
ANEM(9)p
CLASS(IO)
ANEM(IO),,
CLASS(ll)
ANEM(ll),,
CLASS(12)
ANEM(12)P
CLASS(13)
ANEM(13)p
CLASS(14)
ANEM(14)p
CLASS(15)
ANEM(15)P
MXDAY
S AFAC,
D SFAC,
H'DFACCljip
H DFAC(24)n
S AFAG,
D SFAC,
H~DFAC(l)p
H DFAC(24).,
s~AFAC,
D~SFAC,
H~DFAC(l)p
H_DFAC(24)P
Unit
tons-y-i
tons-y-i
tons-y1
tons-y-i
tons-y-i
tons-y1
tons-y-i
tons-y-i
tons-y-i
tons-y1
tons-y1
tons-yi
tons-y1
tons-y1
tons-y1
Data
Type
Char*20
Integer*4
Char*5
Real*4
Char*5
RealM
Char*5
Real*4
Char*5
Real*4
Char*5
Real*4
Char*5
Real*4
Char*5
Real*4
Char'5
Real*4
Char*5
Real*4
Char*5
Real*4
Char*5
Real»4
Char*5
Real*4
Char*5
RealM
Char*5
RealM
Char*5
RealM
IntegerM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
RealM
Description
Stack ID
Number of species
AEROS code for VOC
Annual emission rate, VOC
AEROS code for CO
Annual emission rate, CO
AEROS code for olefins
Annual emission rate, olefins
AEROS code for paraffins
Annual emission rate, paraffins
AEROS code for toluene
Annual emission rate, toluene
AEROS code for xylene
Annual emission rate, xylene
AEROS code for formaldehyde
Annual emission rate, formaldehyde
AEROS code for aldehydes
Annual emission rate, aldehydes
AEROS code for ethene
Annual emission rate, ethene
AEROS code for nonr.
Annual emission rate, nonr.
AEROS code for isoprenes
Annual emission rate, isoprenes
AEROS code for methane
Annual emission rate, methane
AEROS code for NO
Annual emission rate, NO
AEROS code for NO2
Annual emission rate, NO2
AEROS code for methanol
Annual emission rate, methanol
No. of day types per season
Seasonal allocation factor
Weekday allocation factor
Hour 1 allocation factor
Hour 24 allocation factor
Seasonal allocation factor
Saturday allocation factor
Hour 1 allocation factor
Hour 24 allocation factor
Seasonal allocation factor
Sunday allocation factor
Hour 1 allocation factor
Hour 24 allocation factor
Note: p = point source; nonr.
reported as weight of NC>2
nonreactive hydrocarbons;. Units are English short tons. NO emissions are
320
-------
TABLE 2.273. NOXPTCTRL.CSr PARAMETERS
Farm Farm Data
No. Name Unit Type Description
1 CTRLST_NOX Char* 12 Stack ID
2 NOXSPFp % Real*4 Percent emission reduction
Note:/> = point source
c. VOCPTCTRL.CSr
This file contains the VOC control strategy, it originates from the Office of Air Quality
Planning and Standards, the U.S. Environmental Protection Agency, Research Triangle
Park, NC The READ and FORMAT statements for this file are listed below, and its
parameters are shown in Table 2.274.
READ(CONIT, 1001, IOSTAT = IOST)
& CTRLST VOC(ISTK), VOCSPF(ISTK)
1001 FORMATdX, A12, 11X, F6.2)
TABLE 2.274. VOCPTCTRL.CSr PARAMETERS
Parm
No.
1
2
Parm
Name Unit
CTRLST VOC
VOCSPF^, %
Data
Type
Char* 12
Real*4
Description
Stack ID
Percent emission reduction
Note:p = point source
B. Output Files
1. Standard Output Files
None
2. Nonstandard Output Files
P41G outputs one nonstandard file, SEANPT.CSr, which contains the same parameters as are
in Table 2.272, with emissions values for NO* and VOC modified by the applied control strat-
egy. Note that x. is never equal to 0 in the output files. The WRITE and FORMAT statements
for this file are listed below.
321
-------
WRITECUNITW, 1053, IOSTAT = IOSTW)
& XSTKID,
& NSPECS, (CLASS(ISPC), ANEM(ISPC), ISPC = 1, NSPECS),
& MXDAY, (S AFAC(IDAY), D_SFAC(IOAY)f
& (H DFACdHR, !OAY), IHR = 1, 24), IDAY = 1, MXDAY)
1053 FORMAT(F5.3, F6.4, 24F6.4))
III. CONTROL CARDS
Three control cards are used to input control data in the format shown below. Table 2.275 defines the
control card variables.
NOX_CS VOC_CS
DFLNOX
DFLVOC
TABLE 2.275. CONTROL CARD VARIABLES
Variable
Name Unit
NOX_CS
VOC_CS
DFLNOX %
DFLVOC %
Description
NOjf flag: .TRUE. => control applied
VOC flag: .TRUE. => control applied
NOj control strategy reduction
VOC control strategy reduction
Example:
.TRUE. .TRUE.
30.0
30.0
IV. RESOURCE SUMMARY FOR A ROMNET REGION APPLICATION
A Memory Requirements (1 block = 512 bytes)
FORTRAN source files:
FORTRAN INCLUDE files:
Object files:
Executable file:
2 files
3 files
2 files
1 file
8 files
22 blocks
5 blocks
14 blocks
19 blocks
60 blocks
322
-------
B. Execution Time Requirements:
VAX 8650
Charged CPU time (hh:mm:ss): 00:09:00
Buffered I/O count: 534
Direct I/O count: 4145
Peak working-set size: 663
Peak virtual size: 2587
C. Space Requirements: Log and Print Files
P41GX1.LOG: 11 blocks
Print Files: None
D. Space Requirements: Input and Output Files
Table 2.276 shows the input file and output file space requirements.
TABLE 2.276. I/O FILE SPACE REQUIREMENTS
File
Group
Input
Output
File
Name
SEANPT.CSO
NOXPTCTRL.CSr
VOCPTCTRL.es*
SEANPT.CSr
File
Type
Nonstd
Nonstd
Nonstd
Nonstd
Storage
(in blocks)
26481
± 50
± 50
± 26581
26481
Scenario
Data Span
summer
summer
summer
summer
E. Space Requirements: Tape Files
None
V. LINK STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P41G.LNK follows:
$ ! ACCOUNTING CODE
$ SET VERIFY
$ ! RUN STREAM IS IN FILE USER62SDISK:[XHS.P41G]P41G.LNK
$ ON WARNING THEN EXIT
$ ASSIGN MLAB: SYSSPRINT
$ HAPFILE = »MET1:[S01S]P41G.MAP"
$ EXEFILE = "USER62SOISICtXHS.P41GlP41G.EXE"
$ ASSIGN/USER MODE USER62SDISK:[XHS.P41GJP41G.OBJ A1
$ ASSIGN/USER~MODE USER62$OISK:[XHS.P41G]RDPTCS.OBJ A2
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIO]INDEX1.0BJ A3
$ ASSIGN/USER~MOOE DISWVAXSET: [ROMOBJ.UTILIO] IOCL.OBJ AA
$ ASSIGN/USER~MOOE DISKSVAXSET: [ROMOBJ.UTILIO]JFILE2.OBJ AS
$ ASSIGN/USERJ40DE DISKSVAXSET: [ROMOBJ.UTILIO]JFILEX.OBJ A6
$ ASSIGN/USER MODE DISKSVAXSET:[ROMOBJ.UTILIO]JUNIT.OBJ A7
$ LINK -
/EXECUTABLE = USER62SDISK:[XHS.P41G1P41G.EXE -
323
-------
/MAP = MET1:[S01S]P41G.MAP -
A1, -
A2. -
A3. -
A4, -
AS, -
A6. -
A7
$ SPRINT -
/NOHEADER -
/NOFEED -
/NOTIFY -
MET1:tS01S]P41G.MAP
(end of link stream)
VI. RUN STREAM COMMAND FILE FOR A ROMNET REGION APPLICATION
P41GX1.COM follows:
$ ! ACCOUNTING CODE
SET VERIFY
ASSIGN MLAB: SYSSPRINT
i
! Run stream is in [VMO.P41GJP41G.COM
!
! Input files:
ASSIGN MET1: [EMISSIONS.NEONACTRL1NOXPTCTRL.CS4 PTCTLNOX
ASSIGN USER2$DISK:[VMQ.P41G]VOCPTCTRL2.CS1 PTCTLVOC
S ASSIGN MET52:[EMISSIONS.RNSUM85P3SEANPT.CSO SEANLPT
$ !
$ ! Output file:
$ ASSIGN WORK SCRATCH:SEANPT.CS1 CTRLPT
$ !
TYPE USER62SDISK:[XHS.P41G1P41G.CPR
ASSIGN /USER USER62SOISK:[XHS.P41G]P41G.CPR SYSSINPUT
i
RUN USER62SDISK:[XHS.P41G1P41G.EXE
!
DIRECTORY/FULL CONTROLPT
DIRECTORY/FULL SEASANLPT
(end of run stream)
VII. MAIN PROGRAM, SUBROUTINES, FUNCTIONS, AND BLOCK DATA REQUIRED
A. Main Program
P41G
B. Subroutines
RDPTCS
C. Functions
None
324
-------
D. Block Data Files
None
VIII. I/O AND UTILITY LIBRARY SUBROUTINES AND FUNCTIONS REQUIRED
A. Subroutines
DISK$VAXSET:[ROMLffi.UTILIO]
JFILEX
B. Functions
DISK$VAXSET:[ROMLffi.UTILIO]
INDEXl
IOCL
JFILE2
JUNIT
IX. INCLUDE FILES
DISK$VAXSET:[ROMLIB.PROCES]
NOXLIS.EXT
VOCLIS.EXT
. CNTRLPT.EXT
325
-------
This page is intentionally left blank.
-------
SECTIONS
REGIONAL DEPENDENCIES AND THE VAX/VMS IMPLEMENTATION
OF DOMAIN CHANGES IN THE REGIONAL OXTOANT MODEL'S
PROCESSOR NETWORK AND ANALYSIS PROGRAMS
3.1 REGIONAL DEPENDENCIES
We offer a cautionary note to those of you reading this User's Guide who are thinking of implementing
the ROM in a region other than the ones that we currently are using (NEROS, SEROS, and ROMNET).
Regional dependencies are not simply what happens in the ROM FORTRAN code that enables the
model to operate in a different domain, although the implementation of domain changes is part of the
whole picture and is discussed in Section 3.2.
There are several issues that you must consider before you attempt to implement the ROM for your
region. We list some of these below.
The ROM will not function up to par in areas with sparse meteorological data, for example,
the Great Plains, Great Basin, and Rocky Mountain states.
• High, mountainous terrain will have an unknown effect on the model, and is apt to produce
erroneous results. We expect this inaccuracy because highly complex terrain requires a fully
three-dimensional model; the ROM essentially consists of three interlinked two-dimensional
models.
• A hot, dry climate (such as summer in the Northern and Southern Plains states, California,
etc.) experiences the same general boundary layer meteorology as do the more humid climates
for which the ROM was designed, but potentially on a very different temporal scale. For
example, the growth of the boundary layer in the morning (after a night with a shallow
surface-based temperature inversion) interacts with the other ROM layers and with emissions
sources; by entraining air from layers above it to supply this growth, the chemical concentra-
tions in the boundary layer will clearly be diluted. For example, we infer that the boundary
layer meteorology is significantly different in Austin, Texas than in Burlington, Vermont. The
question that you face (and must answer before you attempt to implement the ROM for your
region) is exactly how the region interacts with the ROM layers - and is the ROM adequately
modeling these effects? We believe that it is likely that the model will require some scientific
upgrades to handle these types of situations.
327
-------
If your region demands a larger grid size than ROMNET (64 x 52), are your hardware storage
capacities adequate to handle the larger volume of data? Keep in mind that only one processor
(P40G) is capable of splitting an output file between more than a single disk pack. With more
data, data transfer to an IBM becomes a more tedious process - and one inherently more
prone to error.
3.2 THE VAX/VMS IMPLEMENTATION OF DOMAIN CHANGES
The Regional Oxidant Model's FORTRAN code is written to isolate the model's domain and grid
dependencies in only three places: (1) the INCLUDE files REGPRM.EXT and REGION.EXT, (2) the
utility I/O routine CELLO, and (3) in the names and header records of PF/MF files. Generally,
REGPRM.EXT contains compile-time dimensioning and physical constants; routine CELLO supplies
geographically-based information such as grid dimensions and grid-cell sizes. PF/MF file headers contain
the data on grid dimensions, a description of file parameters, and information that is used by the database
software to access records in the file. There is some overlap among the information stored in these three
places; e.g., the number of rows and columns in the grid is available in all three places.
3.2.1 REGPRM.EXT and REGION.EXT
Domain-dependent constants, particularly those required for dimensioning purposes in the ROM
processor programs and subroutines, are to be found in the INCLUDE files REGPRM.EXT for the
various domains. REGION.EXT is a similar INCLUDE file containing just the GRID1 name and
grid dimensions, and is used by the ROM Core Model. The constants in REGPRM.EXT are the
names of the associated grids, the time zone, the maximum number of upper-air and surface meteo-
rology sites, the maximum number of levels in upper-air soundings (used for dimensioning records in
PF/MF files), and other physical constants that depend on the spatial distribution of the meteorology
inputs. There are also master grid name and PF/MF file name tables.
Prior to compiling programs for a given domain, you must assign the logical name 'REGPRMEXTl:'
to the directory containing the REGPRM.EXT for that region. Other standard logical names for
directories containing source code are as follows: 'UTILIOEXT1:' is the source code directory for
the utility and I/O software (various processors and analysis programs use PARMS.EXT,
FHEAD2.EXT, PI.EXT, and GRDDEF.EXT from this directory). TwiGEXTl:' is the source code
directory for processor PwiG (where nn represents the processor number).
We show REGPRM.EXT for the ROMNET region below; we define and elaborate on several of the
parameters following the listing.
328
-------
£ *** REGPRM.EXT ******************************************************
C Regional parameter file. This file is used by all ROM processors
C to define all region specific parameters.
C
CHARACTER'S GRDNM1, GRDNM2, GRDMM3, GRDNM4, GRDNM5, GRDNN6
PARAMETER ( GRDNM1 = 'ROMNET1 ',
& GRDNM2 = 'ROMNET2 ',
& GRONM3 = 'ROMNET3 ',
& GRDNM4 = 'ROMNET4 ',
& GRDNM5 = 'ROMNET5 ',
& GRDNM6 = 'ROMNET6 ' )
INTEGERS NRUND, NSURF, TZONE, NVERTS, NSPECI, NSPECO,
& NCOLS1, NCOLS2, NCOLS3, NCOLS4, NCOLS5, NCOLS6,
& NROWS1. NROUS2, NROWS3, NROUS4, NROWS5, NROWS6,
& MXLAKE, NL50, PLEVS, PTOP, INFRAC
REAL*4 WL50RU, WL50SF, SPFAC, TMPCRIT
PARAMETER ( NRWND = 30,
250,
5,
100,
64,
234,
36,
11.
70,
r,
52,
132,
30,
8.
58,
6,
20.
800.
250.
100,
20,
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
NSURF
TZONE
NVERTS
NCOLS1
NCOLS2
NCOLS3
NCOLS4
NCOLS5
NCOLS6
NROUS1
NROUS2
NROUS3
NROUS4
NROWS5
NROUS6
MXLAKE
UL50RW
UL50SF
NL50
NSPECI
NSPECO = 13,
PLEVS = 23,
PTOP = 500,
SPFAC - 1.0,
TMPCRIT = 3.0,
INFRAC = 50 )
CHARACTER*12 MF001, MF002, MF003, MF004, MF005. MF006, MF007,
&
&
&
&
&
£
&
&
&
&
&
MF008, MF009, MF010, MF011, MF012, MF013, MF014,
MF015, MF016, MF017, NF018, MF019, MF020, MF021,
MF022, MF023, MF024, MF025, MF026. MF027, MF028,
MF029, MF030. MF031, MF032, MF033, MF034, MF035,
MF036, MF037, MF038, MF039, MF040, MF041, MF042,
MF043, MF044, MF045, MF046, MF047, MF048, MF049,
MF050, MF051, MF052. MF053, MF054, MF055, MF056,
MF057, MF058, MF059, MF060, MF061, MF062, MF063,
MF064, MF065, MF066, MF067, MF068, MF069, MF070,
MF071, MF072, MF073, MF074, MF075, MF076, MF077,
MF078, MF079, MF080, MF081, MF082, MF083, MF084,
329
-------
1
1
1
PARAMETER (
;
i
i
i
'*
i
i
i
i
t
i
i
i
i
i
PARAMETER (
&
I
&
&
&
&
&
&
&
&
&
&
&
&
CHARACTER*! 2
&
&
4F085, NF086, MF087, MF088, MF089, MF090, MF091,
4F092, MF093, MF094, MF095, MF096, MF097, MF098,
HF099, MF100
MF001 = 'MF101', MF002 = 'MF102', MF003 = 'MF1031.
MF004 = 'MF104'. MF005 = 'MF105', MF006 = 'MF106',
MF007 = 'MF107'. MF008 = 'MF1081, MF009 = 'MF109',
MF010 = 'MF110', MF011 = 'HF111', MF012 = 'MF1121,
MF013 = 'MF113', MFOU = 'MF114', MF015 = 'MF1151,
MF016 = 'MF116'. MF017 = 'MF117', MF018 = 'MF1181,
MF019 = 'MF119', MF020 = 'MF120', MF021 = 'MF1211,
MF022 = 'MF122', MF023 = 'MF123', MF024 = 'MF124',
MF025 = 'MF125', MF026 = 'MF126-, MF027 = 'MF1271.
MF028 = 'MF128'. MF029 = 'MF129', MF030 = 'MF130'.
HF031 * 'MF131'. MF032 = 'MF132', MF033 = 'MF133',
MF034 = 'MF134', MF035 * 'MF135', MF036 = -MF136',
MF037 = 'MF1371, MF038 = 'MF138', MF039 = 'MF139',
MF040 = 'MFUO', MF041 = 'MFH1', MF042 = 'MFU21.
HF043 = 'MF143'. MF044 = 'MF144', MF045 = 'MFH5',
MF046 = 'MF146', MF047 = 'MFH7', MF048 = 'MF148'.
MF049 = 'MFH9', MF050 = 'MF150', MF051 = 'MF151' )
MF052 = 'MF152', MF053 = 'MF153', MF054 = 'MF154',
MF055 = 'MF155', MF056 = 'MF156', MF057 = 'MF1571,
MF058 = 'MF158', MF059 = 'MF159', MF060 = 'MF1601,
MF061 = 'MF16V, MF062 = 'MF162'. MF063 = 'MF163'.
MF064 - 'MF1641, MF065 = 'MF165', MF066 = 'MF166',
MF067 = 'MF167'. MF068 = 'MF168', MF069 = 'MF169',
MF070 = 'MF170', MF071 = 'MF171', MF072 = 'MF1721,
MF073 = 'MF1731, MF074 = 'MF1741, MF075 = 'MFITS1,
MF076 = 'MF1761. MF077 = 'MF177', MF078 = 'MF1781,
MF079 = 'MF179', MF080 = 'MF1801, MF081 = 'MF1811,
MF082 = 'MF182'. MF083 = 'MF183', MF084 = 'MF1841,
MF085 = 'MF185', MF086 = 'MF186', MF087 = -MF1871,
MF088 = 'MF188', MF089 = 'MF189', MF090 = 'MF190',
MF091 = 'MF19V, MF092 = 'HF192', MF093 = 'MF1931,
MF094 = 'MF194', MF09S = 'MF1951, MF096 = -MF196',
MF097 = 'MF197', MF098 = 'MF198', MF099 = 'MF199',
MF100 = 'MF200' )
PF001, PF002. PF003, PF004, PF005. PF006. PF007,
PF008, PF009. PF010, PF011, PF012, PF013, PF014,
PF015, PF016, PF017, PF018, PF019, PF020, PF021,
PF022, PF023, PF024, PF025, PF026, PF027, PF028,
PF029, PF030, PF031, PF032, PF033, PF034. PF035,
PF036, PF037. PF038, PF039, PF040, PF041, PF042.
PF043, PF044, PF045, PF046, PF047, PF048, PF049,
PF050. PF051. PF052, PF053, PF054, PF055, PF056,
PF057. PF058, PF059, PF060, PF061, PF062. PF063,
PF064, PF06S, PF066, PF067, PF068, PF069, PF070,
PF071. PF072, PF073. PF074. PF075, PF076, PF077,
PF078. PF079, PF080. PF081, PF082, PF083, PF084,
PF085, PF086, PF087, PF088, PF089, PF090, PF091,
PF092, PF093, PF094, PF095, PF096, PF097, PF098.
PF099, PF100
330
-------
PARAMETER
< PFOOl'
PF004
PF007
PF010
PF013
PF016
PF019
PF022
PF025
PF028
PF031
PF034
PF037
PF040
PF043
PF046
PF049
( PF052
PF055
PFOS8
PF061
PF064
PF067
PF070
PF073
PF076
PF079
PF082
PF085
PF088
PF091
PF094
PF097
PF100
=
s
=
s
s
s
=
=
=
=
=
=
=
s
sr
s
s
s
s
s
s
s
s
s
s
s
s
s
s
S
s
E
=
s
•PF1011,
•PF104',
•PF107',
•PF1101,
•PF1131,
•PF116',
•PF1191,
'PF1221,
'PF125',
•PF128'.
•PF13V,
•PF1341,
•PF1371,
•PF1401,
•PF1431,
•PF146',
•PF149'.
•PF152',
•PF155',
•PF158',
'PF161',
•PF164'.
•PF167-.
•PF170',
•PF173',
'PF176',
'PF179',
'PF782',
•PF185',
'PF188',
•PF191',
•PF194',
•PF197',
'PF200'
PF002
PF005
PF008
PF011
PF014
PF017
PF020
PF023
PF026
PF029
PF032
PF035
PF038
PF041
PF044
PF047
PF050
PF053
PF056
PF059
PF062
PF065
PF068
PF071
PF074
PF077
PF080
PF083
PF086
PF089
PF092
PF095
PF098
S
S
s
s
s
s
s
s
s
5
S
S
S
s
=
=
=
=
=
=
s
=
=
=
s
s
c
s
s
s
=
s
=
•PF102',
•PF1051,
•PF1081,
'PF111',
'PF1141,
'PF117-,
•PF120',
•PF123',
•PF126',
'PF1291,
•PF132',
'PF1351,
'PF138',
•PF1411,
'PF1441,
•PF147',
'PF150',
•PF1531,
•PF1561,
•PF1591,
•PF1621,
•PF1651,
•PF168',
•PF171',
•PF174',
•PF177',
•PF1801,
•PF183',
•PF186',
•PF7891,
•PF192',
•PF195',
•PF198',
PF003
PF006
PF009
PF012
PF015
PF018
PF021
PF024
PF027
PF030
PF033
PF036
PF039
PF042
PF045
PF048
PF051
PF054
PF057
PF060
PF063
PF066
PF069
PF072
PF075
PF078
PF081
PF084
PF087
PF090
PF093
PF096
PF099
=
s
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
E
S
S
=
S
=
a
s
=
s:
s
s
=
•PF103-,
•PF106',
•PF1091,
•PF112',
•PF115',
'PF1181,
•PF121',
•PF1241,
•PF1271,
•PF130',
•PF1331,
•PF136',
•PF139',
•PF142',
'PF1451,
•PF148',
•PF1511 )
•PF1541,
•PF157',
•PF1601,
•PF163',
•PF1661,
'PF1691,
•PF1721,
'PF1751,
•PF178',
•PF1811,
•PF184',
•PF1871,
•PF1901,
'PF193',
•PF196',
•PF199',
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
PARAMETER
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
C Variable descriptions
C
C NRWND The maximum # of rawinsonde (upper air) sites
C NSURF The maximum # of surface stations used
C NVERTS The maximum # of vertical soundings
C TZONE The IK of hours shifted from Greenwich Mean Time
C GRDNMn The name of grid n
C NCOLSn The # of columns in grid n
C NROWSn The HI of rows in grid n
C MXLAKE The maximum number of lakes that a region may contain
C UL50RW SOX filtered wavelength for upper air data
C UL50SF SOX filtered wavelength for surface data
C NL50 Number of heights for 50-meter interpolated data
C SPFAC Weight for wind speed in PF012 formula
C TMPCRIT Cutoff temperature for local inversion
C INFRAC Percentage of local inversion to trigger regional inversion
C MFOpq The logical MF file name for series mpq, m = 1, 2, . . .
C PFOpq The logical PF file name for series mpq, m = 1, 2, . . .
C
£ **********************************************************************
331
-------
• GRDNMn are grid names. For ROMNET, grids 1,2, and 5 are defined in P06G; grids 3,4, and
6 are defined below:
GRDNM3 is the acceptance window for PF106, generated by P03G. It consists of GRDNMI ±6
degrees of longitude and ±4 degrees of latitude. The grid cells are approximately 1/2
degree of longitude by 3/4 degree of latitude.
GRDNM4 is used for gridding divergences in PUG. It is the same as GRDNMI, but with grid
cells of approximately 1 degree of longitude by 2/3 degree of latitude.
GRDNM6 is used for gridding cumulus clouds in P05G. It consists of GRDNMI ±3 degrees of
longitude and ±2lfa degree of latitude. The grid cells are approximately 2l/2 degrees of
longitude by 2 degrees of latitude.
• NSPECI and NSPECO are obsolete and not used by ROM2.1.
• WLSORU and WLSOSF are filtering radii used in the Barnes' gridding analyses.
PTOP is the lowest atmospheric pressure (in millibars) for the vertical profiles used in the
model; effectively, PTOP is the highest model top.
SPFAC, TMPCRIT, and INFRAC are used in the surface-based inversion/no inversion decision
made in P03G. The algorithm is as follows:
[(current gridded surface temp. - sunset gridded surface temp.) + (SPFAC x gridded surface wind speed)].
The result of the calculation is compared against TMPCRIT:
if TMPCRIT, the grid cell does not have an inversion.
The region is considered to have an inversion if >INFRAC percent of grid cells individually
have inversions. (We decided on the 50% criterion after we examined satellite images.)
• p f \pq and MF \pq are the ROMNET-specific processor and model files, respectively.
3.2.2 CELLO
There are six different region-dependent grids used by the ROM processors. Let us term these
GRID1, ..., GRID6 (where "GRID" must be replaced by a region name: NEROS, SEROS,
ROMNET, SEROXA, or MIDOXA). There are also a number of extended-region grids that are
used by analysis and graphics software. Complete grid definitions, contained in CELLO.FOR, can be
found in Appendix B.
Note that if you choose to construct your own grid, you should select grid dimensions that yield
approximately square grid cells. For example, our choice of 1U degree longitude by V$ degree latitude
cells for the fundamental grid results in cells that are approximately 20 km on each side at 40° N.
• GRID1 is the fundamental grid on which calculations are based. It has cells with longitu-
dinal and latitudinal dimensions of 1/4 degree by V$ degree respectively (approximately 20
km on each side). GRID1 is used by the majority of the ROM processors, as well as by the
Core Model.
332
-------
• GRID2 is a high-resolution grid that has cells dimensions of Vi2 degree by Vi2 degree. It
covers the same geographical area as GRID1, but extends seven GRIDl-sized cells out-
ward from GRID1. GRED2 is used primarily for terrain computations in processors P06G
and P07G.
• GRIDS surrounds GRID1 with a border stretching 6 degrees longitudinally and 4 degrees
latitudinally. The grid cell dimensions are variable according to the region. This grid is
used by processors P04G and P09G.
• GRID4 is a low-resolution (coarse) grid covering the same geographical area as GRID1.
The grid cell dimensions are variable according to the region. The sole use of GRID4 is
the internal divergence computations of processor PUG.
GRIDS has the same cell-dimensions as GRID1, and surrounds it with a three-cell border
in all directions. Processor P06G computes terrain and its derivatives on this grid; pro-
cessor P07G uses this grid for its nocturnal inversion computations.
GRID6 is a very-low-resolution grid that surrounds GRID! with a border stretching 3
degrees longitudinally and 2.5 degrees latitudinally. The grid cell dimensions are variable
according to the region. This grid is used internally by processor P05G for cumulus cloud
cover computations.
'CONTUS ' is a grid covering the entire continental United States; it has the cell sizes of
GRID1, and is used only for nationwide mapping routines.
• 'BIG ', 'RAWIND ', 'ROMNEX ', 'ROMNETEX', 'BUOYNET, and 'ULTRANET
are extended-region grids that are used primarily with map-drawing routines in prelimi-
nary meteorology quality assurance and analysis.
Calls to CELLO with a CHARACTER'S grid-name input argument return the latitudinal and longi-
tudinal boundaries, the number of rows and columns, and the cell dimensions (in degrees) for that
grid. ROM processor, graphics, and analysis programs and subroutines needing this geographical
information obtain it at runtime from CELLO.
3.2.3 PF/MF Files
Currently, there are four PF/MF file series in use: Series 0 files (e.g., PF001) have a GRID1 with
dimensions 60 by 42, and are for either the NEROS or the SEROS domains. Series 100 files (e.g.,
PF101) have a GRID1 with dimensions 64 by 52, and are for the ROMNET domain. Series 200 files
(e.g., PF201) have a GRID1 with dimensions 90 by 58, and are for the SEROXA domain. Series 300
files (e.g., PF301) have a GRID1 with dimensions 76 by 71, and are for the MIDOXA domain.
This version of the ROM requires that both the database directory and the file name encode the file
series (0, 100, 200,...) correctly. This creates domain dependencies in the file-name tables of the
processor and analysis software source codes. In version 2.1 of the ROM, there is a master name-
table in each region's REGPRM.EXT that defines the character string parameters PF001 through
333
-------
PF099 and MF001 through MF099, and contains the correct file names for that region. Version 2.2
of the ROM will permit hard-coding the file names in FORTRAN source code independently of
series number - e.g.,
CHARACTER*12 UINPROF / 'PF001 ' /
The database software will then adjust names at run-time to match the series indicator of the database
directory used. There is a utility program, FSERIES, which can be used with the ROM2.1 database
software to achieve a similar result, albeit not so transparently.
3.2.4 Mapping Routines
There are several map-drawing routines used by the analysis and graphics software: they are GEO-
POL, AMAP, LMAP, PMAP, and QMAP. Each routine has two versions that are indicated by the
suffixes "_ASCH" and "_BIN" (binary). The routines take a grid name as their first argument. The
routines concatenate 'MAP' or 'BIN' onto the end of the grid name (so that, for example,
'ROMNET1' becomes 'ROMNET1BIN') in order to generate a VMS logical name for the appro-
priate map data file. You must ASSIGN map data files to appropriate logical names before executing
these analysis programs (e.g., ROMNET1MAP). The VASCH" versions expect list-directed data
files; input consists of lines, each of which has values of latitude, longitude, and pen status that con-
stitute map drawing instructions for HP-plotters. The "_BIN" versions expect unformatted FOR-
TRAN binary files with record length 3; each record has the same information as provided for the
VASCH" versions. Note that the binary versions have substantial performance and storage-space
advantages, but are not portable across machine architectures.
334
-------
SECTION 4
REFERENCES AND BIBLIOGRAPHY
The ROM has been described at length in Lamb 1983 and 1984a, and Lamb and Laniak, 1985.
Baldocchi, D., et al., 1984. Solar radiation within an oak-hickory forest: an evaluation of the extinction coef-
ficients for several radiation components during fully-leafed and leafless periods. Agricultural and Forest
Meteorology 32:307-322.
Barnes, S.L. (1973). Mesoscale objective map analysis using weighted time series observations. NOAA Tech.
Memo. ERL NSSL-62 Norman, OK. 60pp.
Carter, W.P.L., M.C. Dodd, W.D. Long, and R. Atkinson, 1985. Outdoor Chamber Study to Test Multi-Day
Effects - Volume I: Results and Discussion. EPA/600/3-84/115. U.S. Environmental Protection Agency,
Research Triangle Park, NC
Demerjian, K.L., K.L. Schere, and J.T. Peterson, 1980. Theoretical estimates of actinic (spherically inte-
grated) flux and photolytic rate constants of atmospheric species in the lower troposphere. In Advances in
Environmental Science and Technology 10. J.N. Pitts et al, eds., John Wiley and Sons, New York, NY, pp.
369-459.
Demmy, J.L., W.M. Tax, T.E. Warn, 1989. Area Source Documentation for the 1985 National Acid Precipitation
Assessment Program Inventory. EPA/600/S8-88/106, Air and Energy Engineering Research Laboratory,
Research Triangle Park, NC.
Dodge, M.C., 1989. A comparison of three photochemical oxidant mechanisms. / Geophys. Res.
94:5121-5136.
Domaratz, M.A, C.A Hallam, W.R Schmidt, H.W. Calkins, 1983. Digital Line Graphs From
l:2,000,000-ScaleMaps. Geological Survey Circular 895-D. U.S. Geological Survey, Reston, VA 38pp.
EPA, 1990. Regional Ozone Modelingfor Northeast Transport (ROMNET): Final Project Report. Possiel, N., L.
Milich, and B. Goodrich, eds. EPA/450/4-90/002a and EPA/450/4-90/002b. Office of Air Quality Planning
and Standards, U.S. Environmental Protection Agency, Research Triangle Park, NC.
Gates, D. and L. Papian, 1971. Atlas of Energy Budgets on Plant Leaves. Academic Press, New York, New
York, pp. 1-16.
Gay, D., 1987. A national inventory ofbiogenic hydrocarbon emissions based upon a simple forest canopy model.
M.S. Thesis, Washington State University, Pullman, WA 73 pp.
Gery, M.W., G.Z. Whitten, and J.P. Killus, 1988. Development and testing of the CBM-IVfor urban and
regional modeling. EPA/600/3-88/012, U.S. Environmental Protection Agency, Research Triangle Park,
NC.
335
-------
Gery, M.W., G.Z. Whitten, J.P. Killus, and M.C. Dodge, 1989. A photochemical kinetics mechanism for
urban and regional scale computer models. /. Geophys. Res. 94:D10,12295-12956.
Homolya, J.B., D.A. Toothman, and J.D. Mobley, 1985. Development of the 1985 NAPAP (National Acid Pre-
cipitation Assessment Program) Emissions Inventory. EPA/600/D-85/151, Air and Energy Engineering
Research Laboratory, Research Triangle Park, NC.
Killus, J.P, and G.Z. Whitten, 1984. Technical Discussion Relating to the Use of the Carbon Bond Mechanism
in OZIPMIEKMA. EPA/450/4-84/009, U.S. Environmental Protection Agency, Research Triangle Park,
NC.
Lamb, B., A. Guenther, D. Gay, and H. Westberg, 1987. A national inventory of biogenic hydrocarbon emis-
sions. Atmospheric Environment, 21(8):1695-1705.
Lamb, B., D. Gay, H. Westberg, and E Allwine, 1990. Development of a National Inventory for Natural
Hydrocarbon Emissions. Invited paper presented at the NAPAP 1990 International Conference on "Acidic
Deposition: State of Science and Technology," February 1116,1990, Hilton Head Island, SC. National
Acidic Precipitation Program, Washington, DC.
Lamb, R.G., 1983. A regional scale (1000km) model of photochemical air pollution. Parti- Theoretical for-
mulation. EPA/600/3-83/035, U.S. Environmental Protection Agency, Research Triangle Park, NC.
Lamb, R.G., 1984a. A regional scale (1000km) model of photochemical air pollution. Pan II - Input processor
network design. EPA/600/3-84/085, U.S. Environmental Protection Agency, Research Triangle Park, NC.
Lamb, R.G., 1984b. Air pollution models as descriptors of cause-effect relationships. Atmos. Environ.
18(3):591-606.
Lamb, R.G., 1985. Application of the first generation Regional Oxidant Model to an assessment of the effects of
proposed 1987 emissions reductions on episodic ozone levels in the northeastern United States. Internal
Report, U.S. Environmental Protection Agency, Research Triangle Park, NC.
Lamb, R.G., 1986. Numerical simulations of photochemical air pollution in the northeastern United States:
ROM 1.0 Applications. EPA/600/3-86/038, U.S. Environmental Protection Agency, Research Triangle
Park, NC.
Lamb, R.G., 1987. Design and applications of the Regional Oxidant Model (ROM). In: Conference Proceed-
ings of the North American Oxidant Symposium, February 25-27 1987, Quebec, Canada. Environment
Canada, 153 -189.
Lamb, R.G., 1988. Simulated effects of hydrocarbon emissions controls on seasonal ozone levels in the north-
eastern United States: A preliminary study. EPA/600/3-88/D17, U.S. Environmental Protection Agency,
Research Triangle Park, NC
Lamb, R.G., and G.F. Laniak, 1985. A regional scale (1000km) model of photochemical air pollution. Pan III
- Tests of the numerical algorithms. EPA/600/3-85/037, U.S. Environmental Protection Agency, Research
Triangle Park, NC
Lamb, R.G., and S.K. Hati, 1987. The representation of atmospheric motion in models of regional-scale air
pollution. /. dim. AppL MeteoroL 26(7):837-846.
336
-------
Matthews, E., 1984. Vegetation, Land Use and Seasonal Albedo Data Sets: Documentation of Archived Data
Tape. NASA Technical Memorandum 86107, National Aeronautics and Space Administration, Goddard
Space Flight Center, Institute for Space Studies. New York, NY.
Modica, L.G., D.R. Dulleba, R.A Walters, and J.E. Langstaff, 1989. Flexible Regional Emissions Data System
(FREDS) Documentation for the 1985 NAPAP Emissions Inventory. EPA/600/S9-89/047, Air and Energy
Engineering Research Laboratory, Research Triangle Park, NC.
Novak, J.H., and J.A Reagan, 1986. A comparison of natural and man-made hydrocarbon emission inventories
necessary for regional acid deposition and oxidant modeling, paper 86-30. In: Proceedings of the 79th
Annual APCA Meeting. APCA Pittsburgh, PA
Olson, RJ., 1980. Geoecology: a County-Level Environmental Data Base for the Conterminous United States.
Publication No. 1537, Oak Ridge National Laboratory, Environmental Sciences Division, Oak Ridge, TN.
Page, S.H., 1980. National Land Use and Land Cover Inventory. Lockheed Engineering and Management
Services Co., Inc., Remote Sensing Laboratory. Las Vegas, NV.
Pierce, T.E., and K.L. Schere, 1988. Regional ozone modeling: An investigation of hydrocarbon emissions from
treatment, storage, and disposal facilities on ambient levels of ozone. Internal Report, U.S. Environmental
Protection Agency, Research Triangle Park, NC
Pierce, T.E., B.K. Lamb, and AR. Van Meter, 1990a. Development of a Biogenic Emissions Inventory System
for Regional Scale Air Pollution Models. Paper number 90-94.3 presented at the 83rd Air and Waste Man-
agement Association Annual Meeting, Pittsburgh, PA June 24 - 29,1990.
Pierce, T.E., L.L. Schere, D.C. Doll, and W.E. Heilman, 1990b. Evaluation of the Regional Oxidant Model
(Version 2.1) using ambient and diagnostic simulations. Draft Report, U.S. Environmental Protection
Agency, Research Triangle Park, NC.
Possiel, N.C., J.A Tikvart, J.H. Novak, K.L. Schere, and E.L. Meyer, 1989. Evaluation of ozone control strat-
egies in the northeastern region of the United States. In: Proceedings of the Third U.S.-Dutch International
Symposium on Atmospheric Ozone Research and Its Policy Implications, May 9-13 1988, Nijmegen, The
Netherlands. Elsevier, The Netherlands, pp. 623-632.
Saeger, M., J. Langstaff, R. Walters, L. Modica, D. Zimmerman, D. Fratt, D. Dulleva, R. Ryan, J. Demmy, Y.
Tax, D. Sprague, D. Mudgett, and A Werner, 1989. The 1985 NAPAP Emissions Inventory Version 2:
Development of 'the Annual Data and Modeler's Tapes. EPA/600/7-89/D12a. Air and Engineering Research
Laboratory, U.S. Environmental Protection Agency, Research Triangle Park, NC
Schere, K.L., 1986. EPA Regional Oxidant Model- ROM 1.0 evaluation for 3-4 August 1979. EPA/600/3-
86/032, U.S. Environmental Protection Agency, Research Triangle Park, NC
Schere, K.L., 1986. Evaluating Oj predictions from a test application of the EPA Regional Oxidant Model. In:
Proceedings of the Fifth Joint Conference on Applications of Air Pollution Meteorology, November 18-21
1986, Chapel Hill, NC. AMS, Boston, MA PP- 61-64.
Schere, K.L., and AJ. Fabrick, 1985. EPA Regional Oxidant Model: description and evaluation plan.
EPA/600/3-85/067, U.S. Environmental Protection Agency, Research Triangle Park, NC.
337
-------
Schere, KJL, and J.H. Novak, 1986. Regional aridant modeling of the northeast U.S. In: C. DeWispelaere et
al., eds. Air Pollution Modeling and Its Application, V - Vol. 10. Plenum Press, NY, pp. 45-59.
Schere, K.L., and N.P. Possiel, 1984. U.S. EPA Regional Qddant Model - background and overview, paper no.
84-47.2. In: Proceedings of the 77th Annual APCA Meeting, June 25-291984, San Francisco, CA. APCA,
Pittsburgh, PA
Schere, K.L., and R.A. Wayland, 1989. Development and evaluation of the Regional Qadant Model for the
northeastern United States. In: Proceedings of the Third U.S.-Dutch International Symposium on Atmo-
spheric Ozone Research and Its Policy Implications, May 9-13 1988, Nijmegen, The Netherlands. Elsevier,
The Netherlands, pp. 613-622.
Schere, K.L., and R.A. Wayland, 1989. EPA Regional Qxidant Model (ROM20): Evaluation on 1980NEROS
databases. EPA/600/3-89/057, U.S. Environmental Protection Agency, Research Triangle Park, NC.
Sellars, F. M. etal., 1985. National Acid Precipitation Assessment Program Emission Inventory Allocation Fac-
tors. EPA/600/7-85/035. U.S. Environmental Protection Agency, Research Triangle Park, NC.
Tingey, D.T., 1981. The effect of environmental factors on the emission ofbiogenic hydrocarbons from live oak
and slash pine. In: JJ. Bufalini and R.R. Arnts (eds.), Atmospheric Biogenic Hydrocarbons, Vol. 1, Emis-
sions. Ann Arbor Science, Ann Arbor, Michigan.
Walters, R.A., L.G. Modica, and D.B. Fratt, 1990. The 1985 NAPAP Emissions Inventory: Overview of Allo-
cation Factors. EPA/600/S7-89/010A, Air and Energy Engineering Research Laboratory, Research
Triangle Park, NC.
Whitten, G.Z., and M.W. Gery, 1986. Development of CBM-X mechanisms for urban and regional AQSMs.
EPA/600/3-86/012, U.S. Environmental Protection Agency, Research Triangle Park, NC.
Whitten, G.Z., J.P. Killus, and R.G. Johnson, 1985. Modeling of Auto Exhaust Smog Chamber Data for EKMA
Development. EPA/600/3-85/025. U.S. Environmental Protection Agency, Research Triangle Park, NC.
Winer, A.M., et al., 1983. Investigation of the Role of Natural Hydrocarbons in Photochemical Smog Formation
in California. Final Report AO/056-32, California Air Resources Board, Statewide Air Pollution Research
Center, University of California, Riverside, CA.
Young, J.O., M. Aissa, T. Boehm, C Coats, J. Eichinger, D. Grimes, S. Hallyburton, W. Heilman, D. Olerud,
S. Roselle, A. Van Meter, R. Wayland, and T. Pierce, 1989. Development of the Regional Oxidant Model,
Version 2.1. Project Report, T.E. Pierce, Project Officer, Atmospheric Sciences Modeling Division, U.S.
Environmental Protection Agency, Research Triangle Park, NC
Zimmerman, P.R., 1979. Determination of Emission Rates of Hydrocarbons from Indigenous Species of Vege-
tation in the Tampa/St. Petersburg, Florida Area. EPA/904/9-77/028, U.S. Environmental Protection
Agency.
338
-------
INDEX
.CSr, 319
Control strategy convention,
328
Glossary, 33
Processor
P01G, 34
P02G, 40
P03G, 49
P04G, 57
P05G, 67
P06G, 73
P07G, 80
P08G, 88
P09G,97
P10G, 108
PUG, 116
P12G, 125
P13G, 133
P14G, 138
P15G; 147
P16G, 153
P17G, 160
P19G, 168
P21G, 173
P22G, 179
P23G, 188
P24G, 196
P25G, 202
P26G, 207
P27G, 218
P29G, 228
P31G, 241
P32G, 246
P33G, 253
P34G, 259
P36G, 269
P38G, 276
P39G, 287
P40G, 303
P41G, 318
REGPRM.EXT,328
ROM
PF/MF files
standard files, 1
Subprograms
ADAIE, 29
AGRE>1,29
BGRID1,29
BGRID2.29
BGRED3,29
CELLO, 29
CELL1.29
CELL2.29
CELLAR, 29
CHAIN2,29
CLOCK1.29
CLOCK2,29
CLRHDR.29
CPUTOT, 29
DATEHR, 30
DATHR1,21
DATHR2,21
DATHR3,22
DATHR4,22
DATHR5,30
DATHR6,30
DATITM,30
ERROUT, 30
FLSMRY.23
FSKffl.30
FSTAT1.30
GETMEM.30
GETMSG,30
GETYN.30
GMTLCL.30
GPRIME.30
GREG, 30
ffiLKR.30
INDEX1,30
IOCL.30
IOERR, 30
JFILE1.30
JFILE2.23
JFILE3.24
JFILE4.30
JFILE5.30
JFILE6,30
JFILEX.30
JHOUR1,30
JULIAN, 31
JUNIT, 24
KDAY,31
LEN1,31
MATCH, 31
NEXTHR.31
OPDIR2,24
OPEN2,25
POINTS, 31
PQ1CB42,31
PQCOEFCB42,31
PROGID.25
RATEDCB42,31
RDDIR1,31
RDFHD1,31
RDFHD2,31
RDFILE, 31
RDFT1,25
RDFT2.26
RDFT3.26
RDFT4,26
RDFT5,27
RDREQ31
RDSRF1,31
RDWNDO, 31
SOLAR, 31
SOLELY, 31
TOTAL, 31
TRNSLT, 31
WRCHAR, 31
WRFILE.31
WRFT1.27
WRFT2.28
WRFT3,28
WRFT4,28
WRFT5.29
WRREC, 32
XATAN2,32
Index-1
-------
This page is intentionally left blank.
-------
APPENDIX A
GRID DOMAIN DEFINITIONS
A-l
-------
The NEROS, SEROS, and ROMNET domains are shown in Part 1, Figure 2.4.
A.1 NEROS GRID DOMAINS
The following are base values used for calculating the corners (NE and S W) of expanded or shrunken grid
domains:
SULON =
SULAT =
MELON =
NELAT =
GRONN
NCOLL
NROUU
SULON
SWLAT
MELON
NELAT
DLOMN
DLATT
GRONN
NCOLL
NROUW
SULON
SULAT
MELON
NELAT
DLONN
DLATT
GRONN
NCOLL
NROWU
SULON
SULAT
NELON
NELAT
DLONN
DLATT
GRONN
NCOLL
NROWU
SULON
SULAT
NELON
NELAT
DLONN
DLATT
84.0 degrees
38.0 degrees
69.0 degrees
45.0 degrees
= GRDNA
= 60
= 42
= 84.0
= 38.0
= 69.0
= 45.0
= - 1/4
= 1/6
= GRDNA
= 222
= 112
= 85.75
= 36.833333
= 67.25
= 46.1667
= - 1/12
= 1/12
= GRDNA
= 36
= 30
= 90.0
= 34.0
= 63.0
= 49.0
= - 3/4
= 1/2
= GRDNA
= 11
= 8
= 84.0
= 38.0
= 69.0
= 45.0
= - 1.3636364
= 0.875
NEROS1
Number of columns
Number of rows
Southwest corner longitude
Southwest corner latitude
Northeast corner longitude
Northeast corner latitude
(NELON - SULON) / NCOLL
(NELAT - SULAT) / NROUU
NEROS2
Number of columns
Number of rows
84.0 + 7.0 * (3.0 * (5.0 /
38.0 - 7.0 * (2.0 * (5.0 /
69.0 - 7.0 * (3.0 * (5.0 /
45.0 + 7.0 * (2.0 * (5.0 /
(NELON - SULON) / NCOLL
(NELAT - SULAT) / NROUU
NEROS3
Number of columns
Nunber of rows
84.0 + 6.0
34.0 - 4.0
69.0 - 6.0
45.0 + 4.0
(NELON - SULON) / NCOLL
(NELAT - SULAT) / NROUU
NEROS4
Number of columns
Nunber of rows
Southwest corner longitude
Southwest corner latitude
Northeast corner longitude
Northeast corner latitude
(NELON - SULON) / NCOLL
(NELAT - SULAT) / NROUU
60.0))
60.0))
60.0))
60.0))
A-2
-------
GRDNN
NCOLL
NROUU
SWLON
SULAT
MELON
NELAT
DLONN
DLATT
GRDNN
NCOLL
NROUU
DLONN
DLATT
SULON
SULAT
MELON
NELAT
=
&
s
s
s
£
S
s
s
s
s
s
s
s
s
s
s
5
GRDNA
66
48
84.75
37.50
68.25
45.5
- 1/4
1/6
GRDNA
7
6
-3.0
2.0
87.0
35.5
66.0
47.5
NEROS5
Number of columns
Number of rows ,
84.0 + 3.0 * (3.0 * (5.0
38.0 - 3.0 * (2.0 * (5.0
69.0 - 3.0 * (3.0 * (5.0
45.0 + 3.0 * (2.0 * (5.0
(NELON - SULON) / NCOLL
(NELAT - SULAT) / NROUU
NEROS6
Number of columns
Number of rows
(NELON - SULON) / NCOLL
(NELAT - SULAT) / NROUU
84.0 + 3.0
38.0 - 2.5
69.0 - 3.0
45.0 + 2.5
/ 60.0))
/ 60.0))
/ 60.0))
/ 60.0))
A.2 SEROS GRID DOMAINS
The following are base values used for calculating the comers (NE and SW) of expanded or shrunken grid
domains:
SULON =
SULAT =
NELON =
NELAT =
GRDNN
NCOLL
NROUU
SULON
SULAT
NELON
NELAT
DLONN
DLATT
GRDNN
NCOLL
NROUU
SULON
SULAT
NELON
NELAT
DLONN
DLATT
97.0
28.0
82.0
35.0
degrees
degrees
degrees
degrees
= GRDNA
= 60
= 42
= 97
= 28
= 82
= 35
.0
.0
.0
.0
* - 1/4
= 1/6
= GRDNA
= 222
= 112
= 100.50
= 26
= 80
= 36
= -
.833333
.25
.166667
1/12
= 1/12
SEROS1
Number, of columns
Nunber of rows
Southwest corner longitude
Southwest corner latitude
Northeast corner longitude
Northeast corner latitude
(NELON - SULON) / NCOLL
(NELAT - SULAT) / NROUU
SEROS2
Number of columns
Number of rows
97.0 + 7.0 * (3.0 * (5.0 /
28.0 - 7.0 * (2.0 * (5.0 /
82.0 - 7.0 * (3.0 * (5.0 /
35.0 + 7.0 * (2.0 * (5.0 /
(NELON - SULON) / NCOLL
(NELAT - SULAT) / NROUU
60.0))
60.0))
60.0))
60.0))
A-3
-------
GRDNN
NCOLL
NROWU
SULON
SULAT
NELON
NELAT
DLONN
DLATT
GRDNN
NCOLL
NROUU
SULON
SULAT
NELON
NELAT
DLONN
DLATT
GRDNN
NCOLL
NROUU
SULON
SULAT
NELON
NELAT
DLONN
DLATT
GRDNN
NCOLL
NROUU
DLONN
DLATT
SULON
SULAT
NELON
NELAT
= GRDNA
= 36
= 30
= 103.0
= 24.0
= 76.0
= 39.0
= - 3/4
= 1/2
= GRDNA
= 11
= 8
= 97.0
« 28.0
* 82.0
= 35.0
- - 1.3636364
= 0.875
= GRDNA
= 66
= 48
= 97.75
= 27.50
= 81.25
= 35.50
= - 1/4
= 1/6
= GRDNA
= 7
= 6
= -3.0
= 2.0
= 100.0
= 25.5
= 79.0
= 37.5
!
!
!
1
1
!
!
!
1
1
I
1
I
1
1
SEROS3
Number
Number
97.0 t-
28.0 -
82.0 -
35.0 +
(NELON
(NELAT
SEROS4
Number
Number
of
Of
6.
columns
rows
0
4.0
6.
4.
-
-
of
of
Southwest
0
0
SULON)
SULAT)
/
/
NCOLL
NROUU
columns
rows
corner
Southwest corner
Northeast
corner
! Northeast corner
!
1
(NELON
(NELAT
-
-
SULON)
SULAT)
/
/
longitude
latitude
longitude
latitude
NCOLL
NROUU
SEROS5
Number
Number
97.0 +
28.0 -
82.0 -
35.0 +
(NELON
(NELAT
SEROS6
Number
Number
(NELON
(NELAT
97.0 +
28.0 -
82.0 -
35.0 +
of
of
3.
3.
3.
3.
-
-
of
of
-
-
3.
2.
3.
2.
columns
rows
0 * (3
0 * (2
0 * (3
0 * (2
SULON)
SULAT)
.0
.0
.0
.0
/
/
* (5.0
* (5.0
* (5.0
* (5.0
NCOLL
NROUU
/ 60.0))
/ 60.0))
/ 60.0))
/ 60.0))
columns
rows
SULON)
SULAT)
0
5
0
5
/
/
NCOLL
NROUU
A.3 ROMNET GRID DOMAINS
The following are base values used for calculating the corners (NE and SW) of expanded or shrunken grid
domains:
SULON = 85.0 degrees
SULAT = 36.3333333 degrees
NELON = 69.0 degrees
NELAT = 45.0 degrees
A-4
-------
GRDNN
NCOLL
NROUW
SULON
SWLAT
MELON
NEUT
DLONN
DLATT
GRDNN
NCOLL
NROUW
SULON
SULAT
NELON
NELAT
DLONN
DLATT
GRDNN
NCOLL
NROUW
SULON
SWLAT
NELON
NELAT
DLONN
DLATT
GRDNN
NCOLL
NROUW
SWLON
SULAT
NELON
NELAT
DLONN
DLATT
GRDNN
NCOLL
NROUW
SWLON
SWLAT
NELON
NELAT
DLONN
DLATT
s
=
=
=
s
r
=
s
=
=
s
=
s
JS
s
=
=
s
=
=
r
E
=
s
=
=
s
=
=
=
=
=
s
s
s
s
s
=
s
s
s
s
s
ff
s
GRDNA
64
52
85.0
36.3333333
69.0
45.0
- 1/4
1/6
GRDNA
234
132
86.75
35.1666667
67.25
46.1666667
- 1/12
1/12
GRDNA
36
30
91.0
32.33333333
63.0
49.0
- 0.7777778
0.5555556
GRDNA
16
13
85.0
36.3333333
69.0
45.0
- 1.0
0.6666667
GRDNA
70
58
85.75
35.8333333
68.25
45.5
- 1/4
1/6
1 ROHNET1
! Number of columns
! Number of rows
! Southwest corner longitude
! Southwest corner latitude
! Northeast corner longitude
1 Northeast corner latitude
! (NELON - SULON) / NCOLL
! (NELAT - SULAT) / NROUW
! ROMNET2
! Number of columns
1 Number of rows
1 85.0 + 7.0 * (3.0 * (5.0 /
! 36.3 - 7.0 * (2.0 * (5.0 /
1 69.0 - 7.0 * (3.0 * (5.0 /
! 45.0 + 7.0 * (2.0 * (5.0 /
1 (NELON - SULON) / NCOLL
! (NELAT - SULAT) / NROUU
! ROMNET3
1 Number of columns
! Number of rows
! 85.0 + 6.0
.! 36.333333 - 4.0
1 69.0 - 6.0
! 45.0 + 4.0
1 (NELON - SULON) / NCOLL
! (NELAT - SWLAT) / NROWW
1 ROMNET4
! Number of columns
1 Number of rows
! Southwest corner longitude
1 Southwest corner latitude
1 Northeast corner longitude
! Northeast corner latitude
1 (NELON - SWLON) / NCOLL
! (NELAT - SWLAT) / NROUU
! ROMNET5
! Number of columns
! Number of rows
1 85.0 + 3.0 * (3.0 * (5.0 /
! 36.3 - 3.0 * (2.0 * (5.0 /
1 69.0 - 3.0 * (3.0 * (5.0 /
t 45.0 + 3.0 • (2.0 * (5.0 /
1 (NELON - SULON) / NCOLL
1 (NELAT - SWLAT) / NROWW
60.0))
60.0))
60.0))
60.0))
60.0))
60.0))
60.0))
60.0))
A-5
-------
GRDNN
NCOLL
NROUU
DLONN
DLATT
SULON
SULAT
NELON
NELAT
s
s
s
=
=
=
s
=
=
GRDNA
8
7
-2.75
1.95238
88.0
33.83333
66.0
47.5
ROMNET6
Number
Number
(NELON
(NELAT
85.0
36.333
69.0
45.0
of co I inns
of
-
-
+
-
-
+
rows
SULON)
SULAT)
3.0
2.5
3.0
2.5
/
/
NCOLL
NROUU
A.4 SEROXA GRID DOMAINS
The following are base values used for calculating the comers (NE and S W) of expanded or shrunken grid
domains:
SWLON =
SULAT =
NELON =
NELAT =
GRDNN
NCOLL
NROUU
SULON
SULAT
NELON
NELAT
DLONN
DLATT
GRDNN
NCOLL
NROUU
SULON
SULAT
NELON
NELAT
DLONN
DLATT
GRDNN
NCOLL
NROUU
SULON
SULAT
NELON
NELAT
DLONN
DLATT
98.75 degrees
27.666667 degrees
76.25 degrees
37.333333 degrees
= GRDNA
= 90
- 58
= 98.75
= 27.666667
= 76.25
= 37.333333
= - 1/4
= 1/6
= GRDNA
= 284
= 130
= 98.75
= 25.50
= 74.50
* 38.50
= - 1/12
= 1/12
= GRDNA
= 36
= 30
= 104.75
= 23.666667
= 71/4
= 41.333333
= - 0.9583333
= 0.5888889
SEROXA1
Nunber of col urns
Number of rows
Southwest corner
Southwest corner
Northeast corner
Northeast corner
(NELON - SULON) /
(NELAT - SULAT) /
longitude
latitude
longitude
latitude
NCOLL
NROUU
SEROXA2
Nmber of colimns
Nuriber of rows
98.75 + 7.0 * (3.0 * (5.0 / 60.0))
27.666667 - 7.0 * (2.0 * (5.0 / 60.0))
76.25 - 7.0 * (3.0 * (5.0 / 60.0))
37.333333 + 7.0 • (2.0 * (5.0 / 60.0))
(NELON - SULON) / NCOLL
(NELAT - SULAT) / NROUU
SEROXA3
Hunter of col urns
Nimber of rows
98.75 + 6.0
27.666667 - 4.0
76.25 - 6.0
37.333333 + 4.0
(NELON - SULON) / NCOLL
(NELAT - SULAT) / NROUU
A-6
-------
GRDNN
NCOLL
NROUU
SULON
SULAT
NELON
NELAT
DLONN
DLATT
GRDNN
NCOLL
NROUU
SULON
SULAT
NELON
NELAT
DLONN
DLATT
GRDNN
NCOLL
NROUU
DLONN
DLATT
SULON
SULAT
NELON
NELAT
= GRDNA
= 23
= 15
= 98.75
= 27.666667
= 76.25
= 37.333333
= - 0.9782609
= 0.7111111
= GRDNA
= 96
= 64
= 99.50
= 27.166667
= 75.50
= 37.833333
= - 1/4
= 1/6
= GRDNA
= 10
= 8
= -2.85
= 1.833333
= 101.75
= 25.16667
= 73.25
= 39.83333
SEROXA4
Number of columns
Number of rows
Southwest corner longitude
Southwest corner latitude
Northeast corner longitude
Northeast corner latitude
(NELON - SULON) / NCOLL
(NELAT - SULAT) / NROUU
SEROXA5
Number of columns
Number of rows
98.75 + 3.0 * (3.0 * (5.0 / 60.0))
27.666667 - 3.0 * (2.0 * (5.0 / 60.0))
76.25 - 3.0 * (3.0 * (5.0 / 60.0))
37.333333 + 3.0 * (2.0 * (5.0 / 60.0))
(NELON - SULON) / NCOLL
(NELAT - SULAT) / NROUU
SEROXA6
Number of columns
Number of rows
(NELON - SULON) / NCOLL
(NELAT - SULAT) / NROUU
98.75 * 3.0
27.666667 - 2.5
76.25 - 3.0
37.333333 + 2.5
A.5 MWROXA GRID DOMAINS
The following are base values used for calculating the corners (NE and SW) of expanded or shrunken grid
domains:
SWLON = 97.0 degrees
SULAT = 35.0 degrees
NELON = 78.0 degrees
NELAT = 46.83333 degrees
NUROXA1
Nunber of columns
Number of rows
Southwest corner longitude
Southwest corner latitude
Northeast corner longitude
Northeast corner latitude
(NELON • SULON) / NCOLL
(NELAT - SULAT) / NROUU
GRDNN
NCOLL
NROUU
SULON
SULAT
NELON
NELAT
DLONN
DLATT
s
9
S
S
S
s
=
s
s
GRDNA
76
71
97.0
35.0
78.0
46.83333
- 1/4
1/6
A-7
-------
GRDNN =
NCOLL =
NROWW =
SULON *
SWLAT =
MELON =
NELAT =
DLONN =
DLATT =
GRDNN =
NCOLL =
NROUU =
SULON =
SWLAT =
MELON =
NELAT =
DLONN =
DLATT =
GRDNN =
NCOLL =
NROWW =
SULON =
SWLAT =
NELON ='
NELAT =
DLONN =
DLATT =
GRDNN =
NCOLL =
NROWW =
SWLON =
SWLAT =
NELON =
NELAT =
DLONN =
DLATT =
GRDNN =
NCOLL =
NROUW f
DLONN =
DLATT =
SWLON =
SWLAT =
NELON =
NELAT =
GRDNA
242
156
98.75
33.8333333
76.25
48.00.
- 1/12
1/12
GRDNA
36
30
103.0
31.0
72.0
50.833333
- 0.8611111
0.6611111
GRDNA
19
18
97.0
35.0
78.0
46.83333
- 1.0
0.6572389
GRDNA
82
77
97.75
34.50
77.25
46.33333
- 1/4
1/6
GRDNA
9
9
-2.7777778
1 .8703703
100.0
32.5
75.0
49.333333
MWROXA2
Number of columns
Number of rows
97.0 + 7.0 * (3.0 * (5.0 /
35.0 - 7.0 * (2.0 * (5.0 /
78.0 - 7.0 * (3.0 * (5.0 /
46.83333 + 7.0 * (2.0 * (5
(NELON - SWLON) / NCOLL
(NELAT • SWLAT) / NROWW
NWROXA3
Number of columns
Number of rows
97.0 + 6.0
35.0 - 4.0
78.0 - 6.0
46.83333 + 4.0
(NELON • SWLON) / NCOLL
(NELAT - SWLAT) / NROWW
NWROXA4
Number of columns
Number of rows
Southwest corner longitude
Southwest corner latitude
Northeast corner longitude
Northeast corner latitude
(NELON - SWLON) / NCOLL
(NELAT - SWLAT) / NROWW
MWROXA5
Number of columns
Number of rows
97.0 + 3.0 * (3.0 * (5
35.0 - 3.0 * (2.0 * (5
78.0 - 3.0 * (3.0 * (5
46.83333 + 3.0 * (2.0 * (5
(NELON - SWLON) / NCOLL
(NELAT - SWLAT) / NROWW
NWROXA6
Number of columns
Ninfcer of rows
(NELON - SWLON) / NCOLL
(NELAT - SWLAT) / NROWW
97.0 + 3.0
35.0 - 2.5
78.0 - 3.0
46.83333 + 2.5
60.0))
60.0))
60.0))
.0 / 60.0))
.0 / 60.0))
.0 / 60.0))
.0 / 60.0))
.0 / 60.0))
A.6 CONTUS GRID DOMAIN
This domain is used only for mapping routines that require the entire continental U.S.
A-8
-------
200 GRDNN =
NCOLL =
NROUV =
DLONN -
DLATT =
SULON =
SULAT =
MELON =
NELAT =
GRDNA
240 Nunber of columns
156 Number of rows
- 1/4 (NELON - SULON) / NCOLL
1/6 (NELAT - SULAT) / NROUU
125.0 Southwest corner longitude
25.0 Southwest corner latitude
65.0 Northeast corner longitude
51.0 Northeast corner latitude
A.7 QUALITY ASSURANCE GRID DOMAINS
These domains are used for map computations, and have 1 -degree-square cells.
GRDNN =
NCOLL =
NROUW =
SWLON =
SULAT =
MELON =
NELAT =
DLONN =
DLATT =.
GRDNN =
NCOLL =
NROUW =
SWLON =
SULAT =
NELON =
NELAT =
DLONN =
DLATT =
GRDNN =
NCOLL =
NROUW =
DLONN =
DLATT =
SWLON =
SULAT =
NELON =
WELAT =
GRDNN =
NCOLL =
NROUU =
SULON =
SULAT -
NELON =
NELAT =
DLONN =
DLATT =
GRDNA
40
22
100.00
28.00
60.00
50.00
- 1.00
1.00
GRDNA
35
30
99.0
20.0
64.0
50.0
-1.0
1.0
GRDNA
120
60
-1/4
1/4
90.0
32.0
60.0
47.0
GRDNA
60
72
80.0
36.0
65.0
48.0
- 1/4
1/6
BIG
Number of columns
Number of rows
97.0 + 3.0 * (3.0 * (5.0 /
28.0 - 3.0 * (2.0 * (5.0 /
82.0 - 3.0 * (3.0 * (5.0 /
35.0 + 3.0 * (2.0 * (5.0 /
(NELON - SULON) / NCOLL
(NELAT - SULAT) / NROUU
BUOYNET
Number of columns
Nunber of rows
Southwest corner longitude
Southwest corner latitude
Northeast corner longitude
Northeast corner latitude
(NELON • SULON) / NCOLL
(NELAT - SULAT) / NROUU
RAUIND
Number of columns
Number of rows
(NELON - SULON) / NCOLL
(NELAT - SULAT) / NROUU
Southwest corner longitude
Southwest corner latitude'
Northeast corner longitude
Northeast corner latitude
ROMNETEX
Number of columns
Number of rows
Southwest corner longitude
Southwest corner latitude
Northeast corner longitude
Northeast corner latitude
(NELON - SULON) / NCOLL
(NELAT - SULAT) / NROUU
60.0))
60.0))
60.0))
60.0))
A-9
-------
GRDNN =
NCOLL -
NROUU =
SWLON =
SWLAT =
NELON =
NELAT =
DLONN s
DLATT =
GRDNN =
NCOLL =
NROUU =
SULON =
SULAT -
NELON =
NELAT =
DLONN -
DLATT =
GRDNN =
NCOLL =
NROUW =
SULON =
SULAT =
NELON =
NELAT =
DLONN =
DLATT =
GRDNA
72
66
86.0
35.0
68.0
46.0
- 1/4
1/6
GRDNA
45
30
105.0
25.0
60.0
55.0
- 1.0
1.0
GRDNA
100
84
90.0
34.0
65.0
48.0
- 1/4
1/6
ROMNEX
Number of col urns
Number of rows
Southwest corner longitude
Southwest corner latitude
Northeast corner longitude
Northeast corner latitude
(NELON - SULON) / NCOLL
(NELAT - SULAT) / NROUU
RUNDQA
Number of columns
Number of rows
Southwest corner longitude
Southwest corner latitude
Northeast corner longitude
Northeast corner latitude
(NELON - SULON) / NCOLL
(NELAT - SULAT) / NROUW
ULTRANET
Number of columns
Number of rows
Southwest corner longitude
Southwest corner latitude
Northeast corner longitude
Northeast corner latitude
(NELON - SULON) / NCOLL
(NELAT - SULAT) / NROUU
A-10
-------
APPENDIX B
PROCESSOR INPUT AND OUTPUT DATA FILES
B-l
-------
W PF102 )
> PF101
PF131
Figure B-l. Processor P01G
B-2
-------
Figure B-2. Processor P02G
B-3
-------
PF112
Figure B-3. Processor P03G
B-4
-------
PF106
PF118
PF119
PF103
>• PF108
Figure B-4. Processor P04G
B-5
-------
PF133
Figure B-5. Processor P05G
B-6
-------
Figure B-6. Processor P06G
B-7
-------
PF101
i rrioo i ^--
I >
/ >
I >
f >
I ^
I >
I J
I *
I-
j >
I >
\->
I *
>J
>fc
^/
>l
i/
>l
— >
>.
*
>»
PF132
[ MF110 j
f MF111 J
Figure B-7. Processor P07G
B-8
-------
PF119
MF109
PF142
PF156
MF112
MF113
Figure B-8. Processor POSG
B-9
-------
PF102
I SURMET1
^r^
—> MF134
>- MF135 I
vZ7
MF138
—>/ MF163 |
>- MF175
Figure B-9. Processor P09G
B-10
-------
I PF135 I >
Figure B-10. Processor P10G
MF123
B-ll
-------
f PF106 j - >
PF127 - >
Figure B-ll. Processor PUG
B-12
-------
Figure B-12. Processor P12G
B-13
-------
Figure B-13. Processor P13G
B-14
-------
PF167
AREAWK ) >
( PNTSA 1 >
PNTSU
f PNTWK ] >
STACKS
PF141
->{ PF145
Figure B-14. Processor P14G
B-15
-------
( PF107 I >
Figure B-15. Processor P15G
B-16
-------
^\
Figure B-16. Processor P16G
B-17
-------
PF132
( MF113 J
PF151
PF153
MF164
MF165
>/ MF166 ]
[ MF167 ]
Figure B-17. Processor P17G
B-1S
-------
SURMET1 ^
I SURMET1
Figure B-18. Processor P19G
B-19
-------
P21G
>^,
*
Figure B-19. Processor P21G
B-20
-------
P22G
— ^.
Figure B-20. Processor P22G
B-21
-------
>fc.
P23G
Figure B-21. Processor P23G
B-22
-------
EQUILBCS
Figure B-22. Processor P24G
B-23
-------
PF118
Figure B-23. Processor P25G
B-24
-------
I SPECFAC 1 >J
Figure B-24. Processor P26G
B-25
-------
PF103
SRFC
MMMYY
(GCNBIOmm)
GUTBIOmm
PF144
Figure B-25. Processor P27G
B-26
-------
' >< PF176 I
>< PF178 I
Fiuure B-26. Processor P29G
B-27
-------
Figure B-27. Processor P31G
B-28
-------
Figure B-28. Processor P32G
B-29
-------
Figure B-29. Processor P33G
B-30
-------
1—W MOBLWK I
Figure B-30. Processor P34G
B-31
-------
| AREASA 1
I >( MOBLWK )
Figure B-31. Processor P36G
B-32
-------
( MF103 J
( MF104 J
f MF107 j
( MF108 ]
BTRK
Figure B-32. Processor P3SG
B-33
-------
Ficurc B-33. Processor P39G
B-34
-------
Figure B-34. Processor P40G
B-35
-------
Figure B-35. Processor P41G
B-36
-------
APPENDIX C
PROCESSOR SUBPROGRAM HIERARCHY
* => Subprogram is called zero or more times.
No * =>- subprogram is called once only.
Italicized subprograms are utility subprograms; nonitalicized subprograms are processor-specific.
C-l
-------
P01G
PROGID
OPDIR2
OPEN2
FLSMRY
NEXTHR
RDFT1
RLEVEL
PARAMS
PSHIFT
* WRFT1
Figure C-l. Processor P01G
C-2
-------
P02G
PROG1D
JFILE2
CELLO
DATTIM
CLOCK]
* WRIC
OPWRIC
* TRNSLT
* WRFILE
JF1LE5
* TRNSLT
* WRCHAR
Figure C-2. Processor P02G
C-3
-------
P03G
PROGID
OPDIR2
OPEN2
* FLSMRY
CLRHDR
RDFT4
GETYN
CELLO
HASH
* RDWNDO
* STINFO
* WRFT3
* BGRID1
* WRFT5
* NEXTHR
JFILE2
* CHA1N2
* CHAJN2
Figure C-3. Processor P03G
C-4
-------
PWG
PROGID
OPDIR2
OPEN2
<• FLSMRY
JF1LE3
RDFT-4
ZONEIT
SETUP
WRFT-I
CELLO
AVGWAT
GREG
RDFT3
BUOYPR
WEIGHT
WRFT5
GRBUOY
GRIDGN
GRBRNS
RDFT5
TSCALE
CELL2
SOLELV
CRTELV
ISLAND
STABLE
QFLUX
UNSTBL
NEXTHR
• RDWNDM
• BGRID1
RDWNDO
• STAWAT
• UNSWAT
FILLIN
I . BGR1D3
I * RDSRFM
JF1LE2
10ERR
JULIAN
GMTLCL
\ » PSIM
» RADLWV
« CLDFN
I GA.MOVS
Figure C-4. Processor P04G
C-5
-------
P05G
PROGID
OPDIR2
OPEN2
* FLSMRY
* CELLO
RDFT4
SFCMET
RDFT1
TDPGRD
QFORM
LCLVAL
VPROFL
TSfflFT
TMPRAL
TOPSET
* WRFT5
* RDWNDO
ABTERM
I * BGRID1
BOYANT
QFIELD
*ABTERM
* ABTERM
BGRID1
AGRID1
TSMUTH
Figure C-5. Processor P05G
C-6
-------
P06G
PROGID
OPDIR2
OPEN2
* FLSMRY
* LAKE
JFILE2
* CELLO
* CELL1
* WRFT4
~\ JFILE2
Figure C-6. Processor P06G
C-7
-------
P07G
PROGID
SETUP?
FLOIN1T
CORFOR
• CLKHDR
• RDFT4
* CPULOG
• RDFT5
• DATHR3
* H1HOZ
* SIGMAT
* FLOMOD
• NEXTHR
* FLORESET
FLSMRY
OPDIR2
OPEN2
FLSMRY
* RDFHD2
CELLO
CPUTOT
» WRFT5
• WRFTS
* MINMX2
NEXTHR
BASEVA
BARS
CLOCK
PRIMES
FRAME
SETBCS
SOLVER
SOLVUV
SOLVDH
MINMAX
NEXTHR
WRFTS
SLPRES
DPCD
COLDGR
MINMAX
RDFT3
SMOOTH
GRADX6
RADRAG
EXTEND
WRFTS
RDFT1
Figure C-7. Processor P07G
C-8
-------
P08G
PROGID
OPDIR2
OPEN2
JF1LE2
» FLSMRY
• CELLO
GETYN
RDFT4
ALBALF
» RDFT5
RDFT1
RADPFL
PROFIL
CLDRAD
FLXRAD
PBLMIX
CLDMOD
CLDPAR
. WRFT5
DELTAT
1 * ABTERM
• RDSRF1
' ABTERM
ARCEST
GREG
CRTEL8
QFLUX8
* ABTERM
RTIMOD
* PTOZ
MBAR5
INTERP
SPLINE
QUDPTS
SPLSOL
SPLDER
1 ABTERM
Figure C-8. Processor P08G
C-9
-------
P09G
PROGID
OPDIR2
OPEN2
* FLSMRY
ZEN
DEN
CELLO
* RDWNDO
GREG
* SOLAR
BGRID1
* WRFT5
CELLO
RDFT4
* RDFT1
* BGR1D3
RDFT5
* WRFT5
Figure C-9. Processor P09G
C-10
-------
P10G
PROGID
OPDIR2
OPEN2
* FLSMRY
CELLO
* RDFHD2
RDFT4
* RDSTAK
* SETCLK
* RDFT3
* RDFT5
* ADPFMF
* CELL]
* SATEMP
* CELLAR
* WRFT5
RDFT5
Figure C-10. Processor P10G
C-ll
-------
FILES
ALLOC
• RDFT1
' RDFT3
' RDFT5
1 DVGGRD
RDHTS
• uvu
' WRFTS
SETUP11
GENCLC
DVCCLC
WRTOBS
MEAN
CPCONF
ALTSOL
• FINLPT
REPORT
READJN11
P20
PIS
OPD1R2
OPEN!
FLSMRY
JFILE3
• JUfJIT
DATHR6
• CELLO
RDFHD2
' GETMEM
' CELL2
DVMCLC
DSLMAT
' DATHR1
• RDFT1
' NEXTHR
' RDFT3
• GCALC
BCR1D2
' DIVRG
' WRFTS
' BCRID3
LAVRG
EXPCLC
CMPAUX
SLMAT
XVCCLC
INTTTT
1 • CELL1
I WRPLOT
1 WEIGHT!1
CONVRG
POW
PROJEC
POW
1 TSTFN
• CPGRAD
• HESS
* PROJEC
• UNMIN
REFRSH
POW
WRPLOT
WRfTS
CHECK
TSTFN
"1 POW
TSTFN
CUBMIN
PROJEC
TSTFN
RDREC
WRREC
RDPLOT
POV,
POW
"1 RDREC
| POW
• NEXTHR
Figure C-ll. Processor P11G
C-12
-------
P12G
PROGID
OPDIR2
OPEN2
* FLSMRY
CELLO
RDFT4
* RDFT5
VOLFLX
CUSET
CUFLUX
ALLFLX
* WRFT5
NEXTHR
* ERF
Figure C-12. Processor P12G
C-13
-------
P13G
PROGID
OPDIR2
OPEN2
* FLSMRY
JFILE2
* SEGSUB
WRFT4
CELLO
* CELL!
* RBCLIP
Figure C-13. Processor P13G
C-14
-------
P14G
PROGID
OPD1R2
OPEN2
* FLSMRY
* RDFHD2
CELLO
CELL]
DATHR4
FSKIP1
JF1LE2
* WRFTS
WRFT4
* ARESEL
* SWAPEM
* SWATSTK
* STKMRG
* RDPFMF
JFILE2
* KDAY
* PONSEL
STKHSH
* CHAIN2
RDFT5
JFILE4
KDAY
* CHAIN2
JF1LE2
Figure C-14. Processor P14G
C-15
-------
P15G
PROG1D
OPD1R2
OPEN2
* FLSMRY
CELLO
RDFHD2
RDFT4
*RDFT5
* RST
* WRFT5
* NEXTHR
RDFT4
* RDFT5
RDFT3
NEXTHR
Figure C-15. Processor P15G
C-16
-------
P16G
PROGID
OPD1R2
OPEN2
* FLSMRY
* JFILE2
GETYN
* ENDPTS
* SFCHRS
* SFCLEV
* RWND25
* COUPLE
* WRFT1
* GM2MOD
RADTIM
WHICH1
MBAR25
APPROX
WNDFIX
GM2MOD
POINTS
| * FILLER
1 * SMUTHR
Figure C-16. Processor P16G
C-17
-------
P17G
PROG1D
OPD1R2
OPEN2
* FLSMRY
CELLO
RDPRM2
RDFT4
* WRFT5
* DATHR3
* RDFT5
Figure C-17. Processor P17G
C-18
-------
P19G
PROG1D
OPD1R2
OPEN2
* FLSMRY
GETYN
CELLO
* RDWNDO
* 1OERR
BGRID1
WRFT5
Figure C-18. Processor P19G
C-19
-------
P21G
PROGID
* JF1LE2
ABATE
* GPR1ME
* TOTAL
* PQCOEF
* RATED
*PQ1
Figure C-19. Processor P21G
C-20
-------
P22G
PROGID
JFILE2
CELLO
DATTIM
CLOCK1
* WRBC
* TRNSLT
* CLOCK2
OPWRBC
TRNSLT
* WRF1LE
JFILE5
* TRNSLT
* WRCHAR
Figure C-20. Processor P22G
C-21
-------
P23G
PROGID
OPDIR2
OPEN2
* FLSMRY
* JFILE2
.CELLO
* GPRIME
* WRFT5
* TOTAL
* PQCOEF
* RATED
*PQ1
Figure C-21. Processor P23G
C-22
-------
P24G
PROGID
* JF1LE2
* GPR1ME
* TOTAL
* PQCOEF
* RATED
*PQ1
Figure C-22. Processor P24G
C-23
-------
P25G
CELLO
PROG1D
OPDIR2
OPEN2
* FLSMRY
10ERR
CELL1
WRFT4
Figure C-23. Processor P25G
C-24
-------
P26G
PROGID
OPD1R2
OPEN2
* FLSMRY
RDTFAC
* CTREFF
RDFT5
* RDTFAC
* WRFT5
PROCMB
JUNIT
* OFFNDX
JFILE2
INDEX1
* JFILE2
CELO
* INDEX 1
* KDAY
* WRFT5
Figure C-24. Processor P26G
C-25
-------
P27G
PROGID
OPDIR2
OPEN2
FLSMRY
GETYN
SOLENG
* JFILEX
JFILE2
* CORRECT
* WRFT5
PROGID
CELL2
FLXEIN
* RDFT5
CLDATN
PRNTGRD
* WRFT5
* RDFT5
JFILE2
JF1LE2
SOLELY
BGRID1
Figure C-25. Processor P27G
C-26
-------
P29G
PROGID
CELLO
* RDCONV
* POLY
* BQ3LAM
* BQ3PHI
* WRFT5
FLSMRY
* OPDIR2
* OPEN2
* FLSMRY
*DATHR
* DATHR3
* AREAC
* DAY
* RDFT5
* CONWIN
* CONDIF
* DIFLAM
* DIFLPHI
* VOLCAL
* LNRHVO
* DLNLAM
* DLNPHI
\* CELL2
Figure C-26. Processor P29G
C-27
-------
P31G
PROGID
JFILE4
* SRTREC
GETMSG
*RDSAPT
JFILE2
Figure C-27. Processor P31G
C-28
-------
P32G
PROGID
OPDIR2
OPEN2
* FLSMRY
GETMEM
RDFHD2
RDFT3
* RDFT5
DIFTRB
* WRFT5
NEXTHR
BGRID1
Figure C-28. Processor P32G
C-29
-------
P33G
PROGID
OPDIR2
OPEN2
* FLSMRY
CELLO
RDFT4
* RDSTAK
SETCLK
RDFT3
* RDFT5
* CELL1
SATEMP
* CELLAR
* SORTAR
SORTAI
WRFT4
JFILE2
Figure C-29. Processor P33G
C-30
-------
P34G
PROGID
JUN1T
JFILE4
* ARSHFT
* MBSHFT
* PTSHFT
JF1LE2
JFILE2
JFILE4
Figure C-30. Processor P34G
C-31
-------
P36G
RDPCTC
ARPROC
RDARCS
ARCTRL
* ACRID
MBPROC
RDATE
RDMBCS
MBCTRL
* ACRID
RDATE
Figure C-31. Processor P36G
C-32
-------
P38G
PROGID
OPD1R2
OPEN2
FLSMRY
JFILE6
CELLO
* DATHR5
* TIMEBT
WRHDBT
* WRBTRK
* INTRPD
* RDWIND
* CLOCK1
* CLOCK2
* TRNSLT
* WRCHAR
* ERROUT
* TRNSLT
* WRFILE
* RDDIFF
* DATHR3
* RDFT5
*RDFT5
Figure C-32. Processor P3SG
C-33
-------
P39G
PROGID
OPDIR2
OPEN2
FLSMRY
JFILE2
JFILE3
VRSPIM
CELLO
* DATHR5
* TIMEIM
WRHDIM
* WRIMET
* INTRPM
* INTRPS
* LISTIM
* RDFHD2
* INDEX1
* CLOCK1
* CLOCK2
* WRCHAR
* ERROUT
* WRFILE
* RDMET
* RDSPC
* DATHR3
* RDFT5
* DATHR3
* RDFT5
Figure C-33. Processor P39G
C-34
-------
P40G
PROGID
OPD1R2
OPEN2
FLSMRY
VRSPBM
CELLO
• TIMEBM
RDIMET
VERMET
SPCEXP
DATHR5
WRBMAT
TRNSEM
• BMCOEF
• RDFHD2
* INDEX!
' CLOCK!
' CLOCK2
OPIMET
POIMET
• RDIM
\ * INDEX1
• JF1LE6
• WRHDBM
* TRNSLT
* WRF1LE
~~\ • RDEMIS
I RDIM
CLOCK1
RDIM
TRNSLT
WRCHAR
ERROUT
DATHR3
RDFT5
Figure C-34. Processor P40G
C-35
-------
P41G
RDPTCS
JFILE2
JFILE2
JFILEX
* 1NDEX1
Figure C-35. Processor P41G
C-36
-------
APPENDIX D
EMISSION CONTROL STRATEGIES
D-l
-------
D.I ROM2.0: SCENARIOS FOR NEROS
In addition to base cases, individual emission control strategies for earlier versions of the ROM than
ROM2.1 are defined below. Some have been implemented alone, and some have been used in combina-
tion, such as VOC2 + NOX3.
VOCO Base emissions projected to 1987 including the effects of existing controls. Largest
changes in VOC emissions; some smaller changes to NO* emissions.
VOC1 Base emissions from 1980 reduced to include the effects of existing VOC controls in 1982
State Implementation Plans. Only VOC emissions are affected.
VOC2 VOC1 plus additional reductions expected by 1995 due to the Federal Motor Vehicle
Control Program (FMVCP).
VOC3 VOC2 plus additional reductions in the Northeast Corridor, Pittsburgh, Cleveland, and
Detroit.
VOC4 VOC3 including a higher level of reductions, up to 90% control in the Northeast Corridor.
NOX1 NO* controls on utility boiler emissions from 1980 resulting in a 39% cut in utility emis-
sions (11% cut in region-wide NOX).
NOX2 Utility/industrial boiler plus FMVCP NO* controls only in Detroit (27% resulting cut in
NO* emissions) and .the Northeast Corridor (22% resulting cut). Overall 10% cut in
region-wide NO*.
NOX3 Utility/industrial boiler plus FMVCP NO* controls applied regionally. (This resulted in a
22% cut in NO* emissions for the Northeast Corridor, and a 27% cut in region-wide NO*
for the northeast United States domain.)
NOX4 NOX3 except for a 70% cut in point source NO* emissions in the Northeast Corridor.
D.2 ROM2.1: SCENARIOS FOR ROMNET
D.2.1 1985 Base Case
This scenario includes summer season weekday, Saturday, and Sunday anthropogenic emissions from
the 1985 NAPAP Version 2.0 inventories for Volatile Organic Compounds (VOC), Oxides of Nitro-
gen (NO*), and Carbon Monoxide (CO). Mobile source vehicle emissions were calculated with
MOBILE4 (a model that is a part of the FREDS [Part 1, Section 4]) and were adjusted by grid for
daily average temperature and temperature range. (Running loss, standing evaporative, and excess
evaporative mobile emissions were included.) Stationary source VOC emissions from six categories
(gasoline marketing, bulk terminals/plants, gasoline vessels, architectural coatings, miscellaneous
solvent use, and TSDFs [Treatment, Storage, and Disposal Facilities]) were adjusted to reflect aver-
age daily temperatures or activity levels typical of the high ozone episodes being modeled in
ROMNET. Existing controls were accounted for in these inventories. Also included in this scenario
D-2
-------
were natural emissions of biogenic VOC from vegetation biomass and geogenic NO* from grassland
soils. Natural emissions were generated using the Biogenic Emissions Inventory System (BEIS).
Both anthropogenic and natural emissions were speciated using the Carbon Bond Mechanism Ver-
sion 4.2
D.2.2 2005 Future Base Case
In this scenario, 1985 Base Case anthropogenic emissions were projected to the year 2005 using
emissions-category specific growth factors. Non-utility stationary source growth factors were
obtained from the Bureau of Economic Analysis (BEA). Utility growth rates were obtained using the
Advanced Utility Simulation Model (AUSM) with the EPA 1987 Interim Base Case economic sce-
nario. Adjustments to stationary source growth rates were made by individual States. Mobile source
vehicle miles travelled (VMT) growth rates were taken from Federal Highway Administration
projections. Included in this scenario were existing Federal and State emissions controls (1985
State-specific control efficiency, penetration, and rule effectiveness levels), and a Reid Vapor Pres-
sure (RVP) of 9.0 psi. In addition, NO* emissions were controlled on a within-State basis down to
1985 emissions levels. Controls were applied in the Canadian portion of the domain. Natural
emissions for this scenario were identical to those in the 1985 Base Case.
D.2.3 CS01 - 2005 Maximum Technology Strategy
In this scenario, controls are applied on a source-category specific basis to emissions of VOC in the
2005 Future Base Case. Emissions of anthropogenic NO* and natural emissions are the same as in
the 2005 Future Base Case scenario. The VOC controls represent the highest efficiencies possible
from known control technologies. Controls are applied to 31 stationary area source categories and 39
major groups of point source categories. Both penetration and rule effectiveness of controls are
assumed to be 100%. Controls on mobile sources include an "enhanced" inspection/maintenance
program and "on-board" controls for refueling emissions. In this scenario, the above controls are
applied in all areas of the modeling domain except Canada, where emissions are at the 2005 Future
Base Case levels.
D.2.4 CS02 - 2005 Northeast Corridor Maximum Technology Strategy
In this scenario, the maximum technology controls included in the CS01 scenario are applied only to
counties in the Northeast Corridor. Emissions in all other areas of the region are identical to those in
the 2005 Future Base Case.
D-3
-------
D.2.5 CSO3 - 2005 Nonattainment Maximum Technology Strategy
In this scenario, the maximum technology controls included in the CS01 scenario are applied to
counties in the Northeast Corridor and to all counties in nonattainment areas in the region.
D.2.6 CS04 - Rule Effectiveness Sensitivity Test
In other ROMNET strategies, we have assumed that controls are 100% effective. In actuality, the
level of emissions reduction from a control device or procedure is less effective than the control
efficiency, this is due to various routine operating constraints. This scenario adjusts the control effi-
ciencies in one of the other ROMNET strategies; this reduces the effectiveness of controls and
obtains a more realistic assessment of the benefits of the strategy. CS04 will be run by altering
efficiencies from another ROMNET strategy that resulted in ozone concentrations of less than 0.12
ppm across the domain.
D.2.7 CSOS - Proposed Clean Air Act Legislation Strategy
This strategy includes controls on stationary and mobile sources of VOC and NO* (including controls
for Acid Rain) as prescribed in H.R.3030, modified to include the California Phase I tail pipe stan-
dards in the 10/04/89 Waxman-Dingell compromise proposal. In addition to the application of spe-
cific control measures, VOC emissions from all source categories were reduced in an
across-the-board manner in individual urban areas to meet the 3% per year emissions reduction
target calculated between 1990 and the attainment date. Canadian emissions are the same as in the
2005 Future Base Case. Natural emissions for this scenario are identical to those in the 1985 Base
Case.
D.2.8 Biogenics Sensitivity Tests
These scenarios are designed to test the sensitivity of ozone predictions to uncertainty in biogenic
emissions for base case and selected post-control scenarios. Included are ROM applications for the
1985 Base Case, CS01, and CSOS scenarios with biogenic emissions altered to reflect the possible
range of uncertainty (± a factor of 3). Each of the three anthropogenic scenarios are run with (1)
biogenic emissions reduced by a factor of 3 ("Low* biogenics) and (2) biogenic emissions increased by
a factor of 3 ("High" biogenics). In all scenarios, biogenic emissions are altered in an across-the-board
manner from the "best available science" estimates generated by the Biogenic Emissions Inventory
System (BEIS). The following are the specific scenarios modeled:
1985L: 1985 anthropogenics - Low biogenics
1985H: 1985 anthropogenics - High biogenics
CSO6:CS05 anthropogenics - Low biogenics
D-4
-------
CS07:CS01 anthropogenics - Low biogenics
CS08:CS05 anthropogenics - High biogenics
CS09:CS01 anthropogenics - High biogenics
D.2.9 New 1985 Base Case
This scenarios is an update to the 1985 Base Case to reflect MOBILE4 emissions factors. Point- and
area-source emissions, Canadian emissions and natural emissions remain unchanged from the pre-
vious 1985 Base Case.
D.2.10 New 2005 Future Base Case
This scenario contains several modifications to the previous 2005 Base Case. These include:
removal of utility and industrial combustion NO* reductions previously used to achieve a
"no growth" scenario for NO,;
• a 5% reduction in utility NOX emissions to reflect improved efficiencies in the generation
and use of electricity;
revised mobile emissions to reflect MOBILE4 and new Federal evaporative test proce-
dures; and
• corrections and revisions to several methodologies.
D.2.11 CS10 - Maximum Technology NO. Controls and Enhanced Maximum Technology VOC
Controls
This strategy was built from the new 2005 Future Base Case and includes:
• mobile source tail pipe standards in Senate Bill 1630 and on-board controls to passenger
vehicles;
banning residential wood stove use and open burning;
• controls on off-highway vehicles;
. reduction in RVP to 7.0 from 9.0 psi;
new controls on previously uncontrolled VOC point sources;
• more stringent controls on three point-source categories (aircraft coating, SOCMI [Syn-
thetic Organic Chemical Manufacturing Industry] reactors and SOCMI distillation pro-
cesses);
• Selective Catalytic Reduction (SCR) controls to all utilities;
Low-No* Burners (LNB) (or equivalent) controls to all industrial and institutional point
sources; and
• all other stationary-source VOC controls as specified in CS01.
D-5
-------
D.2.12 CS11 - Maximum Technology NO, Controls
This strategy is designed to examine the effects of NO* controls only. NO* emissions are the same as
in CS10. VOC and CO emissions are at the new 2005 levels.
D.2.13 CS12 - Enhanced Maximum Technology VOC Controls
This strategy is designed to examine the affects of the new enhanced VOC control measures. VOC
and CO emissions are the same as CS10. NO* emissions are at the new 2005 levels.
D.2.14 CS13 - Point-Source Maximum Technology NO> Controls
This strategy is designed to examine the effects of controlling major point-sources of NO* emissions
(utilities, industrial and institutional boilers) with enhanced maximum technology VOC controls
measures. NO* point-source emissions and all VOC and CO emissions are the same as CS10.
Mobile- and area- NO* emissions are at the new 2005 levels.
D.2.1S CS14 - Mobile-Source Maximum Technology NOv Controls
This strategy is designed to examine the effects of mobile-source NO* controls with enhanced maxi-.
mum technology VOC control measures. NO* mobile emissions and all VOC and CO emissions are
the same as CS10. Point- and area- NO* emissions are at the new 2005 levels.
D-6
------- |