GOCE User Toolbox Specification.

GUTS is concerned with defining the specifications of a toolbox for the data coming from the upcoming GOCE satellite. This toolbox will focus on providing easy access and easy processing of this data to scientists who are not familiar with treating it.

GUTS is an ESA project, with collaborators from many European countries. For a list of the members of the GUTS group, click here.


GOCINA gets data from the GOCE satellite. Recommendations on how to use data from GOCE in ocean models is the main information. To promote and facilitate the transfer of knowledge and the exploitation of GOCE data, the project will use specific scenarios for the integration of GOCE data products in operational oceanography systems. The NSI coordinates the exchange of data and develops the oceanography models. 




Ole Baltazar 


Background and motivation


GUT prototype 

Future Work

Project management


Background and motivation  

Data from the ESA GOCE mission are of fundamental importance to the oceanographic community. It is expected that in conjunction with altimetric observations, gravity data from the ESA GOCE Mission will - for the first time in history - allow access to the absolute ocean dynamic surface topography and to compute the absolute ocean surface geostrophic currents at spatial scales down to about 100 km. At the moment, only the variable part of the sea level, and thus the geostrophic currents, can be inferred from altimetric heights with sufficient accuracy.

Despite their importance for oceanographic studies, the processing and analysis of gravity mission data has proven to be complicated to the point that the lack of proper processing software is hampering progress in the use of those data. Success in the exploitation of GRACE data therefore seems to depend fundamentally on the proper knowledge of several steps of the detailed gravity data processing procedure in terms of spherical harmonics, their implicit consistent normalization factors, filtering and error data, among others. To facilitate the easy use of GOCE products for oceanographers and to support the needs of specific applications, the development of a user toolbox GUTS was identified as an urgent step at the Second International GOCE User Workshop. Such a toolbox is required to guarantee optimal use of the existing and future gravity data acquired from GRACE and GOCE. In particular it is recognized and accepted that software packages are required that allow the gravity field data, in conjunction and consistent with any other auxiliary data sets, to be pre-processed by users not intimately familiar with gravity field processing procedure, for oceanographic and hydrologic application, regionally and globally.

From previous work, a preliminary idea about the scope of a GUTS toolbox exists already in the community, especially from experience gained through GRACE data processing. Any new effort should build directly on this insight and should expand on user needs in a flexible way. The now finished GOCINA project is another source of valuable information about needs and solutions that will be consulted while defining GOCE user needs and toolboxes.



WP2000 - User Requirements


Geodetic user requirements

In a variety of geophysical studies, information associated with the Earth’s gravity is used in the form of geoid heights, gravity anomalies or deflections of the vertical. Those quantities may be represented in the nodes along a profile, in a grid or in discretely located points. Associated with such quantities, error covariance information may be needed. Hence, the following functionalities are required:

  • Computation of global, gridded geoid heights or gravity anomalies. Computation of geoid heights at a given list of points.
  • Option to replace geoid heights by deflections from the vertical.
  • Computation of geoid heights covariance for any pair of points on the sphere or the computation of a full covariance matrix.
  • Computation of geoid cumulative height errors and error covariances at a given spatial resolution on a global regular grid or for a list of points.
  • Covariance error matrix within chosen degree/order range for commission and omission error.
  • Option to include the omission errors for the GOCE gravity field.
  • Regional geoid solutions starting from the global products.
  • Determination of the parameters in a priori degree variance model for the modeling of the gravity field a priori spectrum.
  • Computation of the differences between GOCE geoid and external geoids.
Oceanographic user requirements

