Satellite Pixel Types

How do I...?
Post Reply
User avatar
jake9wi
Posts: 6
Joined: Wed Oct 16, 2019 3:47 am
Location: Trail Creek, Indiana

Satellite Pixel Types

Post by jake9wi »

Hello y'all.

I have googled around on this question but with out result.

When loading GOES-16 data I notice that there are multiple choice for each band.

For the Visible bands:

  • "Scaled Counts"
  • "Radiance"
  • "Albedo"
  • "Brightness"

And for IR channels:

  • "Scaled Counts"
  • "Radiance"
  • "Temperature"
  • "Brightness"


So my question is: What are the pros/cons of each type AND for the temperature type is there somewhere that give the range min/maxes.
-- -- -- --
  • Uses: McIDAS-V.
  • OS: Win Seven x64.
User avatar
bobc
Posts: 937
Joined: Mon Nov 15, 2010 5:57 pm

Re: Satellite Pixel Types

Post by bobc »

Hello,

Of the calibrations you listed for Visible and IR, scaled counts refers to the actual raw values returned by the satellite. Brightness is a unitless calibration with an enhancement range of 0 to 255. This is available for every band, and is a carryover from McIDAS-X, which supports up to 255 colors in each display. Everything else (Radiance, Albedo, Temperature) are standard meteorological calibration values and nothing specific to McIDAS. The AMS (American Meteorological Society) glossary has definitions of them. You can find more specifics of their usages on Wikipedia. For example, Albedo, Radiance, and Temperature.

As for getting the min/max temperature values, the easiest method would be to use the Jython Shell. Per this page of the User's Guide, you can open the Jython Shell with the Tools>Formulas>Jython Shell menu in the Main Display. Click the double-down blue arrows to expand the text entry field to multi-line mode. If your display window only contains a map and a single timestep of satellite data, you could run a script like:

Code: Select all

satLayer = activeDisplay().getLayer(1)
# get reference to the satellite imagery layer
# the list of layers is 0-based, where the map is index 0
# and the satellite data is index 1, assuming only one
# layer was displayed by the user

satData = satLayer.getData()
# get a reference to the layer's data

missData = setToMissing(satData,0)
# set temperature values of 0K to missing

print(getMinMax(missData))
# prints an array of min/max temperature values

print(describe(missData))
# prints out all statistical values including min/max

If your display contains only a map and a loop of satellite data, you could run a script like:

Code: Select all

satData = activeDisplay().getLayer(1).getData()
for x in range(0, len(satData)):
    # len(satData) = number of timesteps in loop
    missData = setToMissing(satData[x],0)
    # missData is to set all 0K temp values to missing
    print(getMinMax(missData))
    # return array of min/max value for the timestep

You can find our scripting documentation on the Scripting page of the User's Guide. You can also find scripting tutorials on the McIDAS-V documentation page. Essentially, these script get a reference to the satellite data, set values of 0K to missing, and then use the "getMinMax" JPythonMethod to get at the min/max temperature values.

Please let me know if you have any other questions.

Thanks,
Bob Carp
McIDAS Help Desk
Post Reply