VIIRS Land Surface Temperature (LST) Science Processing Algorithm (LST - SPA) User's Guide
VIIRS Land Surface Temperature (LST) Science Processing Algorithm (LST - SPA) User's Guide
VIIRS Land Surface Temperature (LST) Science Processing Algorithm (LST - SPA) User's Guide
Version 1.5.08.04
August 2014
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) Land
Surface Temperature (LST) Science Processing Algorithm (LST_SPA). The VIIRS LST
algorithm takes as inputs the VIIRS M12, M13, M15, and M16 band Sensor Data Record
(SDR) products; the VIIRS M-band Terrain-Corrected Geolocation product; the VIIRS Cloud
Mask Intermediate Product (IP); and (optionally) the Aerosol Optical Thickness (AOT) IP,
and produces the mission-compliant VIIRS LST Environmental Data Record (EDR) product.
The SPA functions in two modes: Standalone, or as an IPOPP plug-in.
This software will execute on a 64-bit computer, and has been tested with the following
operating systems:
a) Fedora 18 X86_64;
b) CentOS Linux 6.4 X86_64;
c) OpenSUSE Linux 12.1 X86_64;
d) Kubuntu 13.04 X86_64.
Credits
The VIIRS LST 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.
a) VIIRS M12, M13, M15, and M16 band Sensor Data Record (SDR) products;
The SPA produces the mission-compliant VIIRS LST Environmental Data Record (EDR)
product as output.
Installing into an IPOPP Framework: This SPA can also be installed dynamically into an
IPOPP framework to automate production of LST_SPA data products. The SPA installation
process will install SPA station(s) into IPOPP. An SPA station 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 station(s) corresponding to
this SPA along with any other pre-requisite station(s). Instructions for installing an SPA and
enabling its stations are contained in the IPOPP User’s Guide (available on the DRL Web
Portal). The SPA stations associated with this SPA are listed in Appendix A.
$ ./run-VLST
A successful execution usually requires a few seconds, depending on the speed of your
computer. If everything is working properly, the scripts will terminate with a message such
as:
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 LST SPA uses are:
a) Input file label/values. These are input file paths. Values are absolute or relative
paths to the corresponding input file.
b) Output file label/values. These are output files that are produced by the SPA. Values
are absolute or relative paths of the files you want to generate.
Execute the 'run': The following script shows an example of command line to run the
VIIRS LST algorithm from the testscripts directory:
$../wrapper/LST/run \
viirs.svm12 ../testdata/input/SVM12_npp_d20130323_t1851552_e1853194_b07270_c20130329144359606159_noaa_ops.h5 \
viirs.svm13 ../testdata/input/SVM13_npp_d20130323_t1851552_e1853194_b07270_c20130329144529590889_noaa_ops.h5 \
viirs.svm15 ../testdata/input/SVM15_npp_d20130323_t1851552_e1853194_b07270_c20130329144411111248_noaa_ops.h5 \
viirs.svm16 ../testdata/input/SVM16_npp_d20130323_t1851552_e1853194_b07270_c20130329144517993558_noaa_ops.h5 \
viirs.gmtco ../testdata/input/GMTCO_npp_d20130323_t1851552_e1853194_b07270_c20130329144438416689_noaa_ops.h5 \
viirs.cmip ../testdata/input/IICMO_npp_d20130323_t1851552_e1853194_b07270_c20130618184731407557_noaa_ops.h5 \
viirs.aotip ../testdata/input/IVAOT_npp_d20130323_t1851552_e1853194.h5 \
viirs.lst ../testdata/output/VLSTO_npp_d20130323_t1851552_e1853194.h5
A successful execution usually requires a few seconds per VIIRS granule (48 scans),
depending on the speed of your computer. If execution fails, you will see an error message
indicating the cause of failure (e.g., a file cannot be found, or a label cannot be recognized).
Correct it and run again. If the problem has some other cause, it can be identified using the
log files. Log files are automatically generated within the directory used for execution. They
start with stdfile* and errfile* and can be deleted after execution. 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. The 'run' can be executed from any
directory the user chooses. This can be done by prefixing it with the file path for the 'run'
script.
NOTES:
1. 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
NOTE: The stations VIIRS-SDR and VIIRS_C-SDR must never be run simultaneously.