VIIRS Aerosol Science Processing Algorithm (Aerosol - Spa) User's Guide
VIIRS Aerosol Science Processing Algorithm (Aerosol - Spa) User's Guide
VIIRS Aerosol Science Processing Algorithm (Aerosol - Spa) User's Guide
Processing Algorithm
(AEROSOL_SPA)
User's Guide
Version 1.5.08.04
April 2015
Users must agree to all terms and conditions in the Software Usage Agreement on the DRL
Web Portal before downloading this software.
Software and documentation published on the DRL Web Portal may occasionally be updated
or modified. The most current versions of DRL software are available at the DRL Web Portal:
http://directreadout.sci.gsfc.nasa.gov/?id=software
Questions relating to the contents or status of this software and its documentation should be
addressed to the DRL via the Contact DRL mechanism at the DRL Web Portal:
http://directreadout.sci.gsfc.nasa.gov/?id=dspContent&cid=66
A Science Processing Algorithm (SPA) is defined as a wrapper and its contained algorithm.
SPAs will function in a standalone, cross-platform environment to serve the needs of the broad
Direct Readout community. Detailed information about SPAs and other DRL technologies is
available at the DRL Web Portal.
Software Description
This software package contains the Visible Infrared Imaging Radiometer Suite (VIIRS)
Aerosol Science Processing Algorithm (AEROSOL_SPA). The VIIRS Aerosol algorithm takes
as input VIIRS Moderate Resolution Bands Sensor Data Record (SDR) and Terrain-Corrected
Geolocation products, the VIIRS Cloud Mask Intermediate Product (IP), and meteorological
ancillary, and produces the mission-compliant Aerosol Optical Thickness (AOT) IP, Aerosol
Model Index (AMI) IP, Aerosol Environmental Data Record (EDR), Suspended Matter (SM)
EDR, and Aerosol Geolocation HDF5 product. The SPA functions in two modes: Standalone,
or as an IPOPP plug-in.
Copyright 1999-2007, United States Government as represented by the Administrator for the
National Aeronautics and Space Administration. All Rights Reserved.
Credits
The VIIRS Aerosol algorithm was provided to the DRL by the JPSS Mission. This algorithm
was ported to run outside of the IDPS by the DRL in collaboration with the Land Product
Evaluation and Algorithm Test Element (LPEATE).
Prerequisites
To run this package, you must have the Java Development Kit (JDK) or Java Runtime
Engine (JRE) (Java 1.6.0_25 or higher) installed on your computer, and have the Java
installation bin/ subdirectory in your PATH environment variable. This package contains 64-
bit binaries statically pre-compiled on an x86-compatible 64-bit computer running under
Fedora 14, using gcc 4.5.1.
Installing into an IPOPP Framework: This SPA can also be installed dynamically into an
IPOPP framework to automate production of VIIRS Aerosol Optical Thickness IP, Aerosol
Model Index IP, Aerosol Environmental Data Record, Suspended Matter EDR, and Aerosol
Geolocation data products. The SPA installation process will install SPA service(s) into
IPOPP. An SPA service is an IPOPP agent that provides the mechanism necessary for
running an SPA automatically within the IPOPP framework. Once this SPA is installed, users
must enable the service(s) corresponding to this SPA along with any other Prerequisite
service(s). Instructions for installing an SPA and enabling its services are contained in the
IPOPP User's Guide (available on the DRL Web Portal). The SPA services associated with
this SPA are listed in Appendix A.
$ ./run-vaerosol
You can cd to the output directory to verify that the science products exist. Test output
product(s) are available for comparison in the testdata/output directory. These test output
product(s) were generated on a 64-bit PC architecture computer running Fedora 14. The
output products serve as an indicator of expected program output. Use a comparison utility
(such as diff, h5diff, etc.) to compare your output product(s) to those provided in the
testdata/output directory. Locally generated files may differ slightly from the provided output
files because of differences in machine architecture or operating systems.
If there is a problem and the code terminates abnormally, the problem can be identified using
the log files. Log files are automatically generated within the directory used for execution.
They start with stdfile* and errfile*. Other log and intermediate files may be generated
automatically within the directory used for execution. They are useful for traceability and
debugging purposes. However it is strongly recommended that users clean up log files and
intermediate files left behind in the run directory before initiating a fresh execution of the SPA.
Intermediate files from a previous run may affect a successive run and produce ambiguous
results. Please report any errors that cannot be fixed to the DRL.
Program Operation
In order to run the package using your own input data, you can either use the run scripts within
the wrapper subdirectories, or modify the test scripts within the testscripts subdirectory.
Specify input parameters using <label value> pairs: To execute the 'run' scripts, you must
supply the required input and output parameters. Input and output parameters are usually file
paths or other values (e.g., an automatic search flag). Each parameter is specified on the
command line by a <label value> pair. Labels are simply predefined names for parameters.
Each label must be followed by its actual value. Each process has its own set of <label value>
pairs that must be specified in order for it to execute. Some of these
pairs are optional, meaning the process would still be able to execute even if that parameter
is not supplied. The two types of <label value> pairs that the AEROSOL_SPA uses are:
The following tables contain labels, and their descriptions, required by the AEROSOL_SPA.
viirs.amiip VIIRS Aerosol Model Index IP output HDF5 file path (Daytime only)
viirs.aot VIIRS Aerosol EDR output HDF5 file path (Daytime only)
viirs.aotip VIIRS Aerosol Optical Thickness IP output HDF5 file path (Daytime only)
viirs.gaero VIIRS Aerosol Geolocation output HDF5 file path (Daytime only)
viirs.sum VIIRS Suspended Matter EDR output HDF5 file path (Daytime only)
Execute the 'run': The following script shows an example of a command line to run the VIIRS
Aerosol algorithm from the testscripts directory:
$ ../wrapper/Aerosol/run \
ncep_met ../testdata/input/gdas1.PGrbF00.140901.18z \
viirs.cmip ../testdata/input/IICMO_npp_d20140901_t1738560_e1740201_b14746_c20140908200708003499_noaa_ops.h5 \
viirs.gmtco ../testdata/input/GMTCO_npp_d20140901_t1738560_e1740201_b14746_c20140908200702642321_noaa_ops.h5 \
viirs.svm01 ../testdata/input/SVM01_npp_d20140901_t1738560_e1740201_b14746_c20140908200638045758_noaa_ops.h5 \
viirs.svm02 ../testdata/input/SVM02_npp_d20140901_t1738560_e1740201_b14746_c20140908200623073487_noaa_ops.h5 \
viirs.svm03 ../testdata/input/SVM03_npp_d20140901_t1738560_e1740201_b14746_c20140908200714455393_noaa_ops.h5 \
viirs.svm04 ../testdata/input/SVM04_npp_d20140901_t1738560_e1740201_b14746_c20140908200714715029_noaa_ops.h5 \
viirs.svm05 ../testdata/input/SVM05_npp_d20140901_t1738560_e1740201_b14746_c20140908200735223402_noaa_ops.h5 \
viirs.svm06 ../testdata/input/SVM06_npp_d20140901_t1738560_e1740201_b14746_c20140908200831329343_noaa_ops.h5 \
viirs.svm07 ../testdata/input/SVM07_npp_d20140901_t1738560_e1740201_b14746_c20140908200729256422_noaa_ops.h5 \
viirs.svm08 ../testdata/input/SVM08_npp_d20140901_t1738560_e1740201_b14746_c20140908200803979409_noaa_ops.h5 \
viirs.svm09 ../testdata/input/SVM09_npp_d20140901_t1738560_e1740201_b14746_c20140908200743076006_noaa_ops.h5 \
viirs.svm10 ../testdata/input/SVM10_npp_d20140901_t1738560_e1740201_b14746_c20140908200925075349_noaa_ops.h5 \
viirs.svm11 ../testdata/input/SVM11_npp_d20140901_t1738560_e1740201_b14746_c20140908200858348915_noaa_ops.h5 \
viirs.svm12 ../testdata/input/SVM12_npp_d20140901_t1738560_e1740201_b14746_c20140908200844775167_noaa_ops.h5 \
viirs.svm15 ../testdata/input/SVM15_npp_d20140901_t1738560_e1740201_b14746_c20140908200911898965_noaa_ops.h5 \
viirs.svm16 ../testdata/input/SVM16_npp_d20140901_t1738560_e1740201_b14746_c20140908200729274370_noaa_ops.h5 \
viirs.amiip ../testdata/output/IVAMI.h5 \
viirs.aot ../testdata/output/VAOOO.h5 \
viirs.aotip ../testdata/output/IVAOT.h5 \
viirs.gaero ../testdata/output/GAERO.h5 \
viirs.sum ../testdata/output/VSUMO.h5
A successful execution usually requires fifteen minutes or more, depending on the speed of
your computer and the size of the input. If execution fails, you will see an error message
NOTES:
1. Either GDAS1 or GFS files may be used for the ncep_met label. Try to use a GDAS1
file that is within ±3 hours of the SDR observation time. If that file is not available (as is
often the case for real-time processing), use a GFS file instead. The naming convention
for grib1 GFS files is gfs.thh.yymmdd.pgrbfxx (here yymmddd and hh represent
analysis time, and xx represents forecast time step). Thus a file named
gfs.t12.100201.pgrbf03 corresponds to 1500 hours (12+3) UTC on February 1, 2010.
If you have to choose GFS files as input, you should attempt to use a file that is within
±1.5 hours of the SDR file. If there is more than one such GFS file, use the one with
the smaller forecast time step. For example, if your data time is 1500 UTC, you should
try to use the 3 hour forecast field from the 1200 UTC model run, instead of the 9 hour
forecast field from the 0600 UTC run. If no GDAS1 or GFS file is available using the
above logic, use a GDAS1 file that is closest in time but within ±7 days of the granule
time.
2. The AEROSOL_SPA will not produce the VIIRS Aerosol products if there are an
insufficient number of daytime granules in the input swath.
3. The data products generated by this SPA may be visualized with the DRL's H2G_SPA
(Hierarchical Data Format [HDF] to Georeferenced Tagged Image File Format
[GeoTIFF] Converter Science Processing Algorithm). H2G is designed specifically for
Direct Readout applications to create geolocated GeoTIFF images, jpeg browse
images, and png browse images for parameter datasets in SNPP products and EOS
products. H2G_SPA and its User Guide are available for download from the DRL Web
Portal. Please refer to Appendix A for information on enabling image production for this
SPA in IPOPP.
* Where yyyy, mm, dd, hh represents the year, month and day of month for start of swath; the
first hh, mm, ss, S represents the hour, minutes, seconds and 10th of a second for the start
of swath and the second hh, mm, ss, S represents the end time of the swath.