Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Processing Sentinel-1-GRD data #62

Closed
Ekeany opened this issue Feb 1, 2021 · 6 comments
Closed

Processing Sentinel-1-GRD data #62

Ekeany opened this issue Feb 1, 2021 · 6 comments
Labels
question Further information is requested

Comments

@Ekeany
Copy link

Ekeany commented Feb 1, 2021

Hi,

I was just wondering how to use the higher level features in "force" with Sentinel-1-GRD data as I can't find anything in the docs.

I have already applied a standard preprocessing workflow to the Sentinel-1-GRD data using the snappy framework and now have a time series of both ascending and descending geotiff files that cover the entire island of Ireland.

I would like to process these files further using the force framework to calculate both Spectral Temporal and Texture Metrics. Is this possible to do using the "force" framework ?.

Can I simply use force-level2 with all of the processes in the parameter file set to NULL ? or is further processing required to get the data into a format were it can be cubed by "force"?

Your help would be much appreciated,
Eoghan.

@maawoo
Copy link

maawoo commented Feb 4, 2021

Hi Eoghan!

Maybe this discussion is helpful for you. And the processing of Sentinel-1 data was also mentioned in the release of v. 3.0 here (I can't link to the bullet point, so you have to scroll down a bit).

Cheers, Marco

@davidfrantz
Copy link
Owner

Hi Eoghan,

force-level2 can only deal with Landsat and Sentinel-2. The key to making Sentinel-1 data available to the higher-level routines is to

  • preprocess them in some way (you have done this)
  • to format them such that FORCE will digest the data (thanks Marco for stepping in, these links are spot-on)

the last part includes a proper cubing. You can use force-cube for this.

Cheers,
David

@davidfrantz davidfrantz added the question Further information is requested label Feb 5, 2021
@Ekeany
Copy link
Author

Ekeany commented Feb 7, 2021

Hi Guys,

Thanks so much for the materials, that is great news that you can use the higher level FORCE features with Sentinel-1 data.

I apologize but I am completely new to the remote sensing scene and after reading through the methodology, I still have a few doubts about how to prepare the Data correctly.

  1. Currently at the end of my preprocessing pipeline in snappy, that takes the images from LEVEL1 to LEVEL2 I am converting the backscatter intensities into DB units. Instead should I leave this final step and just convert the processed backscatter intensity values to int16 by multiplying them by a factor of 10,000 and then replace the no data values with -9,999?

  2. When you mention in the documentation that the data needs to have two bands: VV and VH. Should I rename the bands or are the original names "Intensity_VH" , "Intensity_VV" okay ?

  3. With force-cube the datacube-definition.prj needs to exist in the datacube-dir if I use an existing datacube-definition.prj that I used to cube my Sentinel-2 data will the both data cubes line up ?. Even if the Sentinel-1 data is does not cover as much area as the Sentinel-2 data ?

Thanks a million,
Eoghan.

@Ekeany
Copy link
Author

Ekeany commented Feb 28, 2021

Hi,

Sorry to bother you guys again but I am completely stuck at the moment.
I have followed Pekka's workflow from the discussion linked above for preparing Sentinel-1 higher level products, so far I have.

  1. Downloaded all Sentinel-1A + 1B IW Level-1 GRD products from Copernicus Open Access Hub, from my study area in both ascending and descending orbits, for the time period of one year.

  2. I ran my preprocessing script in python snappy to the L1 data, to create the level2 data. I used a scaling factor of 1,000 and -9999 as nodata value to convert the output data to the required format of Int16. The output files were also named according to the naming convention you pointed out, e.g. 20170522_LEVEL2_S1BID_SIG.tif, 20170523_LEVEL2_S1AID_SIG.tif

  3. I then ran force-cube to dice and resample the L2 data into my grid (the same I used for Sentinel-2 data). I used nearest neighbor in resampling to TM-65/Irish Grid .

However, when I run the TSA.prm file to produce the higher level features nothing happens only the citeme.txt and data-cube-projection files are created in the output directory. As seen below:

tsa

I am using the same parameters for the sentinel-2 tsa.prm except for the following parameters:

SENSORS = S1AID S1BID
SCREEN_QAI = NODATA
INDEX = VV VH

This is the output from gdalinfo on one of my data cubes I have a feeling maybe something is wrong here ?:

issue_gdal_info

issue_gdal_info_2

I am not sure what I am doing wrong any help would be very much appreciated.
Eoghan.

@ernstste
Copy link
Collaborator

Hi Eoghan,

the most likely reason for force-higher-level to run without creating output would be that there are no Level 2 products to process. I'd start by checking whether the paths are correct and the processing criteria match the files on disk:

  • does your tile range in the parameter file include the your tiles? Is there a tile whitelist?
  • does the date range / DOY range include your products? Note only DOYs within the date range are considered.

If you don't find the error there you may want to post the full parameter file.

@Ekeany
Copy link
Author

Ekeany commented Mar 1, 2021

Hi Stefan,

Thanks for the quick response, after pulling my hair out over the weekend I finally figured out the problem.

The problem was that I opened the tsi.prm file in Visual Studio Code on my windows machine before uploading it to the Linux server.

Once I recreated the parameter file on the server it ran smoothly and the output looks great.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

4 participants