Closed sberndtJPL closed 1 month ago
Unable to push a commit; please see fix therein.
Hello, thank you for bringing this to my attention. The code was initially written to consider only dual-pol configurations (hence the filter .filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VH'))
, as the 'VH' polarization doesn't exist as a standalone single-pol data. So users were able to select 'VV', 'VH', and 'VV+VH' polarizations from the available dual-pol datasets.
To accommodate users who use single-pol, i.e. 'VV' data, I have modified the wrapper script in both the JavaScript and Python codes to separate these cases.
var s1 = ee.ImageCollection('COPERNICUS/S1_GRD_FLOAT')
.filter(ee.Filter.eq('instrumentMode', 'IW'))
.filter(ee.Filter.eq('resolution_meters', 10))
.filterDate(params.START_DATE, params.STOP_DATE)
.filterBounds(params.GEOMETRY);
if (params.POLARIZATION == 'VV') {
s1 = s1.filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VV'));
} else {
s1 = s1.filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VH'));
}
Greetings,
I am utilizing your python API to create a S1 ARD over the US West Coast.
As a test case, I will limit the study period to be 01/01/2015 - 02/01/2015 with the Polarization configuration set to "VV"
Using ASF Vertex&zoom=5.467¢er=-119.433,35.204&start=2015-01-01T08:00:00Z&end=2015-02-02T07:59:59Z&productTypes=GRD_HD,GRD_HS&beamModes=IW&polarizations=VV%2BVH,VV,Dual%20VH,Dual%20VV&resultsLoaded=true&granule=S1A_IW_GRDH_1SSV_20150131T020211_20150131T020236_004409_005638_DF41-GRD_HS), I can see that there exists 75 files over the study area for this study period.
However, when I run your API with the same constraints it comes back with the following message, indicating 0 results:
I noticed the wrapper.py script automatically filters the dataset based on the VH polarization, regardless of the provided configuration input for POLARIZATION. What I'm not sure about is why (e.g. is this a requirement to do the processing?).
See below:
https://github.com/adugnag/gee_s1_ard/blob/42814d95ace58e50640e4b0a4139c3373e43de18/python-api/wrapper.py#L136
Note, this is similarly an issue for the javascript version as well: https://github.com/adugnag/gee_s1_ard/blob/42814d95ace58e50640e4b0a4139c3373e43de18/javascript/wrapper.js#L79
If I update this filter option in L136 of wrapper.py to rather be:
.filter(ee.Filter.listContains('transmitterReceiverPolarisation', POLARIZATION))\
and keep the polarization configuration set to "VV"
I get a more appropriate response of
Number of images in collection: 79 Additional border noise correction is completed Multi-temporal speckle filtering is completed Radiometric terrain normalization is completed
Note that the results differ by 4 when compared to ASF. Without digging, I would attribute this to the datasets not being the same, or one of the bounds are inclusive/exclusive. That's outside the scope of this issue.
That said, I believe this to be a bug given the following quote from your manuscript:
This bug is solvable as described above. PR incoming...