The purpose of this Data Use Case is twofold:

  • Provide an overview of the information contained in Jason-2 experimental PISTACH products over non-ocean areas, based on the example of the monitoring of the Sathanur Reservoir (India),
  • Provide newcomers to altimetry with a generic approach for studying a given water body using BRAT and Level 2 (Geophysical Data Records) altimetry products. See the other Data Use Cases on the topic of hydrology.

Selection of the target area

First of all, and since satellites altimetry mission are optimized for open ocean studies with limited nadir footprint (a few kilometer ray circle) and repeat orbital cycles, one has to be lucky to have a suitable coverage over a specific inland water body of limited extent!  ! To investigate, the pass locator on Aviso website (download the .kml file for the Jason-2 referenced orbit) gives a quick and easy access to the precise ground track coverage of the various altimetry missions on Google Earth.
In our case, we have decided to look for a lake or reservoir in India. We found the Sathanur Reservoir located in the Tamil Nadu State, south-east India, around 100 km West of Pondicherry city. This reservoir is roughly located between 12.15°N and 12.25°N below Jason-2 track #079. This is an ascending track, the satellite flying from the south-west to the northeast.

In Google Earth, it is useful to fly over and around the lake with the mouse to get an idea of the topography of the lake surroundings. It is important to realize that the surrounding terrain of an inland water body can have a significant impact on the accuracy of altimetric estimates over the lake: for example, reflections of the radar signal over surrounding mountains can strongly alter the shape of the waveforms and induce inaccurate or even erroneous range measurements. For the Sathanur Reservoir, we notice that the topography is rather flat around the water body, with an altitude of:

  • ~235 m below the track a few kilometers south-west (i.e. “before”) of the lake,
  • ~221 m over the lake,
  • ~250 m below the track a few kilometers northeast (i.e. “after”) of the lake.

Some hills nevertheless appear on a 3D view on GoogleEarth, both in the South and North directions.

india_GE_top_sm india_GE_slope_sm
fig 1: Jason-2 pass 079 overlayed on Google Earth in the vicinity of Sathanur Reservoir, India. Different views on Google Earth give important details on topography.


In addition, in GoogleEarth, the urbanization of the immediate surroundings of the lake seems rather limited (hydropower plant), and therefore, polluted waveforms should be limited. So, we reasonably expect an acceptable quality of the altimetric data over the reservoir.

Download and preparation of the data

