Skip to content

Geosat-2

Geosat-2 L1B, and L1C panchromatic and multispectral EO data products are calibrated using the Optical Products Calibration (OPT-Calib) service. The process applied is the same for PAN and MS acquisitions.

Image-001

Figure 1 - Panchromatic grayscale image derived from Geosat-2 HiRAIS L1B calibrated data acquired on 05/07/2025 over a large flood event near Porto Alegre, Brazil. Credits: GEOSAT.

Input

The input is an ingested Geosat-2 Dataset, find details here.

DN to Radiance

For the conversion from \(DN\) (for Digital Numbers) to spectral radiance (or ‘TOA radiance’) \(L \), the following formula is used :

\[ L(b) = { DN_{(b)} \times GAIN_{(b)} } + BIAS_{(b)} \]

\(L \) in \(W/m^2/steradians/micrometers\) with \(b\) being a band ID.

The gain and bias values are read from the Geosat-2 product annotation.

Radiance to Reflectance

To convert TOA radiance to TOA reflectance, the following formula is used:

\[ R(b) = { {\pi \times L(b) \times d \times d} \over {ESUN(b) \times cos(θ)} } \]

where :

  • \(L(b)\) is the spectral radiance for band b

  • \(pi\) is the famous mathematical constant

  • \(d\) is the earth-sun distance (in astronomical units) and depends on the acquisition’s day and month

  • \(ESUN(b)\) is the mean TOA solar irradiance (or solar illumination) in \(W/m^2/micrometers\)

  • \(θ\) is the solar zenith angle in degrees.

The conversion from elevation angle to solar zenith angle \(θ\) (in degrees) is:

\[ θ = { 90 - elevation_angle } \]

The values for the \(ESUN(b)\) are read from the Geosat-2 product annotation:

Output

