United States      Office of Research
Environmental Protection  and Development
Agency         Washington, DC 20460
                             EPA-600/R-98/069(b)
                             June 1998
&EPA   EPA Third-Generation
        Air Quality Modeling System

        Models-3 Volume 9b
        User Manual
            APPENDICES

-------
APPENDIX A




  Glossary

-------
Accumulation Mode. A convenient term that describes the size range of the mass of aerosol
particles with diameters nominally between 0.1 and 1.0 micrometers.  The term is based upon the
concept introduced by Kenneth Whitby that particles in this size range accumulate in the
atmosphere from the growth of much smaller particles (See Aitken mode).  The growth may be
from new mass condensing on the smaller particles or from the coagulation of the smaller
particles.

Adaptive Grid.  A grid structure that varies during model execution according to the value(s) of
some model parameter(s). For example, in a photochemistry model, grid resolution may
automatically increase in areas of high spatial  gradients of NOX. This  allows more accurate
determination of plume-to-background concentration ratios, which greatly influence
photochemical ozone production. In a meteorological model, an adaptive grid may automatically
increase the grid resolution in an area of modeling where there is a large atmospheric pressure
change across a grid cell.

Air Quality Modeling System. A computational system environment that combines a set of
physical and chemical models which describe  atmospheric processes that are important to trace-
gas and particulate matter distributions in the atmosphere.  These systems typically include
meteorological models, emissions models, chemistry transport models, and the analysis and
visualization tools necessary for supporting  decisions related to air quality.

Aitken Mode.  The term describes the size range of the mass of  aerosol particles with
diameters nominally between 0.01 and 0.1  micrometers.  Such particles are formed in the
atmosphere by nucleation of gas-phase precursors or by direct emissions from sources. The
most common source is combustion .

Alpha.  Digital Equipment Company workstation.

Arakawa-B. Horizontal grid staggering system described by Arakawa-B and Lamb (1977).
Mass variables and momentum variables are defined on separate horizontal grids of spacing
equal to delta-x.  The two grids are offset by 0.5 * delta-x in the north-south and east-west
directions.  A sample grid is shown in Figure 5-2.

ARC/INFO. A high-end Geographical Information System with  capabilities for the automation,
modification, management, analysis, and display of geographical information.

ArcPlot. Plot subsystem of ARCInfo.

Automatic QC.  Quality control^correction is  accomplished automatically without user
intervention.
                                          A-l

-------
 Bookmark.  In on-line help, a bookmark marks an entry of a help document so it can be quickly
 accessed later.  A list of bookmarks appears in the Bookmarks Menu on the help browser
 window and also in the bookmark's window. Each item on the list is a hypertext link to a
 marked entry.

 Check.  Read a file or a set of data, compare the read values against specific criteria
 defined by the user and/or the software.

 Chemistry-Transport Model (CTM). A model that simulates various physical and chemical  •
 processes that are important for understanding atmospheric trace-gas distributions.  The
 processes include atmospheric transport; vertical mixing; atmospheric chemistry  in the gas phase,
 in the aqueous phase, and in aerosols; cloud mixing and precipitation scavenging; and surface
 removal processes. Generally, a chemistry-transport model relies on a meteorological model for
 the description of atmospheric states and motions, and depends on an emissions model for the
 description of anthropogenic and biogenic emissions that are injected into the atmosphere.

 Class. A collection of software modules associated with a science process.

 Community Multi-Scale Air Quality (CMAQ).  This type of model simulates various physical
 and chemical processes for understanding atmospheric trace-gas distributions.  The processes
 include atmospheric transport; vertical mixing; atmospheric chemistry in the gas  phase, in the
 aqueous phase, and in aerosols; cloud mixing and precipitation scavenging; and surface removal
 processes. Generally, a CMAQ model relies on a meteorological  model for the description of
 atmospheric states and motions, and depends on an emissions model for the description of
 anthropogenic and biogenic emissions that are injected into the atmosphere. CMAQ models will
 typically include a variety of interchangeable modules.

 Conforming Datasets. Conforming datasets are in I/O API format.  Most programs (models
 visualization and analysis routines) in the Models-3 system are able to read and write conforming
 datasets. This capability eliminates the need for data  conversions en within a distributed
 computing environment.

 Conforming Programs.  Conforming programs generally use the I  () API library routines for
 reading and writing data.  Key data structures are defined b\ global 1\ shared information.  You
 define this critical data structure information once, and it is automatically made available for use
 in conforming code throughout the system. This globally shared information is permanentlv
 stored as objects in an object database. In Models-3. these objects are a stored  collection of
related information, such as grid dimensions and resolution, coordinate system definitions.
chemical mechanism species, and reactions.
                                          A-2

-------
Control Equipment Efficiency.  The overall collection efficiency in weight percentage for all
control equipment applicable to pollutants at the projected pollutant segment level. Valid values
are 0.001 through 99.999.

Cray.  A powerful vector supercomputer.

Daemon.  A process that runs in the background independently and performs a function. An
example is a printer daemon which controls the job queue for the printer.

Dataset Manager.  Use Dataset Manager to manipulate files for use with models and analysis
programs within Models-3.  You can access any data file on your network as long as you have
appropriate permissions and provide a full pathname.  Registering data will simplify and speed
up your search for and access to a particular file, by enabling the use of browsers and keyword
selections.  Some metadata is required to initially register a dataset,. but once it is registered you
can easily access a dataset anywhere on the network through use of your mouse.

Decision Support System.  An automated system that provides information for decision making.

Emission Model. This type of model simulates the emissions of trace gas and particulate matter
into the atmosphere under ambient meteorological conditions and socioeconomic activities.
Emissions from both natural and man-made sources are modeled.  Emissions modeling is an
important component of air quality modeling systems because it is the chief forcing function of
CMAQ models.  Emissions models will typically include a variety of interchangeable modules.

Environmental  Modeling System. A set of computational models that mathematically
represent a simplified version of real-world phenomena, along with the necessary mechanisms
for managing the processing, the data produced by it, and the analysis and visualization tools
necessary for making related decisions. (This could be the creation and behavior of
environmental pollutants as a function of weather and chemical interactions.) Researchers use
these "scaled-down" versions of the world to perform experiments that would be too dangerous,
too costly, or simply impossible in the real world.

Eulerian.  Fluid  motion specification where one concentrates on  what happens at a spatial point.
x. so that independent variables are taken as x and /.

Exploratory Models.  Test bed models for developing scientific  algorithms, which are not
thoroughly reviewed and evaluated. (See operational models and screening models.)

FORTRAN.  Formula translator (computer programming language).
                                          A-3

-------
Framework. A system of mechanisms to manage the scheduling and execution of
computational models, the data produced by them, the analysis and visualization tools necessary
for understanding their results for decision making, and the interfaces to all these capabilities.

Framework Administrator.  A function of Models-3 which centralizes the administrative tasks
of each Models-3 framework subsystem and provides a uniform interface. Administrative tasks
include monitoring, tuning, and maintaining. Refer to the Models-3 Installation Manual for
information on using the Framework Administrator subsystem.

FSVIEW. Full screen editor used with the SAS programming language (one of the optional
pieces of SAS, but required by Models-3).

Generalized Coordinate System. A scheme for constructing coordinate systems that allows for
choices of horizontal map projection type (e.g., Lat./Lon., Lambert, Mercator, Stereographic
Universal Transverse Mercator, or Matrix) and projection parameters, as well as for choice of
various vertical coordinate type (e.g., Pressure Coordinate, Height above Ground, Height above
Sea Level, Sigma-P Hydrostatic, Sigma-P Non-Hydrostatic, and Sigma-Z). The advantage of a
generalized coordinate system is that a  CMAQ model can adapt to a variety of different
possibilities in horizontal and vertical parameters.

Generic  Grid System. A scheme for constructing grid systems that allows for  choices of origin,
orientation, and spatial resolution.  It allows a model to be expressed in a grid system that is
optimal for representing the governing  equations. For a regular, rectangular grid system,
mapping gridded data to the earth's surface can be achieved by defining the number of rows and
columns, cell size, and location and extent.  For an irregular grid system, grid intersections
(nodes) are described by coordinates  from a reference position.

Geocoded. An entity with an identifier associated with geographic boundaries  (i.e. state or
county code).
                                                                            wavs.
Geographic Information System. A computer-based system for managing, analyzing
manipulating, and displaying geographic information in both numeric and graphical \va\

Geospatial. Refers to the spatial extent of a geographic boundary.

GIS.  Geographic Information System.  A computer-based system for the management, analysis.
manipulation, and display of geographic information in both numeric and graphical ways.

Grid. A rectangle defining the extent of an area (domain) considered for a study.  A grid is
subdivided into smaller rectangles, usually squares, called grid cells.
                                          A-4

-------
Grid Cell. The smallest subdivision of a grid.

Grid Resolution. Length of shortest side of a rectangular grid cell.

Gridspec. A MEPPS directory level. It contains the files that have been temporalized (i.e., the
emissions have been processed from data extracted over an expanse of time) and gridded (or are
to be gridded). If a Gridspec directory is not predefined, then use the MEPPS Main
Menu/Session to create one.

Growth Factor. An adjustment factor used to estimate the growth in a source's activity level
between the inventory base year and a projected year. Valid values are 0.00 - 99.99

Help Browser Window.  The help server displays the help browser window when providing on-
line help for an application.  The browser displays entries of a help document; you can step to
adjacent entries in the document, or jump to other entries in the help document set by using
hypertext links.

Heterogeneous, Distributed Computing Environment.  A heterogeneous computing
environment consists of multiple machines of different types (for example, supercomputers,
graphics workstations, and workstation file  servers).  A distributed computing environment
permits the execution of a large computational task to be shared by multiple machines linked
together by a network.  Thus, a heterogeneous, distributed computing environment consists of
many different kinds of machines networked together.

Hydrostatic. Used to indicate that model assumes that the atmosphere is in hydrostatic
equilibrium, i.e. surfaces of constant pressure and constant mass coincide and are horizontal
throughout.  Complete balance exists between the force of gravity and the pressure force.

Hypertext Link.  A hypertext link is a specially designated word or phrase displayed in text that
has been saved in hypertext (html) format.  A hypertext link provides nonsequential access to
other entries in a document set. In Models-3 the "Help" facility is done using hypertext.
Hypertext linking is done to all help entries.

IDA. The Inventory Data Analyzer used for input and quality control checks of emission
inventories.

Input/Output Application Programmer Interface (I/O API).  A software library that reads
and writes files. It uses an internal data format that is machine independent and that conforms to
the widely used University Corporation for  Atmospheric Research Network Common Data
Format (netCDF). The I/O API files contain self-describing headers with complete information
that is necessary to use and interpret the data contained in the file. The Models-3 I/O API format

                                          A-5

-------
 is slightly more restrictive than the standard netCDF format, on how the header information must
 be written. The I/O API library provides a variety of data structure types and a set of reusable
 access routines that offer selective direct access to the data in terms that are meaningful to the
 environmental modeler. Supported data types include gridded, boundary, vertical profile, grid
 nest, time series, and event-driven.

 Internal.  With respect to Models-3 data, the data are available within the software. The user
 does not have to provide them (look-up tables, ranges, list of state/county names).

 Inventory. With respect to the Models-3 emission system, inventory refers to a file or a
 database containing emission data for a specific set of pollutants for a specific time period
 (typically for the entirety of a specific year) for an area (country, states, counties).

 Irix. Operating system for SGI computers.

 Keyword. A keyword is a word or phrase, up to 40 characters long, that can be used to locate an
 entity in help text or to locate a Models- object (e.g., dataset, program, study, or model) using a
 "find" screen.

 Linux. A UNIX-like operating system for IBM PCs and compatibles that use Intel 386, 486,  or
 Pentium chips.  It is available and re-distributable under the terms of the GNU Public License.

 Massively Parallel Processing. Computer processing employing multiple CPUs to execute
 multiple computational tasks simultaneously.  Massively parallel  systems employ a large number
 of CPUs simultaneously on the same task.  In contrast, conventional computer design uses a
 single CPU to perform computational tasks in a strictly linear, sequential order.

 Mesoscale. In meteorology, phenomena or processes that have a temporal and horizontal spatial
 scale smaller than the conventional rawinsonde network, but significantly smaller than  individual
 cumulus clouds.  This implies that the horizontal to several hundred kilometers, with a time scale
 of approximately 1 to 12 h. The vertical scale extends from tens of meters to the depth of the
 troposphere. From Pielke (1984).

 Metadata.  Information about data and about the processes that produced them.  In particular,
 information about the data's structure, internal characteristics and history, and location  within a
 data storage environment, as well as information derived from the data.

 Meteorological Model.  This type of model provides descriptions of atmospheric motions,
 momentum, moisture, heat fluxes, turbulence characteristics, clouds and precipitation, and
.atmospheric radiative characteristics.  Most meteorological models currently in use for  air quality
 modeling were originally developed for the prediction of weather. CMAQ models require

                                            A-6

-------
information from a meteorological model that is designed to address specific issues relevant to
air quality modeling (such as planetary boundary layer information, cloud distribution and
mixing characteristics, precipitation, and surface fluxes) rather than the specific problems of
weather forecasting.

Mie scattering. A generalized particulate light-scattering mechanism that follows from the laws
of electro-magnetism applied to particulate matter.

Mixed-media. Simultaneously involving more than one environmental pollutant medium, such
as air and water.

Mobile 5a.  A computer application that calculates emission factors for on-road mobile vehicles.

Model. A representation of a planned or existing object or condition.

Model Builder (person).  Applied scientists and software developers who construct and study
theories to explain physical and chemical processes, and use computer models to study their
theories.

Model Builder (Models-3 component). Model Builder allows a user to select grid location and
resolution, and chemistry mechanism to build an executable model suited to user needs.  It also
allows a model developer to select alternative formulations of individual science components to
build customized models for exploratory studies and assists with the development of
configuration files for creating new model executables from existing, modified, or new science
processes.

Model User.  Research, production, or quality assurance person (i.e., applied scientists and
engineers) who generates valid input for the modeling systems, runs the modeling systems.
maintains audit trails, analyzes input and output for correctness, and produces analyses of the
modeling results.

Modeling Structure.  A design specification that provides the paradigm of operation and the
interlace specifications for the  modules used to construct a particular family of models.  In a
CMAQ model, for example, the paradigm is that modules act as operators upon a shared
concentration field, and four types of interfaces (call  interfaces, INCLUDE-file interfaces, I/O
interfaces, and UNIX-environment interfaces) must be specified.

Modeling System.  A set of computational models and associated data processors that together
provide for the simulation of processes of interest.
                                           A-7

-------
Models-3. The third generation air quality modeling system. It is a flexible system that
addresses multiple air quality issues, such as regional and urban scale oxidant and acid
deposition.

Models-3 Components. The different subsystem within the Models-3 framework.  Each
component is represented by its own icon. The available components are: Dataset Manager,
Model Builder, Program Manager, Science Manager, Source Code Manager, Strategy Manager,
Study Planner, Tools Manager, and Framework Administrator.

Module.  A subset that is part of a larger program (such as meteorological, emissions, or
CMAQ).  In a modular program, all modules of a particular type (e.g.. those that compute dry
deposition) are interchangeable, allowing you to replace one module with another to determine,
for example, how each module affects modeling results.  Examples of modules include science
modules and analysis and visualization modules.

Monotonic. A quality of strictly increasing or decreasing within some interval.

Multi-level Nesting. Multi-level nesting refers to employing nested grids within nested grids.
possibly several levels deep.

National Inventories.  Refers to standard inventories such as the 1990 Interim and the 1995-
NET.

Nested Grids. Nesting refers to fitting a finer-resolution grid over part of a coarser-resolution
grid.  The finer-resolution grid receives information (such as boundary conditions) from the
coarser-grid simulation.

Non-conforming Datasets. Non-conforming datasets are ones that are not in I/O API format.
They  can be used in  the Models-3 framework by programs that arc specifically designed to read
those  datasets. When non-conforming datasets and programs arc used, however, you must know
how to match programs and datasets. and which data formats and programs are transportable to
different machine architectures.  Those considerations are automatically managed by the
Models-3 framework for those using conforming  datasets and conforming programs.

Non-hydrostatic. Used to indicate that the model does not assume that the atmosphere is in
hydrostatic equilibrium.  Air is not assumed to have only horizontal motion relative to the earth.

NQS. The Network Queuing System provides a means to submit batch jobs to local and remote
UNIX machines.
                                          A-8

-------
Operational Models. These models offer fully functional modeling of relevant science
processes such; as atmospheric, emissions, and chemical transport processes. They represent the
current state-ofrthe-art that has undergone significant quality assurance review, peer review, and
evaluation. The turnaround time for these models is generally much longer than for screening
models but short enough lo allow episodic studies.

Orbix. Registered software product of IONA Technologies, Ltd. used as the object request
broker within the.Models-3 framework system.

Other Inventories.  Refers to any non-National Inventory.

Parameterize.  To create an algorithm that describes the average large-scale behavior of a
physical phenomenon, rather than describing the subgrid-scale behavior in terms of the
underlying physics and chemistry. For example, a parameterized cloud algorithm  might describe
average cloud^behavior over 80-km-square cells, although the individual clouds are much smaller
that 80 km across.

Planetary Boundary Layer.  The portion of the atmosphere adjacent to the earth's surface.
This layer generally ranges from 100 m to 2 km in height and is significantly influenced by
surface effects;(e:g., heating, friction).  These effects cause the layer to be well-mixed, which
affects the distribution of pollutants in the air.

Pop-up Window. A  pop-up window is a special window for displaying an on-line help entry.
The window opens when you select a specially designated hypertext link.  Pop-up  windows are
useful for quickly displaying short, concise  units of information.  You cannot jump or step to
other entries from a pop-up window.

Prepare.  Read and process a file or a set of data.

Process.  Read a file  or a set of data, perform the desired functionality (QC. reformatting.
algebraic  operations, etc.) and  submit the processed data to the next set of actions.

Process Analysis. Traces the  source(s) of a chemical species within a simulation.  One example
of process analysis is  determining whether a species concentration originated within the cell in
which it is found or within some other cell(s). Another example is determining what chemical
constituents were involved in creating a species produced by reaction (rather than transported
from somewhere else).

Program Manager.  Use Program Manager to manipulate executable programs.   During
registration, enter characteristics of programs into the framework. These programs are used in
the Study Planner to define studies.

                                          A-9

-------
 QC.  The act of reading data (inventories, files), checking them for correctness,
 and/or completeness, and/or consistency.  QC may involve automatic correction, substitution, or
 the filling of the missing data. All QC processes are followed by QC reports.

 Query Mode. Query mode designates how context-sensitive help is displayed for an
 application.  Help for an application in query mode is displayed in the help browser when you
 make a request. The browser is not updated until you make another request. In query mode,
 request help by pressing the  key.

 Register Data. When you register data, you are making something that already exists (e.g., a
 file) known to the system.

 Rule Effectiveness Percent. An adjustment to projected estimated emissions data to account
 for emissions underestimates due to compliance failures and the inability of most inventory
 techniques to include these failures in an emission estimate. The adjustment accounts for known
 underestimates due to noncompliance with existing rules, control equipment downtime, or
 operational problems and process upsets.  Valid values: 0 to 100.

 Rule Penetration Percent.  An adjustment to projected estimated emissions data to account for
 emissions underestimates due to failure to implement rules throughout the area of intent. Valid
 values: 0 to 100.

 Scalable.  In the context of parallel computer architectures and algorithms, a parallel architecture
 or algorithm is termed scalable if its performance behaves linearly in terms of the number of
 processors employed. For example, doubling the number of processors does not cause new
 communications bottlenecks to appear, but doubles the performance achieved.

 Scale Flexibility.  The modeling system's ability to accurately simulate physical and chemical
 processes that describe atmospheric pollutants at different spatial and temporal scales. A
 modeling system with scalable algorithms for physical and chemical processes and with a
 generic grid system has this quality.

 Science Manager.  Use the Science Manager to register the basic scientific components (i.e..
 spatial, temporal, and chemical) that are involved in the simulation. Thereafter, other parts of
 the system u ill use what you have registered here.  This saves you from having to enter spatial.
 temporal, or chemical specifications more than once.

 Science Module. A component that is part of a modeling program (such as a meteorological,
 emissions, or CMAQ) and that computes data for a discrete category of environmental
phenomena (e.g., dry deposition, photochemistry, vertical advection).
                                          A-10

-------
Screening Models. These models have simplified science processes designed for quick
assessment studies. Use these models when you are willing to sacrifice some accuracy for faster
turnaround time. A typical screening study involves making a large number of runs in order to
identify episodes or situations that warrant more detailed modeling.

Source.  A MEPPS directory level subordinate to the Study directory.  It contains ASCII-format
files such as INPRO-processed emission files. If the Source directory is not predefined, then you
can define it via the MEPPS Main Menu/Session.

Source. With respect to air pollution, a point, area, or mobile source that produces and/or emits
air pollutants.

Source Classification Code (SCC).  The SCC system is used for classifying emissions sources
at the level of individual processes (e.g., automobiles, boilers, solvent sources) within an
emissions data inventory.

Source Code Manager. Use Source Code Manager to store or retrieve source code for
conforming scientific models. It allows you to retrieve a version of a source code file, change it,
and return it to the code archive after the change has been tested. Once this file has been
returned to the archive, all other users who check out the file will see your version of the file. It
tracks historical information on the source code. Source code is changed by scientists, not by the
regulators. It is distributed to the regulators because they must compile a model with their own
grid. The compilation program uses Source Code Manager.

Speciation. In Models-3, speciation refers to using one of the chemical mechanisms available
with Models-3 to disaggregate a chemical substance (pollutant) into simpler compounds.

Species.  Typically, a chemical substance  or group of related substances whose behavior is
modeled during environmental simulation modeling.

Strategy Manager.  Use the Strategy Manager for air quality problems to project point-, area-.
and mobile-source emissions contributions, and to estimate the relative effectiveness of control
scenarios. You may adjust pollutant growth factors and emissions control factors to perform
"what if analyses.  These factors are applied to EPA 1990 (base year) inventories to project
future-} ear emissions. Other run-defining parameters you may select are: Geographic coverage
(EPA-region. state, county, or user-defined area); Pollutant type (CO, NOX, PM10. SO2. or
VOC): Emission source type (Point,  Area, and/or Mobile); Source Classification Codes (SCCs);
Projection year(s) (1991 through 2010).

Study. A MEPPS directory level. If the Study directory is not predefined, then you can define
it via the MEPPS Main Menu/Session.

                                          A-ll

-------
 Study Planner.  User Study Planner to manipulate (save, edit, delete, etc.) a study and to
 execute its processes. The Study Planner allows you to graphically enter each program and
 dataset, and to enter how they connect to make a plan.  Multiple plans are allowed in each study
 to allow for different approaches and/or different segments. Once a plan is entered with its
 graphical diagram, the plan can be executed.

 Sub-grid-scale Phenomena. Modeling phenomena that occur on a scale smaller than the grid
 resolution of the  modeling system, such as point-source plumes and convective clouds.

 Summary report.  Generally refers to an automatic short report generated after the execution of
 a process.

 Surface Fluxes.  The exchange of material, energy, or momentum between the surface of the
 earth and the atmosphere.

 Table of Contents Window. With  respect to the Help facility in Models-3, the table of contents
 is a window available from the help browser window that lists the help documents in a help
 document set.  The table of contents window also lists the entries for each help document.  The
 entries listed are  hypertext links. Selecting an entry from the list displays it in the help browser
 window.

 Televisualization. Visualization across distances. For example, a scientist in Boston may use
 network technologies to display images on the graphics workstation of a scientist in Atlanta, thus
 permitting the two scientists to conduct a real-time discussion (e.g., via telephone or
 workstation) of the scientific processes being illustrated without requiring physical proximity.

 Time step. A time step is a fixed unit of time.  A model may have one or more internal time
 steps for various processors. In the Models-3 framework, "time step" is used to indicate the
 length of time between output of variables from the model.  Another term might be "output time
 interval."

 Tools Manager.  Use the Tools Manager to access third-party applications (tools) that are
 registered with the Models-3 framework.  The third-party applications that are available are
 ARC/INFO, VisSD, MEPPS, PAVE, SAS, and VisDriver. The Tools Manager allows you to
 add tools to the system that will help you facilitate your work.

 Unicos.  The name of the Cray supercomputer operating system.

 Vised. A system for interactive visualization of large 5-D gridded meteorological or air quality
