MODIS Radiance using SNAP

Good Day,

I am using MODIS Calibrated Radiances (MOD021KM see in SNAP and I am having difficulty understanding what I am seeing.

I have brought the HDF imagery in via File > Import > Optical Sensors > MODIS LIB

If I just bring up a RGB image and right click it I can copy the values to the clipboard (see below).

Reading the manual the data should be scaled integers but these are floating point data.

Does SNAP automatically convert the DNs to Radiances?

Product:	MOD021KM.A2018314.1800.061.2018315072759.hdf

Image-X:	573	pixel
Image-Y:	1497	pixel
Longitude:	109°10'57" W	degree
Latitude:	32°39'12" N	degree

BandName	Wavelength	Unit	Bandwidth	Unit	Value	Unit	Solar Flux	Unit
EV_1KM_RefSB_8:	412.0	nm	0.0	nm	0.09609	none	
EV_1KM_RefSB_9:	443.0	nm	0.0	nm	0.08402	none	
EV_1KM_RefSB_10:	488.0	nm	0.0	nm	0.06811	none	
EV_1KM_RefSB_11:	531.0	nm	0.0	nm	0.06147	none	
EV_1KM_RefSB_12:	547.0	nm	0.0	nm	0.06191	none	
EV_1KM_RefSB_13lo:	667.0	nm	0.0	nm	0.06661	none	
EV_1KM_RefSB_13hi:	667.0	nm	0.0	nm	0.10987	none	
EV_1KM_RefSB_14lo:	678.0	nm	0.0	nm	0.06654	none	
EV_1KM_RefSB_14hi:	678.0	nm	0.0	nm	0.11234	none	
EV_1KM_RefSB_15:	748.0	nm	0.0	nm	0.16412	none	
EV_1KM_RefSB_16:	869.0	nm	0.0	nm	0.19351	none	
EV_1KM_RefSB_17:	905.0	nm	0.0	nm	0.08783	none	
EV_1KM_RefSB_18:	936.0	nm	0.0	nm	0.04161	none	
EV_1KM_RefSB_19:	940.0	nm	0.0	nm	0.05688	none	
EV_1KM_RefSB_26:	1375.0	nm	0.0	nm	0.00072	none	
EV_1KM_Emissive_20:	3750.0	nm	0.0	nm	0.40577	none	
EV_1KM_Emissive_21:	3959.0	nm	0.0	nm	0.50208	none	
EV_1KM_Emissive_22:	3959.0	nm	0.0	nm	0.52399	none	
EV_1KM_Emissive_23:	4050.0	nm	0.0	nm	0.52449	none	
EV_1KM_Emissive_24:	4465.0	nm	0.0	nm	0.17288	none	
EV_1KM_Emissive_25:	4515.0	nm	0.0	nm	0.50029	none	
EV_1KM_Emissive_27:	6715.0	nm	0.0	nm	2.12349	none	
EV_1KM_Emissive_28:	7325.0	nm	0.0	nm	3.56100	none	
EV_1KM_Emissive_29:	8550.0	nm	0.0	nm	7.53757	none	
EV_1KM_Emissive_30:	9730.0	nm	0.0	nm	5.49986	none	
EV_1KM_Emissive_31:	11030.0	nm	0.0	nm	8.07653	none	
EV_1KM_Emissive_32:	12020.0	nm	0.0	nm	7.61204	none	
EV_1KM_Emissive_33:	13335.0	nm	0.0	nm	5.15944	none	
EV_1KM_Emissive_34:	13635.0	nm	0.0	nm	4.10899	none	
EV_1KM_Emissive_35:	13935.0	nm	0.0	nm	3.54949	none	
EV_1KM_Emissive_36:	14235.0	nm	0.0	nm	2.49691	none	
EV_250_Aggr1km_RefSB_1:	645.0	nm	0.0	nm	0.06468	none	
EV_250_Aggr1km_RefSB_2:	859.0	nm	0.0	nm	0.10448	none	
EV_500_Aggr1km_RefSB_3:	469.0	nm	0.0	nm	0.07415	none	
EV_500_Aggr1km_RefSB_4:	555.0	nm	0.0	nm	0.06234	none	
EV_500_Aggr1km_RefSB_5:	1240.0	nm	0.0	nm	0.11337	none	
EV_500_Aggr1km_RefSB_6:	1640.0	nm	0.0	nm	0.09779	none	
EV_500_Aggr1km_RefSB_7:	2130.0	nm	0.0	nm	0.06475	none	

Height:	1337.74
SensorZenith:	9.197
SensorAzimuth:	99.639595
Range:	713339.5
SolarZenith:	51.748
SolarAzimuth:	162.61499
latitude:	32.653713
longitude:	-109.18375

Actually the values are reflectances. Modis files have conversion factors for radiances and reflectances.
The DNs are automatically converted to reflectances.

Hi Marpet, thank you for your reply but I am not sure if you are correct. If you are correct then I am still very confused!

According to the MODIS L1B product users guide ( see page 31 of (, the MODIS products

Level 1B generates two calibrated data products for the Reflective Solar bands (RSBs): the
reflectance and the Earth-exiting radiance. Writing these two products in floating-point format to
the Level 1B Earth view product files would make the file sizes prohibitively large.
Instead, Level 1B writes a 16-bit scaled integer representation of the calibrated digital signals
measured by the MODIS, from which the reflectances and radiances can be calculated from two
pairs of scale and offset terms written as attributes to the reflective band SDSs. These two pairs are
derived from the calibration parameters that are input to Level 1B as look up tables. Reflective
Solar Band radiance can also be calculated more precisely using calculated reflectances and
appropriate granule metadata; see Section 5.4.3.

So It sounds to me that the MODIS L1B MOD021 product should be a 16-bit integer that you can calculate either reflectances or radiances using formulas.

Reading a little further, it appears that the scaled integers (SI which is a 16-bit integer) are representations of dn** (which is a 32-bit floating point). So I am thinking that SNAP is actually showing me the dn**, not the SI?

Therefore I need to (1) convert dn** to SI and then (2) convert SI to radiances?

Interestingly when you inspect the information for just one band of the file (EV_1KM_RefSB_8) you get the following information.

These (I think) are the conversion factors to go from dn** to SI and I don’t see the radiance scaling/offset factors or the reflectance scaling/offset factors.

Name: EV_1KM_RefSB_8
Type: Band
Description: Earth View 1KM Reflective Solar Bands Scaled Integers
Geophysical unit: none
Geophysical data type: float32
Raw data type: uint16
Raster width: 1354 pixels
Raster height: 2030 pixels
Scaling factor: 2.609128932817839E-5
Scaling offset: -0.008270213339695576
Is log 10 scaled: false
Is no-data value used: false
No-data value: 0.0
Geophysical no-data value: -0.008270213339695576
Valid pixel expression: null
Spectral band index: 0
Wavelength: 412.0 nm
Bandwidth: 0.0 nm
Solar flux: 0.0 mW/(m^2*nm)

Product name: MOD021KM.A2018314.1800.006.2018315073121.hdf
Product type: MODIS Level 1B
Product description: MOD021KM.A2018314.1800.006.2018315073121.hdf
Product format: MODIS-L1B
Product reader: MODIS L1B Products
Product reader class: gov.nasa.gsfc.seadas.dataio.L1BModisProductReaderPlugIn
Product reader module: NASA OBPG Ocean Color Product Reader - v1.8
Product file location: C:\Users\Don\Documents\Brian\Fire\LAADS\CAMP\MOD021KM.A2018314.1800.006.2018315073121.hdf
Product scene width: 1354 pixels
Product scene height: 2030 pixels
Product start time (UTC): 10-NOV-2018 18:00:00.000000
Product end time (UTC): 10-NOV-2018 18:05:00.000000

You can also investigat the HDF file with e.g. HDFView.
There you can see all the attributes.

We haven code which reads the MODIS file is taken from SeaDAS a while ago.
Maybe use SeaDAS directly, it could be that they have improved the reading meanwhile.
In SNAP are float values shown wit ha max of ~1.4.
This indicates reflectances.

This also could be suitable tool for reading MODIS MODIS and VIIRS Data Tools and Services at your Fingertips

Source :