The output is a STAC item GeoJSON1 including the assets shown below

  "assets": {
    "blue": {
      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
      "roles": [
        "data",
        "reflectance",
        "visual"
      ],
      "href": "https://.../calibratedDatasets/DE2_PSH_L1C_000000_20231025T021856_20231025T021859_DE2_50668_5E8E-calibrated/blue.tif",
      "eo:bands": [
        {
          "name": "blue",
          "description": "Blue Ortho PSH in W*m^-2*µm^-1*str^-1",
          "common_name": "blue",
          "center_wavelength": 0.496,
          "full_width_half_max": 0.06,
          "solar_illumination": 1811.593874
        }
      ],
      "raster:bands": [
        {
          "spatial_resolution": 0.75,
          "statistics": {
            "minimum": 408,
            "maximum": 9098,
            "mean": 1042.9103471788,
            "stddev": 538.62633144313,
            "valid_percent": 71.45
          },
          "histogram": {
            "count": 256,
            "min": 390.960784313725,
            "max": 9115.03921568627
          }
        }
      ],
      "file:size": 569788098
    },
    "green": {
      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
      "roles": [
        "data",
        "reflectance",
        "visual"
      ],
      "href": "https://.../calibratedDatasets/DE2_PSH_L1C_000000_20231025T021856_20231025T021859_DE2_50668_5E8E-calibrated/green.tif",
      "eo:bands": [
        {
          "name": "green",
          "description": "Green Ortho PSH in W*m^-2*µm^-1*str^-1",
          "common_name": "green",
          "center_wavelength": 0.566,
          "full_width_half_max": 0.07,
          "solar_illumination": 1794.381858
        }
      ],
      "raster:bands": [
        {
          "spatial_resolution": 0.75,
          "statistics": {
            "minimum": 241,
            "maximum": 9516,
            "mean": 922.82808710295,
            "stddev": 579.99698320548,
            "valid_percent": 71.45
          },
          "histogram": {
            "count": 256,
            "min": 222.813725490196,
            "max": 9534.1862745098
          }
        }
      ],
      "key": "green",
      "file:size": 578973356
    },
    "red": {
      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
      "roles": [
        "data",
        "reflectance",
        "visual"
      ],
      "href": "https://.../calibratedDatasets/DE2_PSH_L1C_000000_20231025T021856_20231025T021859_DE2_50668_5E8E-calibrated/red.tif",
      "eo:bands": [
        {
          "name": "red",
          "description": "Red Ortho PSH in W*m^-2*µm^-1*str^-1",
          "common_name": "red",
          "center_wavelength": 0.669,
          "full_width_half_max": 0.06,
          "solar_illumination": 1517.427492
        }
      ],
      "raster:bands": [
        {
          "spatial_resolution": 0.75,
          "statistics": {
            "minimum": 1,
            "maximum": 10000,
            "mean": 757.82181640197,
            "stddev": 675.76024876738,
            "valid_percent": 71.45
          },
          "histogram": {
            "count": 256,
            "min": -18.6058823529412,
            "max": 10019.6058823529
          }
        }
      ],
      "key": "red",
      "file:size": 590897993
    },
    "nir": {
      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
      "roles": [
        "data",
        "reflectance",
        "visual"
      ],
      "href": "https://.../calibratedDatasets/DE2_PSH_L1C_000000_20231025T021856_20231025T021859_DE2_50668_5E8E-calibrated/nir.tif",
      "eo:bands": [
        {
          "name": "nir",
          "description": "NIR Ortho PSH in W*m^-2*µm^-1*str^-1",
          "common_name": "nir",
          "center_wavelength": 0.831,
          "full_width_half_max": 0.12,
          "solar_illumination": 1076.885158
        }
      ],
      "raster:bands": [
        {
          "spatial_resolution": 0.75,
          "statistics": {
            "minimum": 230,
            "maximum": 10000,
            "mean": 2235.1252585774,
            "stddev": 1040.5977666174,
            "valid_percent": 71.45
          },
          "histogram": {
            "count": 256,
            "min": 210.843137254902,
            "max": 10019.1568627451
          }
        }
      ],
      "key": "nir",
      "file:size": 638194194
    },
    "ndvi": {
      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
      "roles": [
        "data",
        "visual"
      ],
      "href": "https://.../calibratedDatasets/DE2_PSH_L1C_000000_20231025T021856_20231025T021859_DE2_50668_5E8E-calibrated/ndvi.tif",
      "raster:bands": [
        {
          "spatial_resolution": 0.75,
          "statistics": {
            "minimum": -0.21771217882633,
            "maximum": 0.99898582696915,
            "mean": 0.47245108311042,
            "stddev": 0.24478132204988,
            "valid_percent": 71.45
          },
          "histogram": {
            "count": 256,
            "min": -0.220097861190635,
            "max": 1.00137150933345
          }
        }
      ],
      "file:size": 1375434843
    },
    "ndwi": {
      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
      "roles": [
        "data",
        "visual"
      ],
      "href": "https://.../calibratedDatasets/DE2_PSH_L1C_000000_20231025T021856_20231025T021859_DE2_50668_5E8E-calibrated/ndwi.tif",
      "s_expression": " (where (& (\u003E green 0) (\u003E nir 0)) (norm_diff green nir) nil)",
      "raster:bands": [
        {
          "spatial_resolution": 0.75,
          "statistics": {
            "minimum": -0.7709447145462,
            "maximum": 0.42793294787407,
            "mean": -0.3786822484607,
            "stddev": 0.22331470151277,
            "valid_percent": 71.45
          },
          "histogram": {
            "count": 256,
            "min": -0.77329545506075,
            "max": 0.43028368838862
          }
        }
      ],
      "file:size": 1381808538
    },
    "overview-trc": {
      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
      "roles": [
        "composite",
        "visual"
      ],
      "href": "https://.../calibratedDatasets/DE2_PSH_L1C_000000_20231025T021856_20231025T021859_DE2_50668_5E8E-calibrated/overview-trc.tif",
      "raster:bands": [
        {
          "spatial_resolution": 0.75,
          "statistics": {
            "minimum": 0,
            "maximum": 254,
            "mean": 33.701694168256,
            "stddev": 36.468323402089,
            "valid_percent": 100
          },
          "histogram": {
            "count": 256,
            "min": -0.5,
            "max": 255.5
          }
        },
        {
          "spatial_resolution": 0.75,
          "statistics": {
            "minimum": 0,
            "maximum": 254,
            "mean": 42.589579402531,
            "stddev": 37.962844110727,
            "valid_percent": 100
          },
          "histogram": {
            "count": 256,
            "min": -0.5,
            "max": 255.5
          }
        },
        {
          "spatial_resolution": 0.75,
          "statistics": {
            "minimum": 0,
            "maximum": 254,
            "mean": 49.33027200036,
            "stddev": 40.108608754088,
            "valid_percent": 100
          },
          "histogram": {
            "count": 256,
            "min": -0.5,
            "max": 255.5
          }
        },
        {
          "spatial_resolution": 0.75,
          "statistics": {
            "minimum": 0,
            "maximum": 255,
            "mean": 182.20679225909,
            "stddev": 115.16690879207,
            "valid_percent": 100
          },
          "histogram": {
            "count": 256,
            "min": -0.5,
            "max": 255.5
          }
        }
      ],
      "file:size": 733347711
    },
    "overview-civ": {
      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
      "roles": [
        "composite",
        "visual"
      ],
      "href": "https://.../calibratedDatasets/DE2_PSH_L1C_000000_20231025T021856_20231025T021859_DE2_50668_5E8E-calibrated/overview-civ.tif",
      "raster:bands": [
        {
          "spatial_resolution": 0.75,
          "statistics": {
            "minimum": 0,
            "maximum": 254,
            "mean": 108.49893905636,
            "stddev": 86.198912862004,
            "valid_percent": 100
          },
          "histogram": {
            "count": 256,
            "min": -0.5,
            "max": 255.5
          }
        },
        {
          "spatial_resolution": 0.75,
          "statistics": {
            "minimum": 0,
            "maximum": 255,
            "mean": 33.701695604502,
            "stddev": 36.468332097874,
            "valid_percent": 100
          },
          "histogram": {
            "count": 256,
            "min": -0.5,
            "max": 255.5
          }
        },
        {
          "spatial_resolution": 0.75,
          "statistics": {
            "minimum": 0,
            "maximum": 254,
            "mean": 42.589579402531,
            "stddev": 37.962844110727,
            "valid_percent": 100
          },
          "histogram": {
            "count": 256,
            "min": -0.5,
            "max": 255.5
          }
        },
        {
          "spatial_resolution": 0.75,
          "statistics": {
            "minimum": 0,
            "maximum": 255,
            "mean": 182.20679225909,
            "stddev": 115.16690879207,
            "valid_percent": 100
          },
          "histogram": {
            "count": 256,
            "min": -0.5,
            "max": 255.5
          }
        }
      ],
      "file:size": 790522634
    },
    "overview-trc-low-res": {
      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
      "roles": [
        "composite",
        "overview"
      ],
      "href": "https://.../calibratedDatasets/DE2_PSH_L1C_000000_20231025T021856_20231025T021859_DE2_50668_5E8E-calibrated/overview-trc-low-res.tif",
      "raster:bands": [
        {
          "spatial_resolution": 15.046875,
          "statistics": {
            "minimum": 0,
            "maximum": 254,
            "mean": 33.706151008606,
            "stddev": 36.480609437982,
            "valid_percent": 100
          },
          "histogram": {
            "count": 256,
            "min": -0.5,
            "max": 255.5
          }
        },
        {
          "spatial_resolution": 15.046875,
          "statistics": {
            "minimum": 0,
            "maximum": 254,
            "mean": 42.593481063843,
            "stddev": 37.975516071029,
            "valid_percent": 100
          },
          "histogram": {
            "count": 256,
            "min": -0.5,
            "max": 255.5
          }
        },
        {
          "spatial_resolution": 15.046875,
          "statistics": {
            "minimum": 0,
            "maximum": 254,
            "mean": 49.334037780762,
            "stddev": 40.119653774514,
            "valid_percent": 100
          },
          "histogram": {
            "count": 256,
            "min": -0.5,
            "max": 255.5
          }
        },
        {
          "spatial_resolution": 15.046875,
          "statistics": {
            "minimum": 0,
            "maximum": 255,
            "mean": 182.19979763031,
            "stddev": 115.17023113289,
            "valid_percent": 100
          },
          "histogram": {
            "count": 256,
            "min": -0.5,
            "max": 255.5
          }
        }
      ],
      "file:size": 2156764
    }
  }

  1. Radiant Earth Foundation, STAC item specifications, a single spatiotemporal asset as a GeoJSON feature plus datetime and links, available at:https://github.com