Commit 31a625e2 authored by Simon Gascoin's avatar Simon Gascoin
Browse files

Update doc/snow_annual_map.md

parent 81ba714d
# Snow cover duration map
This file describes the algorithm to generate the snow cover duration map.
This file describes the algorithm to generate the snow syntheses i.e. Level-3B products SCD, SMD, SOD and NOBS.
## Objectives
## Objectives:
The objective of this algorithm is to provide the snow cover _duration_ (SCD), _melt-out date_ (or _snow disappearance_) (SMOD), _snow onset date_ (SOD) at 20 m spatial resolution. It was designed to compute these products over a hydrological year, however it can work over any period of time. These products are derived from LIS L2B snow products (FSC) from Sentinel-2 or Landsat-8, and uses a multi-temporal approach.
The objective of this algorithm is to provide the snow cover duration (SCD) at 20 m spatial resolution. It was designed to compute the SCD on a yearly basis, however it can work over a longer or shorter period of time. This product relies on LIS snow products from Sentinel-2 or Landsat-8, and uses a multi-temporal approach.
The approach is evaluated with a similar product derived from MODIS products.
**General approach:**
## Method
- First a time series is created from let-it-snow (LIS) snow cover products corresponding to the desired time range (typically an annual SCD map is computed over the period 01-Sep of year N to 31-Aug of year N+1)
- Then, every pixel of this stack is linearly interpolated in the time dimension using the [otbImageTimeSeriesGapFilling](https://gitlab.orfeo-toolbox.org/jinglada/temporalgapfilling) application to obtain a gap-filled time series on a daily basis.
- Finally, the number of snow days per pixel is computed by temporal aggregation of the daily gap-filled time series of snow cover maps.
- The snow cover fraction values are binarized to snow (1) if the the snow fraction is positive, no-snow (0) otherwise.
- Cloud pixels are considered as missing values
- Then, every pixel of this stack is linearly interpolated in the time dimension using the [otbImageTimeSeriesGapFilling](https://gitlab.orfeo-toolbox.org/jinglada/temporalgapfilling) application to obtain a gap-filled time series at a daily time step. The output is also a binary series of 0 (no-snow) and 1 (snow). Note that the linear interpolation of a time series of 0 and 1 is equivalent to a nearest neighbour interpolation since the output values are rounded to the nearest integer (output type is 8 bits unsigned integer).
- From this daily gap-filled "datacube" of snow cover maps:
- SCD is obtained by summation along the time dimension.
- SOD and SMOD are obtained by finding the longest period of continuous snow cover. SOD (SMOD) is the first (last) date of this period.
- An addition product is computed (NOBS), which indicates the number of clear sky observations during the period (i.e. the number of 0 or 1 by pixel). It can be used as quality flag.
## Detailed approach
### Data Collection
The snow products are collected for one type of sensor only and must be at the same resolution. The request is configured according three main parameters:
......@@ -24,7 +24,7 @@ The snow products are collected for one type of sensor only and must be at the s
- *date\_start*, the target start date for the begining of the snow map time range (ex: "01/09/2017")
- *date\_stop*, the target stop date for the begining of the snow map time range (ex: "31/08/2018")
Moreover the snow products are collected by default with a margin of +/-15 days outside the requested time range to avoid any extrapolation. This margin can be set with *date\_margin* parameter.
Moreover the snow products can be collected over an extended period of time (typically +/-30 days) outside the requested time range to avoid extrapolation. This margin can be set with *date\_margin* parameter.
The products corresponding to the selection criteria are stored in *input\_products\_list*.
......@@ -32,9 +32,9 @@ Note: A snow season is defined from the 1st of september to the 31th of August.
### Densification
Additional heterogeneous (different sensor, resolution) snow products can be provided trought the densification options(*use_densification* and *densification\_products\_list*) to increase the time series sampling.
The algorithm was developed for Sentinel-2 time series, however additional heterogeneous (different sensor, resolution) snow products can be provided trough the densification options (*use_densification* and *densification\_products\_list*) to increase the frequency of observations. This was implemented typically to include Landsat products.
These additional products are resample at the same resolution and same footprint than the main snow products. For that operation, we are currently using the [otbSuperimpose](https://www.orfeo-toolbox.org/CookBook/Applications/app_Superimpose.html) application with a Nearest Neighbor interpolator. The choice of the interpolator type is constrained by the snow mask pixel coding convention:
These additional products are resampled to the same resolution and same footprint as the main snow products. For that operation, we use the [otbSuperimpose](https://www.orfeo-toolbox.org/CookBook/Applications/app_Superimpose.html) application with a nearest neighbor interpolator as the snow cover maps from sensors other than Sentinel-2 are coded by classes (no fraction):
- 0, No-Snow
- 100, Snow
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment