GRD assets available in Google Earth Engine

Thanks Guido. The ingestion period of GEE was what I was after, if you think it’s Thursdays I guess we’ll know by tomorrow.

We try to download all new assets every day, and ingest all those we download. S1B is picked up automatically. However, in the last few days the scihub site has been slow, so we have not been able to get all available assets yet.

1 Like

I’m still waiting on S1B on GEE … but I’ve also seen that the last S1 ingestion was on the 12th of Oct.

Do you have any infos on that @simonf ?

Thanks

Check the COPERNICUS/S1_GRD_INT catalogue instead. COPERNICUS/S1_GRD is a so-called “calculated” catalogue, which is exposed at specific push events. Looks like they skipped a few of the latter.

S1_GRD_INT is integer scaled output of s1tbx. You can create logscaled S1_GRD with this function (JavaScript interface):

function db(image) {
var bands = image.select("…").bandNames();
var bias = ee.Image.constant(bands.map(function(pol) {
return image.get(ee.String(pol).cat(’_log_bias’))
}))
var gains = ee.Image.constant(bands.map(function(pol) {
return image.get(ee.String(pol).cat(’_log_gain’))
}))
var toDecibels = image.addBands(image.select(bands).subtract(bias).divide(gains).float(), null, true);
return toDecibels.addBands(image.select(‘angle’).resample(‘bicubic’), null, true);
}

Guido

1 Like

Thanks Guido for clarifying that!

I wasn’t aware of the second catalogue.

Best,
Val

Val and Guido,

We indeed update the S1_GRD collection only once per week, and we had to skip last week. Sorry about that - it happens quite rarely. This week’s update has just happened, and S1B is now available. The workaround Guido provided does help if you want to see the most recent assets immediately.

Simon

Hi @simonf,

Can you please provide a bit of detail on the quantizing procedure? Specifically, do you make use of the ConvertDataType and/or BandMath operators in SNAP/GPT or is there an external process at work?

Also, I am interested to hear if you folks use the “Radiometric Normalization” checkbox within the Terrain-Correction operator (asked previously by Kersten). There are some topics on the forum here that discuss the differences between using Calibration->Terrain-Correction vs Terrain-Correction(radio-normalize), but as far as I know the suggested procedure is to not use the normalization checkboxes as they are carryovers from NEST.

Thanks

@mbrady: We don’t do anything in SNAP other than these operations: apply orbit files, remove thermal noise, radiometric calibration, terrain correction with SRTM or ASTER. After that, we do this using numpy:

  • Convert values into decibels
  • Cut off top and bottom 1% of values (otherwise the range of interesting integers will be very small).
  • Compute gain and bias that would map the remaining data range into [1, 65535]
  • Apply gain and bias, and round the result to uint16

The result as well as computed gain and bias are saved into the raw S1 collection. The computed collection applies in reverse gain and bias on the fly and shows the approximated values in dB.

We don’t apply radiometric normalization.

Thanks! Very much appreciate the thorough follow-up :grinning:

It depends on your scene and your particular application. Generally, you can just use calibration. If you want to do classification in areas with lots of terrain you would be better off using terrain flattening than using the radiometric normalization.

Hi lveci,

I am new to SNAP, can you please elaborate step by step process to me to classify Paddy crop using S1A data?
How to classify Forest and Plantation area?

You could start by looking into relevant scientific literature:

https://scholar.google.it/scholar?q=rice+paddy+classification+SAR

Dear @Fernerkundung,

Did you manage to reprocess the preprocessing steps applied within the GEE?

I am currently trying to do the same as the values in urban areas have been truncated to 0 dB, whereas in urban areas values can be expected up to 5/10 dB. This therefore results in a loss of the required signal.

Thank you,
Jeroen van Heyningen

FYI, we are now seriously planning to reprocess GRD in EE to get rid of truncating, hopefully by Q4.

1 Like

@simonf That would be great, looking forward to it!

For now, is there a page or document where the GEE provides the exact settings for data preprocessing, such as the polynomial used for applying the restituted orbit files? Or can I assume that when no comments are available at https://developers.google.com/earth-engine/sentinel1 the standard settings of the s1-toolbox have been used?

