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

-------