The primary oceanography variable of interest to be provided by the tool box is the dynamic topography resulting from the difference between altimetric measurements and the geoid model. Altimetric MSSH fields or time-varying SSH fields would be auxiliary input data set fields from which a consistently filtered MDT (and associated mean geostrophic circulation) need to be computed by the toolbox. This leads to the following functionalities:

  • Interpolation of external MSSH on any regular grid or at given points. Spatial filtering of MSSH consistent with a specific harmonic geoid height field expansion.
  • Change of reference system for the geoid and/or MSSH.
  • Computation of a ‘GOCE’ MDT at a given spatial resolution.
  • Computation of altimetric time-varying absolute dynamic topography.
  • Provision of a priori MSSH, MDT and Geoid data on a grid.
  • Provision of tools to produce a global description of a combination of these a priori gridded fields in spherical harmonics.
  • Computation of altimetric absolute geostrophic velocities.
  • Covariance error matrix within chosen degree/order range for commission and omission error for mean dynamic surface topographies.
  • Option to include the omission errors for the MDT and the associated geostrophic surface currents.
  • Derivation of a degree variance model for the MDT and determine statistical properties of the MDT and its associated geostrophic surface currents.
  • Derivation of an optimal filter for the low pass filtering of the altimetric MSSH and/or the MDT.
  • Computation of the differences between ‘GOCE’ MDT and external MDT / between absolute altimetric geostrophic velocities and in situ geostrophic velocities.  

Solid earth user requirements

The commonly used quantity in solid earth studies is gravity anomalies and associated error information. Hence, the main required functionalities are covered by the general functionalities described above. However, on land the quantities may be needed on the surface of the earth. Hence, a few additional functionalities are required:

  • Computation of geoid heights, gravity anomalies or deflections of the vertical at the surface of the terrain. Computation of geoid cumulative errors and error covariances associated with the above on a global regular grid or for a list of points.
  • Covariance error matrix within chosen degree/order range for commission and with the option of including the omission errors for the GOCE gravity field.  

WP3000 - Scientific Trade-off Study

Toolbox Workflow

The primary workflow, defining the essential functionality of the proposed toolbox, is given in fig. 1. This primary workflow will be expanded to allow the broader functionality expected of the actual toolbox. However, this workflow shows the key outputs: the geodetic, gravity and oceanographic fields to be calculated from the GOCE level 2 products and typical products from satellite altimetry. For the geodetic and solid earth communities, the primary products will be from the first line of the workflow: the geoid and gravity computations, complete with their associated error fields.



When determining dynamic topography from a combination of geoid and sea surface height (SSH) data, it is important to ensure that the scales of information in the two source fields are compatible. In most cases the SSH data will contain information at higher spatial resolution than is included in the geoid model. These short scale features will contain both dynamic topography and geoid features and must be removed, by filtering, to provide a dynamic topography field that is consistent with the geoid field. In this study, we have investigated the most appropriate ways of carrying out this filtering.

A way of filtering that has been investigated is what is known as the remove-restore method. In this method, an a priori mean dynamic topography is used to remove some known signal before any filtering takes place. This ensures that the deterioration of the signal is as small as possible. Additionally the sea surface height grid used is converted into spherical harmonic coefficients and the calculation of the MDT thus takes place in spectral space. Both this and direct filtering has been tried with varying filters. The differences can be seen in Fig. 2. As can be seen in this figure, there is a marked difference between the remove-restore and the direct approach. The difference between geographical and spherical is less obvious but the spherical is better.


A benchmark system, which is simple enough that all filters can be run within it and complicated enough that it represents enough features of a real ocean dynamic topography problem, is created to evaluate the different filters. The following criteria are used:

  • Accuracy: distance from a reference solution, formal error description (with or without omission error) and comparison with reference data Universality: can you use the filter on irregular grids, individual point pairs, etc.?
  • Computational cost: CPU time and memory requirements (dependant on the filter implementation).
  • Cost of implementation: we can only roughly estimate that, e.g. this filter is simple to implement, this filter is available as a prototype, etc ...
  • Simplicity: in terms of usage, how many parameters need to be specified, e.g., just the maximum degree of cut-off or a full error covariance matrix.
  • Necessity of having the filter

Based on the global RMS difference between the filtered topography and the truth (Fig. 3), the simplest filters, that is the grid-space rectangular (lat-lon) cap, spherical cap, and the spectral space boxcar (Dirichlet-window) filter are not recommended. These grid-space filters have a spectral response with negative side lobes and a boxcar filter in spectral space leads to Gibbs fringes in geographical space.

