I am working on MODIS data in ESA SNAP, specifically the Terra sensor, and I'm having a hard time understanding the unit of measurement of the data provided.

I have downloaded Level 1B data (Calibrated Radiances, 1km resolution). After loading the product, I can easily open the image from any band. Once opened, if I open up Menu/View/Tool Windows/Pixel Info, besides geographic information, what I see is the "Band" value.

What is this value?

It is not expressed in any unit of measurement. Now, the MODIS website suggests that they are radiances (and this is what I would expect, as the name of the product suggests). On the other hand, if I open the "Product user guide" in the same page, I would expect to see these famous "Scaled integers", as briefly explained in page 31, section 5.4 of the guide.

The following is an example of what I mean. In the "bands" field, I would expect integers (the fields are two because I tiled two images). Also, tie-point grids are expressed in no unit. Is there an SI unit that I'm not aware about?

This is the pixel info output

I have appealed to people who know a lot more about me about SNAP and MODIS data, and, with @chryss' help, I've come to the answer. I looks as if SNAP automatically processes the "Scaled integers" to output reflectance (dimensionless, %) for the reflective bands and calibrated radiances (in W/(m^2*ster*μm)) for the infrared.

1 Answer 1


MODIS data is produced and distributed as a large number of products, and occasionally it can happen that the same product is produced by various agencies, or even tools available from one single data archive, in different data formats, projections, subsetted versions, gridded & swath etc. So it is customary to refer to a particular product, the source where you're getting it from, and the data format. I presume that you're dealing with the MOD021km product (https://modaps.modaps.eosdis.nasa.gov/services/about/products/c6/MOD021KM.html), or for example MOD02Hkm or MOD02Qkm, as swath data in HDF-EOS (HDF with a particular metadata structure) format, as referred to in the Product user guide you link to.

Within the data files, scientific datasets are provided as 16-bit unsigned integers. This means that possible data values ("digital numbers") are integers in the interval [0, 32767] . The physical quantity you really want, though, are spectral radiances (L), which by their nature are a) floating point or decimal numbers and b) drawn from a much smaller intervals. Thus the use of scaled integers (SI) that map to the actual physical quantities via the formula provided in Appendix C.3 of the Product User Guide:

L = radiance_scales * (SI - radiance_offsets)

You get the values of radiance_scales and radiance_offsets out of the metadata for each band (they vary by band! they can also vary from dataset to dataset whenever there was a major recalibration).

Depending on your application, you might be interested in reflectances rather than spectral radiances. See the other appendices for how to get these -- all parameters you need hide in the metadata. It is highly recommended to read the whole Product Guide.

  • Thank you for you answer @chryss. Excuse my vagueness, indeed the product is the first one you mention, I'll be more specific next time. As you suggest, and as the product guide declares, SI is what I would expect. However, there is a complete mismatch with what I find in the product. The value for each pixel is a floating point. Metadata is also incredibly scarce (or I should say sparse), with no mention whatsoever of radiance scales and radiance offsets. I have uploaded a screenshot.
    – Easymode44
    Mar 31, 2018 at 7:37
  • Two things: 1. I'm not familiar with the ESA SNAP tool and when I tried to install it, it was unclear to me what part is what. It appears that it is mostly for processing Sentinel data, correct? So I'm not sure to what degree it supports MODIS data at all. My guess is that it does, and that it automatically extracts the metadata and applies them, so the float you see would be the radiance.
    – chryss
    Apr 2, 2018 at 1:11
  • 2. I'm still unclear what file you're looking at. It should start with MOD (for Terra data) or MYD (for Aqua) and have a file name like MYD021KM.A2015165.2155.005.2015166180217.hdf . In this case, using a suitable command line tool (ncdump -h works) you can inspect the attribute values. There is one called Coremetadata.0, which contains a very long formatted string (with \n characters and whitespace for indentation), which contains the metadata you're looking for. Basically, you have a choice between using a tool that supports the HDF-EOS format or diving pretty deep into the nitty-gritty.
    – chryss
    Apr 2, 2018 at 1:20
  • the file was from the Terra sensor, so MOD. I have edited my solution with the answer. Thank you for your help. I see now the tradeoff between the GUI and the nitty-gritty. I'll dig into it soon. PS. Doesn't SE/GIS support LaTeX formulas in the question?
    – Easymode44
    Apr 3, 2018 at 7:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.