AERMET – As Easy as a 1-Ah and a 2-Ah and a 3
If you have read the previous articles on locating and obtaining surface and upper air meteorological and land use data (stations, surface, upper air and land use), you now are at the point of learning how to put together the information you have gathered to run AERMET. You have to create three separate inputs files for AERMET, with most of the input data going into the first (Stage 1) input file.
AERMET Stage 1 Input File
What happens in Stage 1 is the raw data files are read and the necessary data extracted and written to a file (see EXTRACT keyword) for AERMET to process. After the data are processed, the result is written to an output file (see QAOUT keyword). The output files for Stage 1 then become the input files for AERMET Stage 2.
Below is a sample Stage 1 input file. The user inputs are indicated in blue.
Under the JOB pathway are the keywords REPORT and MESSAGES. Any processing messages or user feedback are written to the files you indicate. You can use any file name you like. The vital user input occurs under the SURFACE and UPPERAIR pathways. For now we will skip the ONSITE pathway, which would be used if your site has onsite meteorological data available. How to enter onsite data would be an article topic by itself.
The keywords for SURFACE and UPPERAIR are identical. For the DATA keyword, all you need to enter is the raw data file name and the data format for that file. Your surface data should in the ISHD format and your upper air data in the FSL format. Though AERMET can accept other data formats, the ISHD and FSL formats are most widely used and most easily available.
For the EXTRACT and QAOUT keywords, you can use any file naming convention you like. Do keep in mind that the files listed for QAOUT will be the input files for Stage 2. For the XDATES keyword, enter the date range of data necessary for your project. You should already know this date range since the raw data files are either by the specific year or date range. If the date range you enter under XDATES is not consistent with the raw data files, you will get an error message.
Under the LOCATION keyword, you will enter information you will have to lookup either within the raw data files or a secondary data source. You should already know the WBAN ID for the surface weather station you selected. For the upper air station, you can enter the WMO ID that you used to obtain the data, but use can also use the WBAN ID. Both values are in the header of the raw data file.
After the station ids, you will need to enter the latitude and longitude of the stations. The values are in decimal degrees to no more than three decimal places. Also, it doesn’t which datum the coordinates are in since it is not asked for. All the values are positive so you will have to indicate whether the location is N or S and E or W. You could look up the coordinates from a secondary data source, but do know that latitude and longitude are listed in the header records of the raw data files.
After the station coordinates, you will need to enter the number of hours difference between station local standard time (LST) and Greenwich (gren` idge) mean time (GMT). The time is recorded in GMT in both the ISHD and FSL formats. Since the surface and upper air stations selected could be different, check the time zone for both because it is very possible they could be different. By convention, the number of hours west of GMT is positive and hours east is negative.
Though it is only required for the surface station, the last value on the LOCATION line is the ELEVATION value in meters. You could look this up in a secondary data source, but the station elevation value is listed in the header records of the raw data files. If the surface and upper air stations you selected are one in the same, it is very possible that the coordinates and elevation values may differ between the surface and upper air raw data. Which value is correct? Don’t know, but it does bring up the issue of what is accurate versus what you can defend. Whether you use the value in the surface file, upper air file, or another value obtained from somewhere else, e.g. state regulatory agency, be sure you have the ability defend your selection.
JOB REPORT <SOME FILE NAME> MESSAGES <SOME FILE NAME> SURFACE DATA <SURFACE DATA FILE NAME> ISHD EXTRACT <SOME FILE NAME> XDATES <YY/MM/DD> TO <YY/MM/DD> LOCATION <WBAN_ID> <LATITUDE><N or S> <LONGITUDE><W or E> <GMT> <ELEVATION> QAOUT <SOME FILE NAME> UPPERAIR DATA <SURFACE DATA FILE NAME> FSL EXTRACT <SOME FILE NAME> XDATES <YY/MM/DD> TO <YY/MM/DD> LOCATION <WBAN_ID> <LATITUDE><N or S> <LONGITUDE><W or E> <GMT> QAOUT <SOME FILE NAME>
If you have on-site meteorology available that meets requirements outlined in EPA’s Meteorological Monitoring Guidance for Regulatory Modeling Application (EPA-454/R-99-005), you can add the on-site data for processing in Stage 1 using the following syntax:
ONSITE DATA <ONSITE DATA FILE NAME> READ <INDEX> <LIST OF PARAMETERS> FORMAT <INDEX> <FORMAT> XDATES <YY/MM/DD> TO <YY/MM/DD> LOCATION <WBAN_ID> <LATITUDE><N or S> <LONGITUDE><W or E> <GMT> OBS/HOUR <OBSERVATIONS PER HOUR> THRESHOLD <WIND SPEED THRESHOLD> OSHEIGHT <HEIGHT OF MEASUREMENTS> QAOUT <SOME FILE NAME>
To complete the READ keyword line, the list of parameters can be found in Appendix B of the AERMET User’s Guide. The READ line MUST be accompanied by the FORMAT line. Each line starts with an index value. The reason is data can be gathered a different levels and the index identifies the level the data were gathered. For specifying the format of the raw data, it is HIGHLY recommended you use FREE. The FREE format specification means the data are delimited by space .
AERMET allows for multiple observations per hour for on-site data. However, there are two constraints on the data:
- Data must be in equally spaced time increments; AND
- Maximum number of observations is 12 per hour.
If you do not have five-minute data for your raw data, my suggestion is to compute one-hour averages for all of your measured parameters. When computing hourly averages, if the parameters are vector quantities (like wind speed and wind direction), you will need to compute resultant values.
If you compute hourly averages, you will avoid a ton of headaches.
The THRESHOLD line contains minimum wind speed value for the instrumentation gathering wind data. The THRESHOLD value is used to define calms.
The OSHEIGHTS line contains the heights of the site-specific measurements. This keyword is needed if the heights are not included on each of the multi-level data records or not on the READ keywords.
Below is an example of a snippet of the stage 1 input file.
ONSITE DATA OnSiteData.txt READ 1 OSYR OSMO OSDY OSHR WS01 WD01 TT01 PRES FORMAT 1 FREE XDATES 16/01/01 TO 17/01/01 LOCATION 99999 29.999N 99.999W 0 9.99 OBS/HOUR 1 THRESHOLD 0.5 OSHEIGHTS 10 QAOUT ONSITE-2016.ST1
A snippet of the hourly data is shown below:
16 01 01 00 4.62 342 12.6 10180 16 01 01 01 4.02 323 11.9 10184 16 01 01 02 3.88 319 12.1 10191 16 01 01 03 4.01 301 11.9 10202 16 01 01 04 4.04 296 11.0 10211 16 01 01 05 3.96 301 11.3 10219 16 01 01 06 3.68 303 12.7 10223 16 01 01 07 4.51 322 16.2 10223
AERMINUTE and AERMET Stage 2
Once you have executed AERMET for Stage 1, if you are using meteorological data from the year 2000 or more recent and your project is in the USA, you will most likely be required to use AERMINUTE to process one-minute or five-minute ASOS data.
Below is a sample AERMINUTE input file. The user inputs are indicated in blue. The input values are really straightforward. Do make sure that the date ranges used are consistent with what you used in your Stage 1 input file. Be aware of the different date formats between AERMET and AERMINUTE. Keep in mind that the ASOS data use LST for time values.
The data files should come as one per month, so you should have 12 for entire calendar year. You would list each file on its own line sequentially.
Though there are several options for the OUTFILES, the HOURFILE is the only required entry. Be aware that the file name you use on this line needs to appear in the AERMET Stage 2 input file.
STARTEND <MM> <YY> <MM> <YY> IFWGROUP <Y or N> <MM> <DD> <YY> DATAFILE STARTING <1-MINUTE ASOS DATA FILE(S) NAME> (ONE PER MONTH) DATAFILE FINISHED OUTFILES STARTING HOURFILE <OUTPUT FILE NAME FOR AERMET STAGE 2> OUTFILES FINISHED
The function of AERMET Stage 2 is to compile all the surface data (hourly and one-minute) and upper air data into one file for use with Stage 3.
The pathways in Stage 2 are the same as in Stage 1 with the addition of the MERGE pathway. The values under QAOUT keyword should be identical to what you used in Stage 1. If not, you will have some explaining to do as this is the only “linkage” between Stage 1 and Stage 2. If you had to run AERMINUTE, the additional keyword ASOS1MIN is used for you to enter the file generated by AERMINUTE. This should be identical to what you entered under the HOURFILE keyword in the AERMINUTE input file. If not, you will have some explaining to do as this is the only “linkage” between AERMINUTE and AERMET Stage 2.
JOB REPORT <SOME FILE NAME> MESSAGAES <SOME FILE NAME> SURFACE QAOUT <SOME FILE NAME> ASOS1MIN <SOME FILE NAME FROM AERMINUTE> UPPERAIR QAOUT <SOME FILE NAME> ONSITE QAOUT <SOME FILE NAME> MERGE OUTOUT <SOME FILE NAME> XDATES <YY/MM/DD> TO <YY/MM/DD>
AERSURFACE and Stage 3
Like AERMINUTE, AERSURFACE is independent of AERMET. Unlike AERMINUTE, AERSURFACE does not rely upon meteorological data from the surface or upper air data files. The only input you need to start is the location of the site to be modeled. Based on that site location, you will need to assign seasons to calendar months and then let AERSURFACE determine the meteorological surface characteristics based on land use data.
Since AERSURFACE does not use an input file for execution but user input from the keyboard, the input values cannot be shown. The only input value that impacts AERMET input is the AERSURFACE output filename entered by the user.
For Stage 3, there are only two pathways: JOB and METPREP. The JOB pathway is the same in all three stages. It is recommended you use separate directories for each stage. By doing so, the entries under the JOB pathway could be identical.
Under the DATA keyword, enter the value used under the OUTPUT keyword from Stage 2. The file names should match exactly. If not, you will have some explaining to do as this is the only “linkage” between Stage 2 and Stage 3.
For the METHOD keyword, listed in bold black are the mandatory and/or default values. If you do not use onsite data, then the REFLEVEL SUBNWS entry is mandatory. The WIND_DIR RANDOM entry is not required, if left out the default is random anyway. The UASELECT SUNRISE entry is optional and has no impact if your project is in the continental US. However, if your project is elsewhere in the world, it is a good idea to use this entry.
If you do use onsite data but the data do not include turbulence measurements, then it is recommended you use the STABLEBL ADJ_U* entry. This entry used to be non-regulatory, but has since become a default. It is optional, so do check with the regulatory agency that is going to review your dispersion modeling analysis to ensure its use is acceptable.
Though you could enter all the surface characteristics explicitly, it is highly recommended you use the AERSURF keyword to list the AERSURFACE output from your execution of AERSURFACE. The AERSURFACE log file will list that file name and it should be identical to what you use in Stage 3. If not, you will have some explaining to do as this is the only “linkage” between AERSURFACE and Stage 3.
If you are using ONSITE data, then you do need to enter surface characteristics in the Stage 3 input file as AERSURFACE can only process data for one site. You need to enter characteristics for both your on-site location and the NWS station. One very important point to not overlook is your on-site station is the PRIMARY station and the NWS is the SECONDARY station. This means the on-site station should be listed first.
When entering the surface characteristics explicitly in the stage 3 input file, the keywords to use are FREQ_SECT, SECTOR, and SITE_CHAR. These keyword must be listed in this order.
Values for FREQ_SECT would be 1 (Annual), 4 (Seasonal), or 12 (Monthly) for frequency. The next argument is for the number of wind direction sectors you choose to use. The acceptable values are from 1 to 12. It is recommended that you keep it simple by selecting 1 (Annual) and 1 sector. Anything more complicated will have to be explained and justified.
JOB REPORT <SOME FILE NAME> MESSAGAES <SOME FILE NAME> METPREP DATA <SOME FILE NAME FROM STAGE 2> METHOD REFLEVEL SUBNWS METHOD WIND_DIR RANDOM METHOD UASELECT SUNRISE METHOD STABLEBL ADJ_U* NWS_HGT WIND 10.0 AERSURF <AERSURFACE FILE NAME> or FREQ_SECT <FREQUENCY> <NUM WIND DIR> SECTOR <INDEX> <BEGIN> <END> SITE_CHAR <FREQUENCY> <INDEX> <r> <Bo> <Zo> FREQ_SECT2 <FREQUENCY> <NUM WIND DIR> SECTOR2 <INDEX> <BEGIN> <END> SITE_CHAR2 <FREQUENCY> <INDEX> <r> <Bo> <Zo> OUTPUT <SOME FILE NAME> PROFILE <SOME FILE NAME>
AERMET Wrap Up
There you have it: AERMET as easy as 1 – AERMINUTE – 2 – AERSURFACE – 3. Not exactly the smoothest workflow, but it is not a full-on Rube Goldberg either. Now that it has been explained, it should be easy enough to flow.
If you found this article informative, there is more helpful and actionable information for you. Go to http://learn.naviknow.com to see a list of past webinar mini-courses. Every Wednesday (Webinar Wednesday), NaviKnow is offering FREE webinar mini-courses on topics related to air quality dispersion modeling and air quality permitting. If you want to be on our email list, drop me a line at firstname.lastname@example.org.
One of the goals of NaviKnow is to create an air quality professional community to share ideas and helpful hints like those covered in this article. So if you found this article helpful, please share with a colleague.
If you do not have the time or the tools to create meteorological input files for your AERMOD dispersion modeling project, NaviKnow is now providing a service to do it for you. If your project is in the continental US, we can do all the processing and documentation for you. Our price is 600 USD for a five-year data set. The deliverables to you are not just the files for use with AERMOD but all the inputs and outputs for AERMET Stages 1, 2, and 3, AERMINUTE, and AERSURFACE and associated documentation required by most regulatory agencies. Also, the surface characteristics will be generated using the latest land use data.
If you are interested in our meteorological data processing services, please let us know by going to http://www.naviknow.com/aermet-data-preparation-service/ to make a request.