.data developed by the University of  Wisconsin Space Science Center.  It is widely used by
                                          A-12

-------
scientists to visualize the output from numerical simulations of the earth's atmosphere and
oceans.

VisDriver.  A graphical user interface for finding and selecting Models-3 data files on local or
remote hosts and launching various visualization applications on the data.

Visualization. An important aspect of scientific computing that provides a method for
presenting data quickly and compactly that is easy to understand.
                                          A-13

-------
APPENDIX B




  Acronyms

-------
2-D             Two-dimensional
3-D             Three-dimensional
5-D             Five-dimensional
ADE           Atmospheric Diffusion Equation
ADT           Atlantic Daylight Savings Time
AE             Aerosol
AIRS           Aerometric Information Retrieval System
AML           ARC/INFO Macro Language
AREAL         Atmospheric Research and Exposure Assessment Laboratory
ASCII          American Standard Code for Information Interchange
AVHRR        Advanced Very High Resolution Radiometer from satellite platforms
AVS           Application Visualization System
BCON          The boundary conditions processor
BEIS2          Biogenic Emissions Inventory System
CAA           Clean Air Act
CAAA          Clean Air Act Amendments
CASE          Computer-Aided Software Engineering
CB-IV          Carbon Bond-IV
CCM2          Community Climate Model Version 2
CCTM          CMAQ Chemistry-Transport Model processor
CE             Control Efficiency
CEM           Continuous Emission Monitoring
CENCODE      Census Track Code
CHIEF          Clearinghouse for Inventories and Emission Factors
CLIM           Climatological tables
                                       B-l

-------
 CMAQ         Community Multi-Scale Air Quality
 CO             Carbon Monoxide
 CORBA        Common Object Request Broker Architecture
 CPU           Central Processing Unit of a computer
 CTM           Chemistry-Transport Model
 CVS           Concurrent Versions System
 CYID          FIPS County Code
 DAG           Directed Acyclic Graph
 DATAGRID     Background fields pre-processor for MM5
 I) X             Data Explorer
 I -CiAS         Economic Growth and Analysis System
 I • CIP           Emissions-Chemistry Interface Processor
 1 C'MTOGA     European Centre for Medium-range Tropical Ocean and Global
                Atmospheric Program
 i CMWF        European Centre for Medium-Range Weather Forecasts
 i 1)S            Eastern Daylight Savings Time
 ! 11P            Emission Inventory Improvement Program
 : MIIS         Eulerian Model Evaluation Field Study
 i \! l'R()         MEPPS Emissions Processor
 i Ms            Emissions Modeling System
 : Ml   NO        Emission Factors for NO
 ! Ml   ()V( )C     Emission Factors for Other VOCs
 IMP  1SOP      Isoprene Emission Factor
 i \1P_T1-RP     Monoterpene Emission Factor
1 PA             Environmental Protection Agency
                                       B-2

