Beginners Guide to VIIRS Imagery Data
Curtis Seaman CIRA/Colorado State University 10/29/2013
1
VIIRS Intro
VIIRS: Visible Infrared Imaging Radiometer Suite 5 High resolution Imagery channels (I-bands) 16 Moderate resolution channels (M-bands) Day/Night Band (DNB)
VIIRS first launched onboard Suomi-NPP on 28 October 2011 Suomi-NPP is in the same orbital plane as the A-Train (CloudSat, CALIPSO, Terra MODIS), but at higher altitude: sun synchronous at ~824 km with ~13:30 LT equator crossing.
VIIRS Channels
From Lee et al. (2006), BAMS
VIIRS Data Basics
VIIRS is a scanning radiometer
As the satellite orbits the Earth, VIIRS scans a swath that is ~3040 km wide (the cross-track direction). A rotating mirror reflects radiation onto a set of CCD detectors. One rotation of the mirror is one scan.
M-bands and the DNB have 16 detectors to detect this radiation (16 rows of pixels per scan) I-bands have 32 detectors (32 rows of pixels per scan), with twice the resolution of the M-bands and the DNB Each scan produces a strip of data ~3040 x ~12 km in size Wide enough to prevent data gaps near the Equator (c.f. MODIS)
Data is distributed as individual granules*
48 scans comprise one granule of data. One granule represents ~85 seconds of data collected (~570 km in the along-track direction) As a result, each granule covers an area ~3040 x ~570 km in size There has been some discussion about combining data from several granules into a single file, but these files would likely be prohibitively large for most users*
* NOAA CLASS does distribute multiple granules combined into a single file and these files are huge. Other known data sources (see slide 31) keep each granule in separate files.
4
VIIRS Data Basics
Raw data from the satellite is transmitted to Earth as RDR files (Raw Data Records). Most users should never come across these files. RDR files are processed (the data is calibrated) and converted to SDR files (Sensor Data Records). For most users, these are the raw data files.
It is during this step that the geolocation information is calculated and written to a file Data is also converted from raw counts to radiance, reflectance and/or brightness temperature
A limited number of SDR files are processed and mapped to a ground-track Mercator projection and, thus, converted to EDR files (Environmental Data Records).
5
VIIRS Data Basics
For each VIIRS granule there are 42 imagery files currently produced (SDRs + EDRs):
8 geolocation files (5 SDRs and 3 EDRs) 10 I-band data files (5 SDRs and 5 EDRs) 22 M-band data files (16 SDRs and 6 EDRs) 1 DNB data file (SDR) 1 DNB EDR product, called NCC (Near-Constant Contrast)
Each VIIRS file is stored in HDF-5 format These 42 files total ~2 GB of data (see slide 26)
6
VIIRS File Naming Convention
SVM01_npp_d20130117_t2059265_e2100506_b06349_c20130118032130407525_noaa_ops.h5
A: file type (in this case, channel M-01 SDR data file) B: satellite identifier (Suomi-NPP) C: date in YYYYMMDD (17 January 2013) D: UTC time at the start of the granule in HHMMSS.S (20:59:26.5 UTC) E: UTC time at the end of the granule in HHMMSS.S (21:00:50.6 UTC) F: orbit number (06349) G: date and time the file was created in YYYYMMDD HHMMSS.SSSSSS (03:21:30.407525 UTC, 18 January 2013) H: source of the data file (operational file produced by NOAA)
VIIRS File Types
SDRs
Geolocation files:
GITCO, GMTCO, GIMGO, GMODO, GDNBO
EDRs
Geolocation files:
GIGTO, GMGTO, GNCCO
I-band Data files:
SVI01, SVI02, SVI03, SVI04, SVI05
I-band Data files:
VI1BO, VI2BO, VI3BO, VI4BO, VI5BO
M-band Data files:
SVM01, SVM02, SVM03, SVM04, SVM05, SVM06, SVM07, SVM08, SVM09, SVM10, SVM11, SVM12, SVM13, SVM14, SVM15, SVM16
M-band Data files:
VM01O, VM02O, VM03O, VM04O, VM05O, VM06O (see slide 22)
DNB Data file:
SVDNB
NCC Data file:
VNCCO
Geolocation Files
I-band SDR geolocation files M-band SDR geolocation files
GIMGO: projected onto smooth ellipsoid (WGS84 ellipsoid) GITCO: parallax-corrected for terrain GMODO: projected onto smooth ellipsoid GMTCO: parallax-corrected for terrain GDNBO: projected onto smooth ellipsoid (as of May 2013 there is a discussion of whether or not to produce a terrain-corrected geolocation) GIGTO: I-band EDR geolocation GMGTO: M-band EDR geolocation GNCCO: Day/Night Band EDR (NCC) geolocation
Day/Night Band geolocation file
EDR geolocation files (use ground-track Mercator projection)
Geolocation Files
Geolocation files contain, for each pixel:
Latitude Longitude Surface elevation relative to mean sea level (Height) Satellite Zenith Angle Satellite Azimuth Angle Solar Zenith Angle Solar Azimuth Angle Distance to satellite (Satellite Range)
EDR geolocation files add the row and column number of the SDR pixel that was mapped to the given EDR pixel row and column DNB and NCC geolocation files add lunar zenith and lunar azimuth angles
10
SDR Data Files
All data files contain radiance values
Visible and Near-IR channels also contain reflectance values SW- and LW-IR channels contain brightness temperature One file per channel SVI01, SVI02, SVI03, SVI04, SVI05 SVM01, SVM02, SVM03, SVM04, SVM05, SVM06, SVM07, SVM08, SVM09, SVM10, SVM11, SVM12, SVM13, SVM14, SVM15, SVM16 SVDNB
5 I-bands:
16 M-bands:
Day/Night Band (radiance only)
11
SDRs and the Bow-tie Effect
The constant angular resolution of the detectors results in an increasing pixel footprint size projected onto the Earth as the scan is further from nadir (see schematics on right) This means that the actual area of each scan has the shape of a bow-tie (see figure below) The bow-tie effect is reduced during processing from RDR to SDR through a combination of aggregation and deletion of overlapping pixels
Consecutive scans overlap away from nadir
The red pixels below are deleted from each scan in the data arrays (given pixel-trim fill value) DNB files do not have pixel-trim fill due to unique processing that keeps pixel resolution nearly constant across the swath
Scan angle
12
SDR Example
SVM01_npp_d20130117_t2059265_e2100506_b06349_c20130118032130407525_noaa_ops.h5
Data plotted with no mapping, and with pixel-trim fill values highlighted as blue. Full granule plotted above. At right, zoomed in on area in lower right where pixel trim begins. Pixel-trim fill values are only present in the data arrays, not in the geolocation arrays.
13
SDR Example with Remapping
SVM01_npp_d20130117_t2059265_e2100506_b06349_c20130118032130407525_noaa_ops.h5 Same granule as previous slide with data plotted to Lambert Azimuthal projection using IDL, and with pixel-trim fill values removed. Proper mapping and accounting for pixeltrim values eliminates bow-tie deletion lines and produces the correct image. The removal of the deleted lines typically involves some form of averaging or duplication of neighboring pixels to replace the fill values, although this is dependent on the software used to plot the data and/or the method the user feels produces the best results.
14
Bow-tie Effect in Non-Pixel-Trim Areas
These two images are of the same hurricane eye, which occurred slightly off-nadir in the granule, but before the pixel-trim region. On the left, the data is presented exactly as it appears in the file (no mapping). Lines appear where pixels from two adjacent scans overlap (indicated by the arrows). On the right, the data has been mapped onto a projection of the Earth using the geolocation information. The lines disappear. The geolocation correctly accounts for the overlap. This is a plotting issue, and not a problem with the satellite or the data. Aside: the eye appears more circular in the mapped image, which is indicative of the fact that the horizontal resolution of the data is not identical in the cross-track and along-track directions (see slide 3). The geolocation accounts for this also.
15
EDRs and Ground-Track Mercator Mapping
Imagery EDR files remove the pixel-trim lines and bow-tie effect problem by mapping the data to the Ground-Track Mercator (GTM) projection
A Mercator projection relative to the satellite
During EDR processing, SDR data is mapped to the GTM projection, which maintains constant horizontal resolution in the cross-track and along-track directions Overlapping SDR pixels are mapped to their proper location in the EDR array The GTM projection also converts granules from their native shape to something closer to a true rectangle
16
Rotation Between SDR and EDR
It takes ~0.56 seconds for the instrument to scan the width of the swath. During this time, the nadir point of the satellite moves ~3.75 km (the satellite moves at ~6.7 km s-1) At the start of the scan, the satellite is at A, looking at the point A at the edge of the swath (perpendicular to the satellite motion). By the time the mirror rotates to view B, the satellite has moved to B. The line connecting A to B is not perpendicular to the satellite motion. Thus, without the bow-tie effect, each SDR granule is more of a parallelogram than a rectangle
Satellite ground track
B B A
Scan line
17
Rotation Between SDR and EDR
B
This image is of an EDR file (no mapping):
VM01O_npp_d20130117_t2059140_e2100590_b06349_c20130117225550954634_noaa_ops.h5
The brown parallelogram outlines where the associated SDR file matches up with it:
SVM01_npp_d20130117_t2059265_e2100506_b06349_c20130118032130407525_noaa_ops.h5
The data in the lower-left corner of the EDR (A) comes from the previous SDR granule. The data in the upper-right corner of the EDR (B) comes from the next SDR granule. Notice also that the beginning and ending times given in the EDR filename do not match with the times of the SDR filename. This is a reflection of the fact that data from the previous and next SDR granules were mapped to this EDR granule.
18
EDRs and N/A Fill
The GTM projection maintains a constant size with constant horizontal resolution in the cross-track and along-track directions. The physical area represented by each EDR granule is constant. However, the satellite orbit is not a circle, the Earth is not a sphere and the satellite does not travel at constant speed. This means the swath width is not constant and the 48 scans per granule do not cover the same along-track distance. The data arrays and geolocation arrays are maximized - set to the maximum along-track and cross-track dimensions the granules may possess; designed to keep array sizes constant when the physical area represented by each granule is not constant As a result, the data arrays and geolocation arrays contain N/A fill values at the swath edges and at the end of each granule where the data does not reach. The number pixels with N/A fill values varies from granule to granule. Removal of the N/A fill lines at the end of each granule is required for consecutive granules to properly match-up. (See next two slides.) There is no loss in resolution when this is done properly.
19
EDR Example
VI1BO_npp_d20120910_t1748321_e1750260_b04517_c20120911001107561283_noaa_ops.h5
Data plotted with no mapping, and with N/A fill values highlighted as red. Full granule plotted above. At right, zoomed in on area in upper-left corner where N/A fill is present. This particular granule has 19 rows of N/A fill value at the end of the array, and a variable number of N/A fill values in each row.
multiple rows of N/A FILL value at the end of the array
Variable number of fill values in each row of pixels on both sides of swath 20
Geolocation arrays have N/A fill only at the end of the array, not at swath edges.
EDRs and N/A fill
In general, the number of rows of N/A fill value at the end of the array increases as the satellite approaches either pole. This number is a minimum at the Equator. The opposite is true for fill values at the swath edges: the fewest N/A fill values per row occur at the poles, the most occur at the Equator.
Equator
Pole
Exaggeration of the relative aspect ratios of the area of valid EDR data between the Equator and the poles. Pale blue rectangles represent the area of the EDR granule/GTM projection. Darker blue rectangles represent area of valid data within the projection.
21
EDR Data Files
All I-band and M-band data files contain radiance values
I-band SDRs each have their own EDR
Visible and Near-IR channels also contain reflectance values SW- and LW-IR channels also contain brightness temperature VI1BO, VI2BO, VI3BO, VI4BO, VI5BO correspond to SVI01, SVI02, SVI03, SVI04, SVI05 SDRs, respectively
Only 6 M-band EDRs are currently produced and they do not correspond 1:1 with the SDR channels
SVM01 (SDR) --> VM01O (EDR) SVM04 (SDR) --> VM02O (EDR) SVM09 (SDR) --> VM03O (EDR) SVM14 (SDR) --> VM04O (EDR) SVM15 (SDR) --> VM05O (EDR) SVM16 (SDR) --> VM06O (EDR) The M-band EDR processing is designed to be flexible so that the input channel may vary. The list above is accurate as of August 2013. Users should locate the metadata item band_id in the data file to determine which SDR channel was the input for the EDR.
I-band and M-band EDRs are simply the SDR data remapped to the Ground-Track Mercator projection The Day/Night Band EDR is called the Near-Constant Contrast (NCC) product
VNCCO The NCC product is the DNB SDR data (which is radiance only) converted to a reflectance value and remapped to the ground-track Mercator projection. As a result, NCC data is reflectance-only.
22
NCC Imagery EDR Example
SVDNB
NCC
The top image shows a DNB granule that crosses the day/night terminator. The lower image shows the associated NCC granule (with N/A fill values highlighted in blue). Neither image has been mapped. The goal of the NCC EDR is to reduce the dynamic range of DNB radiance values (which span 7 orders of magnitude between day and night) by converting it to a quantity with reduced dynamic range (i.e. reflectance) to create images with nearly constant contrast across scenes like this. Nighttime images of clouds should, in theory, appear similar to daytime images. This is a difficult problem, however
23
NCC Imagery EDR
Recall that reflectance is a measure of the ratio between the observed (outgoing) radiation from a surface and the expected incoming radiation incident on that surface
Since the DNB operates day and night, there are two sources of expected radiation: the sun and moon
reflectance is typically a value between 0 and 1
However, the DNB also detects radiation from other sources (lightning, auroras, city lights, fires, etc.) which can be several orders of magnitude brighter than the solar and/or lunar radiation (particularly at night during a new moon) and these light sources cannot be modeled
NCC reflectance values were originally allowed to vary between 0 and 5, but they may approach 100-1000 or more in cases of auroras, city lights and fires, for example As a result, NCC processing typically produced large areas of SOUB fill values indicating values out-of-bounds for nighttime granules when the moon was significantly less than full A fix for this issue is now operational so that NCC imagery is valid during all phases of the moon as it is supposed to be (fix implemented on 10 July 2013)
Converting DNB radiance to NCC reflectance involves accurate modeling of both solar radiation and lunar radiation
24
Other VIIRS Channels at Night
Except for the Day/Night Band, visible and near-IR channels do not produce data at night These channels where reflectance is computed are not available at night (refer to slides 11 and 22) Data arrays are filled with VDNE Fill or N/A Fill These files have very small file sizes
25
VIIRS File Sizes
The values at the right approximately represent the size of each file for one granule All 42 files for one granule comprise nearly 2 GB of data!
1012 granules produced per day
File Type GIMGO GITCO GMODO GMTCO GDNBO SVI (01, 02, 03) SVI04 SVI05 SVM (01, 02) SVM (03, 04, 05) SVM06 SVM07 SVM (08, 10, 11) SVM09 SVM12 SVM13 SVM (14, 15, 16) SVDNB GIGTO GMGTO GNCCO VI (1, 2, 3) BO VI (4, 5) BO VM (01, 02, 03) O VM (04, 05, 06) O VNCCO File Size (approximate) 309 MB 210-250 MB 77 MB 50-60 MB 85 MB 40 KB (night) 25-30 MB (day) 20-25 MB 25-30 MB 40 KB (night) 7-8 MB (day) 40 KB (night) 11 MB (day) 40 KB (night) 6-7 MB (day) 5 MB (night) 11 MB (day) 660 KB (night) 6-8 MB (day) 40 KB (night) 2-5 MB (day) 4-8 MB 11-12 MB 6-7 MB 10-11 MB 423 MB 106 MB 136 MB 26 KB (night) 60 MB (day) 60 MB 24 KB (night) 12 MB (day) 12 MB 9 MB
Differences in file sizes between channels are related to how the data is stored
26
VIIRS Data Storage
Data values (radiance, reflectance and brightness temperature) may be stored as 16-bit unsigned integers or 32-bit floating point values 16-bit unsigned integer values are accompanied by the scale factors needed to convert the value to the proper units
For example, to read in correct radiance values stored as integers, one must read in the radiance data array and the radiancefactors data vector
Most geolocation data is stored as 32-bit floating point values Array sizes below are valid for both the data files and associated geolocation files
The scale factors are always 2 element vectors of 32-bit floating point values [c0, c1] such that the true scientific value is given by f = c0 n + c1 f is the desired (floating point) value and n is the input (unsigned integer) value
File Type I-band SDR M-band SDR DNB I-band EDR M-band EDR NCC
Array Sizes 6400 x 1536 3200 x 768 4064 x 768 8241 x 1531 4121 x 771 4121 x 771
32-bit floating point values are already stored in the proper units
27
VIIRS Data Units
Radiance (except DNB) has units of (W m-2 sr-1 m-1) DNB radiance is band-integrated and has units of (W cm-2 sr-1) Reflectance is unitless Brightness temperature has units of (K) Latitude, longitude, and viewing geometry angles are always reported in degrees Surface elevation (height) has units of (m MSL) Distance to satellite (satellite range) has units of (m) Times are given either in HHMMSS format (character string) or as the number of microseconds since 00:00:00 UTC, 1 January 1958 (64-bit integer)
28
VIIRS Fill Values
Name and meaning
N/A not applicable MISS required value missing at time of processing OBPT onboard pixel trim (overlapping/bow-tie pixel removed during SDR processing) OGPT on-ground pixel trim (overlapping/bow-tie pixel removed during EDR processing) ERR error occurred during processing / non-convergence ELINT ellipsoid intersect failed / instrument line-of-sight does not intersect the Earths surface VDNE value does not exist / processing algorithm did not execute SOUB scaled out-of-bounds / solution not within allowed range
16-bit unsigned integer arrays
65535 65534 65533 65532 65531 65530 65529 65528
32-bit floating point arrays
-999.9 -999.8 -999.7 -999.6 -999.5 -999.4 -999.3 -999.2
29
Pixel-trim (OBPT) Fill Values
This table and the figure below identify the location of OBPT fill values in SDR imagery files Also called bow-tie deletions Double the number of elements and lines missing for I-band SDRs OBPT fill does not apply to DNB files or imagery EDRs
Sequential lines missing (M-bands) Lines missing out of 16 lines/scan (M-bands) Elements (Mbands) Number of elements (Mbands) Scan angle Zenith angle 2 1 0 1 2
1-640
641-1008
1009-2192 1184 (2x592) 32-0-32 36.7-0-36.7
2193-2560
2561-3200
640 56-44.7 69.4-52.6
368 44.7-32 52.6-36.7
368 32-44.7 36.7-52.6
640 44.7-56 52.6-69.4
Scan angle
30
Where to get VIIRS data
NOAA CLASS website
gravite.ipo.noaa.gov
NOAA GRAVITE server
http://www.class.ncdc.noaa.gov/
Atmosphere PEATE server (SDR files only):
University of Wisconsin Direct Broadcast (SDR files over CONUS within the last week only)
ftp://ftp.ssec.wisc.edu/pub/eosdb/npp/viirs/
ftp://peate.ssec.wisc.edu/allData/ingest/viirs/ http://peate.ssec.wisc.edu
31
Software for Displaying VIIRS Data
This information does not constitute an endorsement of any product or service McIDAS-V IDL
http://www.ssec.wisc.edu/mcidas/software/v/ http://www.exelisvis.com/ProductsServices/IDL.aspx http://www.seaspace.com/software.php http://www.mathworks.com/products/matlab/ http://cimss.ssec.wisc.edu/cspp/
TeraScan MATLAB CSPP
32
For Further Reading
Documentation
Algorithm Theoretical Basis Document (ATBD), Operational Algorithm Description (OAD), and Common Data Format Control Book (CDFCB) documents may be found here: http://npp.gsfc.nasa.gov/science/documents.html http://www.star.nesdis.noaa.gov/jpss/ATBD.php
Presentations/Discussions of known issues
VIIRS Imagery and Visualization Team website: http://rammb.cira.colostate.edu/projects/npp/
Imagery Examples
Blogs: http://rammb.cira.colostate.edu/projects/npp/blog/ http://cimss.ssec.wisc.edu/goes/blog/archives/category/viirs http://nasasport.wordpress.com/category/viirs/ http://goesrnatcentperspective.wordpress.com/tag/viirs/ Realtime Display: http://rammb.cira.colostate.edu/ramsdis/online/npp_viirs.asp http://www.nrlmry.navy.mil/VIIRS.html
33