In order to study inland water bodies with the PISTACH products, one has to download the “hydro” product found (free access) on the FTP server. After reading the “Readme.txt” file, then go to the J2/IGDR/hydro/ directory.
The PISTACH products have the same organization (and format) as the standard official Jason-2 Level Products: one file per track and per cycle. Therefore, 254 files are found in each of the “cycle_CCC” directories. For that example, we only downloaded the files corresponding to the track #079 (example: the file corresponds to the track #079 of orbital cycle #009, corresponding to an acquisition date between 10h24 and 11h09 on the 2nd of October 2008).
A shell script can be used on a Unix/Linux computer to download a series of files for a given track number (#079 here) and several cycles.
Of course, the files need to be unzipped before using them within BRAT.
To elaborate this Data Use Case, we downloaded track #079 for the first 100 cycles. Although BRAT can handle 100 files or more, it appeared preferable in terms of efficiency for BRAT to perform an extraction of the files over a portion of track. We performed that extraction with the following script, based on the use the “ncdump”, “ncgen” and “ncea” commands. The latter needs the installation of NCO (NetCDF operators) on the computer. The NCO homepage contains more information. Here, the extraction is done between 12.15°N and 12.25°N, i.e. over the Sathanur Reservoir.

First and quick look at the data with BRAT

The first objective is to check whether the quality of the data is acceptable to perform the monitoring of the level of Sathanur Reservoir. In BRAT, performed the following actions:

  • Create a new workspace
  • In “Datasets” tab, create a new dataset that we name “PISTACH_IGDR_Hydro_T079”
  • Add of the PISTACH product NetCDF files in the dataset

We then obtain the following screen, with:

  • the list of data files in the “dataset” window,
  • the display of the header of the selected file in the “File description” window,
  • the list of the variables of the selected file in the “product” window (upper right),
  • the description of the selected field in “Fields description” window (lower right),

The most simple operation to do for checking the data is to visualize the “orbit – range” difference along the track. To do so:

  • In “Operations” tab, create a new operation (named “OrbitMinusRange” for example)
  • Select the latitude field (“lat”) and drop it on the “X” in the “Data expression frame”
  • Select the orbit height field (“alt”) and drop it on the “Data” in the “Data expression frame”
  • Type the “-“ operator sign after “alt” in the “Expression” frame
  • Select the range field (“range_ku”) and drop it in the “Expression” frame” to form the “alt-range_ku” expression.
  • Rename the “alt” name in the “Data Expression” frame with “AltMinusRangeKu”

If the data files have not been “reduced” in the preparation step, it is useful to introduce a selection criterion (copy in the Expression grey box: is_bounded(12.15,lat,12.25). On the example below, only the data points with latitudes between 12.15°N and 12.25°N are selected.
Now click on “Execute”. BRAT computes this operation on each data point of each cycle for track #079 on the selected track portion.

Once the computation is completed (a few seconds to a few minutes, depending on your computer…), go to the “Views” menu to create a graphical representation of the result of this operation:
  • Creation and naming of a new view
  • Selection of the data to draw among the “Available” operation results (only one choice at this stage of the Data Use Case)
  • Click on the “==>” button to introduce it in the “Selected” frame (or drag&drop)
  • Click on “Execute”.

The figure 2 appears (after masking the lines and drawing the points). Interpretation: no evident information can be extracted from that plot!
Does it mean that the PISTACH products don’t contain any useful information over the Sathanur Reservoir?
In fact, this plot mainly illustrates that the “range_ku” field (i.e. the “ocean” range field of the standard Jason-2 products) is not the most appropriate for that purpose, because the waveform over that area are not ocean-like waveforms.


Let us then plot the “Ice1” range. It is necessary to create a new operation (or use the “duplicate” button), and replace the “range_ku” field with the “ice_range_ku” (results of the “Ice1” retracking). After creating a new plot with both operations, we obtain the figure 3 (left). Here, the “alt-ice_range_ku” values are in red and the “alt-range_ku” in blue. We now observe a coherent and dense set of points (with some outliers). The “cloud” seems particularly coherent between 12.18°N and 12.21°N, i.e. over the reservoir.

Let us now add the result of the PISTACH Ice3 retracking (field: “range_ice3_ku”) on that plot (after creating once again a new operation and a new view…). The result appears on figure 3 (right).

fig 2: First look on data, computation of the “orbit – range” with the “range_ku” (i.e. the “ocean” range).


india_IceRangeKu_sm india_Ice3RangeKu_sm
fig 3: Computation of the “orbit – range” with the Ice1 retracking (left, in red) and with the Ice3 retracking (right, in green). The “orbit – range” with the ocean retracking is plotted in blue on both.


The data set now appears even more coherent, with very few outliers. This indicates that a coherent set of data is present in the PISTACH products over the Sathanur Reservoir, when using the results of the Ice3 retracking algorithm.


A representation as a function of time (figure 4) should also give a coherent signal: this is verified with a new operation (replacing “lat” with “time” in the X coordinate). We can easily distinguish a temporal fluctuation of more than a 10 m peak to peak amplitude. Outliers on that representation probably correspond to measurements acquired over emerged lands surrounding the reservoir. Now that we are sure that exploitable information is contained in the PISTACH data set, it is necessary to precisely compute the water surface height and to refine the data selection. india_Ice3RangeKu_time_sm
fig 4: Computation of the “orbit – range” with the Ice3 retracking vs time.

Computation of a precise water surface height

Taking into account the geoid

Up to this point, we only computed a raw surface height. Since the position of the satellite on its orbit is referenced to an ellipsoid, the raw surface height is also referenced to the ellipsoid. The terrain altitude, as observed in GoogleEarth for example, is referenced to the geoid. Thus we need to take into account the height of the geoid to compare satellite and in situ measurements. Note that over India, the Geoid is far (~80 m) below the ellipsoid.
The PISTACH products contains the values of the EGM96 geoid height (above the reference ellipsoid), as in the standard Jason-2 Level2 products, but also the more precise values from the EGM2008 model.el.
Values from both geoid models (data fields “geoid_EGM96” and “geoid_EGM2008” are shown along the considered portion of track #079 on the figure 5.
fig 5: Geoids heights (EGM96 model in red and EGM2008 model in green) over the Jason-2 pass #079 on the vicinity of the Sathanur reservoir.

Taking into account the propagation corrections

It is also necessary to take into account the propagation delays of the radar signal through the troposphere and ionosphere since their temporal fluctuations may be on the same order of magnitude as the fluctuations of the surface of the water bodies. These temporal fluctuations are shown on the figure 6 (data fields: “model_dry_tropo_corr”, “model_wet_tropo_corr”, and “iono_corr_gim_ku”).

india_DryTropo_sm india_WetTropo_sm india_IonoGim_sm
Fig 6: Amplitudes in metres of the dry tropospheric correction derived from model (left), of the wet tropospheric correction derived from model (middle) and of the ionospheric correction derived from the GIM model (right).

Dry Tropospheric correction: as over the oceans, this correction is always a model correction, mainly computed from the surface pressure. Over non ocean areas, most of the error of this correction comes from inaccurate values of the real surface elevation along the track. In the PISTACH project, a new computation has been developed, based on the estimation of the surface elevation using the altimeter range measurements. However, this correction (data field “model_dry_tropo_corr_direct_sol”) has not been activated in the first version of the PISTACH since this requires a direct link with ECMWF model outputs.

Wet Tropospheric correction: It is usually computed from the radiometer measurements over the oceans. However, the radiometer is highly perturbed by emerged lands and cannot be used over inland water bodies (unless very large). So, a model correction is used. Same comments as above for the dry tropo corrections apply.

Ionospheric correction: The dual frequency correction cannot be used over inland water bodies when the radar echoes are not ocean-like waveforms. We use the correction computed from the GIM model.

Taking into account the geophysical corrections

Finally, we also have to consider the solid earth tide and pole tide that induce a vertical deformation of the earth surface (data fields “solid_earth_tide” and “pole_tide”) on figure 7.

india_SolidEarthTide_sm india_PoleTide_sm
Fig 7: Amplitudes in metres of the solid Earth tide (left) and the pole tide right).

Computation of a precise water level

As a conclusion, a more precise formula for the retrieval of the real water surface altitude (WSA) over inland water bodies can be written as follows:

WSA = alt – range_ice3_ku – model_dry_tropo_corr – model_wet_tropo_corr – iono_corr_gim_ku – pole_tide – solid_earth_tidegeoid_EGM2008

When applying this formula, we obtain the figure 8, as a function of latitude (left) and time (right). On the left plot, we have superimposed the topography information found in the PISTACH products:

  • In red: the topography as found in the standard Jason-2 GDR,
  • In green: the topography computed for PISTACH using the Digital Elevation Model SRTM_CGIAR (and ACE2 in the future version 2 of the products),
  • In blue: WSA as detailed above.

We observe a rather good agreement between green and blue curves, i.e. between the topography derived from the SRTM and the WSA computation; especially between 12.18° and 12.20 °N, i.e. on the water surface. These values are also coherent with the values observed in Google Earth.

india_ToposAndWSH_sm india_WSH_fTime_sm
Fig 8: Water Surface Altitudes (WSA) in metres in function of the latitude (left) and the time (right).

From these 2 plots on figure 8, we clearly see that it is necessary to make a more accurate selection of the data, and in priority, the extraction has to be restricted to the water body.

Selection of the data

On the figure 9, we see that the along-track selection of the data can be restricted to the interval 12.1875°N to 12.2025°N. Note that on this 1.5 km track segment, the satellite passes over small islands. This plot also shows that the surface area of the Sathanur Reservoir also changes with time.
In the PISTACH products, we find new information describing the shape of the waveforms (waveforms are not included in the PISTACH products): data field “wf_class_ku” (see PISTACH products handbook) for more explanations. Class 1 corresponds to ocean-like waveforms, class 2 to peaky waveforms, … etc. Since the Ice3 retracking is conceived to deal to peaky waveforms, it is possible to introduce the waveform class values as a selection criterion.
Fig 9: Zoom view with Google Earth on the Sathanur Reservoir to restrict the data over the water.

Waveform classification

The figure 10 on the left (“wf_class_ku” as a function of “lon” and “lat” with BRAT shows the geographical along-track distribution of the waveforms classes between 12.15°N and 12.25°N. The lateral distribution of the pixels illustrates the +/- 1km orbit control with respect to the theoretical track. We observe 2 main areas with peaky (class 2 in deep blue) waveforms: one over the Reservoir and the other one a few km north of the lake.
Another representation of the waveforms is shown on figure 10 (right): Class 23 corresponds multi-peak waveforms. Note that there are less multi-peak waveforms over the water body.

india_WaveformClass_Ku_2D_sm india_WaveformClass_Ku_sm
Fig 10: Distribution of the waveform classes between latitudes 12.15°N and 12.25°N, along the track (left: as a function of longitude/latitude) and on a diagram (right: as a function of the latitude). The value of each waveform class is detailed in the PISTACH products handbook). Here we mainly see waveform class 2 (peaky) and 23 (multi-peak).

Backscattering coefficient

The backscattering coefficient (“ice_sig0_ku” corresponding to the Ice1 retracking sigma0) can also bring useful information with respect to the data selection (figure 11).
We observe higher sigma0 values over the water body: it is possible to introduce this specificity in the data selection. However, this criterion is not very discriminating and probably has to be adapted to each water body with respect to its environment.

Figure 11: Backscattering coefficient in dB between latitudes 12.15°N and 12.25°N.

Finally, we used the following selection criteria in BRAT, adding a test on the latitudes, on the waveform classes, on the model topography, on the backscattering coefficient and on a processing flag associated with the Ice3 retracking:

(((is_bounded(12.1875, lat, 12.2025)) && (wf_class_ku == 2)) && (is_bounded(210, topography, 228))) && (is_bounded(20, ice_sig0_ku, 60)) && (retracking_flag_ice3_ku== 0)

Note that we did not explore all the parameters contained in the products and combination of other parameters can be envisaged as alternative selection criteria.
We obtain the time series shown on figure 12 for the period July 2008 to March 2011.
The water level fluctuations are clearly seen, with very few outliers remaining at the end of the selection process. This reservoir exhibits very large fluctuations (~14 m peak to peak). Given these large interannual fluctuations, the dispersion of the surface height estimation for each cycle appears negligible. It remains however on the order of +/- 15 cm.

Fig 12: Water surface altitude of the Sathanur reservoir from the PISTACH “hydro” products, after selection of the data.

Further information: