Marine Data Literacy 2.0

Providing instruction for managing, converting, analyzing and displaying oceanographic station data, marine meteorological data, GIS-compatible marine and coastal data or model simulations, and mapped remote sensing imagery





Home > 2. Marine GIS > 2.34 GlobWave Grids

2.34 Visualizing Altimeter and SAR Global Wave Data Grids (L4) in Saga:  GlobWave

  • Exercise Title:  Visualizing Altimeter and SAR Global Wave Data Grids (L4) in Saga:  GlobWave

  • Abstract:  This exercise provides you with the resource site and methods to obtain excellent, satellite-measured wave data grids that could be used to create your own regional or temporal analyses.  The NetCDF grids involved are not optimally formatted for easy use, but recommendations for their improvement are obvious below.  The author recommends that serious data students should spend the time to develop local/regional wave climatologies, using the grid statistics in Method 2.16 (link below).

  • Preliminary Reading (in OceanTeacher, unless otherwise indicated):

  • Required Software:

  • Other Resources: 

    • GlobWave Home Page - "Free access to wave products in a common format spanning 11 data streams and 8 satellites is available in both delayed mode and near real time." [From the GlobWave website]

    • GlobWave Product User Guide

    • Significant Wave Height.  "In physical oceanography, the significant wave height (SWH or Hs) is defined traditionally as the mean wave height (trough to crest) of the highest third of the waves (H1/3). Nowadays it is usually defined as four times the standard deviation of the surface elevation or equivalently as four times the square root of the zeroth-order moment (area) of the wave spectrum."  [Wikipedia]

    • GlobWave FTP server:

      • Username and password details can be obtained by e-mailing the CERSAT Help Desk at with the subject: GlobWave Data Access.  Find and download selected data to PROJECTS > LIBERIA > DATA > OCEAN > GLOBWAVE
      • - Latest altimeter grid from folders below (December 2013)

      • - Latest SAR grid from folders below (January 2012)

    • World Borders Dataset, by Bjorn Sandvik (use

  • Related Exercises

  • Author:  Murray Brown

  • Version:  7-08-2014

1.  This exercise builds on No. 9.5 listed above.  We don't cover FTP server access privileges here, or FTP procedures in general, which you can study in the other exercise.  In this exercise we'll work with the climatological (i.e. monthly average) product data grids that have recently been added to the GlobWave server.  To begin this exercise, open the FTP site in a stand-alone client program (e.g. Filezilla) or in your browser.
2.  The FTP folder structure is fairly complex, so here's a map to help you navigate
  • waveuser

    • globwave

      • data

        • matchup - Satellite data paired with buoy data

        • l2p - "level 2 points"; data for exercise 9.5

        • l4 - "level 4"; data for this exercise

          • altimeter

            • data - Monthly averages from 1992-2013

          • synthetic aperture radar (sar)

            • data - Monthly averages from 2003-2012

3.  This exercise only uses Saga, but we did some experiments to see how other well-known NetCDF-compatible programs can do with the grids provided here.  Based on this table, we'll focus only on Saga's NetCDF Import function to load the data for analysis. 

The GlobWave folks are invited to investigate the incompatibility issues noted here.

  • Altimeter grids

    • ncBrowse - Cannot plot; possibly a data type problem

    • Panoply - Reads/displays grids with no apparent problem

    • Saga GDAL Import - Cannot plot; grids appear as vertical lines

    • Saga NetCDF Import - Reads/displays grids; some issues covered in exercise below

    • Integrated Data Viewer - Reads/displays grids with no apparent problem

  • SAR grids - No-data values not recognized by any software listed here

    • ncBrowse - Reads/displays grids

    • Panoply - Reads/displays grids

    • Saga GDAL Import - Reads/displays grids

    • Saga NetCDF Import - Reads/displays grids; some issues covered in exercise below

    • Integrated Data Viewer- Reads/displays grids

4.  First we'll work with the ALT (altimeter) data in Saga, using the sample file listed above.  Download it from the web or from this exercise to DATA >
  • l4

    • altimeter

      • data

        • listing of monthly NC grids


5.  Run Saga (latest version!)

Then navigate to and select the altimeter data file.  Click OK.

7.  This unfamiliar window opens.  It lists a single metadata item in the NetCDF file.  It is the top line in the metadata part of the first layer in the NetCDF file.


8.  Click on the ellipsis (...) to the right of the line, and you'll see the entire metadata text for the first layer of the file.

Apparently, you can edit any of these fields, and save the result with OK.  If you don't have any reason to do this, then just click OK without making any changes.

9.  Click OK about 20 times to move through the metadata for all of the layers.
10.  Then Saga reads the layers, and displays the complete list of layers, as you see here.  Here's the meaning of the grid system terms below DATA > GRIDS:
  • 1 - Grid cells are 1-degree
  • 360x - Grid is 360 columns wide
  • 164y - Grid is 164 rows high
  • 0.5x - Center of lower-left cell is at x=0.5
  • 0.5y - Center of lower-left cell is at y=0.5
  • 912470400 - Time; seconds since 1985-01-01 00:00:00.0; a NetCDF standard


11.  "Across a 1x1 degree bin the altimeter pass will take a measurement every 7km, but all the measurements from the bin will be highly correlated (the sea state will be fairly homogenous in the open ocean over this area). So we take the median value of the measurements across a single 1x1 bin to give a single value that represents the sea state over the 1x1 degree bin. Each altimeter file then provides summary statistics based on these median values. .... [A little] calculation is required to get useful quantities from the data fields. So the quantity "swh_sum" is a measure of significant waveheight but an aggregated one for all satellite passes in that month. The quantity "swh_num" gives the number of satellite passes, so the mean significant waveheight for the month is given by a simple calculation: swh_mean = swh_sum / swh_num."  [GlobWave communication]
12.  If you select the second layer and look at the INFORMATION tab at top of the properties panel, this shows you a typical description.
  • Notice particularly the "scale factor" (listed here as 0.001). This has to do with the internal storage format, and can be ignored by users.
  • The second layer appears to have a completely understandable "long_name" in the light of the above.  But the "standard name" cannot then be correct because the swh calculation has not yet even been made.
  • The publishers have notified us that the SOUTH and NORTH coordinates shown here are not correct.  The actual values should be -82 and 81.


13.  The first thing we need to do is calculate the mean significant wave height (swh_mean in the above filenaming parlance).
15.  For GRID SYSTEM, select the main system for the grids.  Then for GRIDS, click on the ellipsis (...) to the right of GRIDS > NO OBJECTS.
16.  This opens Saga's object selection window.  Available items are on the left, selected items get moved to the right.

Select the swh_num and swh_sum grids.

17.  Move them to the right with the > key.  The author recommends you use UP to move the SUM grid to the top for easy recall.

Then click OK.

18.  Now make these choices:
  • RESULT - Set to CREATE so you get a new object
  • FORMULA - g1/g2 - This means to divide the first grid (SUM) by the second grid (NUMBER)
  • NAME - swh_mean
  • TAKE FORMULA - Don't check, so we will get the name you just entered

Leave everything else as is, and click OK.

19.  The new grid "swh_mean" appears at the bottom of the list.
20.  Use ADD TO MAP > NEW to see the new grid.  It looks fine, but obviously upside-down.
21.  We need to orient the map with north to the top.  So select TOOLS > GRID TOOLS > GRID ORIENTATION.
  • For GRID SYSTEM, select the system for this grid
  • For GRID, select the new grid itself
  • For CHANGED GRID, select CREATE to make a new separate layer
  • For METHOD, select FLIP.

Then click OK.

22.  This new grid layer appears at the bottom of the list, named CHANGED GRID, containing the flipped image.
23.  Change the name to "swh_mean_flipped".  Use the NAME space on the properties panel, and then use APPLY at panel bottom to effect the change.
24.  Now you can use ADD TO MAP > NEW to see the correct orientation.
25.  If you use the cursor to check the map coordinates, you'll find that it is not geographic yet; it consists of XY pixel location coordinates.  We need to specify the geolocation of the grid, as we find it now.  You can use your cursor to see that the lower left corner is 0, 0 and not the values of 0, -90 we would expect for this visualization.

For GRID SYSTEM select the system for the "swh_mean_flipped" grid.

Then click on the ellipsis (...) to the right of GRIDS to open the grid selector (as you did above).  Then select the "swh_mean_flipped" grid.

27.  Make these additional settings, inferred from the extended grid description above:
  • For CELLSIZE, enter 1
  • For LEFT, enter 0
  • For LOWER, enter -82 (from revised grid DESCRIPTION above)

Then click OK.

NOTE:  In other cases you'll have to figure out these values from grid descriptions and other evidence. 

28.  An entirely new grid system appears at the top of the list, as you see here, with the changed grid in it.
29.  Change the name of the grid to "swh_mean_flipped_located" to reflect this change.
30.  You can view the new grid with ADD TO MAP > NEW.  Here we've added the World Borders shapefile to see if the north-south location of the grid looks OK, which it does.

But the World Borders shape is a minus 180-to-plus 180 object, whereas the grid is 0-to-360, so they only overlap partially.  We need to fix this.

31.  So, we must convert the grid one more time, because we want the most common near-global map with the Atlantic in the center.
33.  For GRID SYSTEM, select the new system.

Then click the ellipsis (...) to the right of INPUT.

34.  Click on the ellipsis to find and select the "flipped_located" grid we have just created, using the method above.
35.  Now select the DIRECTION of the conversion:
  • 0-360 >> -180-80

Then click OK.

NOTE:  This seemingly simple job actually is quite tedious, involving splitting the grid into halves, moving one to the other side, merging them, and then re-locating geographically.

36.  This change will create a completely new "system" of grids, with the new longitudinal range:
  • -179.5x -89.5y

You can see it now at the top of the grids list.  It has only one layer, the recently "flipped_located" grid.

37.  Rename the grid to "swh_mean_flipped_located_split"
38.  And here is the map of the final physical grid, after flipping, locating and splitting.   The World Borders shape (100% transparent) has been added to check the alignment.

NOTE:  All of the work to this point could have been avoided if these grids had the usual  NetCDF geographic specifications in the original data products.

39.  Right-click on the final grid and select HISTOGRAM to see the relation between data values and colors.10
40.  For purposes of uniformity, we might use the COLORS controls on the properties panel to make these choices:

Then click APPLY to effect these choices.

41.  The histogram is little changed.
42.  But the global map is ready for comparisons and publication.
43.  Here's a very rough comparison of the present spectrum (middle figure) with the January climatology from 2.18 Discontinued US Navy Marine Atlas: Global Wave Grids (top) and the January figure from 2.32 Global Wave Grids from the EU Climatology (bottom).  [All 3 are using 0-10 m value ranges.]
44.  To further impress the point, here is a randomly chosen daily wave height image from the noted OceanWeather website, showing significant wave height for the day of this writing.  The ranges of values are roughly the same, although mirrored north-south due to the change in seasons.
45.  Right-click on the "flipped_located_split" grid and use SAVE AS to save it in the folder PRODUCTS > SAGA > GRIDS > with the filename sigwaveht_globwave_l4_altimeter_1deg_meters_201312_flipped_located_split.sgrd.

Tests with Saga show that when you save a grid in Saga grid format (*.sgrd etc.), the saved grid includes all prior modifications.  There is no need to repeat any of the above modification steps with finally saved products in Saga format.

46.  Now we'll move on to the SAR grids, which are slightly easier to use.
47.  Use the same method as above to load the SAR wave data product.
48.  When asked, repeatedly click OK as you did above for the first file's metadata records.
49.  You'll end up with these grid layers.
50.  Here, the swh_mean is already calculated for our use.
51.  Here are the DESCRIPTION entries for the layer titled "swh_mean". 

NOTE:  The word "total" in the "long_name" is a typo; it should be "mean"


52.  Use the usual method to make a map of the grid named "swh_mean".  You can use your cursor to see that that the Atlantic-centered map has correct geographic coordinates.

The sea areas have value that range roughly from 0-5, which is the right order of magnitude.  But the land areas show a value of 0.

53.  The land area is colored, so it is not correctly being identified by a NO DATA value.  We need to fix that.
54.  Look on the properties panel and you'll find NO DATA values that are huge numbers.
55.  Change them both to zero, then click APPLY at panel bottom.

Why zero?  You found zero is used on the land cells, just above here.

56.  Now the land values are masked.
57.  Change the name of the grid layer to "swh_mean_masked"
58.  Now, make a histogram for the masked grid to see if the values look OK.  This distribution seems at first glance to represent a smaller population of wave sizes than the above altimeter data.  But read below for a technical reason.




59.  "The SAR instrument is only only able to capture information about swell waves (typically wavelengths longer than about 8m) so the SAR swh_mean is only a measure of these long waves. The altimeter measures swh at all wave frequencies, and the difference between this and the SAR-measured swell swh gives information about the wind-wave component of swh."  [GlobWave]

So we do not expect them to show the same central tendency or height spectrum.  They are measuring different quantities, although they are -- of course -- related.

60.  But let's apply the same visualization settings, as you see here from the properties panel, to see exactly what we have.

Then click APPLY at panel bottom.

61.  And here is the final graphic for the grid.  You can clearly see that the values are smaller, for this class of measured waves.
62. Right-click on the "swh_mean_masked" grid and elect SAVE AS.  Then navigate to PRODUCTS > SAGA > GRIDS and save the wave height grid as sigwaveht_globwave_l4_sar_2deg_meters_201312_masked.sgrd
63.  My huge thanks to Mr. Ellis Ash of the GlobWave group, who patiently stepped me through a better understanding of the products above.  I really appreciate the spirit of cooperation he showed and is continuing to demonstrate as the products are modified and improved for public use.