On the other hand, grid-space filters with a shape that resembles the Gaussian bell curve, such as the quasi-Gaussian kernel, a true Gaussian kernel, and the Hanning and Hamming type windows give the smallest RMS-difference between filtered dynamic topography and "truth".

The spectral versions of the quasi-Gaussian and spherical cap (Pellinen) filters also give small RMS differences. These small differences to the "truth" can be attributed to the good representation of enclosed seas, such as Hudson Bay and the Mediterranean Sea. The differences in the enclosed seas can also be seen in fig. 2.


WP4000 - System Specification and Architectural Design

Overview of GUT design

The GOCE User Toolbox Specification (GUTS) project has been inter-comparing algorithms for translation of GOCE High level Processing Facility (HPF) data for use in the fields of oceanography and solid Earth science. The system specification and architectural design for GUTS include the following information:
  • Design of all user interfaces and description of file formats for input and output. Design of the logical model of the software functionality.
  • Complete specification of output, including data products, reports and logs.

Within this project, the designs and specifications are limited to a logical description of the toolbox architecture and data flow, and do not include software design details. The purpose is to provide the link between scientists in the GUTS team and the software engineers who will implement the toolbox. The architecture of the toolbox will allow any user to substitute their own auxiliary data or to integrate extra modules to extend the toolbox for individual applications. The ancillary data will include mean sea surface height (MSSH) data from altimetry and dynamic topography (DT) data from models or other oceanographic measurements, as well as a priori non-GOCE geoid information.

The GUTS requirements include high level workflows involving a set of core mathematical algorithms, which are currently being developed and tested. Practical requirements include some data visualisation capabilities, appropriate user interfaces and the maximum re-use of existing open source software, including software from the pilot GUT implementation and other European Space Agency (ESA) toolboxes.

The core GUTS algorithms will be implemented as C and Fortran functions. These languages are appropriate for this purpose because they are free from software licensing costs and are widely used by scientists, maximising access for members of the scientific community involved in oceanography and solid earth studies. The algorithms will be managed using Python, which will also provide the main user interface to the toolbox. The GUI will provide access to some or all of the GUT functionality available through the Python interface. Detailed GUI design will be carried out during the building phase of GUT implementation.  

  WP5000 - Project Synthesis A 1- or 2-page brochure highlighting the GUTS functionality will also be prepared. Most importantly, a first prototype algorithm and software package will be made available which will serve as the beginning of an open source software environment for gravity data processing. This package will entail the software collected under WP2000 which was tested in WP3000. The prototype toolbox will be complemented by a Tutorial Toolbox Description that can serve first pilot users as an instruction and that can help later software engineers to construct the toolbox subsequently in a user friendly manner.  
GUT prototype   Interpolation and subgrids The program that is used for manipulation of grids in this prototype toolbox is the GRAVSOFT program Geoip. This is programmed in Fortran 77, and is capable of interpolation to other grids, getting subgrids from already existing grids and adding and subtracting grids.  

Geoip can be run both through the use of a job or script file and through interactive input. The jobfiles included here are geoip_mdt.job to make an mdt from a MSSH and a geoid and geoip_ipol.job, geoip_ipol_geo.job, and geoip_ipol_mss.job as examples of interpolation and the means to create a MDT. This can easily be changed to provide interpolation to a different grid with a different spacing.


The GUT will include the pre-calculated grids from the HPF and thus the toolbox will need a tool for interpolation. The example given in the previously mentioned job file, geoip_ipol.job, is an interpolation of a global 0.25 degree geoid to a smaller subgrid.


The job files are unix script files and as such need to be run from a unix prompt and given the correct allowances. Additionally the source code for the program needs to be compiled.  


The geoid and gravity anomalies This simply requires a set of spherical harmonic coefficients for the gravity potential. The program used here is developed by Simon Holmes and Nikos Pavlis for use in the EGM07. This runs in a batch script and as such the user needs to go into the script file and change the parameters that needs to be changed. These are described in the README_FIRST_050106.txt file which is to be found along with the program and some test data here. The important parameters of this program are:
  • isw: This determines which quantity is produced. When isw=00 the geoid height is produced and when isw=50 the gravity anomaly is produced.
  • lmax: Sets the maximum degree of the product.
  • path_mod and name_mod: The path and name of the coefficient file to be used