The interesting parts are (polarization choice and DEM filename vary, obviously):

  <node id="Apply-Orbit-File">
    <operator>Apply-Orbit-File</operator>
    <sources>
      <sourceProduct refid="Read"/>
    </sources>
    <parameters class="com.bc.ceres.binding.dom.XppDomElement">
      <orbitType>Sentinel Restituted (Auto Download)</orbitType>
      <polyDegree>3</polyDegree>
      <continueOnFail>$continueOnFail</continueOnFail>
    </parameters>
  </node>
  <node id="ThermalNoiseRemoval">
    <operator>ThermalNoiseRemoval</operator>
    <sources>
      <sourceProduct refid="Apply-Orbit-File"/>
    </sources>
    <parameters class="com.bc.ceres.binding.dom.XppDomElement">
      <selectedPolarisations>VV</selectedPolarisations>
      <removeThermalNoise>true</removeThermalNoise>
      <reIntroduceThermalNoise>false</reIntroduceThermalNoise>
    </parameters>
  </node>
  <node id="Calibration">
    <operator>Calibration</operator>
    <sources>
      <sourceProduct refid="ThermalNoiseRemoval"/>
    </sources>
    <parameters class="com.bc.ceres.binding.dom.XppDomElement">
      <sourceBands/>
      <auxFile>Latest Auxiliary File</auxFile>
      <externalAuxFile/>
      <outputImageInComplex>false</outputImageInComplex>
      <outputImageScaleInDb>false</outputImageScaleInDb>
      <createGammaBand>false</createGammaBand>
      <createBetaBand>false</createBetaBand>
      <selectedPolarisations>VV</selectedPolarisations>
      <outputSigmaBand>true</outputSigmaBand>
      <outputGammaBand>false</outputGammaBand>
      <outputBetaBand>false</outputBetaBand>
    </parameters>
  </node>
  <node id="Terrain-Correction">
    <operator>Terrain-Correction</operator>
    <sources>
      <sourceProduct refid="Calibration"/>
    </sources>
    <parameters class="com.bc.ceres.binding.dom.XppDomElement">
      <sourceBands>Sigma0_VV</sourceBands>
      <demName>REPLACE_DEM</demName>
      <externalDEMFile/>
      <externalDEMNoDataValue>0.0</externalDEMNoDataValue>
      <demResamplingMethod>BILINEAR_INTERPOLATION</demResamplingMethod>
      <imgResamplingMethod>BILINEAR_INTERPOLATION</imgResamplingMethod>
      <pixelSpacingInMeter>0.0</pixelSpacingInMeter>
      <pixelSpacingInDegree>0.0</pixelSpacingInDegree>
      <mapProjection>PROJ_UTM</mapProjection>
      <nodataValueAtSea>false</nodataValueAtSea>
      <saveDEM>false</saveDEM>
      <saveLatLon>false</saveLatLon>
      <saveIncidenceAngleFromEllipsoid>false</saveIncidenceAngleFromEllipsoid>
      <saveLocalIncidenceAngle>false</saveLocalIncidenceAngle>
      <saveProjectedLocalIncidenceAngle>false</saveProjectedLocalIncidenceAngle>
      <saveSelectedSourceBand>true</saveSelectedSourceBand>
      <applyRadiometricNormalization>false</applyRadiometricNormalization>
      <saveSigmaNought>false</saveSigmaNought>
      <saveGammaNought>false</saveGammaNought>
      <saveBetaNought>false</saveBetaNought>
      <incidenceAngleForSigma0>Use projected local incidence angle from DEM</incidenceAngleForSigma0>
      <incidenceAngleForGamma0>Use projected local incidence angle from DEM</incidenceAngleForGamma0>
      <auxFile>Latest Auxiliary File</auxFile>
      <externalAuxFile/>
    </parameters>
  </node>

Hello simonf,

That’s really great! Anyway, because I’m new in GGE, my concern is about how to view and download Sentinel 1 GRD data using GEE?

Piero

Sign up for EE at https://signup.earthengine.google.com. This describes how to use S1: https://developers.google.com/earth-engine/sentinel1 (though you would need to spend some time reading regular intro docs if you have not used EE before). You don’t need to download S1 - you can just use it on the fly, though of course you can download specific scenes or computation results if you want to. However, unlike with S2, we don’t provide a full mirror of all S1 scenes on Google Cloud Storage.

1 Like

Hello simonf,

thank you so much for your useful answer. Although I have a question (I share with you a time series chart): why, for some days, I have two backscatter value?

Piero.

Maybe because of an overlap in the scenes, acquired from two overpasses.

1 Like