Skip to content

Latest commit

 

History

History
111 lines (81 loc) · 6.48 KB

README.md

File metadata and controls

111 lines (81 loc) · 6.48 KB

create_omi

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 create_omi

Compiling requires a FORTRAN compiler, netcdf and IOAPI. If the requirements are met, a user has the below options.

  1. Option One:

    • Copy src directory.
    • Go into the new directory and modify 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".
  2. Option Two, requires the bldmake utility for the CMAQ model:

    • Copy to a work directory and modify the bldit script under the scripts subdirectory to define compiler case(s) needed, CMAQ repository and work directories.
    • Type bldit_create_omi.csh compiler.
    • Go into the created build directory, type "make clean" and type "make".

Using create_omi for creating an OMI file

Satellite Inputs

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.

  1. 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
  2. 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, check the file for *** strings and replace each with the string " 0" (two blanks) which denotes a missing value. Sometimes, the former string passes through quality control procedures. To search for string and list files containing it, try using grep command the download files in the directory as below.

              grep -l "\*\*\*" L3e_ozone_omi_*.txt

A text editor can be used to replace the strings. The sed may also be used as below.

              sed 's/\*\*\*/  0/g' L3e_ozone_omi_YYYYMMDD.txt > tmp.txt
              mv -f tmp.txt L3e_ozone_omi_YYYYMMDD.txt

Running create_omi

The script subdirectory includes a run-script, scripts/cmaq_omi_run.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.

Runtime Options
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

Example Images extracted from IOAPI files.

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.

  1. 10 by 22.5 degree Lat/Lon Resolution (default values) currently used in OMI data file under CCTM/src/phot/inline.

Ozone Column at Current Resolution

  1. 1 by 1 degree Lat/Lon Resolution as determined by the settings in scripts/cmaq_omi_env.q.

Ozone Column at Script Resolution

  1. 0.25 by 0.25 degree Lat/Lon Resolution taken from the OMI_FULL_NCF file.

Ozone Column at Observation's Resolution