Viirs-Af 1.3.6 Spa 1.7
Viirs-Af 1.3.6 Spa 1.7
Viirs-Af 1.3.6 Spa 1.7
Processing Algorithm
(VIIRS-AF_SPA)
User's Guide
Version 1.3.6
December 2018
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:
https://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:
https://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)
Active Fires Science Processing Algorithm (VIIRS-AF_SPA). The SPA supports both the
SNPP and NOAA-20 (JPSS-1) missions; it can process VIIRS inputs from either spacecraft.
This algorithm primarily uses brightness temperatures derived from bands M13 and M15 to
detect fires. VIIRS bands M5, M7, M11, and M16 are used to reject false alarms and to
mask clouds. The algorithm takes as input VIIRS Science Data Record (SDR) files, along
with the associated geolocation file, and identifies active fires. The outputs are a two-
dimensional fire mask in Hierarchical Data Format (HDF) and a firelocation text file. The
SPA functions in two modes: Standalone, or as an IPOPP plug-in.
Enhancements to this SPA include support for NOAA-20 (JPSS-1) VIIRS data processing.
The NOAA-20 algorithm is an Engineering Version.
This software will execute on a 64-bit computer. This software has been tested on a
computer with 32GB of RAM and a CentOS Linux 7 X86_64 operating system.
Credits
The VIIRS-AF algorithm was co-developed by the Land Science Team and the DRL at
NASA/GSFC, under the guidance of the International Land Direct Readout Coordinating
Committee (ILDRCC).
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. Also, the VIIRS-AF_SPA requires at least 2 GB of memory to
run successfully, although more is recommended for improved performance.
NOTE: Due to limited resources, as well as the many variables that impact scientific integrity
and algorithm stability, the DRL will soon no longer support the Standalone Mode for SPA
processing. We strongly encourage you now to run SPAs in IPOPP Mode exclusively, that
is, from within the IPOPP processing framework. IPOPP will autonomously:
discover and register raw sensor data;
retrieve ancillaries from the DRL’s real-time and archived ancillary repositories;
register ancillaries in its Ancillary File Cache;
schedule SPA executions;
fulfill science data/ancillary requests from SPAs;
generate science data products; and
Installing into an IPOPP Framework: This SPA can also be installed dynamically into an
IPOPP framework to automate production of VIIRS Active Fires Level2 HDF file and VIIRS
Fire Location text file 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.
NOTE: If you have a previous version of this SPA installed, delete the SPA/VIIRS-AF
directory before decompressing and un-archiving the new SPA tar file.
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, hdiff, 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 VIIRS-AF_SPA uses are:
The following tables contain labels, and their descriptions, required by the VIIRS-AF_SPA.
viirs.svm16 VIIRS 750m M16 band SDR input Where yyyy, MM, dd represents the year,
HDF file path month, and day of month for the start of the
swath; the first hh, mm, ss, S represents
the hour, minutes, seconds, and 10th of a
second for the start of the swath and the
second hh, mm, ss, S represents the end
time of the swath. (xx = 05, 07, 11, 13, 15,
16)
3. Products for other locations and times are
available for download at
www.class.noaa.gov
Execute the 'run': The following is an example of the command line to run the VIIRS-AF
algorithm from the testscripts directory:
NOTES:
1. The Fire Location text file contains information about each fire pixel detected by the
SPA. Each line represents one fire pixel and has the following seven columns,
separated by commas:
o Column 1: Fire Pixel Latitude
o Column 2: Fire Pixel Longitude
o Column 3: M13 Brightness Temperature
o Column 4: Along scan pixel dimension (km)
o Column 5: Along track pixel dimension (km)
o Column 6: Fire Detection Confidence (0-100)
o Column 7: Fire Radiative Power (FRP)
Please note that the Fire Location text file is not generated if no fire pixels are
detected for the datasets processed. When running in standalone mode, the VIIRS-
AF_SPA will terminate with a message similar to the following when no Fire Location
text file is generated:
Output viirs.ActiveFires is /home/ipopp/drl/SPA/VIIRS-AF/testdata/output/NPP_VIIRS-AF.hdf
Output viirs.FireLoc is null
2. The data products generated by this SPA may be visualized with the DRL's
Installation of this SPA in IPOPP mode will make the SPA services listed in Table A-1
available to IPOPP. These services along with any other prerequisite services (listed in
Table A-2) will need to be enabled to allow IPOPP to automate production of the VIIRS-
AF_SPA data products. Furthermore, users who wish to generate image products from the
data products generated by this SPA will need to enable the image-generating services
listed in Table A-3. The SPAs containing the prerequisite and the image-generating services
listed in Tables A-2 and A-3 can be downloaded from the DRL Web Portal, in case they are
not already available in your IPOPP installation. Details about these other SPAs are
available in the respective SPA User's Guides. Please refer to the IPOPP User’s Guide for
instructions on how to install an SPA in IPOPP and enable the corresponding services.
NOTES:
1. Please refer to the H2G_SPA User’s Guide for more details about the image
products, including their locations and filename patterns when they are generated in
IPOPP.
2. The vcviirsfire-geotiff service additionally needs CVIIRS_SPA to be installed and the
“CVIIRS” SPA service enabled in IPOPP in order to run. CVIIRS_SPA is available for
download from the DRL Web Portal in case it is not already available in your IPOPP
installation.
3. The SPA service(s) for SNPP processing is available on the “SNPP-VIIRS” tab of the
IPOPP dashboard, while the corresponding SPA service for NOAA-20 processing is
available on the “JPSS-1-VIIRS” tab.