-------
EPM           Emissions Projection Module
ERCAM        Emission Reduction and Cost Analysis Model
ESDLS         EPA Spatial Data Library Systems
ESRI           Environmental Systems Research Institute
EST            Eastern Standard Time
ETSD          Enterprise Technology Service Division
FDDA          Four-Dimensional Data Assimilation
FHA           Federal Highway Administration
1 IPS           Federal Information Processing Standard
I IRE           Factor Information Retrieval System
FPF.            Future Projected Emissions
I REDS         Flexible Regional Emission Data System
FTP            File Transport Protocol
(IB             Gigabyte
(iHMAP        Geocoded Emissions Modeling and Projection
(IliMPAK       The General Meteorology Package
dl              Growth Factor
(.IP             GEMAP Input Processor
uIS             Geographic Information System
(ilSDB          Geographical Information System Data Base
(i \ I            Genera] Public License
(i( >P            GEMAP Output Processor
(ir -\I)S          The Grid Analysis and Display System
i i I' I             Graphical User Interface
H PCC          High Performance Computing and Communication
                                       B-3

-------
 HTML          HyperText Markup Language
 I/O API          Input/Output Application Programming Interface
 IC/BC           Initial Conditions/Boundary Conditions
 ICON           Initial Conditions Processor
 IDA             Inventory Data Analyzer
 IEEE            Institute of Electrical and Electronics Engineers, Inc.
 INEGI           Institute Nacional De Estadistica Geografia E Informatica
 INPRO          MEPPS Input Processor
 INTERP         Interpolation pre-processor for MM5
 IOV             Initial Operating Version
 IRR/MB         Integrated Reaction Rates/Mass Balance Analysis
 JPROC          Photolysis Rate Processor
 LAN            Local Area Network
 LRPM           Lagrangian Reactive Plume Module
 LUCODE        Land-use/Landcover Code
 LUPROC        Land-use Module in MCIP
 MCIP            Meteorology-Chemistry Interface Processor
 MDS            Mountain Daylight Savings Time
 MECH           Chemical Mechanism Reader
 MEDA           Model Evaluation Data Archive
 MEIIIP          Models-3 Emission Inventory Independent Input Processor
 MEPPS          Models-3 Emission Processing and Projection System
MEPRO          Models-3 Emissions Projection processor
MEPSE          Major Elevated Point Source Emission
MM4            Fourth-generation Mesoscale Meteorological Model
                                       B-4

-------
MM5
MM5v2

MOLWT
MoVEM
MP
MPP
MPS
MS
MSS
MST
NAAQS
NAPAP
NASA
NCAR
NCEP
NDDN
NDPD

NET
NetCDF
NHPN
NMC
NOX
NOAA
NQS
Fifth-generation Mesoscale Meteorological Model
Fifth-generation Perm State/NCAR Mesoscale Meteorological Model
Version 2
Molecular Weight
Motor Vehicle Emission Model
Mechanism Processor
Massively Parallel Processing (or Processor)
Multiple Projection System
Modeling System
Mass Storage System
Mountain Standard Time
National Ambient Air Quality Standards
National Acid Precipitation Assessment Program
National Aeronautics and Space Administration
National Center for Atmospheric Research
National Centers for Environmental Prediction
National Dry Deposition Networks
National Data Processing Division (now Enterprise Technology Service
Division)
National Emission Trends
Network Common Data Format
National Highway Planning Network
National Meteorological  Center
Oxides of Nitrogen
National Oceanic and Atmospheric Administration
Network Queuing system
                                       B-5

-------
 NR             Non-reactive



 NWS            National Weather Service



 OAQPS         Office of Air Quality Planning and Standards



 OO             Object-Oriented



 OTAG          Ozone Transport Advisory Group



 OUTPRO        Output Processor



 PACP           Process Analysis Control Process



 PAVE           Package for Analysis and Visualization of Environmental Data



 PEL            Planetary Boundary Layer



 PC              Personal Computer



 PDM            Plume Dynamics Model



 PDS            Pacific Daylight Savings Time



 PinG            Plume-in-Grid Modeling



 PM2.5           Particulate matter up to 2.5 microns



 PM10            Particulate matter up to 10 microns



 POLID          Pollutant Identifier



 PST             Pacific Standard Time



 PSU             The Pennsylvania State University



 QA              Quality Assurance



 QC              Quality Control



 QSSA            Quasi'Steady State Approximation



 RADM           Regional Acid Deposition Model



 RAMS           Regional Atmospheric Modeling System



RAOB            Rawinsonde Upper Air Observations



RAWINS         Objective Analysis Pre-processor for MM5
                                       B-6

-------
RDBMS
RE
RFP
ROG
ROM
ROMNET
ROP
RP
RTS
SAPRC
SAROAD
SAS
SCCS
SCION
SDC
SDF
SENIOR
SERON
SGA
SGI
SIC
SIP
SMVGEAR
SOC
Relational Database Management System
Rule Effectiveness
Reasonable Further Progress
Reactive Organic Gases
Regional Oxidant Model
Regional Oxidant Model for Northeast Transport
Rate of Progress
Rule Penetration
Run Time System
State Air Pollution Research Center
Storage and Retrieval of Aerometric Data
Statistical Analysis System
Source Code Control System
Southeastern Consortium: Intermediate Oxidant Network
Systems Development Center
Software Development File
Southeastern Network for Intensive Oxidant Research
Southeast Regional Oxident Network
Selected Geographical Area
Silicon Graphics Incorporated
Standard Industrial Classification
State Implementation Plan
Sparse Matrix Vectorized Gear
Sulfur Dioxide
Semivolatile Organic Compounds
                       B-7

-------
SON            Spatial Ozone Network



SORPONA      Southern Oxidant Research Program for Ozone Nonattainment



SOS            Southern Oxidants Study



SODA          Southern Oxidant Study Data Archive



SPC            Species



SRS            System Requirement Specification



SST            Sea Surface Temperature



STID           FIPS State Code



StP/OMT       Software Through Pictures/Object Modeling Techniques



TAP            Temporal Allocation Factors



 I HRRAIN       Terrain and land use pre-processor for MM5



 IIGER          Topologically Integrated Geographic Encoding Referencing



 1 (>G            Total Organic Gases



 ! i )MS          Total Ozone Mapping Spectrometer



 IR             Tracer



 i IN            Technology Transfer Network



1   \\1           Urban Airshed Model



  i -\R          University Corporation for Atmospheric Research



  Kl             Uniform Resource Locator



  sl \' \          United States Environmental Protection Agency



  MiS           United States Geological Survey



!  I (             Universal Time Coordinate



  I \ 1            Univeral Transverse Mercator



\ MI            Vehicle Miles Traveled



\ (>C            Volatile Organic Compounds
                                       B-8

-------
        APPENDIX C




User Interface Field Descriptions

-------
Address Type: Describes the information provided by the address. Click on the pull-down
menu button to view the address types. Values are:

•      Mailing.
•      Physical.
       Both.

Adjust Invent to TOG:  Adjust Inventory to Total Organic Gases.

Angle from True North to Y-Axis: A parameter of the Stereo graphic Map Projection.

Angle between Cylinder Axis and North Polar Axis: A parameter of the Mercator Map
projection in degrees.

Animation Rate: Rate of displaying a sequence of similar screens in milliseconds.

Area:  Vis5D parameter for visualization area.

•      Argument Name.
•      Argument Value.

Author: The person who created the study.

Auto Contour: Selection button for PAVE to do automatic contouring.

Auto Register: Selection button to invoke auto-registration of dataset files into the Models-3
database.

Calculate: Click on these buttons to have the system automatically generate dates.

Calculate Date of Year: If you have entered the calendar date, click the Day of Year button for
the system to calculate the Julian day.

Calculate End: Once you have entered the start dates, click the End button far the system to
calculate the end date for the simulation. Used in conjunction with the number of time steps and
the duration of the time steps.

Cal Origin: Button on the Grid Definition page of the Horizontal Grid Detail Window. Used to
invoke calculation of a grid's X and Y origin based on any parent grid and row and column
offsets.
                                          C-l

-------
 Calculate Start: Once you have entered the end dates, click the Start button for the system to
 calculate the start date for the simulation.

 Case: Scenario (Metadata) specifications for a simulation run.

 Case ID: The unique identifier for cases generated by the Models-3 system.  This ID is
 guaranteed to  be unique across all Models-3 systems.

 Case Name: A 16-character name for a case.

 Case Status: The status of a case:

 •      Unprotected.
 •      Protected.

 Cell Size: The grid cell dimensions:

 •      Delta X. Grid cell size in X-direction (units depend on the horizontal coordinate system).
 •      Delta Y. Grid cell size in Y-direction (units depend on the horizontal coordinate system).

 Central Meridian: A parameter for the longitude of the central meridian in the Lambert Map
 Projection.

 Chem Mechanism or Chem Mech: A named entity that contains chemical reactions and
 reaction rate constants for the chemistry transport model.  It includes four species tables: gas
 phase, aerosol, non-reactive, and tracer.

 City: The city name of an organization or individual.

 Column  Offset: Offset (in cells) of the Southwest (SW) corner of a grid in the X direction (+ to
 the right. - to the left) relative to the SW corner of a parent grid.  If no parent grid exists, then the
 offset is zero.

 Columns: The number of grid-cell  columns in a grid.  Specified on the Grid Definition page of
the Science Manager Grid Detail Window.

Command Line: The command along with flags and options that is used to initiate a process.

Commands Archive: The command used to archive the dataset.  Based on your selection of a
hardware device, an archive command line is generated and displayed in this field.  It can be
modified.

                                           C-2

-------
Commands Restore: The command used to restore the archived dataset.  Based on your
selection of a hardware device, a restore command line is generated and displayed in this field.

Comments: The field for additional comments that provide greater detail than the short
description field, relating to the latitude, longitude, and vertical component.

Compiler: The compiler, which includes the version used for creating the executable.  Click on
the pop-up selection button to view options.

Compiler Command: The compiler invocation command line including flags and options:

       f77 ... for the FORTRAN 77 compiler.
•      cc ... for the C/C++ compiler.

Compiler Flags: Options given to a run of the compiler when creating an executable program.

Compute Program: The program or command that was executed against the dataset.  Enter a
program, or click on the  pop-up selection button to navigate to the  Select Program pick list to
select one.

Config File:  A file of model configuration information used by CVS to assembled the pieces
needed to build an executable model.

Config ID:  A unique identifier assigned to each configuration file generated by Models-3. This
ID is guaranteed to be unique across all Models-3 systems.

Config Name: A 16-character name for a configuration file accepted by the bldmod processor.

Config Status:

•      Protected.
•      Unprotected.

Contact Name: The name of the person responsible for the dataset or  an event.

Contact Organization: The name of the organization responsible  for the dataset or an event.

Contact Position: The name  of the position responsible for the dataset or an event.
                                          C-3

-------
Contact Type: The contact type. Click on the pull-down menu button to view contact types,
either meta data or dataset.

Contact User ID: The User ID of the person responsible for the dataset or an event. Click on the
pop-up selection button to view the Contact List.

Contour Range: PAVE parameters. See PAVE documentation.

•      min.
•      max.

Coordinate System ID: The unique identifier for coordinate systems generated by Models-3.
This ID is guaranteed to be unique across all Models-3 systems (See also Horizontal Coordinate
System).

Coordinate System Name: A 16-character name for a (map) coordinate system (See also
Horizontal Coordinate System Name).

Coordinate System Type: See Horizontal Coordinate System Type.

Country: The country code for the organization or individual.
          In MEPPS: US (00), Canada (01) and Mexico (02).

CPP Flags: The  compile time flags passed to the C language preprocessor.

CPU Usage: The estimated CPU usage for running a 1-day simulation  (hours/days).

Creation Date: The date the (science) component was created (Sec Version Creation Date).

Created By: The identifier for the creator of a (science) component.

Cross Section: PAVE pop-up menu select button for type cross section to visualize.

       X.
       Y.
       Z.

Data File: A file  containing information.

Data File Host: Compiler host that houses a given data file.
                                         C-4

-------
Dataset Defaults Register: A toggle button that indicates whether the datasets created by the
plan should be saved.  Click the box to select. Click again to unselect.

Dataset Defaults Save Duration: The length of time, in days, that the datasets should be saved.

Dataset ID. See ID.

Dataset Name: The short name given to a dataset. This does not have to be a unique name.

Dataset Status:  Indicates the status of the dataset. Click on the pull-down menu button to view
status options. Values include:

•      Archived.
•      Online.
•      Removed.

Dataset Type: A predefined list of dataset categories. New dataset types may be added by the
System Administrator. Enter a dataset type, or click on the pop-up selection button to navigate
to the Select Dataset Type pick list to select one.  Predefined dataset types include:
       Air quality.
       Air quality AIRS.
       Air quality PAMS.
       Air quality simulated.
       Boundary condition.
       Chemistry.
       Demographic.
       Demographic census.
       Demographic tiger.
       Emissions.
       Emissions FIRE.
       Emissions area source.
       Emissions inventory.
       Emissions mobile.
       Emissions natural.
       Emissions point source.
       Emissions processed.
       Initial condition.
       Land use.
       Land use BEIS.
       Meteorology.
                                          C-5

-------
•      Meteorology NWS.
•      Meteorology processed.
•      Meteorology satellite.
•      Meteorology surface.
•      Meteorology upper air.
       Satellite AVHRR.
       Soil.
•      Solar radiation.
•      Terrain height.
•      Terrain height global.
       Terrain height USGS.
•      Weather.

Date: The date when an action was taken against a dataset. Default is the current date if nothing
is entered.

Date of Collection: The date when the latitude and longitude were researched or collected.  The
format is yyyy/mm/dd.

Day of Year: The date in the Julian calendar day, which can be a starting or ending date.  Enter a
Julian date, or if you have entered a calendar date in the date field, click the Calculate Day of
Year button for the system to calculate the Julian day.

Debug: A toggle button that indicates if the execution is in debug mode.  Click the box to select.
Click again to unselect.

Definition: The definition of the entity or attribute.

Definition Source: The source of the entity or attribute definition.

Delete Existing Files: Toggle switch on Study Planner's Annotate Node Properties window-to
delete or not delete existing files of the same name when a study plan is executed.

Delimited Method: A selection for the File Converter tool (under Tools Manager) relating to if
records of an ASCII file are fixed length or use a delimiter at the end of each record.

Description: A brief, 80 character long, textual description sufficient to identify an item from
among a  list of similar items.

Description Category: Describes the category of the feature referenced by the latitude and
longitude.  Click on the selection button to view description category values:

                                           C-6

-------
•      PG  Plant Entrance (General).
       PP   Plant Entrance (Personnel).
•      PF   Plant Entrance (Freight).
•      AS  Air Release Stack.
•      AV  Air Release Vent.
•      ST  Storage Tank.
       WR  Water Release Pipe.
•      SP   Lagoon or Settling Pond.
•      LW  Liquid Waste Treatment Unit.
•      AE  Atmosphere Emissions Treatment Unit.
•      SD  Solid Waste Treatment/Disposal Unit.
•      SS   Solid Waste Storage Area.
•      LF  Loading Facility.
•      LC  Loading Area Centroid.
•      PU  Process Unit.
•      PC  Process Unit Area Centroid.
•      AB  Administrative Building.
•      FC  Facility Centroid.
•      NE  NE Corner of Land Parcel.
       SE  SE Corner of Land Parcel.
       NW  NW Corner of Land Parcel.
       SW  SW Corner of Land Parcel.
•      CE  Center of Facility.
       WL  Well.
       WA  Well Protection Area.
•      WM  Water Monitoring Station.
•      AM  Air Monitoring Station.
•      OT  Other (name in comments).
•      UN  Unknown.

Device Name: The name by which a device is accessed on the computer. A device name might
be the name of a printer (e.g., Ic890).

Device Type: The type of hardware device where the dataset is stored. Enter a device type, or
click on the pop-up selection button to navigate to the Select Device Type pick list to select one.

Domain Codeset: By selecting Codeset, you access the Codeset Domain. Click on the Insert
button to access the Codeset Domain window. Enter information in the following fields:

•      Name:  Title of the codeset (required).
      Source: The authority for the codeset.

                                         C-7

-------
 Domain Enumerated: By selecting Enumerated, you access the Enumerated Domain.  Click on
 the Insert button to access the Enumerated Domain window. Enter information in the following
 fields:

 •      Value: Name of label of a member of the enumeration set.
 •      Definition: The definition of the enumeration set.
 •      Definition Source: The source of the enumeration set.

 Domain Range: By selecting Range, you access the Range Domain. Enter information in the
 following fields:

 •      Minimum: The smallest value that an attribute may be assigned.
 •      Maximum: The largest value that an attribute may be assigned.

 E-mail: The electronic mail address of the contact individual or position.

 Edit: Selection button for editing a file.

 Effective Creation Date: The creation date for this horizontal grid, which identifies the earliest
 date this version could be used in Models-3. The format is yyyy/mm/dd.

 Effective Expiration Date: The date on which a horizontal grid version was superseded by a
 later version. The format is yyyy/mm/dd.

 Emission Layers: Vertical layers for which emissions values are calculated. The bottom of the
 bottom layer can be relative to sea  level or ground  level. The top of the top layer is taken to be
 the top of the atmosphere.

 End: Selection from the Study Planner Plan Editing tool on the Plan Layout page. Used if the
 output from the plan is to  be passed to another file  server.

 End Date: The end date in calendar (yyyy/mm/dd) format.  Enter a date, or if you have entered  a
 date in the Day of the Year field, click the Calculate  Calendar button for the system to calculate
 the calendar end date.  Also, if you know the start date information and have entered it in the
 appropriate fields, you may click on the Calculate End button for the system to calculate the end
date.

End Time: The end time of the readings in the dataset. The format is in hh:mm:ss. Click on the
pull-down menu button next to the  time field to select A.M., P.M., or Military time.
                                          C-8

-------
Environment Host: The computer on which the dataset is located. Enter a host, or click on the
pop-up selection button to navigate to the Select Host pick list to select one.

Environment Medium Label: This identifies the offline medium of an archived dataset.

Environment Variables: The environment variables applicable to the active node.

Executable Full Path: The directory path and name of the program to be executed.

Executable Host: The computer host (name of the machine) that stores the physical executable
program file.

Execute: Selection button on the Study Planner's Plan Layout page used to initiate execution of
the plan.

Execution Host: The name used in  conjunction with the path name to determine where to
execute the plan. Enter an execution host name or click on the pop-up selection button to
navigate to the Select Execution Host pick list to select one.  This can be a read-only field if it
was created by Models-3.

Execution Path: The path, relative to the current directory, of the execute location. Enter an
execution full path or click on the pop-up selection button to navigate to the File Selection pick
list to select one. This can be a readronly field if it was created by Models-3.

Expiration Date: The date when a (science) component was/is to be rendered obsolete. Set by
the Models-3 System Administrator, or the last date before a superseding version takes effect.
(See Version Expiration Date.)

External Boundary Thickness: The number of cells along the perimeter of the grid that are
considered to be external to the simulation domain, but are still used for computational purposes.

File Format: The format of the file.  Click on the pull-down menu button to view the format
options. Values include:

       ASCII.
       IOAPI/NETCDF.
       OSF1  Binary.
       SAS.
•       Sun Solaris Binary.
•       Others.
•       Unknown.

                                          C-9

-------
 File Full Path: The path, relative to the current directory, to where the dataset will be copied or
 moved.  Enter a file path, or click on the pop-up selection button to navigate to the File Selection
 pick list to select one.

 File Host: The name used in conjunction with the path name to determine where to find the
 support file.  Enter a host name, or click on the pop-up selection button to navigate to the File
 Host pick list to select one.

 File, Size: The size of the file in KB.

 Filter:  One or more  entries on Find screens used to screen or "filter" entities from a larger pool
 (e.g., by a version number or the initials of the individual who last modified the entity).

 Flag Name: The name of a command line argument parameter.

 Flag Value: The value assigned to a Flag Name.

 Formula:  An expression for obtaining a result based on symbols and figures.

 Full Domain: PAVE  selection button to use the full domain.

 Generate: The Generate button has various behaviors. Usually, it will trigger the generation of
 FORTRAN include files for use in building a model.

 Global Flag:

 •      verbose.
 •      parse_only.
 •      compile_all.
 •      one_step.
 •      clean_up.

 Graph Type:  Graph types vary with respect to  where they are used.  They may take the form of
 pie charts, bar charts, line graphs, multiple line graphs (for comparison), etc.

 Grid: The grid under which the executable was  built.   Click on the pop-up selection button to
view options.

Grid Family: An association among related spatial specifications, including Horizontal Grids
and Vertical Layerings. A many-to-one association.
                                          C-10

-------
Grid ID: See ID.

Grid Name: A 16-character maximum name for a grid.

Grid Size: Information on the size of the grid, which includes:
       Columns. The number of grid cells in the X-direction.
       Rows.  The number of grid cells in the Y-direction.
       External Boundaries Thickness (in cells).
Grid Status:

•      Protected.
•      Unprotected.

Horizontal Coordinate System Name: A 16-character name that identifies a coordinate system.

Horizontal Coordinate System Type: A list of valid horizontal coordinate system types. Click
on the pull-down meriu button to view values:

•      Latitude/Longitude.
•      Lambert.
•      Mercator.
•      Stereo graphic.
•      Universal Transverse Mercator.
•      Matrix.

Horizontal Datum: Describes the reference datum for horizontal measure.  Click on the pull-
down menu button to view horizontal datum values.  Values are:

       1   NAD27.
       2   NAD83.
       O  Other.
•      U  Unknown.

Horizontal Grid: In Dataset Manager, a pick-list selectable value used for filtering through
dataset metadata to find those that match the horizontal grid type.

Host: The computer on which the program is executed, or on which a program or dataset resides.
                                         C-ll

-------
 ID: The unique identifier generated by the Models-3 system.  This ID is guaranteed to be unique
 across all Models-3 systems. The ID can be for a plan, study, dataset, program, vertical layering
 mechanism, grid, coordinate system, horizontal coordinate system.

 Include: A file of C or Fortran statements that is included during compilation of a model being
 built.  Include files are used to tailor models to specific studies.

 Inventory Data Analyzer Path: Path to Inventory Data Analyzer execute module. Field will
 contain a default path.

 Key Words: The key words by discipline or subject area to facilitate future searching.  Click on
 the pop-up menu button to navigate to the Key Word Selection list to select or add a new key
 word.

 Label: The name of the entity or attribute.

 Larger Secant Angle: A parameter (in degrees latitude) of the Lambert Map Projection.

 Last Updated By: Identifies the last user to modify a grid, coordinate system, vertical layering,
 or case.

 Latitude Coordinate Origin (within tangent circle): A parameter (in degrees latitude) of a
 Mercator projection.

 Layer Number: The number of the vertical layer.

 Layer Value: The value of the vertical layer.

 Legend: Selection button on Study Planner Plan Layout page to display a legend of plan
 symbols and execution statuses.

 Level: PAVE parameter.  See PAVE documentation.

 Level Range:  PAVE parameters. See PAVE documentation.

 •      min.
 •      max.

Library: The location of the library files.

Line Width: Optional VisSD parameter to specify the line width of the contour lines.

                                          C-12

-------
Linear (button): Within the vertical layering, given the number of layers and the top of the
specification, this button will trigger a linearly spaced distribution of the layers.

Link: Selection from the Study Planner Plan Editing tool on the Plan Layout page. Used to
create links between nodes.

Link Flags:  See compiler flags.

Link Type: (From the "Link as:" menu selection on the Define Link Information window)

•       Environment Variable.
•       Command Line Argument.
•       User Input File.

Log (button): Within the vertical layering, given the number of layers and the top of the
specification,, this burton will trigger a logarithmically spaced distribution of the layers.

Logical Name: The name used to associate an input dataset with a program.

Longitude Coordinate Origin (within tangent circle):  A parameter (in degrees longitude) of
a Mercator projection.

Mandatory: Indicates whether this input file is required for running the program. Click the box
to select.  Click again to unselect.

Map File: Full map file path for use in VisSD and PAVE.

Map File Host: Host computer where the Map File is located.

Map Projection Units: The unit values for the map projections. Latitude/Longitude projection
units are in degrees. Lambert, Mercator, Stereo graphic, and Universal Transverse Mercator
(UTM)  projection units are in meters.

Max Length: On the Describe Variable window, the maximum length of the field for the
variable in an ASCII record.

Measurement Accuracy: Describes the accuracy of the measurement in meters.

Measurement Method: Describes the means used to determine the vertical measure. Click on
the selection button  to view measurement values. Values include:
                                          C-13

-------
 •     Al  Altimetry.
 •     Gl  GPS Carrier Phase Static Relative Positioning Technique.
 •     G2  GPS Carrier Phase Kinematic Relative Positioning Technique.
 •     G3  GPS Code Measurements - Differential.
       G4  GPS Code Measurements - Precise Positioning Service.
 •     G5  GPS Code Measurements - Standard Positioning Service SA Off.
 •     G6  GPS Code Measurements - Standard Positioning Service SA On.
 •     LI  Precise Leveling from a Bench Mark.
 •     L2  Leveling between Non Bench Mark Control Points.
 •     L3  Trigonometric Leveling.
 •     PI  Photogrammetric.
 •     SI  Classical Surveying Techniques.
 •     Tl  "Topographic Map Interpolation.
       OT  Other.

 Mechanism ID: See ID.  For chemical mechanisms.

 Mechanism Name: A 16-character name for a chemical mechanism.

 Mechanism Status:

 •     Protected.
 •     Unprotected.

 Mechanism Table: The file from the chemical reaction table.

 Medium Label: Identifies the offline medium of an archived dataset.

 Memory: The physical memory (in MB) of a host. Also a VisSD parameter.

 MEPPS Path:  Full path, including file name, to MEPPS executable.

 Model Name: The name of a model being built by a model builder.

 Module: Code that  is compiled and included in a Models-3 conforming model.  A conforming
model is comprised of many modules, one module of each class.

Modules Configuration File: File containing a list of submodule selection information used by
the Models-3 Builder to construct a tailored executable  model.
                                        C-14

-------
Modules Configuration Name: The name of a configuration object used to build a model by
bldmod.

Multitime: PAVE parameter. See PAVE documentation.

Name: The name of the dataset, coordinate system, device, program, spatial grid, study, variable,
plan, node, variable, grid, horizontal coordinate, coordinate system, vertical layering, case, or
mechanism.

Node:  Selection from the Study Planner Plan Editing tool on the Plan Layout page. Used to
create nodes when creating a study plan.

Number of Layers: Within the vertical layering, the quantity of layers for that named
specification.

Number of Time Steps: The number of steps in the simulation.

Official: Flags the dataset or science manager objects as official and therefore unchangeable.
 I his may be set only by the System Administrator in the System Administration component.

Operating System: The Operating system under which the program or executable was built and
updated. Click on the pop-up selector button to view operation system values. Values include:

       DIGITAL UNIX 4.0
       DIGITAL UNIX 4.1
       IRIX 5.3
       IRIX 6
       NT 4.0
       N'T 5.0
       Sl'N'4.1.3
       Sl'NOS 5.6
       r\ICOS9.0.

Oryanic Gas Type:

       VOC         (Volatile Organic Compound)
       TOG         (Total Organic Gases)
       ROG         (Reactive Organic Gases)
       THC         (Total Hydro-Carbon)
       NMHC       (Non-Methane Hydro-Carbon)
       NMOG       (Non-Methane Organic Gases)

                                        C-15

-------
 Organization: Organization for which a dataset contact works on Define Contact Information
 window.

 Origin (X, Y) SW Corner: X is in the east-west direction or longitude; Y is in the north-south
 direction or latitude.  Units of measure depend upon the selected coordinate system type.  You
 must enter a:
 •     Column Offset.
       Row Offset.
 Output Disk Space: The estimated disk space (in KB) needed for output.

 Owner ID: The ID of owner of the dataset.

 Parent Dataset: Optional name of a dataset to which another dataset is generated from.

 Parent Grid: A grid that is "nested" inside a coarser grid and positioned relative to the origin of
 the coarse grid. The Southwest corner of a nested grid is relative to the Southwest corner of the
 parent grid.

 Parent ID: The ID of the .dataset from which the new dataset was copied. You may manually
 input the ID of a closely related dataset.

 Password: The password for a host (only needed if the host is not Orbix enabled).

 Plan Acronym: A short (up to five characters) name for the plan, which is used in the default
 file path.

 Plan ID: See ID.

 Plan Name: A string of characters (80 max.) for the plan name. You may name the plan
 whatever you wish, but  this must be unique within the study.

 Platform: The hardware platform on which the program was built or operated.  Click on the pop-
 up selector button to view hardware platform values. Values include:

 •      ALPHA. (Digital Equipment Corporation platform)
       CRAY.  (Cray Super Computer)
       OTHERHW.
•      PC - Personal Computer.
•      SGI. (Silicon Graphics Inc. UNIX-based workstation)

                                         C-16

-------
       SUN. (Sun UNIX-based workstation

Point of Tangency (Latitude): A parameter (in degrees) for the Stereo graphic Map Projection.

Point of Tangency (Longitude): A parameter (in degrees) for the Stereo graphic Map
Projection.

Point-Line-Area: A flag that indicates the type of latitude/longitude data. Click on the pull-
down menu button to view the value options. Values are:

       P Point (default).
•      L Line.
•      A Area.

Position: Position within an organization for which a dataset contact works (Define Contact
Information window).

Process  Analysis Control Grid: A grid incorporated to build the process analysis executable.

Process  Analysis Control Vertical Layer: A vertical layer incorporated to build the process
analysis  executable.

Program: A program is an executable or a script file used for Models-3 framework to formulate
a study in study planner.  Enter an existing program, or click on the pop-up selection button to
navigate to the Select Program pick list to  select one.  This name does not need to be unique.

Program Acronym: A short (up to five characters) name to describe the program, which is used
in the default file path.

Program ID: See ID.

Program Name: See Name.

Program Status: The status of the program. The status may be one of the following:

•       Official      (Protected - saved in a Models-3 directory with write protection)
•       Unofficial    (Unprotected - stored in a user directory where the owner or possibly a
                    user can change it.)

Program User ID: The ID of the person who created the program.


                                          C-17

-------
 Project: The name of the project.

 Projection: Click this button to view windows for the different map projection types for the
 Coordinate System.

 Propagate Changes to All Existing Nodes: Toggle button on the Define Plan Level Variables
 screen in Study Planner. Used to propagate changes in execution defaults such as the execution
 host.

 Protected: Indicator that an entity is not changeable by the user.

 Purpose: The summary of the intentions with which the dataset was developed. It explains why
 the dataset was created, and what it was intended to provide or prove.

 Quality Indicator: Indicates the status of quality control of the dataset.  Click on the pull-down
 menu button to view the quality indicator options. Values include:

 •       Failed.
        Not QC'ed.
 •       Passed.

 Register: Toggle switch on Define Plan Level Variables window to invoke automatic
 registration of datasets generated by a study plans execution.

 Reset: On the Study Planner Plan Layout page, this button resets a study plan back to a ready-to-
 run condition. (Useful after a plan termination.)

 Rows: The number of grid-cell rows in a grid. Specified on the Grid Definition page of the
 Science Manager Grid Detail Window.

 Ro\v Offset: Offset (in cells) of SW corner of a grid in the Y direction (+ up. - down) relative to
 the S\\ corner'of a parent grid.  If no parent grid exists, then the offset is zero.

 Sine Duration:  Length of time (in days) to save files that are auto-registered as a result of a
 study plan execution. This is currently  metadata only and does not result in files being
 automatically deleted when the save duration time has expired.

 Scale:  Describes the scale of the source used to determine the latitude and longitude.  Click on
the selection button to view scale values.  Values are:

       1     >=1:500.

                                          C-18

-------
       2    1:501-1:5,000.
       3    1:5,001-1:10,000.
       4    1:10,001-1:15,000.
       5    1:15,001-1:20,000.
       6    1:20,001-1:25,000.
       7    1:25,001-1:50,000.
       8    1:50,001-1:100,000.
       9    < 1:100,000.
       A   1:10,000.
       B   1:12,000.
       C   1:15,840.
       D   1:20,000.
       E   1:24,000.
       F    1:25,000.
       G   1:50,000.
       H   1:62,500.
       I    1:63,360.
       J    1:100,000.
       K   1:125,000.
       L    1:250,000.
       M   1:500,000.
 •      N   None.
       O   Other.
 •      Un  Unknown.

 Scatter: PAVE parameter. See PAVE documentation.

 Science Chemical Mechanism: See Chemical Mechanism.

 Science Grid Family: See Grid Family.

 Science Vertical Layer: See Vertical Layer.

 Select (button): Used to select grid numbers in a given grid family for processing.

 Skip Lines:  The number of header lines (records) to skip on an ASCII-format input file to the
 File Converter tool. This allows one to strip off comments or other header information off the
 front of an ASCII file.

Smaller Secant Angle: A parameter in degrees latitude for the Lambert Map Projection.


                                        C-19

-------
Source: Describes the party responsible for collecting or otherwise providing the latitude and
longitude. Click on the selection button to view source options.  Options are:.

       Rl   EPA Region 1.
       R2   EPA Region 2.
       R3   EPA Region 3.
       R4   EPA Region 4.
       R5   EPA Region 5.
       R6   EPA Region 6.
       R7   EPA Region 7.
       R8   EPA Region 8.
       R9   EPA Region 9.
       RO   EPA Region 10.
       ซ 01-55 Use FIPS Code For States ป.
       RE  Regulated Entity.
•      CR  Contractor.
       TR  Tribe.
•      HQ  EPA Headquarters.
       DB  Dun & Bradstreet.
       PV   Private.
•      FA   Other Federal Agency.
       OT  Other.
•      UN  Unknown.

Specification: Button on the File Converter tool main window to display a Formulate File
i )escription window for specifying the format for a file.

Mart C'olumn: When specifying an ASCII file format to the File Converter tool, selecting the
•> .inahlcs Insert button invokes a Describe Variable window where the user specifies the start
.   .nun in the record for the variable.

Mart Date: The start date in calendar (yyyy/mm/dd) format for a CASE (or temporal
v\vitlcation).  Enter a date, or if you have entered a date in the Julian Day field, click the
i aieukue ('ulcndar button for the system to calculate the calendar start date. Also, if you know
::;. end date information and have entered it in the appropriate fields, you may click on the
i. .ileulate Siurt button for the system to calculate the start date.

start Time: The start time of the readings in the dataset. The format is in hh:mm:ss. Click on
;:ie pull-down menu button next to the time field to select A.M.,  P.M., or Military time.  Also the
Niart time of a temporal specification or CASE.
                                         C-20

-------
State: The state or province of the organization or individual.

Status: Indicates the status of the dataset.  Click on the pull-down menu button to view status
options.  Values include:

•      Archived.
•      Online (default).
•      Removed.

Street: The address for the organization or individual.

Study: A study is a composition of plans.  Enter an existing study, or click on the pop-up
selection button to navigate to the Select Study pick list to select one.

Study Acronym: A short (up to five characters) name for a study, which is used in the default
file path  for the study.

Study Global Environment Variables: Global environment variables are a means to provide
run-time input to the study and all its plans.

Study ID: See ID.

Study Name: The short name given to a study. This may not be unique across sites, but must be
unique within one autonomous site.

Study Status: The status for a study:

       F'rotected.
•      Unprotected.

Subdomain:  A domain within a larger domain. A domain has both a horizontal component and
.. \ ertical component. PAVE parameters for a subdomain (x-min., x-max., y- min., y-max.).

Submit I'ser ID: The User ID of the user submitting a program or model for execution. User's
i.'.-in ID.

Supplemental: This captures any additional information about the dataset. It is used for
mtormation that is not specifically requested in any other part of the meta data.

Suspend: Toggle button.


                                         C-21

-------
Telephone: The telephone number of the organization or individual.

Time: The time when an action was taken against a dataset. Defaults to current time if nothing is
entered. Click on the pull-down menu button to select A.M., P.M., or Military. Also, the start
time or end time of a temporal specification or CASE.

Time Convention: The time zone in which a temporal specification (CASE) is defined.  Click
on the selection button to view the time convention values. Values include:

•      Atlantic Standard.
•      Atlantic Daylight Saving.
•      Central Standard.
•      Central Daylight Saving.
•      Eastern Standard.
•      Eastern Daylight Saving.
•      Mountain Standard.
•      Mountain Daylight Saving.
•      Pacific Standard.
•      Pacific Daylight Saving.
       GMT.
       GMT+1.
       GMT-1.
       GMT+2.
      GMT-2.
      GMT+3.
      GMT-3.
      GMT+4.
      GMT-4.
      GMT+5.
      GMT-5.
      GMT+6.
      GMT-6.
      GMT+7.
      GMT-7.
      GMT+8.
      GMT-8.
      GMT+9.
      GMT-9.
      GMT+10.
      GMT-10.
      GMT+11.

                                        C-22

-------
       GMT-11.
       GMT+12.
       GMT-12.
•      None.

Time Step: The interval into which the time period is divided. Click on the pull-down menu
button to select years, months, weeks, hours, minutes, or seconds. Click on the selection button
to view the time step options.  If the time value you wish to use in not included in the list, you
may type in your own time value. Time step values include:

       60.
       30.
       15.
       10.
       5.
       4.
       3.
       2.
       1.
•      Not Applicable.

Time Step On: The point at which the data is  generated or collected during a time step. Values
are:

•      Beginning.
•      Ending.
•      Centered.
•      Irregular.

Title: Title for a graphic using the visualization tools.

Topography File: File defining terrain characteristics for a specified area. Used by the Terrain
program in the MM5 application system of programs.

Topography File Host: Host computer where a topography file may be accessed.

Type: A predefined set of dataset types (land use, terrain, etc.). Enter a dataset type or click on
the pop-up  selection button to navigate to the Select Data Type pick list to select one.

Unit: The units that describe the attribute.  Enter a unit or click on the pop-up selection button to
navigate to the Select Unit pick list to select one.

                                          C-23

-------
 Units: The unit that accompanies the accuracy value. Click on the pull-down menu button to
 view unit values. Values are:

 •       1   Degrees.
 •       2   Minutes.
 •       3   Seconds.
 •       4   Meters.
        5   Feet.
 •   ,    6   Kilometers.
 •       7   Miles.

 Unit Category: For the File Converter tool, when specifying a file description and inserting
 variables  into the description, you can optionally click the pick-list button to select a unit
 category (e.g., area, length, pressure, etc.).

 Universal Transverse Mercator (UTM) Zone: Range of+/-1 to +/-60.

 Update Physical: On the Define Link Information window for a Study Plan link you can click
 on the Update Physical button to display a Define Physical File Location window whereby you
 can assign a new physical file name to a logical file input to or output from a study plan node.

 User Input File Template: A template that sets up the user input file. Enter a user input file
 template,  or click on the pop-up selection button to navigate to the User Input  File Template Pick
 list to select one.

 User ID: User's ID as registered in the Models-3 database and required for accessing various
 host systems.

 UTM: Universal Transverse Mercator map projection.

 Variable Description: A brief, textual description sufficient to identify this item from among a
 list of similar items.

 Variable Name: The name of the environment variable (one word).

 Variable Value: The value of the environment variable, which may be changed at the study plan
 level or when a program is annotated to a node.

Vector: PAVE data file parameter. See PAVE documentation.
                                          C-24

-------
Variable Name: The name of the environment variable (one word).

Variable Value: The value of the environment variable, which may be changed at the study plan
level or when a program is annotated to a node.

Vector: PAVE data file parameter.  See PAVE documentation.

Veriiy: On the Study Planner Plan Layout page you can use the Verify button to have Study
Planner check that all the files and programs are available prior to executing the plan.

Verification: Indicates that the latitude and longitude have been verified by EPA staff, grantees,
or contractors through a given process. Click on the selection button to view verification values.
Values include:

•      A     Proximity to Polygon Centroid (Zip Code).
•      B     Proximity to Polygon Centroid (County).
•      C     Proximity to Polygon Centroid (Other).
•      D     Proximity to Alternative Facility Coordinate.
•      E     Point in Polygon (Zip).
•      F     Point in Polygon (County).
•      G     Point in Polygon (Other).
•      H     Verified Relative to Map Features (1:1 OOK or Tiger).
•      I      Verified Relative to Map Features (1:24K).
•      J      Verified Relative to Map Features (Others).
•      K     Ground Truth Conducted.
•      L     Verified, Unknown Method.
       M     Not Verified.

Version: Indicates the major and minor version in the form of X.X.

Version  (button): An indicator to denote the status of a science (CAMS) module.  Values are:

•      Release.
•      Development.

Version  Creation Date: The creation date for the science component version, that is the earliest
date this  version could be used in Models-3.

Version Expiration Date: The date on which the science component version was superseded by
a later version.  The  format is mm/dd/yyyy.
                                         C-25

-------
 •      H - Height above Mean Sea Level (meters).
 •      Sigma-P Hydrostatic (Pascals).
 •      Sigma-P Nonhydrostatic (Pascals).
 •      Sigma-Z (Pascals).
 •      Not Applicable.

 Vertical Datum: Describes the reference datum for vertical measure.  Click on the pull-down
 menu button to view vertical datum values. Values are:

       1   NAVD88.
       2   NAVD29.
       3   Elevation from Mean Sea-Level.
 •      4   Local Tidal Datum.
       O  Other.
 •      U  Unknown.
 •      N  Not Applicable.

 \ crtical Layer Status: The status of the vertical layer:

       Official.
 •      Unofficial.

 \ crtical Layering: The name of the vertical layer associated with the grid.  Enter an existing
 \ crtical layer, or navigate to the Select Vertical Layering pick list to select one.

 \ crtical Layering Generation: The generation of FORTRAN include files for a model that
 p:.<\ide the vertical  layer data at compile time.

 \ t-riical Layering ID: See ID.

 \ t-rtical Layering Name: A 16-character name for a vertical layering.

 \ ( • I op  The value for the top of the vertical layering.-
\ icw drid: On the Science Manager Grid Definition page, selecting the View Grid button will
:• . ปke a grid view program to display the grid on the screen. (Click Exit on the Grid Detail
v. ;ndi>u to terminate the grid view. Attempting to close the grid view window by clicking on the
  "in the upper left corner of the window can cause problems because of the grid view software
\N orking Director}': The directory where to send the files.

                                          C-26

-------
Working Host: The machine on which the files will reside.

Work Space Path: Specify a directory for MEPPS work space.

X Center (East-West): The east-west parameter to define the origin in the UTM Map Projection.

X Center (-180 < =X <= 180, Longitude): The longitude parameter of the origin for the
Mercator Map Projection.

X Origin: The position of a grid's SW corner relative to the X-Center specified for a Lambert
projection.

X Value: The  value of the X coordinate.

Y Center (-90 <= Y <= 90, Latitude): The latitude parameter of the origin for the Mercator Map
Projection.

Y Center (North-South): The north-south parameter to define the origin in the UTM Map
Projection.

Y Origin: The position of a grid's SW comer relative to the Y-center specified for a Lambert
projection.

Y Value: The value of the Y coordinate.

Zip Code: The postal code of the organization or individual.
                                         C-27

-------
APPENDIX D




 Data Sources

-------
1.0    INTRODUCTION

Data for meteorology, emissions, chemistry transport, and air quality observations are identified
and discussed in this appendix. Some of the data are optional.

2.0    METEOROLOGICAL DATA

For the initial public release of Models-3, all meteorological data will be generated by MM5
Version 2 as described in Chapter 5. MM5 requires static data and case-specific meteorological
data. Pre-formatted meteorological data used as input to MM5 are available from the National
Center for Atmospheric Research (NCAR) and from Unidata, a National Science Foundation-
sponsored program that manages and distributes atmospheric and related data. Other sources are
available that have archives of MM5 simulation outputs that may be used, however, they are not
in the business of providing data so arrangements would need to be made on an individual basis.
One such source is Nelson Seaman at Perm State University.

Much of the meteorological-data used in Models-3 resides at EPA's National Environmental
Supercomputing Center in Bay City, MI.

For information on how to obtain data from NCAR see http://www.mmm.ucar.edu/mm5/scd-
acct.html.

For information on how to obtain data from Unidata see http://www.unidata.ucar.edu .

2.1    Static MM5 Data

All the static data that are needed to run MM5 are provided on the Models-3 installation tapes.
The static data includes:

•       Land-use tables at 60, 30, and 10 minute resolutions.
•       Terrain height tables at 60, 30, 10, 5, and 0.5 minute resolutions.
•       Climatological sea-surface temperature database (if observed SST data are not available).

In addition, there are tables which are only needed for generating plots using NCAR Graphics in
TERRAIN. RAWINS. and GRAPH. They are:

•       Map table (map.tbl).
•       Map area table (maparea.tbl).
       Map contour table (con.tbl).
       Land-use color table (luco.tbl).
       Map color filling table (mapfi.tbl).

                                          D-l

-------
•      Color filling table (confi.tbl).
•      Global Rawinsonde upper air observations (RAOB) station table.
•      EZMAP area identification table (ezids).

2.2    Meteorological Data

Files of meteorological data archived on the NCAR Mass Storage System (MSS) are referred to
as MSS files.  These data come from five different sources:

       European Centre for Medium-Range Weather Forecasts (ECMWF) Northern-Hemisphere
       analyses (for the years 1980 through 1989), with 2.5 degree latitude-longitude resolution.

•      Navy Daily Northern Hemisphere Sea Surface Temperature (SST).

•      National Meteorological Center (NMC) Global Analyses, with 2.5 degree latitude-
       longitude resolution which includes the Operational RAOB and Surface (SFC) Data.

       ECMWF Basic Level III Consolidated dataset global analyses for the Tropical Ocean and
       Global Atmospheric (ECMTOGA) program  (beginning with  1985) with 2.5 degree
       latitude-longitude resolution. (Requires special authorization to use.)

•      Near real-time global NMC medium range forecast analyses, available from Unidata,
       with 2.5 degree latitude and 5.0 degree longitude resolution.  For any particular level at
       which data are not available, fields are either derived from other existing fields or
       generated by vertical or temporal interpolation.

Periodically updated catalogs of these files are available from NCAR via anonymous file transfer
protocol (ftp).  To access the files, an account is required for the NCAR CRAY YMP (host name
is Shavano).

Table D-l summarizes the meteorological data files  acquired from N'CAR for testing.
                                           D-2

-------
Meteorological Data
ECMWF Global Grids 1980 - 1989
Navy Daily Northern Hemisphere SST
NMC Global Analyses
NMC Operational RAOB
NMC SFC Data
Unidata
NCAR
Catalog #
Y02398*
Y02396*
K8616K*
K4496K
K6487K
K7477K*
K7478K*
K7481K
K6643K
K6644K .
K7465K*
K7466K*
K7469K
K6677K
K6678K
K7471K*
K7472K*
K7475K

Dates
880701-881231 OOZ
880701-881231 12Z
1983FEB02-1990JUN30
1987JUL01-1987JUL15
1987JUL05-1987JUL23
1988 JUL Timefrarne
1988 JULTimeframe
1988 JUL Timeframe
1987JUL05-1987JUL11
1987JUL12-1987JUL18
1988JUL31-1988AUG06
1988AUG07-1988AUG13
1988AUG28-1988SEP03
1987JUL05-1987JUL11
1987JUL12-1987JUL18
1988JUL31-1988AUG06
1988AUG07-1988AUG13
1988AUG2-1988SEP03
None
                     Table D-l. Meteorological Data Used for Testing

The meteorological data files used by MM5 are as follows:

      Analysis files (may be NMC, ECMTOGA. ECMWF. or I "nidata):

      -      NMC (1 or 2 MSS files), depending on simulation period.

      -      ECMTOGA (1 or 2 MSS files), depending on simulation period.

             ECMWF data at 0000 Universal Time Coordinate (UTC) and at 1200 UTC (1  or 2
             MSS files each), depending on simulation period.
                                         D-3

-------
 •     Unidata files in NetCDF format for each of the following:

       -     Pressure data.
       -     Geopotential height.
       -     U wind speeds.
       -     V wind speeds.
       -     Temperatures.
       -     Relative Humidities.

 •     Snow-cover data (if episode is during winter/early spring).

       Sea Surface Temperature data (may be NMC, NAVY, CLIM, or Unidata):

              NMC (for only ECMTOGA analysis; MSS file).
              NAVY (MSS file).
              CLIM (Global climatological tables; MSS file).
       -     Unidata.

 The following data are required if the RAWINS script variable INOPS = "ARCHIVE":

 •     Upper air RAOB sounding data (1 or more MSS files).
 •     6-hour surface observation data.
 •     3-hour surface analysis data.

 The following data are required if the RAWINS script variable INOPS = "UNIOBS":

 •     Upper air analysis data (1 or more Unidata files in NetCDF format).
 •     Surface analysis data (1 or more Unidata files in NetCDF format).

 3.0    EMISSION DATA

 Appendix K (Emission System Software and Data Files) contains  more detailed information on
 emission data. For the initial public release of Models-3. the emission data will be generated by
 MEPPS.  The data  needed to execute  MEPPS consists of the following types:

 •      Biogenic Emissions Inventory System (BEIS2) Land Use/Land Cover and MClP-output
       meteorology data (i.e., temperatures at 1.5 meters above ground and solar radiation).

•      Census and Political Boundary Data.

•      Road Network Data.

                                         D-4

-------
•      Raw Emission Inventory Data.

•      Other System Input Files and Databases.

3.1    Political Boundary and Census Tract Data

The political boundary and population/housing census tract data (48 states) used by MEPPS are
provided on the Models-3 installation tapes. This information is from the 1990 census database.
This data are used by ARC/INFO to generate input data used by MEPPS.

Land Use / Land Cover data is used by MEPPS for spatial surrogates. The census tract data was
generated from Topologically Integrated Geographic Encoding Referencing (TIGER)/line files.

The Motor Vehicle Emission Model requires national ARC/INFO coverage of major transport
routes and land use (taken from the Federal Highway Administration and TIGER/line files).
This data is included on the Models-3 installation tapes.

3.2    Raw Emission Data

Raw emission data is converted into the required MEPPS format by the Input Processor
(INPRO). The following National emission inventory and temporal factor files are provided on
the Models-3 installation tapes:

•      1985 Inventory.
•      1988 Interim Inventory.
•      1990 Interim Inventory.
•      1990 Updated Inventory.
•      1990 National Emission Trend (NET) Inventory.
       1995 NET Inventory.
•      1995 Inventory for southern provinces of Canada.
•   "  Default Temporal Allocation Factor (TAF) files needed to generate the day-specific
       emission files.

(No emission data is available for Mexico.)

3.3    Other System Input Files and Databases

The MEPPS system input files, lookup table files, etc.  are provided for,the area source, point
source, and biogenic models. Also, the required input  files and lookup table files are provided
for mobile source and the Speciation Model Mechanism. The Mobile Source Vehicle miles

                                         D-5

-------
 traveled inventory data and the Mobile 5a files are also provided. (The input control file for
 Mobile 5a must be provided by the user.)

 4.0    CHEMISTRY-TRANSPORT DATA

 Chemistry-transport data needed for the initial release of includes:

 •      Absorption Cross Section and Quantum Yield.
 •      Tropospheric Ozone and Total Column Ozone.

 4.1    Absorption Cross Section and Quantum Yield

 Absorption cross section and quantum yield data are provided on the Models-3 installation tapes.
 They are required for calculating the photolysis rates in the J-value processor (JPROC). These
 data are molecular properties that are functions of wavelength and temperature and are unique to
 each species.

 4.2    Tropospheric Ozone and Total Column Ozone

 The absorption by ozone is an important radiative process that is calculated in CMAQ using
 NASA recommendations. Ozone data for the tropospheric layer (surface to about 12 kilometers)
 from the Total Ozone Mapping Spectrometer (TOMS) may be used with JPROC, but is not
 required. This data is at a 1.0 degree by 1.25 degree resolution.  The data is in dobson units and
 covers from approximately 50 degrees north to 50 degrees south. The tropospheric ozone data is
 available from November 1978 through May 1993. The Total Column Ozone data is available
 from NASA on a CD. The CD contains daily gridded ozone data and statistical data for the
 TOMS instrument on the Nimbus 7 spacecraft. Nimbus 7 is in a South-North sun synchronous
 polar orbit, measuring ozone over the entire world every 24 hours.

 5.0    OBSERVATION DATA FOR AIR QUALITY MODEL EVALUATION

 Data for the evaluation of an air quality model may be obtained from many sources. The ones
 included below are those that have been used by the Models-3 developers.

 5.1     Air Quality Data

 The air quality observation data provided on the Models-3 installation tapes is for July 11-15,
 1995, and is the data used in the tutorial study.  Multiple data sources were used and the data
 collected into a single file. Theidata is average hourly surface ozone concentrations from the
.following networks: Aerometric Information Retrieval System (AIRS); Clean Air Status and
                                          D-6

-------
Trends Network (CASTNet); Southeastern Consortium Intermediate Oxidant Network (SCION);
and North American Research Strategy for Tropospheric Ozone (NARSTO) - Northeast.

5.2    Satellite Data (GOES Clouds)

This data was acquired from the National Climatic Data Center in Asheville, NC. (The data is
archived at the University of Wisconsin.) The data is not required, but is very useful for
establishing the credibility of air quality estimates when there is convection activity.

5.3    Composite Rainfall Derived from NWS Radar

The use of this data, like the GOES cloud data, is not required but is useful for confirmatory
purposes.  The rainfall rates are at 4 km resolution and are for every 15 minutes. The data is
available from the Marshall Space Flight Center:

                    User Services Office
                    Global Hydrology and Climate Center
                    977 Explorer Blvd.
                    Huntsville, AL 35806

                    Phone: 256/922-5932
                    E-mail: ghrc@eos.nasa.gov
                                         D-7

-------
 APPENDIX E




Vis5D Version 4.2

-------
 1.0  OVERVIEW OF VisSD

 VisSD is a software system for visualizing data made by numerical weather models and similar
 sources.  VisSD works on data in the form of a five-dimensional rectangle.  That is, the data are
 real numbers at each point of a "grid" which spans three space dimensions, one time dimension
 and a dimension for enumerating multiple physical variables.  Of course, VisSD works perfectly
 well on data sets with only one variable or one timestep (i.e. no time dynamics). However, your
 data should have some depth in all three spatial dimensions.

 The VisSD system includes the VisSD visualization program, several programs for managing and
 analyzing five-dimensional data grids, and instructions and sample source code for converting
 your data into its file format. The VisSD  source code is included so you can modify it or write
 new programs.  Sample data sets from the LAMPS model are also included from Bob
 Schlesinger's thunderstorm model, so you can work through the examples.

 VisSD version 1.0 was written by Bill Hibbard and Dave Santek of the University of Wisconsin
 Space Science and Engineering Center, supported by the NASA Marshall Space Flight Center,
 and by Marie-Francoise Voidrot-Martinez of the French Meteorology Office. Later version
 enhancements were written by Bill Hibbard, Brian Paul, and Andre Battaiola.  Dave Kamins and
 Jeff Vroom of Stellar Computer, Inc. provided substantial help and advice in using the Stellar
 software  libraries. Simon Baas and Hans  de Jong of the Netherlands ported VisSD to HP
 workstations. Pratish Shah of Kubota Inc. ported VisSD to the Kubota Alpha/Denali
 workstation. Mike Stroyan of Hewlett Packard added PEX support.

 VisSD is offered under the terms of the GNU General Public License, which you can find in the
 file "NOTICE". As the notice states, there is no warranty for the VisSD system, but we would be
 interested in hearing about your questions and problems. Also, if you would like to be added to
 the VisSD mailing list, send  e-mail to:

       Bill Hibbard (email: whibbard@macc.wisc.edu) at:

       Space Science and Engineering Center
       University of Wisconsin - Madison
       1225 West Dayton Street
       Madison. WI 53706

This document is the complete guide for using VisSD.  It is available in PostScript or ASCII.
                                          E-l

-------
 Contents:
       Section 1 Overview
       Section 2 System requirements and installation
       Section 3 Putting your data into VisSD
       Section 4 McIDAS files
       Section 5 VisSD utilities
       Section 6 Using VisSD to visualize your data
       Section 7 The vSdimport utility
       Section 8 Sample data sets
       Section 9 Version history

 1.1 VisSD Documentation on the World Wide Web

 The VisSD Home Page is available on the World Wide Web page at URL:

       http://www.ssec.wisc.edu/~billh/vis5d.html

 This is linked to another Web document that describes how to use VisSD files as a World Wide
 Web medium for exchanging model output, at URL:

       http://www.ssec.wisc.edu/~billh/view5d.html

 There is a Web document describing the VisSD API (Application Programmer Interface),
 intended to help system developers use VisSD as a visualization subsystem of other systems, at
 URL:

       http://www.ssec.wisc.edu/~billh/api.html

 There is a Web document describing the VisSD Tel scripting interface at URL:

     ,  http://www.ssec.wisc.edu/~billh/script.html

 Copies of the api.html and script.html files are included with the  VisSD ftp distribution.

2.0  SYSTEM REQUIREMENTS AND INSTALLATION

In the following sections we describe the hardware and software required to run VisSD and detail
how to install VisSD on your system.
                                         E-2

-------
2.1 System Requirements

VisSD currently works with the following systems. In all cases, at least 32 MB of RAM is
recommended and at least an 8-bit color display are required:

       1.  Silicon Graphics workstations:
             IRIX version 4.0.1 or higher.
             Multiple processors are used when present.

       2.  IBM RS/6000 workstations:
             Model 320H or higher.
             AIX version 3 or later.
             3-D graphics hardware is supported through OpenGL.

       3.  HP series 7000 or 9000 workstations: ~
             HP-UX A.09.01 or later.
             PEX optional.

       4.  Sun Spare workstations:
             SunOS 5.x or later.

       5.  DEC Alpha workstations:
             OSF/1  VI.3 or later.    •
             Kubota Denali Graphics hardware supported with KWS VI.3.3 or later and
             NPGL Run-time license.

       6.  IBM PC compatibles with Linux:
             75MHz Pentium CPU or faster recommended.
             Linux  1.0 or later.
             XFree86 (X window system) must be installed.

NปIL- thai on systems which don't have 3-D graphics hardware or OpenGL, all 3-D rendering is
j.'iic in software using Mesa (an OpenGL work-alike). Be  aware that software rendering is
Milier .slou.  3-D  graphics hardware is recommended.

!: \ on \\ould like to port Vis5D to a new graphics system or workstation read the "PORTING"
:;k' uhich  gives more information. If you succeed, please inform us so that we may add your
v.ork to the distribution.
                                         E-3

-------
2.2 Installing VisSD

VisSD is obtained via anonymous ftp. If you don't have Internet access, you can obtain VisSD
on tape by sending us a blank QIC or DAT and a note explaining what you need.

Here are the installation instructions:

       1.  Go to the directory in which you want Vis5D installed:
              % cd /usr/mydir

              NOTE: The installation of VisSD will result in a new subdirectory named
              "vis5D-4.2/" being created in the current directory.

              NOTE: Be sure that you have write permission in this directory.  If you do not,
              you should become superuser before proceeding.  When finished  installing VisSD
              be sure to set the file ownership and permissions accordingly.

       2.  Start ftp:
              % ftp iris.ssec.wisc.edu
              or
              % ftp 144.92.108.63

       3. Login as anonymous and send your e-mail address as the password:
             Name: anonymous
             Password: e-mail-address

       4. Go to the pub/visSd directory:
             ftp> cd pub/visSd

       5. Transfer files in binary mode:
             ftp> binary

       6. Get the VisSD archive file:
             ftp> get vis5d-4.2.tar.Z

      7. Get the optional sample data archive file:
             The visSd-data.tar.Z file contains topography, map outlines and sample data sets.
             If you've used VisSD in the past you can should already have these files and can
             move them into your new "vis5d-4.2" directory.

             ftp> get vis5d-data.tar.Z

                                          E-4

-------
8.  Exit ftp:
      ftp> bye

9.  Uncompress and un-tar the archive file:
      % uncompress vis5d-4.2.tar.Z
      % tar -xvf vis5d-4.2.tar

10. Change to the newly created visSd directory:
      % cd vis5d-4.2

11. Optionally uncompress and untar the data file:
      % mv ../visSd-data.tar.Z
      % uncompress vis5d-data.tar.Z
      % tar -xvf vis5d-data.tar

12. Run make:
      % make

      Make will print a list of systems supported for VisSD.  Look for yours on the list
      and type the appropriate make command.  For example, suppose you have an IBM
      RS/6000 without OpenGL and 3-D graphics hardware. You should type:

      % make ibm-x

      VisSD and its utility programs will now be compiled. If you do not have C and/or
      FORTRAN compilers on your system, this step will fail with an error message
      such as "cc: Command not found." or "f77: Command not found." In this case
      you will have to get the appropriate archive of executable programs:

      a. List the "viewer" files.  These files are archives which contain visSd
      executables for common UNIX systems:
              ftp> dir *viewer*
      b. Make sure you're still in the vis5d-4.2 directory and download the viewer file
      for your operating system (xxx):
              ftp> get visSd.xxx.viewer.tar.Z
      c. Exit ftp:
              ftp> bye
      d. Uncompress and un-tar the archive:
              % uncompress visSd.xxx.viewer.tar.Z
              % tar -xvf vis5d.xxx.viewer.tar
                                   E-5

-------
       13. Test VisSD:
             % ./visSd LAMPS.vSd
             NOTE:  To quit, click on the "EXIT" widget button.

       14. You may delete the .tar files if desired.

2.3 Manifest

When you are finished installing VisSD you should have a directory named "vis5d-4.2" which
contains the following files and subdirectories:
       README
       README.ps
       NOTICE
       PORTING
       LAMPS.vSd
       SCHL.vSd
       OUTLSUPW
       OUTLUSAL
       OUTLUSAM
       EARTH.TOPO
       api.html

       script.html
       *.tcl
       \is5d
       \5dappend
       v5dinfo
       vSdstats
       vSdedit
       \ 5dimport
      gr3d_to_v5d
      comp_to_v5d
      list fonts
      src
      util
      Iui5'
      Mesa'
      import/
      userfuncs/
this documentation file in ASCII
this documentation file in PostScript
the GNU general public license (copyright)
an ASCII document with notes on porting VisSD
Sample LAMPS data set
Sample data set: Bob Schlesinger's thunderstorm model
World continental map lines file
Low resolution map of US with state boundaries
Medium resolution map of US with state boundaries
Earth topography file
documentation file for the API between VisSD and its user
interface
documentation file for VisSD scripting language
example scripts
this is the visSd visualization program
utility to join v5d files together
utility to see summary of a vSd file
utility to see statistics of a vSd file
utility to edit the header of a vSd file
utility to convert, resample. and reduce vSd files
utility to convert a McIDAS GR3D file to vSd format
utility to convert (a) compSd file(s) to vSd format
utility to list fonts available on SGI systems for IRIS GL
source code for visSd
source code for the VisSD utilities
source code for LUI user interface library
source code for the Mesa 3-D graphics library,
source code for the vSdimport program
directory of user-written analysis functions
                                         E-6

-------
       contrib/        software contributed by Vis5D users
       convert/        source code for sample data conversion programs

2.4 Customizing

After installation and testing you may want to customize the visSd program by editing the
src/vis5d.h file:

       1.   The visualization program visSd assumes your system has 32 megabytes of memory.
           Although you can override this when you invoke visSd, it may be convenient to
           change the default if your system has more than 32 MB.  The default number of
           megabytes is defined by the value of MBS  in the src/vis5d.h include file.

       2.   If you want to specify a different default topography or map file, you can edit
           src/vis5d.h and change the values for TOPOFILE and/or MAPFILE. For example, if
           you move the map and topography files to /usr/local/bin, you would specify
           "/usr/local/data/EARTH.TOPO" and 7usr/local/data/OUTLUSAM" respectively.

When finished changing the src/vis5d.h file you must recompile the programs by repeating
installation step 12 above.

If VisSD is going to be used by multiple users on your system you may want  to move the visSd
executables and data files to a common directory tree such as /usr/local:

       % mv vis5d /usr/local/bin
       % mv v5d* /usr/local/bin
       % mv OUTL* /usr/local/data
       % mv EARTH.TOPO /usr/local/data

then change the visSd.h file as described above to indicate where the map and topography files
are stored.

3.0 PUTTING YOUR DATA INTO VisSD

VisSD works with data organized as a 5-D rectangle.  The first 3 dimensions  are spatial: rows.
columns, and levels (or latitude, longitude, and height). The fourth dimension is time.  The fifth
dimension is the enumeration of multiple physical variables such as temperature, pressure, water
content, etc.

In addition to the data itself, there are a number of parameters needed to describe a VisSD
dataset:  the sizes of the five dimensions (number of rows, columns, levels, timesteps, and

                                         E-7

-------
variables), geographic position and orientation of the data (map projection), the names of the
variables, the actual times and dates associated with each timestep, etc.

The vis5d visualization program accepts two file formats: v5d files and conipSd files. Both
store 3-D data in a compressed format which VisSD can use quickly and efficiently. CompSd
files are those which were produced by the compSd program in previous versions of VisSD. The
vSd file format is the new, and preferred, file format used in version 4.0 and later of VisSD. It is
intended to be a replacement for the compSd format because it more flexible and may be
extended in the future.

To view your data with VisSD you will typically write a conversion program to convert your data
files to vSd format.  To help you do this we've included four sample conversion programs to
guide you.  Basically, you just add the instructions to read your file format, we provide the
instructions to write the vSd file. See section 3.1 below.

I f  > ou have used VisSD in the past, you may continue to convert your data to McIDAS format
and use compSd to make a compressed file. However, to take full advantage of the new map
projections and vertical coordinate system in version 4.0 and higher, you should write a new
vonversion program to make vSd files.

Another option for getting your data into VisSD is the vSdimport utility. vSdimport is a new
program for file conversion, combining, and resampling. It reads a number of different.file
formats and can be extended to read new formats. See section 7 for more details.

3.1 Converting Your Data to v5d Format

; ;k^ in the vSd format are created with functions from the vSd library. We've included four
,:::ip]c conversion programs which outline how to make a vSd file.  They are located in the
,  :;\cn  subdirectory.  You can choose which one to use as a template for your data converter:

       Ioo_to_v5d:f   A Fortran program which assumes a rectangular lat/long map projection
                      and equally spaced linear vertical coordinate system.

       Ioo2_to_v5d.f   A Fortran program which allows any map projection and vertical
                      coordinate system as well as a different number of vertical levels for
                      each variable.

      Ibo_to_v5d.c    A C program which assumes a rectangular lat/long map projection and
                      equally spaced linear vertical coordinate system.
                                          E-8

-------
       foo2_to_v5d.c   A C program which allows any map projection and vertical coordinate
                      system as well as a different number of vertical levels for each variable.

In any case, each conversion program uses three functions to write the v5d file: vSdCreate (or
vSdCreateSimple), vSdWrite, and vSdClose.  vSdCreateSimple is used to create v5d files which
only specify the most basic parameters. vSdCreate allows more complicated parameters. There
are versions of these functions for C and Fortran programs.

Here are the descriptions of the vSdCreate and vSdCreateSimple functions in a format similar to
man page documentation. C programmers should note that in the argument descriptions we
describe arrays by FORTRAN convention, i.e. A(l) is the first element of A whereas in C this
would be A[0].

Fortran-callable functions:

       integer function vSdcreatesimple (name, numtimes, numvars,nr, nc, nl, varname,
              timestamp, datestamp, northlat, latinc, westlon, loninc, bottomhgt, hgtinc)
       character* (*) name
       integer numtimes
       integer numvars
       integer nr
       integer nc
       integer nl
       character* 10 varname(MAXVARS)
       integer timestamp(*)
       integer datestamp(*)
       real northlat
       real latinc
       real \vestlon
       realloninc
       real bottomhgt
       real hgtinc

       integer function v5dcreate (name, numtimes, numvars, nr, nc, nl, varname. timestamp.
             datestamp, compress, projection, proj_args, vertical, vert_args)
      character* (*) name
      integer numtimes, numvars
      integer nr
      integer nc
      integer nl(*)
      character* 10 varname(MAXVARS)

                                          E-9

-------
       integer timestamp(*)
     •  integer datestamp(*)
       integer compress
       integer projection
       real proj_args(*)
       integer vertical
       real vert_args(*)

 C-callable functions:

       int vSdCreateSimple (name, numtimes, numvars, nr, nc, nl, varname, timestamp,
              datestamp, northlat, latinc, westlon, loninc, bottomhgt, hgtinc)
       char *name;
       int numtimes;
       int numvars;
       int nr, nc, nl;
       char varname[MAXVARS][10];
       int timestamp[], datestampf];
       float northlat, latinc;
       float westlon, loninc;
       float bottomhgt, hgtinc;

       int vSdCreate (name, numtimes, numvars, nr, nc, nl, varname, timestamp, datestamp,
              compress, projection, proj_args, vertical, vert_args)
       char *name;
       int numtimes, numvars;
       int nr, nc, nl[];
       char varname[MAXVARS][10];
       int timestampf], datestamp[];
       int compress;
       int projection;
       float proj_args[];
       int vertical;
       float vert_args[J;

Arguments used by vSdCreate and vSdCreateSimple:

       name      The name of the v5d file to create
       numtimes   Number of timesteps (at least 1)
       numvars    Number of variables (at least 1)
       nr          Number of rows in all 3-D grids (at least 2)

                                        E-10

-------
      nc          Number of columns in all 3-D grids (at least 2)
      varname    Array of variable names:
                       varname(l) = name of first variable
                       varname(2) = name of second variable

                       varname(numvars) = name of last variable
      timestamp  Array of time labels for the timesteps in HHMMSS format:
                       tihiestamp(l) = time of first timestep
                       timestamp(2) = time of second timestep

                       timestamp(numtimes) = time of last timestep
      datestamp  Array of date labels for the timesteps  in YYDDD format
                       datestamp(l) = date of first timestep
                       datestamp(2) = date of second timestep

                       datestamp(numtimes) =  date of last timestep

Arguments used only by vSdCreateSimple:

      nl          Number of levels in all 3-D grids (at least 1)
      northlat     Latitude of northern edge of box in degrees
      latinc       Increment between rows in degrees (positive)
      westlon     Longitude of western edge of box in degrees (positive West longitude)
      loninc      Increment between columns in degrees  (positive)
      bottomhgt  Bottom boundary of box in km
      hgtinc      Increment between levels in km (positive)

Arguments used only by vSdCreate:

      nl     Number of levels in the 3-D grids per variable:
                   nl(l) = number of levels for first variable
                   nl(2) = number of levels for second  variable

                   nl(numvars) = number of levels for last variable
      compress    Compression mode (1, 2 or 4 bytes per grid point)
      projection    Indicates type of map projection:
                   0 = linear, rectangular, generic units
                   1 = linear, rectangular, cylindrical-equidistant
                   2 = Lambert Conformal
                   3 - Stereographic
                   4 = Rotated

                                        E-ll

-------
 prqj_args     Projection arguments:
              if projection=0 then
                     proj_args(l) = North boundary of 3-D box
                     proj_args(2) = West boundary of 3-D box
                     proj_args(3) = Increment between rows
                     proj_args(4) = Increment between columns
              else if projection=l then
                     proj_args(l) = North Latitude bound of 3-D box
                     proj_args(2) = West Longitude bound of 3-D box
                     proj_args(3) = Increment between rows in degrees
                     proj_args(4) = Increment between cols in degrees
              else if projection=2 then
                     proj_args(l) = Standard Latitude 1
                     proj_args(2) = Standard Latitude 2
                     proj_args(3) = Row of North/South pole
                     proj_args(4) = Column of North/South pole
                     proj_args(5) = Longitude parallel to columns
                     proj_args(6) = Increment between columns in km
              else if projection=3 then
                     proj_args(l) = Latitude of center (degrees)
                     proj_args(2) = Longitude of center (degrees)
                     proj_args(3) = Row of center of projection
                     proj_args(4.) = Column of center of projection
                     proj_args(5) = Spacing between columns at center
              else if project!on=4 then
                     proj_args(l) = North boundary on rotated sphere
                     proj_args(2) = West boundary on rotated sphere
                     proj_args(3) = Increment between rows
                     proj_args(4) = Increment between columns
                     proj_args(5) = Earth Latitude corresponding to (0,0)
                     proj_args(6) = Earth Longitude corresponding to (0,0)
                     proj_args(7) = Rotation angle
              endif
vertical       Indicates type of vertical coordinate-system:
              0 = equally spaced levels in generic units
              1 = equally spaced levels in km
              2 = unequally spaced levels in km
vert_args      Vertical coordinate system arguments:
              if vertical=0 then
                     vert_args(l) = height of bottom level
                     vert_args(2) = spacing between levels

                                   E-12

-------
                     else if vertical=l then
                            vert_args(l) = height of bottom level in km
                            vert_args(2) = spacing between levels in km
                     else if vertical=2 then
                            vert_args(l) = height (km) of grid level 1 (bottom)
                            vert_args(2) = height (km) of grid level 2

                            vert_args(N) = height (km) of grid level N (top) where N is the
                            maximum value in the nl array.
                     else if verticals then
                            vert_args(l) = pressure (mb) of grid level 1 (bottom)
                            vert_args(2) = pressure (mb) of grid level 2

                            vert_args(N) = pressure (mb) of grid level N (top)
                     where N is the maximum value in the nl array.
                     endif

 The vSdWrite function is used to write a single 3-D grid of data to a v5d file.  The grid is
 identified by a timestep and physical variable number.  Here is the synopsis of v5dWrite:

 Fortran-callable function:
       integer function v5dwrite( time, var, data)
       integer time
       integer var
       real data(*)

 C-callable function:
       int v5dWrite( time, var, data)
       int time;
       int var;
       float data[];

 Arguments descriptions:
       time   A timestep number in the range [1 ..nurntimes]
       var    A variable number in the range [1 ..numvars]
       data    3-D array of grid values; number of values = nr*nc*nl(var) ordered as
              data[row+nr*(col+nc*lev)] where row increases from North to South, col
              increases from West to East, and lev increases from bottom to top

The \odClose function closes the v5d file  after the  last grid has been written.  Na arguments are
needed. Here is the synopsis of vSdClose:

                                          E-13

-------
Fortran-callable function:
       integer function vSdclose

C-callable function:
       int v5dClose()

Each of the create functions returns 1 when successful and 0 when an error occurs.

Looking at any of the example data conversion programs, you'll see that there are variables
which directly correspond to the arguments to vSdCreate/vSdCreateSimple. It is up to you to
initialize these variables. For example, you'll have to assign to numtimes the number of
timesteps in your dataset, assign to numvars the number of variables in vour dataset, etc. After
you've initialized all these variables, the vSdCreate (or vSdCreateSimpie) call will create the v5d
file.  If you've failed to initialize any of the variables you will see an appropriate error message.

\e\i. the conversion program will enter a nested loop inside of which you must insert the code to
read your data for the appropriate timestep and physical variable number.  Read your data into
the array specified. The vSdWrite call will then compress and write the data to the v5d file.
i inally. the vSdClose function will be called after all the data has been written.

After you've written and compiled your file converter, you should test it with one of your data
files then check that it worked by  running the vSdinfo and vSdstats utility programs on tjie v5d
lite.  If everything looks OK, try running visSd.

I lere is an example of typical values that might be assigned to each variable if one were using the
:.H> to_\5d.fprogram:

       Assignment           .  Comments
       numtimes = 5            5 timesteps
       numvars = 4             4 physical variables
       nr - 30                  30 rows in each 3-D grid
       IK -40                  40 columns in each 3-D grid
       nl = 20                  20 levels in each 3-D grid
       \ arname( 1) = "U"         U (east/west) wind component
       \ arname(2) = "V"         V (north/south) wind component
       \ arname( 3) = "T"         Temperature
      varname(4) = "P"         Pressure
      timestampt 1) = 140000   2:00:00 pm
      iimestamp(2)= 141500   2:15:00pm
      timestamp(3) = 143000   2:30:00 pm
      timestamp(4) = 144500   2:45:00 pm

                                         E-14

-------
       timestamp(5)= 150000   3:00:00 pm
       datestamp(l) = 94036    36th day of 1994 (February 5)
       datestamp(2) = 94036
       datestamp(3) = 94036
       datestamp(4) = 94036
       datestamp(5) = 94036    "
       northlat = 60.0          Northern boundary of box is at 30 degrees latitude
       latinc = 1.0              There is 1 degree of latitude between each of the 30 rows
       westlon = 100.0          Western boundary of 3-D box is at 100 degrees longitude
       loninc = 0.5             0.5 degree of longitude between each of the 40 columns
       bottomhgt = 0.0          Bottom of box is at Okm (sea level)
       hgtinc = 1.0             1 km between each of the 20 grid levels (top at 19.0km)

 The product of the number of rows, columns, levels, timesteps, and variables is the total number
 of data points. In this example:  30*40*20*5*4 = 480,000. A real dataset may be 100 rows by
 100 columns by 20 levels, have 50 timesteps, and  10 variables for a total of 100,000,000 data
 points.

 The difference between the foo_to_v5d program (which uses vSdCreateSimple), and the
 foo2_to_v5d program (which uses vSdCreate), is the later allows you to specify any map
 projection, vertical coordinate system, a different number of grid levels for each physical
 variable, and to control data compression. To specify a map projection, you must set the value of
 projection to 0,1,2 or 3 to indicate which projection, then specify the projection-dependent
 parameters in the  proj_args array.  Specifying the vertical coordinate system is done
 similarly.

 It is sometimes useful to specify a different number of grid levels for each variable.  For
 example, suppose most of your variables have 30 grid levels but a some variables have fewer
 grid levels, perhaps only one. Prior to version 4.0 of VisSD. you would have had to fill in the
 extra levels with redundant, missing or dummy data values.  With the v5dCreate function you
 can specify how many grid levels are present for each individual physical variable with the nl
 array parameter. Be aware that the amount of data passed to the v5d\Vrite call will depend on
 which  variable you're writing. For example, if your grid has C columns and R rows then the
 number of values  in the data array passed to vSdWrite for variable V must equal C*R*nl(V).

 By default, the bottom-most grid level of each variable is displayed at the bottom of the 3-D box;
 each grid extends  upward for how ever many levels are present. Sometimes, however, the
 bottom-most grid  level of a particular variable should be positioned higher up. An example of
this is a combined ocean/atmosphere dataset.  There may be a total of 18 grid levels:  the bottom
 8 grid levels being ocean data and the top 10 grid levels being atmospheric data.  In this case, the
bottom of the atmospheric data should be offset or shifted upward by 8 grid levels.

                                          E-15

-------
 Elaborating on the ocean/atmosphere example, suppose we have 2 ocean variables named S
 (salinity) and T (temperature) and 2 atmosphere variables named P (pressure) and Tl
 (temperature).  There are 8 layers of ocean data and 10 layers of atmospheric data. Here is a
 summary showing how the lowlev array is the solution to this situation:

        varnum varname(varnum)    nl(varnum)    lowlev(varnum)
        1             S             8             0
        2             T             8             0
        3             P             10           8
        4             Tl            10           8

 The lowlev array is not specified in the  vSdCreate function because it was developed after the
 vSdCreate function was well established.  Instead, the new vSdSetLowLev function is called with
 the lowlev array. This separate function was added to extend the functionality of vSdCreate
 without changing its calling sequence. Here is the synopsis of vSdSetLowLev:

 Fortran-callable function:
        integer function v5dsetlowlev( lowlev )
        integer lowlev(*)

 C-callable function:
        int v5dSetLowLev( lowlev)
        int lowlev [];

 Argument description:
        lowlev    Specifies the vertical offset, in grid levels, for each variable.
                     lowlev(l) = offset for first variable
                     lowlev(2) = offset for second variable

                     lowlev(numvars) =  offset for last variable

 vSdSetLowLev may be called at any point between vSdCreate and vSdClose.

 The vSdCreate and vSdcreate functions allow you to control how the grid data are compressed.
 The default is for grid values to be linearly scaled to one byte integers.  This works very well for
 most data sets, since the scaling factors are chosen independently for each combination of
timestep, variable and vertical level. Furthermore, the compression to one byte per grid point
enables VisSD's high degree of interactivity, since compression allows  entire data sets to be
resident in memory. However, the compress argument of the vSdCreate and vSdcreate  functions
lets you pick whether grid point values are scaled to 1-byte integers, scaled to 2-byte integers, or
                                          E-16

-------
left as 4-byte floating point values (no compression). We recommend that you try compression
to 1-byte integers first, and only use 2 or 4 bytes if you have precision problems at 1-byte.

VisSD version 4.2 and later allow you to specify the physical units for each variable in your
dataset. The vSdSetUnitsQ function takes two arguments: a variable number and a units
character string.  If the first variable in your file is P and the units are millibars then you can
specify that with:

    ,   C: v5dSetUnits( 1, "millibars")
       Fortran: call v5dsetunits( 1, "millibars")

The units will be displayed by the vSdinfo program and in VisSD when using the probe.

To compile your program which uses vSdCreate, vSdWrite, and vSdClose you must link with the
src/v5d.o and src/binio.o files.  See the makefiles in the convert/ directory for examples.

Finally, if your data is generated by an atmospheric or oceanic model, you may want to consider
modifying your model to generate v5d files directly using the vSdCreate, vSdWrite, and
vSdClose functions. Look at the sample data conversion programs for ideas.

3.2 Map Projections and  Vertical Coordinate Systems

Version 4.0 of VisSD added support for new map projections and vertical coordinate systems.
When we use the term map projection, we're referring to the relationship between the rows and
columns of data  in the 3-D grid to the latitude/longitude of the earth. The term vertical
coordinate system refers to the relationship between the vertical levels of data in the 3-D grid to
altitude in the atmosphere (or depth in the ocean).

VisSD 4.2 supports the following map projections:

(0)    Generic rectilinear: this is a linear, regularly-spaced coordinate system with no implied
       units. This system  is useful when your data is not related to earth science (computational
       fluid dynamics for example.) North/south coordinates increase upward and east/west
       coordinates increase to the left.  The projection is defined by four parameters:

       NorthBound  Northern boundary of 3-D box
       WestBound   Western boundary of 3-D box
       Rowlnc      Increment (spacing) between grid columns
       Collnc       Increment (spacing) between grid rows
                                          E-17

-------
       Example:     Suppose your 3-D grid has 80 rows and 60 columns and NorthBound —
                    100.0 meters, WestBound = 50.0 meters, Rowlnc = 0.5 meters, and Collnc
                    = 0.5 meters, then:

                    the south boundary will be at 60.5 meters,  i.e. southbound = NorthBound
                           - (Rowlnc * (rows-1))
                    and the east boundary will be at 79.5 meters, i.e. eastbound = WestBound
                           + (Collnc* (columns-1))

(1)    Rectilinear lat/long (cylindrical equidistant):  this is the rectangular latitude/longitude
       coordinate system used in previous versions of Vis5D. Latitude increases to the North
       (upward in the graphical display) and longitude increases to the West (leftward in the
       graphical display; positive west latitude). The projection is defined by four parameters:

       NorthBound  Northern boundary of 3-D box in degrees of latitude in the range
                    [-90S.90N].
       WestBound   Western boundary of 3-D box in degrees of longitude in the range
                    [-180E.180W].
       Rowlnc      Increment (spacing) between grid rows in degrees of latitude greater than
                    zero.
       Collnc       Increment (spacing) between grid columns in degrees of longitude greater
                    than zero.

       Example:     If your 3-D grid has 30 rows and 60 columns and if NorthBound = 70.0,
                    WestBound = 140.0, Rowlnc = 1.0, and Collnc = 0.5, then:

                    the south boundary will be at 41 degrees latitude, i.e. (NorthBound -
                    Rowlnc * (rows-1))
                    and the east boundary will be at 110.5 degrees longitude, i.e. (WestBound
                    - Collnc * (columns-1))

(2)     Lambert conformal:  a conic projection defined by the following six parameters:

       Latl, Lat2      ~    First and second standard latitudes in the range [-90S.9-ON]. Latl
                           and Lat2 define where the imaginary cone intersects the sphere of
                           the Earth. Latl and Lat2 must have the same sign, that is. they
                           must both be positive or both negative.  Also, Latl must be greater
                           than or equal to Lat2.

       PoleRow, PoleCol    These parameters indicate the position of the north or south pole
                           with respect to the 3-D grid coordinate system. These values may

                                         E-18

-------
                           be outside the 3-D grid. If Latl and Lat2 are positive, the north
                           pole is assumed, else, the south pole is assumed.

       CentLon            Central longitude: this parameter indicates which Earth longitude
                           is to be parallel to the 3-D grid columns.

       Collnc              Increment (spacing) between grid columns at the central longitude
                           and standard latitudes, in km. This parameter controls the scale of
                           the projection.

Example 1:  Suppose your 3-D grid has 35 rows and 40 columns and you want a Lambert
conformal projection of the United States centered over Wisconsin:

       Latl - 70.0
       Lat2 - 20.0
       PoleRow = -35.0
       PoleCol = 20.0
       Central Longitude = 90.0
       Collnc =100.0

Example 2:  Suppose your 3-D grid has 35 rows and 40 columns and you want a Lambert
conformal projection over  Australia:

      ' Latl = -20.0
       Lat2 = -70.0
       PoleRow = 60.0
       PoleCol = 20.0
       Central Longitude = -130.0
       Collnc = 200.0

Note:  Beware that when the pole  is visible in a Lambert conformal projection, there is usually a
       wedge-shaped  region (with its apex at the  pole) which is undefined (i.e. Longitude is
       >180 AND <-l 80). In this region, there will be no map lines and the topography  will be
       incorrect.

(3) Azimuthal  Stereographic: an azimuthal stereographic projection defined by five parameters:

CentLat, CentLon     Latitude and longitude of the center of projection.  The apex of the
                     imaginary'cone will be over this coordinate.
                                         E-19

-------
 CentRow, CentCol   Row and column of the center of projection. The grid row and column
                     indicated will be at the center of the projection. These values may be
                     outside the 3-D box.
 Collnc              Increment (spacing) between grid columns in km at the center of the
                     projection. This parameter controls the scale of the projection.

 Example: Suppose your 3-D grid has 40 rows and 40 columns and want an azimuthal
 stereographic projection centered over of the north pole:

       CentLat = 90.0
       CentLon = 0.0
       CentRow = 20.0
       CentCol = 20.0
       Collnc = 200.0

 (4)    Rotated rectilinear lat/long:  this is the rectangular latitude/longitude coordinate system
       on a sphere rotated with respect to the Earth's natural latitude/longitude. North/south
       coordinates increase upward on the rotated sphere and east/west coordinates increase
       leftward on the rotated sphere.  The projection is defined by seven parameters:

       NorthBound       Northern boundary of 3-D  box in degrees of latitude in the range
                         [-90S,90N],
       WestBound       Western .boundary of 3-D box in degrees of longitude in the range
                         [-180E.180W].
       Rowlnc           Increment (spacing) between grid rows in degrees of latitude greater
                         than zero.
       Collnc            Increment (spacing) between grid columns in  degrees of longitude
                         greater than zero.
       CentLat. CentLon  Latitude and longitude on Earth corresponding to Latitude/Longitude
                         = (0.0) on the rotated sphere.
       Rotation           Clockwise angle of rotation of rotated sphere  about its (0,0) point.

Example:  Over small regions the Earth is nearly flat and we can exploit this to create nearly
square grids for small scale models. We can generate a nearl\ square grid of 41 rows by 41
columns over a small region over Wisconsin with:

       NorthBound = 2.0
       WestBound = 2.0
       Rowlnc = 0.1
       Collnc-0.1
       CentLat = 43.0

                                         E-20

-------
       CentLon = 90.0
       Rotation = 0.0

VisSD 4.2 supports the following vertical coordinate systems:

(0)    Equally spaced, generic units:  this is a linear vertical coordinate system in which levels
       in the 3-D grid are equally spaced. No specific units are implied. The coordinate system
       is defined by two parameters:

       BottomBound Bottom boundary of 3-D box.
       Levlnc       Increment(spacing) between grid levels.

       Example:  Suppose your 3-D grid has 20 levels and you want the bottom boundary to be
       0.0 meters and you want .1  meters between levels. Then:

       BottomBound = 0.0
       Levlnc = 0.1

(1)    Equally spaced, kilometers: this is a linear vertical coordinate system used in previous
       versions of VisSD.  Grid levels are equally spaced. The coordinate system is defined by
       two parameters:

       BottomBound Bottom boundary of 3-D box in km.
       Levlnc       Increment (spacing) between grid levels in km greater than zero.

       Example: Suppose your 3-D grid has 20 levels and you want .5 kilometers between grid
       levels.  Then:

       BottomBound = 0.0
       Levlnc = 0.5

(2)     Unequally spaced, kilometers:  this is a linear vertical coordinate system in which grid
       levels can be unequally spaced. The coordinate system is defined by an array of N height
       parameters where N is the number of levels in the  3-D grids.  If the number of grid levels
       is different for each variable, N is the maximum number of grid levels.

       Height( 1)     Height of first (bottom) grid level in km
       Height(2)     Height of second grid level in km

       Height(N)   , Height of Nth (top) grid level in km
                                         E-21

-------
       Note that the Height values must increase with N.

       Example:  Suppose your 3-D grids have 10 levels and you want the grid levels to be more
       closely spaced near the bottom than near the top.  Then:

       Height(l) = 0.0
       Height(2) = 0.1
       Height(3) = 0.2
       Height(4) = 0.3
       Height(5) = 0.4
       Height(6) = 0.6
       Height(7) = 0.8
       Height(8)= 1.6
       Height(9)= 1.3
       Height(10)= 1.6

It is also possible to display the vertical axis on a  logarithmic scale.  This is done with the -log
command line option when you start VisSD.  In this case, the vertical axis is logarithmic with
respect to height but linear with respect to pressure. The relationship between height (H) and
pressure (P) is:

       P = 1012.5 * eA( H / -7.2 )          (A denotes exponentiation)

       H = -7.2 * Ln( P / 1012.5 )          (Ln denotes natural log)

The constants 1012.5 and -7.2 are just defaults which can be overridden when you specify the
-log option.  See section 6.1 for details.

(3)     Unequally spaced, millibars: this is a linear vertical coordinate system in which grid
       levels can  be unequally spaced. The coordinate system is defined by an array of N
       pressure parameters where N is the number of levels in the 3-D grids. If the number of
       grid levels is different for each variable, N is the maximum number of grid levels.

       Pressure( 1)    Pressure of first (bottom) grid level in km
       Pressure(2)    Pressure of second grid level in km

       Pressure(N)   Pressure of Nth (top) grid level in km

       Note that the Pressure values must decrease with N.
                                          E-22

-------
For the purposes of calculating wind trajectories, VisSD assumes the relationship between height
(H) and pressure (P) is:

       P - 1012.5 * eA( H / -7.2 )          (A denotes exponentiation)

       H = -7.2 * Ln( P /1012.5 )          (Ln denotes natural log)

Only the v5d file format is capable of storing the new map projection and vertical coordinate
system information. When a v5d file is read into VisSD, this information is used to setup the
topography, map lines, and compute wind trajectories.

The VisSD program also supports two other display projections: spherical and cylindrical.
Instead of drawing a rectangular 3-D box, these projections will actually warp the 3-D box into a
spherical or cylindrical shape.  These projections are used by specifying the -projection option
with the value spherical or cylindrical; they are not specified in the v5d file. The spherical option
can be used to display your data on a 3-D globe.  The cylindrical option can be used to display
your data on a flat, round topography. It's probably best to just experiment with these options
using the LAMPS dataset for example.  See the section on VisSD's command  line options for
more information.

3.3  Special Variables and Data Values

Analysis and visualization of wind information is an important part of Vis5D. Specifically, the
VisSD program looks to see if your data set contains variables named U, V and W. If present,
they are assumed to be the three components of wind vectors and are used to display trajectory
tracings and wind slices.

Positive U values are eastward,  negative U is westward. Positive V values are northward,
negative V is southward.  Positive W values are upward, negative W is downward. The units for
U. V and W are assumed to be meters per second except when a generic map projection or
vertical coordinate system is used. In that case, the units are in X per second where X is the units
used'to specify the NorthBound, WestBound, Rowlnc, and colinc parameters.

If you do not like to use U, V, and W for wind vector components you can either specify other
wind variable names on the visSd command line or enter them while running visSd.

Strictly speaking. U, V and W do not have to  represent wind motion. They can be used  to
represent any flow field such as ocean currents. However, you may want to scale U. V,  and  W
by some constant for visualization purposes.
                                          E-23

-------
VisSD allows any grid data value to be undefined or 'missing1. For example, datasets based on
observations are often incomplete or contain erroneous values. In your data conversion program
you can indicate a grid value is missing by assigning it a value greater than 1 .Oe30. Missing data
in visSd will show up as holes in isosurfaces and contour slices and as black regions in colored
slices. The data probe will report missing values as 'Missing'.

4.0   McIDAS 3-D GRID DATA FILES

In previous versions of VisSD, it was standard practice to put one's data into a McID AS GR3D
file, then compress it with compSd prior to using visSd.  While directly converting to the v5d
format is preferred, we still include this information on the McIDAS format. If you don't want to
put your data into McIDAS files, you may  skip to section 5 now.

WE RECOMMEND AGAINST THIS WAY OF GETTING YOUR DATA INTO VISSD -
INSTEAD USE THE TECHNIQUES DESCRIBED IN SECTION 3 OF THIS DOCUMENT.

A McIDAS GR3D file contains a sequence of 3-D grids of data.  The three-dimensional grids are
organized into short sequences to enumerate the values of multiple physical variables at a single
time.  The short sequences of physical, variables are repeated into a longer sequence which steps
through many timesteps.  These files have a names of the form GR3Dnnnn where nnnn is a
4-digit number between  0001 and 9999. The McIDAS utility programs then refer to files only
by a number (1 through 9999).

A 3-D grid file contains a directory entry for each 3-D grid, which describes the size and
geographic location of the grid, and the date, time and name of physical variable of the data in
the grid array. A five-dimensional data set consists of a sequence of 3-D grids in a 3-D grid file,
all with the same size and geographic locations. The grid sequence repeats the same short
sequence of physical variables stepping forward through time. For example, the grid sequence
from a weather model could be:
                                    PHYSICAL
                                    VARIABLE
                                       NAME
                                         U
                                         V
                                         w
                                         T
                                         P
                                         U
                                         V
                                         w
                                         T

                                        E-24
GRID
NUMBER
1
2
->
4
5
6
7
8
9

DATE
88035
88035
88035
88035
88035
88035
88035
88035
88035

TIME
000000
000000
000000
000000
000000
010000
010000
010000
010000

-------
     10      88035     010000        p
     11      88035     020000        U
     12      88035     020000        V
     13      88035     020000        W
     14      88035     020000        T
     15      88035     020000        P

This data set consists of 3 timesteps of 5 physical variables. The physical variables are the U, V
and W components of the wind vector, the temperature T and the pressure P. The date is
February 4, 1988 and the timesteps are midnight, 1 AM and 2 AM. Dates are in YYDDD format
and times are in HHMMSS format as described earlier.

4.1  Putting Your Data Into a McIDAS 3-D Grid File

The following sample program creates a 3-D grid file and fills its 3-D grids with data for a
five-dimensional data set. This program can be found in the file sample.F, its makefile is
sample.m. The easiest way to read your data into a 3-D grid file is to alter the sample.F program.
The subroutines it calls are all in the libmain.a library, and their source is in the src subdirectory.
Here is a listing of sample.F:

      1   C THE MAIN PROGRAM OF YOUR CONVERSION PROGRAM MUST
      2   C BE NAMED SUBROUTINE MAINO
      3   C
      4   SUBROUTINE MAINO
      5   C
      6   C THE NEXT TWO COMMENTS ARE PRINTED BY THE 'help sample'
          COMMAND
      7   C ? SAMPLE program to convert data to 3-D grid files
      8   C ? sample gridf#
      9   C
      10  C DIMENSIONS OF 3-D GRID
      11   C NOTE NLATS AND NLONS MUST BOTH BE LESS THAN OR EQUAL TO
          150
      12  C NLATS, NLONS AND NHGTS MUST ALL BE AT LEAST 2
      13   PARAMETER (NLATS-31 ,NLONS=51 .NHGTS-16)
      14   C
      15   C NUMBER OF PHYSICAL VARIABLES AND NUMBER OF TIMESTEPS
      16   C NOTE EITHER OR BOTH MAY BE EQUAL TO 1. THAT IS, VisSD DOES
      17   C NOT FORCE YOU TO HAVE MULTIPLE VARIABLES OR TIME
          DYNAMICS.
      18   PARAMETER (NVARS=5,NTIMES=100)

                                    E-25

-------
 19  C
 20  C ARRAY FOR 3-D GRID DATA
 21  REAL*4 G(NLATS, NLONS, NHGTS)
 22  C ARRAYS FOR GRID FILE ID AND GRID DIRECTORY
 23  INTEGER ID(8), IDIR(64)
 24  C ARRAY FOR VARIABLE NAMES
 25  CHARACTER*4 CNAME(5)
 26  C
 27  C LATITUDE, LONGITUDE AND HEIGHT BOUNDS FOR SPATIAL GRID
 28  DATA XLATS/20.0/,XLATN/50.0/
 29  DATA XLONE/70.0AXLONW/120.07
 30  DATA XHGTB/0.0/,XHGTT/15.0/
 31  C
 32  C STARTING DATE IN YYDDD AND TIME IN HHMMSS
 33  DATA JDAY/88035/JTIME/020000/
 34  C TIMESTEP IN HHMMSS
 35  DATAJSTEP/000100/
 36  C
 37  C NAMES OF THE FIVE PHYSICAL VARIABLES
 38  DATACNAME/'U  ','V  ', 'W  ', T  ', 'P V
 39  C INITIALIZE GRID DIRECTORY TO ZEROS
 40  DATA IDIR/64*0/
 41  C
 42  C READ GRID FILE NUMBER FROM COMMAND LINE. IPP WILL
 43  C CONVERT THE PARAMETER # 1 TO AN INTEGER. WITH A DEFAULT
 44  C VALUE OF 0.
 45  IGRIDF=IPP(1,0)
 46  C IF ILLEGAL GRID FILE NUMBER. PRINT ERROR MESSAGE AND
    RETURN
 47  IF(IGRIDF .LT. 1 .OR. IGRIDF .GT. 9999) THHN
 48  CALL EDEST('BAD GRID FILE NUMBER '.IGRIDF)
 49  CALL EDESTCMUST BE BETWEEN 1 AND WW '.())
 50  RETURN
 51  ENDIF
 52  C
 53  C CALCULATE GRID INTERVALS
 54  XLATIN=(XLATN-XLATS)/(NLATS-1)
 55  XLONIN=(XLONW-XLONE)/(NLONS-1)
 56  XHGTIN=(XHGTT-XHGTB)/(NHGTS-1)
57  C
58  C DATE AND TIME FOR FIRST TIMESTEP

                           E-26

-------
59  C ID AYS CONVERTS YYDDD FORMAT TO DAYS SINCE JAN. 1, 1900
60  IDAY=IDAYS(JDAY)
61  C ISECS CONVERTS HHMMSS FORMAT TO SECONDS SINCE MIDNIGHT
62  ISEC=ISECS(JTIME)
63  C
64  C INITIALIZE GRID IDENTIFIER TEXT TO BLANKS
65  C NOTE LIT CONVERTS A CHARACTERS TO AN INTEGERS
66  DO 101=1,8
67  10 ID(D=LIT('  ')
68  C
69  C SET UP DIRECTORY ENTRY
70  C
71  C DIMENSIONS OF GRID
72  IDIR(1)=NLATS*NLONS*NHGTS
73  IDIR(2)=NLATS
74  IDIR(3)=NLONS
75  IDIR(4)=NHGTS
76  C
77  C LATITUDES AND LONGITUDES IN DEGREES * 10000
78  IDIR(22)=4
79  IDIR(23)=NINT(XLATN* 10000.)
80  IDIR(24)=NINT(XLONW* 10000.)
81  IDIR(25)=NINT(XLATIN* 10000.0)
82  IDIR(26)=NINT(XLONIN* 10000.0)
83  C
84  C HEIGHTS IN METERS
85  IDIR(31)=1
86  IDIR(32)=NINT(XHGTT*1000.)
87  IDIR(33)=NINT(XHGTIN*1000.)
88  C
89  C CREATE THE GRID FILE
90  CALL IGMK3-D(IGRIDF, ID, NLATS*NLONS*NHGTS)
91   C
92  C LOOP FOR TIMESTEPS
93  DO200IT=1,NTIMES
94  C                            - -
95  C SET DATE AND TIME IN DIRECTORY ENTRY
96  C IYYDDD CONVERTS DAYS SINCE JAN. 1. 1900 TO OUR YYDDD
    FORMAT
97  IDIR(6)=IYYDDD(IDAY)
                           E-27

-------
98  CIHMS CONVERTS SECONDS SINCE MIDNIGHT TO OUR HHMMSS
    FORMAT
99  IDIR(7)=IHMS(ISEC)
100 C
101 C LOOP FOR PHYSICAL VARIABLES
102 DO 190rV=l,NVARS
103 C
104 C SET VARIABLE NAME IN DIRECTORY ENTRY
105 IDIR(9)=LIT(CNAME(TV))
106 C
107 (^ *************************************************************
108 C READ YOUR DATA FOR TIMESTEP NUMBER IT AND VARIABLE
    NUMBER IV
109 CINTO THE ARRAY G HERE.
HOC NOTE THAT G( 1,1,1) IS THE NORTH WEST BOTTOM CORNER AND
111 C G(NLATS,NLONS,NHGTS) IS THE SOUTH EAST TOP CORNER.
112 C MARK A GRID POINT AS 'MISSING DATA' BY SETTING IT = 1 .OE35
113 C *************************************************************
114 C
115 C CALCULATE 3-D GRID NUMBER
116 IGRID=IV+NVARS*(IT-1)
117 C WRITE DATA IN G AND DIRECTORY IN IDIR TO 3-D GRID
118 C NOTE WE PASS THE NEGATIVE OF THE GRID NUMBER (I.E. -IGRID)
119 CALL IGPT3-D(IGRIDF,-IGRID, G, NLATS, NLONS, NHGTS. IDIR, IGNO)
120 C
121  C END OF PHYSICAL VARIABLE LOOP
122 190  CONTINUE
123  C
124  C INCREMENT DATE AND TIME, CONVERT JSTEP FROM HHMMSS TO
    SECONDS
125  ISEC=ISEC+ISECS(JSTEP)
126  C IF SECONDS CARRY PAST ONE DAY. ADJUST SECONDS AND DAYS
127  IDAY=IDAY+ISEC/(24*3600)
128  ISEC=MOD(ISEC,24*3600)
129  C
130  C END OF TIMESTEP LOOP
131  200 CONTINUE
132  C
133  RETURN
134  END
                           E-28

-------
The routines IGMK3D and IGPT3D are the interface to the 3-D grid structures. The call to
IGMK3D at line 90 creates a 3-D grid file. Its parameters are:

       1 INTEGER*4 - number of 3-D grid file to create
       2 array of 8 INTEGER*4 - a 32 byte text ID for the file
       3 INTEGER*4 - maximum number of grid points in any 3-D grid.

After the 3-D grid file is created, IGPT3D is called in line 119 once for each combination of
timestep and physical variable to put 3-D grids into the file.  Its parameters are:

       1 INTEGER*4- number of 3-D grid file to write to
       2 INTEGER*4 - minus the number of the 3-D grid to write.  This is 0 or positive to
       indicate write to next empty grid.
       3 array of REAL*4 - array of grid points to write
       4 INTEGER* 4 - first dimension of grid array, # of latitudes
       5 INTEGER* 4 - second dimension of grid array, # of longitudes
       6 INTEGER*4 - third dimension of grid array, # of heights
       7 array of 64 INTEGER*4 - directory for 3-D grid
       8 INTEGER*4 - number of 3-D grid actually written, returned by IGPT3D.

VisSD allows data sets which span more than one 3-D grid file.  In this case the grid sequence of
repeating variables and repeating timesteps continues across grid file boundaries. A single 3-D
grid file is limited to 100,000,000 grid points (400 megabytes).  If your data set contains more
than this number of grid points, then you should alter sample.F to create a new 3-D grid file (by
incrementing IGRIDF and calling IGMK3D) on every Nth timestep, where N timesteps will fit in
one 3-D grid file. Note that the compSd command described in section 4 references data sets as
sequences of 3-D grid files.

The VisSD system processes the gridded data based on the information in the grid directories,
which is contained in the. IDIR array in the sample.F program.  It is a good idea to initialize IDIR
to all zeros, as in line 40. The size of the 3-D grid is set in entries 1 to 4 of IDIR (lines 72 to 75).
Note the restrictions on data set size described in section 4 of this document.

The date and time of the 3-D grid are set in entries 6 and 7 of IDIR. as in lines 97 and 99. Note
that they are represented in our YYDDD and HHMMSS formats described above. Four
functions are available in libmain.a for converting between these formats and a format which
makes date and time calculations easy.  The IDAYS function converts YYDDD format to days
since January 1, 1900, as in line 60. The ISECS function converts HHMMSS format to seconds
since midnight, as in lines 62 and 125.  This makes it easy to do calculations with dates and
times, as in lines 125, 127 and 128. Then the I YYDDD function converts days back to YYDDD
and the IHMS function converts back to HHMMSS, as in lines 97 and 99.

                                         E-29

-------
The physical variable name is 4 ASCII characters packed into entry 9 of IDIR, as in line 105.
The LIT function in libmain.a converts a CHARACTER*4 to an INTEGER*4.

The spatial location of the grid is described in terms of latitude and longitude in ten-thousandths
of a degree, and in terms of height (altitude) in meters. The grid element G( 1,1,1) is in the north
west bottom corner of the grid, and the grid element G(NLATS,NLONS,NHGTS) is in the south
east top corner. The grid latitude and longitude are described in entries 21 to 25 of IDIR, as in
lines 78 to 82. The grid heights are described in entries 31 to 33, as in lines 85 to 87.  The NINT
function is a FORTRAN intrinsic for converting a REAL to the nearest INTEGER. The latitude,
longitude and height spacings are simply the distances between successive grid points. Latitudes
are positive in the northern hemisphere, longitudes are positive in the western hemisphere, and of
course heights are positive above sea level.

The real work in modifying the sample.F program is writing code for getting your data into the G
array, in lines 107 to 113.  For some data you may want to fake the latitude, longitude and height
coordinates. However, if your data is geographical and large scale, then you may want to
describe its location accurately, and it may be necessary to resample your data to a regularly
spaced grid in latitude, longitude and height from some other map projection.  It may also be
necessary to transpose your data array to get the index order to be LAT, LONG and HOT, and to
invert your data array in some index to make sure G( 1,1,1) is the north west bottom corner.  Even
in faked coordinates, you may need to transpose or invert your data array to get the right
'handedness' in the display. The Vis5D system allows grid points marked as missing,  indicated
by array values greater than 1.0E30. If you do fake the latitude, longitude and height
coordinates, then the topography and map  display of the Vis5D program will be meaningless. If
you calculate trajectories for your data set, either use accurate coordinates, or take great care to
get relative time, distance and velocity scales consistent in the faked coordinates.  Otherwise
trajectory paths will not be realistic.

The IPP function in libmain.a returns the value of a command parameter as INTEGER*4. as in
line 45. There are similar functions CPP and DPP in libmain.a which return CHARACTER* 12
(converted to upper case) and REAL*8 values for command parameters.  They get command
parameters based on their sequential position in the command line.  They all have similar
function parameters:

       1 INTEGER*4 - sequence number of command parameter
       2 (IPP) INTEGER*4 - default value of command parameter
             or
       2 (CPP) CHARACTER* 12 - default value of command parameter
             or
       2 (DPP) REAL*8 - default value of command  parameter.
                                         E-30

-------
There is also a mechanism for picking up command parameters based on keywords. This is done
with the functions IKWP, CKWP and DKWP in libmain.a. They get command parameters based
on position after a keyword of the form '-keyword1. IKWP returns an INTEGER*4, CKWP
returns a CHARACTER* 12 (converted to upper case) and DKWP returns a REAL*8.  They all
have similar function parameters:

       1 CHARACTER* 12 - keyword string in command line
       2 INTEGER* 4 - sequence number of command parameter after keyword
    ,   3 (IKWP) INTEGER*4 - default value of command parameter
             or
       3 (CKWP) CHARACTER* 12 - default value of command parameter
             or
       3 (DKWP) REAL* 8  - default value of command parameter.

The NKWP function in libmain.a returns the number of sequential parameters after a keyword.
Its function parameter is:

       1 CHARACTER* 12 - keyword string in command line.

i >n the most machines the REAL*4 format is not a subset of the REAL* 8 format, so make sure
ii- declare DPP and DKWP as REAL*8, as well as their third function parameters (for default
\ alues of command parameters).

Ii \ ou would rather write your grid conversion program in C instead of FORTRAN, look at the
'lie 'sample.c'. It contains examples of how to easily read and write grid files using C structures
.triJ routines in studio.

4.2   I sing the McIDAS Utilities

1  '::ee \ our data set is in a 3-D grid file, you can list directory information about the grids using
t:ie command:

       igg3d list I J-gr3dfN

^ 'here N is the 3-D grid file number, and I and J give the range of grid numbers to list.  You can
je: a quick idea of the data values using the command:

      igg3d info I J -gr3df N

\\ inch will list the minimum  and maximum values, the mean, the standard deviation and the
number of grid points marked for missing data, for grid numbers I to J in 3-D grid file number N.

                                       E-31

-------
 There are restrictions on the dimensions of data sets which can be visualized using the VisSD
 program. Currently, you are limited to a maximum of 30 physical variables and 400 times steps.
 The VisSD program will also fail if there is a trivial spatial dimension:

       NLATS < 2
       NLONS < 2
       NHGTS < 2

 The VisSD program will perform badly, possibly making errors, if the total 5-D size:

       NLATS * NLONS * NHGTS * NTIMES * NVARS

 is too large. The limit depends on the amount of memory in your system. For a 64 MB system,
 the limit is around 25,000,000, with performance degrading as the data set size exceeds the limit.

 VisSD provides the gg3d and iggSd programs which can be used to reduce the resolution and
 scale of a data set to meet these limits. The gg3d program resamples a 3-D grid to new array
 dimensions and new extents in latitude, longitude and height, using the command:

       gg3d samp N I M J
       gg3d ave NI MJ

 where N and I are the numbers of the source 3-D grid file and grid, and M and J are the numbers
 of the destination 3-D grid file and grid. The 'samp' version calculates destination grid point
 values by linearly interpolating between source grid point values, and is appropriate for
 increasing resolution. The 'ave' version calculates destination grid points by averaging multiple
 source grid point values, and is appropriate for decreasing resolution. Without any keywords
 gg3d will do a straight copy operation.  Invoke the gg3d command with the keyword:

       -size NLATS NLONS NHGTS

 to set the grid dimensions for the destination grid as different from the dimensions for the source
 grid.  Invoke gg3d with the keywords:

       -lat XLATS XLATN
       -long XLONE XLONW
       -hgt XHGTB XHGTT

to set extents (range bounds) for the latitude, longitude and height for the destination grid as
different from the extents for the source grid. The -lat, - long and -hgt keywords take real
arguments.

                                         E-32

-------
The iggSd program provides options for copying and deleting 3-D grids and for interpolating
between 3-D grids in time. Sequences of 3-D grids are copied using the command:

       igg3dgetNIJMK

where N is the source 3-D grid file number, I and J are the range of source grid numbers, M is the
destination grid file number, and K is the starting destination grid number.  A single grid may be
copied within a 3-D grid file using the command:

       igg3d copy I J -gr3df N

where N is the 3-D grid file number, I is the number of the source grid and J is the number of the
destination grid. A range of grids may be deleted with the command:

       igg3d del I J -gr3df N

where N is the 3-D grid file number and grid numbers between I and J are to be deleted.

The igg3d command provides two different options for time interpolation. The first is:

       igg3daveKIJDT-gr3dfN

where grid number K is produced by interpolating between grid numbers I and J, all in 3-D grid
file number N.  Grid number K will be assigned day D (in YYDDD format) and time T (in
HHMMSS format).  The relative weighting of grids I and J is calculated from this date and time,
assuming linear time interpolation.  If grid K is not between grids I and J in date and time, igg3d
prints an error message.  The igg3d command also provides a more complex time interpolation
option:

       igg3d int I D T -setdel S M -lag U V -gr3df N

This will put a grid in the next empty slot of 3-D grid file number N. assigned to day D (in
YYDDD format) and time T (in HHMMSS format). This grid will be interpolated from a
sequence of grids, all in file number N, at grid numbers I, I+S. I+2S	I+(M-1 )S. This
sequence of grids should be ascending in date and time. igg3d will search the sequence and
linearly interpolate between the two consecutive grids from the sequence which bracket day D
and time T. Furthermore, the interpolation will be done in a coordinate system moving at
constant velocity (U,  V), where U and V are in meters per second,  with V positive for motion
from south to north and U positive for motion from west to east. The  two bracketing grids from
the sequence will be  shifted in latitude and longitude to their positions at day D and time T, and
the result interpolated between these two spatially shifted grids. Furthermore, if the grids in the

                                         E-33

-------
sequence are identified in their directory entries with variable name 'U  ' or 'V  ', then the
corresponding component of the velocity (U, V) will be subtracted from the grid values.

The 'int' option of iggSd may seem complex, but it is just what you need if you want to write a
script to re-interpolate a five-dimensional data set to a new sequence of timesteps. It is
particularly useful if the source sequence does not have uniform timesteps, or if the physics are
moving through the spatial grid and you want to avoid blurring in the time re-interpolation. You
would set M equal to the number of timesteps and S equal to the number of physical variables in
the source five-dimensional data set. The I parameter would be set equal to the grid number in •
the first timestep of the variable being interpolated. Note that this igg3d option will put the new
grid at the end of the grid file containing the source data set, but you can use 'igg3d get' to move
it to another grid.

You can use the command:

       igu3d make N M

to create 3-D grid file number N, which allows 3-D grids of up to M points each. The names of
3-D grid files have the form:

       GR3Dnnnn

where nnnn is the four digit decimal, grid file number, padded with leading zeros if needed  to
make four digits.

5. VisSDUTILITIES

Vis5D  includes a number of utility programs. This section describes each one.  The new
v5dimpon program is described separately in Section 7.

v5dinfo

       I 'sage: v5dinfo file

       Description:  vSdinfo prints information about the given v5d file such as the size of the
       3-D grid, the number of timesteps, the names of the  variables, etc.

       This program will  also work on compSd files.  Therefore, the old compinfo program has
       been removed.
                                         E-34

-------
vSdstats

       Usage: vSdstats file

       Description: vSdstats prints simple statistical information about the grid data in the
       named v5d file. Again, compSd files are also accepted.

vSdedit

       Usage: vSdedit file.vSd

       Description: vSdedit allows you to change header information such as the map
       projection, vertical coordinate system and variables names in the named file.  It is an
       interactive, menu-driven program and is intended to be self explanatory. This program
       does NOT work with compSd files.

vSdappend

       Usage: vSdappend [-var] [...] file.vSd [...] target.vSd

       Description: vSdappend allows you to append a number of vSd files together to make
       one larger file. This might be useful if your weather model generates a separate .vSd file
       for each timestep because you'll want to join those files together to view the data in
       VisSD.

       The arguments are, in order:

       •      An optional list of variables to omit from the output file.  For example, if you
              want to omit the variables U and THETA you would use the arguments -U and
              -THETA.
       •      The list of vSd files to append onto the target file.
       •      The name of the target vSd file to create (if it doesn't exit) or append onto (if the
              target file already exists).

       Note that the dimensions of the grids (rows, columns and levels) must be the same in
       each file to append them together.  The map projection and vertical coordinate system
       information will be taken from the first input file and ignored the remaining files.

gr3d_to_v5d

       Usage: gr3d_to_v5d N M file.vSd C

                                         E-35

-------
      Description: gr3d_to_v5d converts (a) McIDAS GR3D file(s) to a v5d file.  N is a
      number which indicates the name of the first grid file, M is the number of grid files to
      convert, file.vSd is the name of the file to produce, and C is 1, 2 or 4 to indicate how
      many bytes per grid point to use for compression (the default is 1). Example: if N=20
      and M=4 then the files GR3D0020, GR3D0021, GR3D0022, and GR3D0023 will be  read
      an converted to the named file.vSd.

igg3d

      Usage:  igg3d ...

      Description: igg3d is used to perform a variety of manipulations on McIDAS GR3D
      files.  See section 4.2 for more details.

igu3d

      Usage:  igu3d  ...

      Description: igu3d is a utility to perform a variety of manipulations on McIDAS GR3D
      files.  See section 4.2 for more details.
      Usage: gg3d ...

      Description: gg3d is a utility for resampling McIDAS GR3D files. See section 4.2 for
      more details.

 -ilonls

      I  sage: listfonts

      Description: listfonts, used on SGI systems only, lists the IRIS GL fonts available for use
      in Vis5D's 3-D window.  After listing the fonts you may use one in VisSD by specifying
      ii with the -font option. For non-SGI systems or systems using OpenGL, use the xlsfonts
      or xlbntsel program to select a font.
      Usage: compSd N M filename
                                        E-36

-------
       Description: comp5d converts one or more McIDAS GR3D files to the compSd format
       used in previous (and the current) versions of VisSD.

       N is the first 3-D grid file number and M is the number of grid files in the data set. The
       M parameter allows data sets which span multiple grid files and should not be confused
       with the total number of 3-D grids in the data set.

       filename is the name of the compressed grid file. You can choose whatever name you
       want, but note that compSd will convert the name to all upper case characters.

       If your data set contains wind vector components you can use the -wind keyword to select
       a subset of wind components or calculate horizontal wind speed, named 'SPD ', for the
       compressed file. The longitude, latitude, and vertical components of the wind vector
       must be named'U','V  ' and'W 'respectively. If you use the-wind key word, then only
       those wind-relevant variables (i.e. U, V, W & SPD) whose names are listed after -wind
       will be included in the compressed  file. For example, to include SPD and W in the
       compressed file, from a 3-D grid file containing U, V and W components, use the
       command:

       compSd N M F -wind SPD W

help

       Usage: help utilityname

       Description: The help command will list a quick reference to the parameter formats for
       the named utility such as igg3d, igu3d, gg3d, and compSd utilities.  Example: help igg3d

m.iketopo.c

       This program, found in the util directory, is a template program  for generating your own
       ne\\ topography (*.TOPO) files. Read the information at the top of the file for
       instructions. To compile maketopo see the makefile named maketopo.m.

niakemap.c

       Tins program, found in the util directory, is a template program  for generating your own
       new McIDAS map outline (OUTL*) files. Read the information at the top of the file for
       instructions. To compile makemap see the makefile named makemap.m. If you create a
       map with lots too many line segments, it will be displayed with  some line segments
                                        E-37

-------
       missing and some extra crazy line segments. You can fix this by increasing
       MAXMAPVERT and MAXMAPSEG in src/globals.h, then re-making visSd.

newmap.c

       This program and mapfunc.f, found in the util directory, is used to transform the vertices
       of an existing map outline file to make a new map outline file.  This might be useful if
       you need to transform a map to a new coordinate system. Read the newmap.c and
       newmap.m files for more information.

6. USING VisSD TO VISUALIZE YOUR DATA

This section describes how to use the VisSD visualization program, VisSD. It is almost
completely controlled using the mouse with a graphical user interface.  The best way to learn to
use it is to experiment. There is no way to harm your data from within the program.

6.1 Starting VisSD

After you have made a vSd file, you can interactively visualize it with the command:

       visSd file.vSd [options]

[options]  may be any combination of the following (though none are usually needed):

       -alpha
             Use alpha blending instead of "screen door" transparency.
       -area N
             [SGI only]  Specifies the first of a sequence of McIDAS area files to read and then
             display inside the 3-D box. See section 6.14 for more information.
       -box x y z
             This lets you specify the aspect ratio or proportions of the 3-D box.  Default
             values are 221.
       -barbs
             Use wind barbs in place of wind vectors.
       -date
             Use 'dd month yy' in place of 'yyddd' on the clock.
      -font xfontname
      -font glfontname height
             Set the font used for the clock and text labels in the 3-D window. You can
             determine which form of the font option is used on your system by typing 'visSd'
             alone and examining the options. The first form expects the name of an X

                                        E-38

-------
       window system font.  Use the xlsfonts command to see a list of X fonts on your
       system. The second form expects the name and size (72=1 inch) of an IRIS GL
       font. Use the listfonts command included with VisSD to see a list of GL fonts on
       your system.
       Example 1: vis5d LAMPS.vSd -font fg-30
       Example 2: vis5d LAMPS.vSd -font Helvetica 30
-full
       Open the 3-D window as a borderless, full-screen size window.
-funcpath pathname
       Specify the directory to search for user Fortran functions.
       Example visSd LAMPS.vSd -funcpath /usr/local/vis5d/userfuncs
-geometry WxH+X+Y (or WxH or +X+Y)
       Specify the geometry of the 3-D window.
       Example visSd LAMPS.vSd -geometry 640x480-10+10
-hirestopo
       Display a high-resolution topography.  This is only recommended on systems
       with fast graphics hardware.
-legend position size
       Set color legend position and size.  Position values are 1 (bottom, the default), 2
       (top), 3 (left) and 4 (right). Size is the height of the legend bar and is between 10
       and 1000 (default=l28).
-log [a] [b]
       Display height on a logarithmic axis instead of linear.  This is discussed in section
       3.2.  The optional arguments a and b are the scale and exponent factors in the
       height/pressure equation.  The  defaults are 1012.5 and -7.2, respectively.
-map file
       Use a map file other than the default of OUTLSUPW.  See section 2.3 to setup a
       different default.
       Example: visSd LAMPS.vSd-map OUTLUSAL
-mbs n
       Override the assumed system memory size of 32 megabytes.  See section  2.3 to
       setup a different default value.
-path pathname
       Use a different path for map and topo files instead of the current.
       Example: visSd LAMPS.vSd -path /usr3/data
-projection p
       Set the  display map projection, default is to display data in its natural projection
       (obtained from the data file), p may be one of:
              cylindrical-display data on a cylindrical Earth
              spherical-display data on a spherical Earth
                                   E-39

-------
        Only the first 3 characters are significant/needed. You will be prompted for
        additional parameters.
        Example: vis5d LAMPS.vSd-projection spherical
 -quickstart
        Don't load any grids when starting VisSD, even if the whole file will fit into
        memory.  The grids will be read as needed. This option is useful when reading a
        file via NFS.
 -rate ms
        Change the default animation rate, ms is the minimum delay in milliseconds
        between frames. Default is 100 ms.
 -script script.tcl
        Specifies a Vis5D/Tcl script to execute automatically.
 -sequence filename
        [not available on all systems]  Specifies a file containing a sequence of images to
        texture map over the topography. See section 6.14 for more information.
 -texture rgbfile
        [not available on all systems]  Specify an SGI .rgb file to texture map over the
        topography. See section 6.14 for more information.
 -topo file
        Use a topography file other than the default of EARTH.TOPO.  See section 2.3 to
        setup a different default.
 -trajvars uvar war [wvar]
        Specify which variables are to be used  for trajectory tracing.
        Defaults are U, V, and W.
        Example:  vis5d LAMPS.vSd -trajvars  U2 V2 W2
 -vertical v
        Set the vertical  coordinate system, default is obtained from datafile. v may be one
       of:
              generic  - linear, equally spaced levels in generic units
              equal   - linear, equally spaced levels in km
              nonequal - linear, unequally spaced levels in km
       Only the first 3  characters of v are significant/needed.  You will be prompted for
       additional parameters.
       Example: - visSd LAMPS.vSd  -vertical  nonequal
-wdpy  xdisplay
       Put the widgets on a different X display.  Useful in combination with
-full for making slides and videos.
       Example:  visSd LAMPS.vSd -full -wdpy pluto:0
-wide w
       Set width of line segments in pixels (default is 1.0).  Again, useful for making
       videos.

                                   E-40

-------
             Example: visSd LAMPS.vSd-wide 3.0
       -wind2 uvar war [wvar]
             Specify the names of a secondary set of U, V, and (optionally) W wind
             component variables to use when drawing the Hwind2, Vwind2 and Strm2 vector
             slices. Useful when you have two sets of wind vector components that you want
             to visualize simultaneously.
             Example: visSd MYDATA -wind2 U2 V2 W2

If you start VisSD without arguments you will get a list of all the command line options and
keyboard functions. Otherwise, VisSD will begin by reading the data file.

Previous versions of VisSD required that the entire file be read into main memory; if you didn't
have sufficient memory you couldn't visualize the file. In version 4.0 and higher, this restriction
is lifted; you may visualize files which are larger than main memory. This is implemented with a
grid cache: VisSD reads data only when  needed and discards it on a least-recently-used basis.
Small files will  be read in their entirety as in previous versions.

For the user, this means VisSD will  allow you to visualize large files even with only 32 MB of
main  memory.  However, performance will  degrade as the ratio of file size to main memory size
increases.  If you observe sluggish performance and a lot of disk activity while running VisSD
you should get more memory.

6.2 The Control Panel

After VisSD has opened/read your file, two  windows will appear: a 3-D window on the right and
a control panel on the left of the screen.  The 3-D window is used to view and interact with the
data.  In its upper-left comer is a combination analog/digital clock which indicates the current
timestep. The control panel contains several groups of buttons.

Starting at the top, the first button group contains the following buttons:
[ANIMATE]
[TEXTURE]
[TOPO]
SAVE
[ANIM-REC]
SCRIPT
[STEP]
TOP
[MAP]
RESTORE
REVERSE
INTERP
NEW VAR
SOUTH
BOX
GRID #'s
[SAVE PIC]
UVW VARS
EXIT
WEST
CLOCK
CONT #'s
[PERSPEC]
These buttons are used to control the primary functions of VisSD,  Some of the above buttons are
enclosed in brackets [] to indicates that they may be blank upon starting VisSD. This will
                                         E-41

-------
 happen when the button does not apply to the current data set, because the button would conflict
 with a command line option, or because the feature is not available on your hardware.

 The next group of radio buttons control the viewing mode which determines how the mouse is
 used in the 3-D window:

        Normal     Normal mouse mode is used to rotate, zoom, and pan the graphics in the 3-D
                   window. See section 6.3.

        Trajectory  This mode is used for creating and displaying wind trajectories.  See
                   section 6.7.

        Slice       This mode is used to reposition horizontal and vertical slices. See
                   section 6.5.

        Label      This mode is used to create and edit text labels in the 3-D window. See
                   section 6.8.

        Probe      Used to inspect individual grid values by moving a 3-D cursor through the
                   3-D grid.  See section 6.9.

 These modes are mutually exclusive; only one may be selected at a time. To the immediate right
 >; i/ontal plane. The vertical wind streamline slice (VStrm) depicts wind values by drawing
 -:teamlmes on a  vertical plane. The location of slice planes can  be changed with the mouse
v. hiie in "Slice" mode.  See section 6.5 for more details.

 1 he bottom part of the control panel window contains a 2-D matrix of buttons.  Each row
Corresponds to a  physical variable in your dataset.  Each column corresponds to one type of
L-raphical representation.  By selecting  the correct row and column you can view any variable as
.1 "-D isosurface. horizontal contour slice, vertical contour slice, horizontal colored slice, vertical

                                          E-42

-------
colored slice, or volume rendering. This matrix of button is scrollable if there are more rows of
buttons than will fit in the window. You can use the mouse to drag the scrollbar or press the
up/down arrow keys on your keyboard to scroll the button matrix.

The display of any graphic is controlled by clicking on its widget button with the left mouse
button. Each type of graphic also has a small pop-up control window which appears when turned
on. The control windows are different for each type of graphic and are explained below.  To
bring up a graphic's control window without toggling its display, use the middle mouse button.
When the graphic is displayed it will be the same color as the widget button, making it easy to
distinguish and identify different variables in the display. To change the color of the graphic,
click on its widget button with the right mouse button and a small window with four slider
widgets will appear. By changing the levels of red, green, and blue you can make any color.

If the control panel window becomes obscured by other windows, you can bring it to the top by
pressing the  key while the mouse pointer is in the 3-D window. This is especially useful
when using the '-full' option.

6.3  Controlling VisSD

The topmost group of buttons in the control panel operate the main functions of VisSD.  Some
will be discussed in more detail later.
       ANIMATE   This toggle button turns animation on or off.  Use the left or middle mouse
                    buttons for forward animation and the right mouse button for reverse
                    animation. Does not appear when viewing data sets with one timestep. To
                    make the animation slower or faster, hit the S and F key on the keyboard
                    while the mouse cursor is inside the 3-D viewing window.

       STEP        This button has three possible uses depending on which mouse button is
                    pressed:
                           Left Button - Step ahead one timestep
                           Middle Button - Go to first timestep.
                           Right Button - Backward one timestep.
                    This button does not appear when viewing data sets with one timestep.

       NEW VAR   Used to duplicate physical variables or invoke external analysis functions.
                    This is explained further  in section 6.11
      EXIT
Exit the program.  A window will appear to ask you to verify your
decision.
                                         E-43

-------
TEXTURE    Toggles display of texture maps on/off if they are loaded. See section 6.14
              for more information.

TOP          Depending on which mouse button is pressed:
                    Left or Middle:  Reset the 3-D window to the default top-view.
                    Right: Set the 3-D window to a bottom-view.

SOUTH      Depending on which mouse button is pressed:
                    Left or Middle: Set 3-D window to a south-view.
                    Right: Set 3-D window to a north-view.

WEST        Depending on which mouse button is pressed:
                    Left or Middle:  Set 3-D window to a west-view.
                    Right: Set 3-D window to an east-view.

TOPO        Toggle the display of topography. This button will not appear if the
              topography file was not found. Click on TOPO with the right mouse
              button to edit the topography color.

MAP         Toggle the display of map lines.  This button will not appear if the map
              file was not found.  Click on MAP with the right mouse button to edit the
              color of the map lines.

BOX         Toggle the display of the 3-D box.

CLOCK      Toggle the display of the clock.

SAVE        Save current graphics and colors.  After you've setup a variety of
              isosurfaces, slice, wind trajectories and colors it is useful to be able to save
              them and restore them the next time the data set is visualized.  You'll be
              prompted for a filename. The file format, as of VisSD 4.2 is a Tel script.
              See section 6.14 for more information.

RESTORE    Restore the information save with the SAVE button. .See section 6.14 for
              more information.

GRID #s      Normally the bounds of the data set in latitude, longitude and kilometers
              are displayed along the edges of the box.  Use this button to display the
              numbers in grid coordinates instead.
                                  E-44

-------
       CONT #s     The numbers which are drawn on contour line slices can be toggled on or
                    off with this button.
       [ANIM-REC] This button works just like ANIMATE but allows fast animations on
                    system with slow 3-D rendering. After each timestep is rendered the
                    image is saved in memory. When the animation loop repeats the images
                    are quickly copied from memory to the 3-D window resulting in a faster
                    animation.

       REVERSE   Normally, the 3-D box and clock are drawn in white on a black
                    background.  This option reverses that and draws a black box and clock on
                    a white background.  This is useful for making paper print outs.

       SAVE PIC   Used to save the image in the 3-D window to a file.  Depending on what
                    system you're using a number of different picture file formats are
                    supported. On SGI systems be sure you have the 'tops', 'frombin', and
                    "togif program installed from your IRIX CD-ROM.  When using OpenGL
                    on SGIs the 'fromxwd' program is also needed.  Unfortunately there is a
                    bug in this program which often causes it to fail. Included with VisSD
                    however is a patched version of fromxwd.

       PERSPEC    Toggle between perspective and orthogonal viewing projections.

       SCRIPT      Used to run VisSD Tel scripts. When you click on this button a file
                    request will appear in which you can select the Tel script to run. For more
                    information see section 6.14.

       INTERP      Starts the VisSD interactive interpreter. In your shell window you may
                    then enter Tclcommands. VisSD will be suspended while the interpreter
                    is active.  Type 'exit' to exit the interpreter. For more information see
                    section 6.14.

       UVW VARS  Opens a window in which you can specify the names of the variables to
                    use for computing trajectories and wind slices.

       LEGENDS   Toggles the display of colorbar legends in the 3-D window.

6.4 Viewing Modes

In 'Normal' mouse mode the mouse is used to view the data in the 3-D window. By pressing the
left mouse button and moving the mouse while the cursor is in the 3-D window, the 3-D image

                                         E-45

-------
 can be rotated. At any instant you can only control two of the three degrees of freedom of box
 rotations. However, by releasing and re-pressing the left mouse button you can change your
 "grip" on the box. With practice you will learn to control the box through a series of mouse
 moves, releasing and re-pressing the left button between moves.

 The center button controls two very different things depending on how the mouse is moved.
 Holding the center button down and sliding the mouse away from yourself zooms in, making the
 box get bigger.  Sliding the mouse towards yourself zooms out and makes the box get smaller.
 Holding the center button down and sliding the mouse right moves a plane of invisibility (i.e. a
 clipping plane) into the box, creating a cut away view of the box contents. Sliding the mouse left
 brings the clipping plane toward yourself, eventually out of the box altogether.

 The right mouse button is pressed to translate the box in the window.  This is useful if you want
 to zoom in to something that is not in the center of the box.  Note that the center of rotation for
 box rotations stays at the center of the screen rather than in the center of the box.

 The other four viewing modes will be discussed in detail in  following sections.

 6.5  Isosurfaces

 An  isosurface (3-D contour surface) shows the 3-D volume bounded by a particular isovalue.
 The isosurface has the  specified isolevel, the volume inside  contains values greater (or less) than
 the  isovalue. The volume outside  contains values less (or greater) than the isovalue.

 The first column of buttons in the  control panel's button matrix controls isosurfaces. Clicking on
 one of these buttons with the left mouse button causes a pop-up window with a slider and OK
 button to appear below. Select an isovalue on the slider and click on the OK button to generate
 an isosurface for all timesteps.

 Toggling  ANIMATE on will let you watch the time dynamics of the isolevel contour surfaces.
 Note that the surfaces are generated asynchronously with the animation, so you may not see the
 surfaces for all the timesteps as the clock hand makes it revolution.  The new surfaces will appear
 on successive clock revolutions.

 Clicking on an isosurface button with the middle mouse button will summon the pop-up window
 without toggling the surface  on or  off.

 6.5.1  Isosurface Color

 An isosurface may either be drawn entirely in one color or colored according to the values of
another physical variable.

                                          E-46

-------
To change the color of an isosurface, click on the appropriate isosurface button with the right
mouse button. A window will appear with a column of variable names (first button labeled
"monocolor") and four sliders labeled red, green, blue, and transparency.

By default, monocoloring is used. To change the isosurfaces's color just move the red, green,
and blue sliders.

If you click on a button other than "monocolor" you will tell VisSD to draw the isosurface
according to another physical variable.  The red, green, blue sliders will be replaced with a color
table editor. You can change the color table (which maps data values to colors) by drawing new
curves with the mouse or by pressing the up, down, left, and right cursor keys on your keyboard.

As an example, suppose you're viewing the LAMPS.v5d data set. Make an isosurface of wind
speed at 40 m/s.  The isosurface should be blue. Click on the SPD isosurface button with
your right mouse button. The color window appears.  Click on the T button in that window and
the isosurface will now be colored according to temperature.  You can modify,the mapping from
temperature values to colors by "drawing" the red, green, and blue curves in the color table
window with the mouse buttons or by pressing the cursor keys. Changing the color table is
explained more below in the section about colored slices.

6.6  Slices

Slices allow you to look at planar cross sections of data in the 3-D box.  These slices can be
oriented either horizontally or vertically and may depict either contour lines,  colored slices, wind
vectors, or wind stream lines.

As described in section 6.1, the last group of buttons on the control panel is a matrix of buttons,
the second through fifth columns of which control slices. There is a column of buttons for
horizontal contour slices, vertical contour slices, horizontal colored slices and vertical colored
slices, respectively. If your data set contains U, V, and W variables, there will also be a row of
wind vector slice buttons as described in 6.2. There are two buttons for horizontal wind slices
and two buttons for vertical wind slices.

To activate/turn on a slice, click on the appropriate widget button with the left mouse  button.
The initial position for slices is the middle of the box.  The exact slice  location in terms of
latitude, longitude or elevation is given by a small  numeric labels near the one corner  of each
slice. To print the numbers as grid coordinates instead of geographic coordinates, toggle the
"GRID #s" widget button on the control panel.

The position of slices can be changed interactively using the mouse. To do so you must first be
in SLICE mode by selecting the SLICE radio button.  To move any slice, simply point at the

                                          E-47

-------
 slice's corner with the mouse, press the right mouse button and drag it to a new position. Vertical
 slices may also be moved in a perpendicular motion by "grabbing" the middle of the top or
 bottom edge and dragging it. A slice may be moved while in animation mode, however, some
 jumpiness may occur because new slices are computed asynchronously.

 6.6.1  Contour Line Slices

 When viewing a horizontal or vertical contour line slice (burton columns two and three) a small
 control window will appear as well.  In this pop-up window you can enter the interval to
 use between contour lines.  Just type in a new number to change the interval.  Decreasing the
 interval will cause denser contour lines to be generated, increasing the interval will result in
 sparser lines.

 If you enter a negative interval then all contour lines with a negative value will be drawn with
 dashed lines while positive values will be drawn with solid lines.

 Optionally, after the interval value you may specify a range of values (a,b) which will cause only
 contour values between a and b to be  drawn.  For example, suppose you enter

        -10 (-30,20)

 This will result in contour lines for values between -30 and 20 at intervals of 10 with negative
 lines drawn as dashed lines.

 The "CONT #s" button on the control panel toggles the display of the contour numbers within
 the slice.

 6.6.2   Colored Slices

 When a viewing a horizontal or vertical colored slice (button columns four and five) a color table
 window will appear. In this pop-up window you can change  the mapping from data values to
 colors.  If the LEGENDS control panel button is selected the color table will also be displayed in
 the 3-D viewing window.

 The window shows graphs of red, green, and blue over the range of data values. To change the
 red. green,  or blue function  press the left, middle, or right mouse button, respectively, and drag
the  mouse to draw a new function. By default, low data values are mapped to blue  and high data
values are mapped to red.
                                          E-48

-------
Instead of using the mouse you can use the keyboard cursor (arrow) keys to modify the shape and
position of the default function curves.  Press the left/right keys to move the curves left or right.
Press the up/down keys to change the shape of the curves.

You may also change the transparency of the slice as a function of the data values. Press and
hold the SHIFT key while using the mouse or up/down keys to change the transparency.

There are a number of other keyboard controls for the color table window:

       r      reset red, green and blue values
       R      reset transparency values
       c      copy color to an off-screen clipboard
       p    '  paste colors from the off-screen clipboard
       s      save color values to a file, enter filename in your shell window
       1       load color values from a file, enter filename  in your shell window

6.6.3  Wind Vector Slices

Wind vector slices are displayed with the buttons near the center of the control panel labeled
HWIND-1, VWIND-1, HWIND-2 and VWIND-2. The pop-up window for these graphics
contains two type-in fields to control the density and scaling of the wind  vectors.  The scale
parameter is used to multiply the length of vectors drawn. If you want to double the length of all
vectors, enter 2.0.  If you want to halve the lengths, enter 0.5. The density parameter controls
how many wind vectors are displayed. This value can only be between zero and one.  To make
one-half the number of vectors, enter 0.5, for one-fourth enter 0.25. etc. The default values for
both parameters is 1.0.

6.6.4 Wind Stream Slices

Wind stream slices show the path  of wind as connected line segments. The  pop-up control
window contains a type-in widget to control the density of streamlines (note that the scale
parameter is not used).  The density  parameter controls how many streamlines are displayed.
This value can only be between 0.5 and 2.0. To make one-half the number of streamlines, enter
0.5. to make twice the number of streamlines, enter 2.0. etc. The default density is 1.0.

6.6.5  Slice colors

The color of a slice's control button matches that of the slice itself (except for colored slices for
which the slice's tick mark matches the slice's button.)  To change the color  of a slice click on the
slice's button with the right mouse button. A window with red. green, and blue sliders will
appear. Move the sliders to change the color.

                                          E-49

-------
 6.7 Volume Rendering

 Volume rendering is a technique for displaying a 3-dimensional field as a semi-transparent
 colored fog.  Though volume renderings of some physical variables don't look, others can be
 displayed very effectively with the right color mapping.

 The volume rendering feature is available in VisSD on almost all systems. One exception is
 older SGI computers using IRIS GL which don't support alpha blending. Be warned that systems
 without 3-D graphics hardware (i.e. those using Mesa) will render volumes very slowly.

 The sixth column of buttons on the control panel  are the volume buttons. Only one may be
 displayed at a time. When a volume rendering is activated a pop-up window with a color table
 appears. This color table is used in  exactly the same way as described for colored slices above.
 That is, using the mouse or keyboard you can change the function which maps data values to
 color and transparency.  Again, the transparency can be changed while holding down the SHIFT
 key and drawing a curve with the mouse or pressing the up/down keys.

 For those who are curious about the implementation of this feature, the volume rendering is made
 as follows:

       1.  Examine the current viewing transformation to determine which axis of the 3-D box
           is most nearly parallel to the view direction.
       2.  Create a number of colored slices perpendicular to that axis which map data values to
           colors and opacity.
       3.  Render the colored slices in back to front order. The alpha values at vertices are
           interpolated and blended to make smooth transitions between and within slices.

 Despite the simplicity of the  algorithm, most fields are rendered acceptably.  Those that aren't
 can be improved by adjusting the color and opacity mappings.  While more attractive volume
 rendering techniques are known, this technique can be implemented quickly on  many systems.

 6.8  Wind Trajectories

 Wind trajectories trace the motion of air through the 3-D volume much line smoke trails in a
wind tunnel.  To enter trajectory mode select the TRAJECTORY radio button on the control
panel.  A pop-up window will appear near the bottom of the screen and a 3-D cursor will appear
inside the 3-D view box. This 3-D cursor is used to specify where a new wind trajectory should
                                          E-50

-------
be made. The STEP button on the main control panel is also important because it is used to
select the timestep at which to create the trajectory.

Wind trajectories are dealt with in sets.  Currently, eight sets are available.  Each set is
represented in the trajectory window with a button labeled Sell, Set2,..., Set8. Each set can be
individually displayed, colored, or deleted. As you create new trajectories you may want to
group them in sets corresponding to location, time, etc.

The first step in creating a trajectory is to select a position with the 3-D cursor. Use the right
mouse button to drag the 3-D cursor around inside the 3-D box.  The 3-D cursor will move in
2-D in a plane parallel to the plane of projection. That is, the cursor will stay at a constant
distance of depth.  By alternately rotating the view box with the left mouse  button and placing
the cursor with the right mouse button, the 3-D cursor can be placed anywhere inside the view
box. The TOP, SOUTH, and WEST buttons as explained in section 6.2 can also  be useful when
making trajectories.

Second you should select a timestep with the  STEP button on the control panel. When the
trajectory is made, it will be traced forward from the current timestep to the last timestep and will
be traced backward through time to the first timestep.

Finally, to make a trajectory at the current cursor location and current timestep, press the middle
mouse button when pointing inside the 3-D window.  The trajectory will appear as a line
segment. By turning on the ANIMATE button, you can observe how the trajectory travels
through time and space. Typically, you will repeat the process of positioning the 3-D cursor and
clicking the middle mouse button to create a set of trajectories.

Interesting results can  be seen by making a trajectory when the ANIMATE  button is turned on: a
trajectory will  be created for every timestep instead of just one. This will show you the path of
every air parcel which passes through a single point in space.

Here is a summary of the various trajectory functions:

       1  To position the 3-D cursor, use a combination of rotating the view box with the left
          mouse button and dragging the 3-D cursor with the right mouse  button.

       2.  Use the "STEP button or ANIMATE option to select a timestep.

       3.  Press the middle mouse button to create a trajectory at the current cursor location and
          timestep.
                                          E-51

-------
        4.  To toggle the display of a trajectory set on or off, click on the set button with the left
            mouse button.

        5.  Select the current trajectory set by clicking on the set button with the middle mouse
            button.

        6.  A trajectory set may be deleted with the 'Delete Set' button in the trajectories window.
            You will asked to verify your decision.

        7.  You can delete the last trajectory made by clicking on the 'Delete Last' button in the
            trajectories window.

 Wind trajectories can be depicted in two ways:  as line segments or as ribbons. You can select
 ribbons by clicking on the RIBBON button in the trajectory window. Toggling the RIBBON
 button will not effect trajectories you have already made; it only controls how new trajectories
 will be displayed.

 The trajectory window also contains two type-in widgets labeled STEP and LENGTH. The
 STEP value is used to control the step .size used in the trajectory tracing algorithm. The
 LENGTH value is  used to control  the length of trajectories.  1.0 is the default value for each.
 Each acts as a multiplier. If you want the trajectory tracer to integrate in steps 1/2 the default
 size, enter a step value of 0.5. If you want trajectories to be twice as long as the default length,
 enter a length value of 2.0.

 The color of trajectories is controlled in the same way as for isosurfaces. That is, a trajectory set
 may either be mono-colored or colored according to another physical variable. Click on the
 trajectory set button with the right mouse  button to bring up its color window. See section 6.5.1
 for details on using the color window.

 When viewing color-mapped trajectories be aware that the color of a trajectory is time
 dependent. Only the head of the trajectory is colored according to the value of another variable
 for the current timestep.  The tail of the trajectory is colored according to the color of the other
 variable when the head was at that location.

 6.9 Wind Variables

 By default, wind trajectories and the first set of wind slices are computed from the variables
 named  U, V, and W while the second set of wind slices are computed from the variables named
 U2, V2, and W2. Other variables can be specified through the "UVW VARS" button on the
.control panel.  When you click on this  button a  pop-up window  appears in which you can specify
 the names of the variables to use for computing trajectories, the first set of wind slices, and the

                                           E-52

-------
 second set of wind slices.  Just type in the new variables names. Be aware that uppercase and
 lowercase are significant.  Be sure you enter valid names otherwise VisSD may not compute t'
 graphic you select.
 After you've entered new wind component variable names click on APPLY to use the new values
 but keep the window visible.  Click on OK to use the new values and close the window. Click
 on CANCEL to discard your changes and close the window.

 You can also specify the wind component variables on the command line when you start VisSD.
 See section 6.1.

 6.10 Text Labels

 Text labels are used to annotate the image in the 3-D viewing window.  Typically this is used for
 making presentation graphics. You could add a title, your name, the date, highlight a particular
 feature of the data, or document the meaning of the data seen in the window.

 To enter text labeling mode select the LABEL radio burton on the control panel.

 To create a text label position the mouse pointer somewhere in the 3-D window and press the left
 mouse button.  A vertical bar  cursor will appear at that location and you can now type in the text.
 The  key can be  used to correct errors. When you are finished, press .

 To move a text label to a new position, point at it with the mouse, hold down the middle mouse
 button and drag the mouse. As you move the mouse an outline of the text will be dragged with
 the pointer until you release the mouse button.

 To delete a text label, pointing at it with the mouse and pressing the right mouse button. Be
 careful, you will not  be asked  for verification before deleting a label.  Once it's deleted you can
 only restore it by retyping it.

 The SAVE button on the control panel will save any text labels you have made.

 Use the '-font' command option to select a different font.

 6.11  Data Probe

 Sometimes it's useful to be able to inspect individual data values at various locations in the 3-D
 volume.  You can do this with the data probe. Click on the PROBE radio button on the control
.panel. A 3-D cursor  appears in the 3-D box which you can move around using the right mouse
 button.  For each physical variable the value for the current timestep is printed along the left edge

                                          E-53

-------
 of the 3-D window.  If physical units are specified for the variable they will be printed next to the
 value. Units can be assigned with the v5dSetUnits() function in your data conversion program as
 described in section 3.1.

 If you turn on the GRID #'s button, the probe will be constrained to integral grid coordinates.
 That is, the cursor will 'snap' to the nearest discrete grid coordinate.

 6.12  Making New Variables

 The NEW VAR button on the control panel is used to add new physical variables to the button
 matrix. There are three kinds of new variables you can add:

        1.  Cloned variables: these are copies of existing variables. You can use a cloned
           variable to make two different isosurfaces of the same variable simultaneously, for
           example.

       2.  External function variables: you can invoke an external function (which you write) to
           compute a new variable as a function of existing variables.

       3.  Computed variables: you can compute a new variable by typing in a formula
           involving values of existing variables.

 When you click on the NEW VAR button a window appears which lists the variables that you
 can clone,  lists the external functions that you can invoke, and lets you type in a formula for
 computing a new variable. After a new variable has been created anew row of buttons will be
 added to the control panel for the new variable. You can use then make isosurfaces, contour
 slices, etc.  of the that variable like any other.

 6.12.1  Cloned Variables

 Suppose you want to clone the U wind component variable so that you can make both +20 and
 -20 isosurfaces of it.  First, click on NEW VAR and then select I' from the pop-up window. The
 cloned variable will be named U'.  You can then treat U' as any other variable and make an
 isosurface of it.

6.12.2 Type-in Formulas

Type-in formulas let you type in mathematical expressions to compute new variables as a
function of existing variables. For example, to compute wind speed from U. V, and W you
would enter the formula:
                                          E-54

-------
       SPD3D = SQRT( U*U + V*V + W*W)

To compute the ration of the dew point (TD) to the temperature you would enter the formula:

       RATIO = TD / T

Formulas may use the names of existing variables, numbers, the arithmetic operations +,-,*,/
and ** (exponentiation), and the functions SQRT, EXP, LOG, SIN, COS, TAN, ATAN (arc
tangent), ABS (absolute value), MIN and MAX.  MIN and MAX take two arguments, while the
other functions all take one argument.

Click on the OK button to compute the new variable or CANCEL to discard the formula.  You
can edit the formula later by selecting it again from the NEW VAR pop-up window.

6.12.3   External Analysis Functions

External analysis functions are an advanced feature, so new VisSD users may want to skip this
section for now.

An external analysis function is a function written by you in FORTRAN which is called by
VisSD to produce a new variable as a function of the existing variables. • As an example, there is
included a function SPD3D which computes wind velocity as:  SPD3D = SQRT( U*U + V*V +
W*W ). Be aware that the external function feature is intended for experienced VisSD users who
are also proficient FORTRAN programmers.

All external functions must be placed in a directory named "userfuncs" (this may be changed in
the visSd.h file). This is relative to the current directory when you run VisSD. For example,
suppose you always run VisSD while in "/usr/jones/data", then your analysis functions must be in
"/usr/jones/data/userfuncs". Also, this directory contains a script "externf' which is used to
compile your function.

To write an external function it's best to copy one of the supplied examples and then modify it.
The included "userfuncs/example.f' is fully commented for this purpose. Later, when you call
your function from within VisSD, the function will be invoked once for each timestep.  The
arguments passed to the function include:

       1. the number of physical variables in the data set
       2. the name of each variable
       3. the size of the 3-D grid
       4. the date and time of the timestep
       5. map projection and vertical coordinate system information

                                         E-55

-------
       6. the actual 3-D grids of data for each physical variable

 Your function will have to scan the list of variable names to find the ones it needs for the
 computation. Then it must do the actual computation, generating a new grid of data to return to
 VisSD. The examples we've included demonstrate how to do this. Specifically, you should look
 at example.f which has detailed documentation of the function arguments. The map projection
 and vertical coordinate system arguments work in exactly the same way as the vSdCreate library
 call discussed in Section 3.1.

 Suppose you want your function to be named "delta". Then the name of the FORTRAN program
 must be "delta.f. You would compile the function by typing "externf delta". If there are no
 errors, an executable file "delta" will be written. Then in VisSD when you select NEW VAR,
 "delta" should appear in the list of functions in the pop-up window.

 There are two places for VisSD to get the grid data which it passes to your external function:
 from the original, uncompressed McIDAS file or the compressed v5d/comp5d file.  The
 uncompressed McIDAS data is better because it has more precision.  If the McIDAS file can't be
 found, then the compressed data which VisSD has in memory will be passed to your external
 function.  Note that this has no bearing whatsoever on the construction of your external function.

 You can retrieve the position and values of the data probe from within your function. To get the
 position of the probe use:

      ' CALL PROBEPOS( ROW, COL, LEV, LAT, LON, HOT )

 The position in grid coordinates will be  returned in ROW; COLumn, and LEVel. The position in
 geographic coordinates will be returned in LATitude, LONgitude, and HeiGhT.

 To get the value of any physical variable at the current probe position and current timestep use:

       VALUE = PROBEVAL( VAR )

 where VAR specifies which physical variable you want.

 6.13  Saving Image Files and Printing

 The SAVE PIC button on the control panel can be used to save the image in the 3-D window to a
 file. When you click on SAVE PIC a pop-up  window appears in which you can select the file
 format and filename. The choices of file formats depends on the computer you're using.  The
formats supported by VisSD are:
                                         E-56

-------
       XWD - X Window Dump, displayable with xwud or xv.
       RGB - SGI image file format, displayable with ipaste or xv.
       GIF - Standard GIF format, displayable with xv and many other programs.
       PostScript - may be printed or viewed on-screen with a program like ghostview.
       Color PostScript - may be printed or viewed with a ghostview-like program.

 The irix4 and irixS configurations of VisSD (using GL) directly write RGB files. To make a GIF
 file the togif program must be available. To make a PostScript file requires the tops program.
 togif and tops and many other RGB file converters are shipped standard with IRIX. If they're not
 found in /usr/sbin install them from your IRIX CD-ROM.

 All other configurations of VisSD (using OpenGL) directly write XWD files.  To make an RGB
 file the fromxwd program is used. Unfortunately, the fromxwd program shipped by SGI has a
 bug which causes it to fail. Since source code for fromxwd is shipped with IRIX we include a
 patched version which works correctly.  To make a gif file requires both fromxwd and togif (only
 available on SGI systems). To make a gray scale PostScript file requires the xpr utility (standard
 with XI1).  To make a color  PostScript file the tops program is needed (only available on SGI
 systems).

 If you don't have any of the utilities mentioned above you should try using xv to convert your
 image files, xv is available by ftp from export.lcs.mit.edu in contrib/ and from ftp.cis.upenn.edu
 in the pub/ directory.

 To print a VisSD image, position the mouse pointer over the 3-D window and press the P key.
 You'll be asked to verify your action. VisSD uses Ipr to send a PostScript image file to the
 default printer or the printer specified by the PRINTER environment variable.  To generate the
 PostScript file VisSD uses the utilities described above.  If you have  problems printing you
 should try to first save your image as a PostScript file then try to print it manually using Ipr or lp..
 Another option is to save your image as an XWD file then use xpr (a standard XI1 utility) to
 convert it to PostScript and print it.

 To learn more about the xwud, xpr, fromxwd, tops and togif program read the man pages.  Many
 of these programs have options which you may find useful.

 6.14  Texture mapping

 Texture mapping is a term from computer graphics which means to display a 2-D image over a
 surface in 3-D. In VisSD you can display images over the topography (or bottom of the 3-D box
 when topography is turned off) such as satellite or map images.  Texture mapping is only
 available  on SGI systems and those using the Mesa library.  Hardware support for texture
mapping is highly recommended.

                                         E-57

-------
 There are three types of texture/image mapping in VisSD which can specified on the command
 line:

       -area N      N is the number of the first of a sequence of McIDAS area files. The
                    number of files read equals the number of timesteps in your data file.
                    Images should all be of the same size. You must use McIDAS to do
                    remapping if necessary.

                    Example: Suppose your datafile has 4 timesteps and you specify -area 100,
                    then AREA0100, AREA0101, AREA0102 and AREA0103  will be loaded
                    and displayed.

                    This option needs the McIDAS library which is only available on SGI
                    systems.

       -sequence file This works like the -area option, except that the data come from a very
                    simple file format rather than from McIDAS area files.  The file starts with
                    3 int's that contain the number of images in the sequence, the number of
                    lines per image, and the number of pixels per line.  The rest  of the file
                    contains the images, one byte per pixel. The function
                    read_texture_sequence in the image.c file of the src directory reads this
                    file and serves as a file format reference for those wishing to create such
                    image sequence files.

       -texture file   This options specifies a single image to display over the topography for all
                    timesteps.  The file  format is the SGI RGB format. The free XV program
                    can be used to convert your image to RGB format.

 When a texture map is available the TEXTURE button on the control panel is used to toggle the
 display of the imagery on or off.

 6.15  TCL scripting

 VisSD 4.2 features a scripting facility. That  is, you can control VisSD with a text file of
 commands using the Tel language. Scripting is an advanced subject and documented separately
 in the VisSD scripting document at http://www.ssec.wisc.edu/~billh/script.html.

Note that the SAVE and RESTORE buttons on the control panel write and read Tel files. You
may want to use bits of these files as a basis a new Tel scripts.
                                         E-58

-------
6.16  Keyboard Functions

The following keyboard functions can be invoked while the mouse pointer is inside the 3-D
viewing window:

       Key   Function
       Fl     Raise or lower the control panel window.  This is useful with the - full option.
       F2     Toggle display of system information including memory used and number of
              graphics to be computed.
       P      Print the current window image.  A PostScript printer must be available. Set the
              PRINTER environment variable from your shell to specify which printer to use.
       S      Slower animation - increases the minimum time between frames by 10 msec.
       F      Faster animation - decreases the minimum time between frames by 10 msec.

I f you want to program your own keyboard functions look the in the file src/gui.c for the
fund (). func2(), func3(), etc functions.  They are called when the corresponding function key is
pressed.

6.17  Final Notes

The SGI version of VisSD uses multiple CPUs if available to compute graphics in the
background thereby increasing VisSD's speed.  On other systems, VisSD tries to interleave the
Computation of graphics with user interaction. This results in the user interface being a bit
--iuggish until all pending graphics computations are completed.

! he Yis5D user interface may be complex to describe in words, but we have tried hard to make it
-imple in reality. After a little practice using the sample data sets we hope it feels natural.

VIKY version 3.2 of VisSD there is a user-contributed software directory: contrib/. See the
i'l  \I)MI; file in that directory for a description of current contributions.

".  (I  THE \5dimport UTILITY

I lie v5dimport utility is a new program for converting grid files to vSd format, combining
-rJtiple source files, resampling to new coordinate systems and culling variables and timesteps.
1; i;:is  both a graphical and command line user interface.

i ปr example, you may use vSdimport to  read 2 McIDAS GR3D files and a 2-D McIDAS GRID
tile, resample all the data to a Lambert Conformal projection, omit the CWAT and VORT
'•enables and then write the data to a VisSD file called lambertl.vSd.
                                         E-59

-------
 The basic order of events when using vSdimport is:

        1.  Read the input file(s).
        2.  Select grids for output according to timestep, physical variable, map projection or
           vertical coordinate system.
        3.  Setup a map projection and vertical coordinate system for the output file.
        4.  Write the output file.  Resampling is done at this time.
        5.  Optionally, start VisSD on the output file.

 Currently, vSdimport can read the following file formats:

        McIDAS GR3D and GRID files
        VisSD v5d and compSd files
        GRADS files
        "UW vis" files (used at the University of Wisconsin)
        EPA MM4 and RADM files (on Grays only)

 7.1  Using vSdimport's graphical interface

 Start vSdimport from your shell with

        vSdimport [-path pathname] [files]

 where [files] is an optional list of input files and [-path pathname] specifies that the directory
 named "pathname" is to be used as the default, in place of the current directory, for the input file
 browser and for making output files.

 When  vSdimport has started you'll see its main window appear. It consists of:

        1.   a scrollable list of all grids scanned from the input files
       2.   buttons used for selecting/culling grids according to variable name, timestep:
           projection or vertical coordinate system.
       3.   buttons and type-in fields for describing and creating the output file.

7.1.1  Reading input grids

You may read additional grid files into vSdimport at any time by clicking on the "Read file..."
button. Use the file selector to locate your file and click  on OK or CANCEL. It's best to read all
input files right at the beginning because whenever a new file is read all grids are selected for
output, overriding any selections you may have previously made.
                                          E-60

-------
The button labeled "Discard all grids" does exactly what it says. It's equivalent to exiting
vSdimport and restarting it. After reading each input file, the list of grids shown in the top half
of the window, will be resorted by time then variable name.

The columns in this list are:

       Grid - grid number (no significant meaning)
       YYDDD - the year and date of the grid
       HHMMSS - the time of the grid in hours, minutes, and seconds
       Variable - the variable name
       Nr - number of grid rows
       Nc - number of grid columns
       Nl - number of grid levels
       Proj# - the projection number (see "Select by projection..." window)
       VCS# - the vertical coordinate system number (see "Select by VCS...")
       Filename - name of file the grid was found in

7.1.2 Selecting grids for output

It's often the case that one wants to discard some physical variables or timesteps from the input
file so they aren't written to the output file.  By default, all variables are selected for output.

To select/cull variables, click on the  "Select by variable..." button.  A pop-up window will appear
which lists all the variables.  The ones that are high lighted are selected for output.  Click on
variables names to select or deselect them.

Similarly, you can select timesteps via the "Select by time..." button. A pop-up window listing
all timesteps will appear.  Use the mouse to select the timesteps you want and unselect the
timesteps you wish to omit. Note that you can select/deselect a number of timesteps by just
dragging the mouse while holding down the button.

Finally, grids may be selected or discarded according to their map projection or vertical
coordinate system (VCS) via the "Select by projection..." and "Select by VCS... buttons.

Note that as you select/deselect timesteps, variables, projections, or VCSs the effected grids will
be high-lighted/unhigh-lighted in the main grid list.

The "Select All" and "Select None" buttons do just what they imply.
                                          E-61

-------
 7.1.3 Defining the output file

 The default parameters for the output file (grid size, projection, etc) are taken from the first file
 read in.  You should always review these parameters before making your output file.  It will
 often be necessary to change these values.

 The number of rows, columns, and levels for the output file is specified by the type-in fields on
 the main window labeled "Rows", "Columns" and "Max Levels". Type in new values if the
 defaults are incorrect.

 The map projection for the output file can be viewed and changed by clicking on the "Map
 projection..." button. In this pop-up window you'll be able to choose a map projection type then
 enter the specific projection parameters. There is also a "Guess" button which will attempt to
 find a reasonable output projection given the currently selected grid list.  It's often helpful to have
 the "Select by Projection" pop-up window on-screen to compare the output projection to the
 input projections.

 The vertical coordinate system for the output file can be viewed and changed by clicking on the
 "Vertical Coord System..." button. In this pop-up window you'll be able to choose a vertical
 coordinate system type and enter the specific parameters. This window also has a "Guess"
 button to try to find a reasonable default. Similarly, it's often helpful to have the "Select by
 VCS" pop-up window on-screen to compare the output VCS to the input VCSs.

 7.1.4 Making the output file

 Enter a filename for the output file in the type-in field at  the bottom of the  main window then
 click on "Make". Messages will.be printed as the file conversion takes place. If there are any
 errors the process will halt.  Note-that generating the output file can be time-consuming if data
 must he resampled from the input grid's coordinate system to a new coordinate system for the
 output file.

 •If you click on "Visualize" this will make the file and then automatically start up VisSD on that
 file (i.e.. you don't need to click  on "Make" first). If you type a filename in the type-in field, it
 will  use thai name.  Otherwise, it will use your login name followed by ".v5d".  If you want
 command line options on the VisSD command, put them in a file named "vis5d_options". For
 example, "-mbs 64".

 7.1.5 Miscellaneous

An options window is available  by clicking on the "Options..." button.
                                          E-62

-------
The first item controls the "combining of co-located data". It may be the case that several 3-D
grids, selected for output, are co-located in space and time.  When computing the value to put in
the output file you can either choose the data value from the higher resolution grid at that
location, or take the average of all grid values at that grid location.

The second item controls how grid data is compressed in the output file.  By default, grid values
are scaled down to 1-byte integers. Alternately, you can scale down to 2-byte integers for better
resolution, or perform no compression/scaling by selecting 4-byte floating point values.  This
option represents a tradeoff in file size and precision.

7.2  Using vSdimport's text interface

The text/type-in interface to vSdimport is useful when X is not available or when you want to run
vSdimport with a script. To start vSdimport in text mode enter:

       vSdimport -t [-path pathname] [files]

where [files] is an optional list of input files and [-path pathname] specifies that the directory
named "pathname" is to be used as the default, in place of the current directory, for the input file
browser and for making output files. Through the text interface it's possible to run vSdimport
with a script by using your shell's import redirection feature:

       vSdimport -t