A batch script that creates a global geoid of degree and order 90 is supplied in the zip file as well. This is named harmonic_synth_v02_zeta_90. The output can then be generated in ascii with read_write_grid_v01_geoid.


A batch script that generates global gravity anomalies of degree and order 90 is also supplied in the zip file. This is called harmonic_synth_v02_Dg50_90 and the ascii output is generated by read_write_grid_v01_gravan.


NOTE: One thing that is important to note is that if these programs need to be run more than once then the binary output from the main program needs to be deleted, as this is not overwritten by a second run.  


Spatially filtered MDT

For this a MSSH grid and gridded geoid heights are needed. These need to be on the same grid preferentially. To interpolate to the same grid or to create a geoid, use the method described here. To subtract the geoid from the MSSH, Geoip is used in the jobfiles called geoip_mdt.job, geoip_ipol_geo.job, and geoip_ipol_mss.job located in this zipped file. The two last files will interpolate respectively the geoid and the MSSH down to only cover the North Atlantic and the geoip_mdt.job will create an MDT from these interpolated grids.


This will leave some high frequency geoid residue since the MSSH is of higher degree and order than the geoid. Therefore a filter is needed. In this prototype toolbox a simple Gaussian filter is used. This will not produce a nice result, but it will demonstrate the process. This filter is produced by the Fortran 77 program filter.f. The source code for the program can be found in the above mentioned zip-file. A script file to use this program can also be found here under the name filter.job.


This very simplified approach also means that technically an MDT will be generated over land areas as the MSSH used expands onto land.


Spectrally filtered MDT
To use the spectral method to find a MDT, a program developed by Rory Bingham will be used. This program takes a MSSH grid that has been expanded onto land and converts it into spherical harmonic coefficients. This, together with a known set of gravity field coefficients, allows a calculation of coefficients for a MDT. Additionally the program is then able to do a filtering on the newly created MDT. This takes place in spatial space, however.

The program works by setting different parameters inside the code to the program. Those parameters are described in the shmdt_readme.txt text document file. This along with the Fortran 90 code for the program can be found here in a zipped file.

This file also includes some sample data for use in the program. The files are:
  • cls01_glbl_hlf.dat: A MSSH grid extended onto land.
  • GGM02C.GEO: The gravity field coefficients of a combined ground and satellite field.
  • GGM02S.GEO: The gravity field coefficients of a satellite only field.
  • mask_glbl_hlf.dat: A land mask that is used in the filtering process.
Programs and Data This folder contains the programs that are used to show some of the wanted functionality as well as the data used for the functions described in the prototype:   Geoip A fortran 77 program that can be used to make interpolations and add and subtract grids. All files that are to be used with this program is included in the zip-file.
A program for doing harmonic synthesis and getting various quantities. The files that are required to use this program are included in the zip-file.
A program for calculating an MDT in spectral space. This program will take a MSSH and convert it into spherical harmonic coefficients which will then be used together with the provided coefficients for the potential to create coefficients for an MDT. Everything is included in the zip. 

Future Work


At the moment a proposal for the next phase of the GUT project is being made. This will hopefully start in January or February.


This project will deal with the actual creation of the GOCE User Toolbox. The implementation will take into consideration the recommendations coming out of this first project. These are of course prone to change due to the budget of the implementation of the toolbox and due to ease of implementation.


Project Management   These pages cover the management part of the GUTS project. The information given here concerns the relevant documents for the GUTS and the deliverables that GUTS has produced. Additionally an overview of the meetings and the workplan is given. Lastly there is a list of the partners participating in the consortium.
Consortium (Partners in the GUTS project)
  • WP2000 - User Requirements Document
  • WP3000 - Scientific Trade-off Study
  • WP4000 - Architectural Design
  • Contact

    Ole Baltazar Andersen
    DTU Space
    +45 45 25 97 54