This tool creates the OMI input file describing how total ozone column density varies over the globe and time. The file supports CMAQ model's in-line calculation of photolysis rates. Creating the OMI file involves processing observations from satellites, ASCII files for the latitude/longitude distribution of the ozone column for a calendar day. The tool also creates IOAPI files for visualizing observations and the OMI file's data. They can differ because the tool interpolates observations to horizontal resolution of the OMI file. The resolution is an option specified by the run-script.
Compiling requires a FORTRAN compiler, netcdf and IOAPI. If the requirements are met, a user has the below options.
-
Option One:
- Copy src directory.
- Go into the new directory and modify create_omi.makefile, the_Makefile, to define the compiler, library and include paths for netcdf and IOAPI for the case(s) needed.
- Set the environment variable compiler to intel, pgi or gcc based on the user's preference.
- Type "make clean" then type "make -f create_omi.makefile".
-
Option Two, requires the bldmake utility for the CMAQ model:
- Execute $CMAQ_HOME/bldit_project.csh with EXT_create_omi option set to Y.
- Change directory to $CMAQ_HOME/PREP/create_omi.
- Type bldit_create_omi.csh compiler.
- If you wish to recompile create_omi, go into the created build directory, type "make.it clean".
To create an OMI file, data for total ozone column density is required. The create_omi tool can use daily ASCII files from two sources via the wget or curl command.
-
NASA TOMS ftp site:
- https://acd-ext.gsfc.nasa.gov/anonftp/toms/omi/data/Level3e/ozone
- Lat/Lon resolution determined from first data file read
- expected filename structure, L3e_ozone_omi_YYYYMMDD.txt
- expected data format a. (a) with descriptive information b. (12x,i6) in second and third lines giving the number of latitude and longitude points c. (1x,25i3) in remaining line sgiving total ozone total
-
NASA OPeNAP website:
- http://acdisc.gsfc.nasa.gov/opendap/HDF-EOS5/Aura_OMI_Level3/OMTO3d.003
- requires creating an account and local cookies
- Lat/Lon resolution is assumed to be 1 by 1 degree ot 180 latitude by 360 longitude points
- expected filename structure, OMI.full.YYYYMMDD.ascii or OMI.ozone.YYYYMMDD.ascii
- expected data format, comma-space a. character string then total ozone column versus longitude at fixed latitude
Both sources were lasted accessed in May of 2020.
The scripts directory contains an example for getting data from the NASA TOMS website, scripts/get_toms_data.q. When obtaining data files, we recommend getting files bracketing the desire peroid by several days because observations may not available within given latitude/longitude ranges. The omission can occur because of the satillite's orbit, polar night, or equipment failure. To go around the problem, create_omi uses the last available observation or the mean value for a location, in respective presidence. For robust and more useful output files, several months of data are suggested.
After downloading data, the get data script checks the downloaded files for *** strings and replaces each with the string " 0" (two blanks) which denotes a missing value. Sometimes, the former string passes through quality control procedures. The script uses the below commands to make corrections.
grep -l "\*\*\*" L3e_ozone_omi_*.txt
sed 's/\*\*\*/ 0/g' L3e_ozone_omi_YYYYMMDD.txt > tmp.txt
mv -f tmp.txt L3e_ozone_omi_YYYYMMDD.txt
Alternatively, a user can search the downloaded files and use a text editor to replace the bad data strings.
The script subdirectory includes a run-script, scripts/run_create_omi.csh. A user should Copy and modify the script before running it. The script sets several environment variables that are runtime options. The below table lists and describes these options. Note that the Defaults values were used to create the OMI file the CMAQ repository under CCTM/src/phot/inline and that the output data is centered and symmetric about the equator. The create_omi tool assumes that all the data files have the same Lat/Lon resolution.
Option | Description | Default Value |
---|---|---|
OMI_FILE_LIST | List of data files to process, sorted by calendar date | omi_file.txt |
PREV_DATE | Replace missing observation with last previous observation | True |
NLAT_OMI | Number of latitude points in output. Value should be odd and equal or greater than 17 | 17 |
NLON_OMI | Number of longitude points in output. Value should be odd and equal or greater than 17 | 17 |
LAT_BORDER | Degrees between the first latitude point from adjacent pole. Value cannot be less than observation | 10 |
FULL_FILES | Produce ASCII and IOAPI files at full lat/lon resolution of observations. Not used by the CMAQ model. | False |
OMI_FULL_DAT | OMI data (ASCII) at Lat/Lon Resolution of Observations | omi_full.dat |
OMI_FULL_NCF | OMI data in IOAPI format for visualization at Lat/Lon Resolution of Observations | OMI_FULL_NCF |
OMI_CMAQ_DAT | Processed OMI file (ASCII) for the CMAQ model | omi_cmaq.dat |
OMI_CMAQ_NCF | Processed OMI file in IOAPI format for visualization | OMI_CMAQ_NCF |
The following images show the ozone column at three different resolution for the same date. The images were created form output files by using eighteen months of data from the TOMS ftp site.
- 10 by 22.5 degree Lat/Lon Resolution (default values) currently used in OMI data file under CCTM/src/phot/inline.
- 1 by 1 degree Lat/Lon Resolution as determined by the settings in scripts/cmaq_omi_env.q.
- 0.25 by 0.25 degree Lat/Lon Resolution taken from the OMI_FULL_NCF file.