(Difference between revisions)
Jump to: navigation, search
(SVN commands for Diva)
(One intermediate revision not shown)
Line 159: Line 159:
=== Python ===
=== Python ===
[http://www.python.org/ Python] is a object-oriented, free to use, programming language. It is directly available through the package manager of recent Linux distributions.
An interface in Python has been implemented: https://github.com/gher-ulg/DivaPythonTools
* Some scripts in python for helping in the preparation of figures: [[Diva_python|Diva_python]]
== Products ==
== Products ==
Line 169: Line 167:
The results can be found in [[Diva_products|Diva Products]]
The results can be found in [[Diva_products|Diva Products]]
== Quality control of products ==  
=== Quality control of products ===
<div style="float: left;text-align:justify; width: 55%">
<div style="float: left;text-align:justify; width: 55%">

Latest revision as of 14:16, 29 May 2017

DIVA (Data-Interpolating Variational Analysis) allows the spatial interpolation of data (analysis) in an optimal way, comparable to optimal interpolation (OI).

DIVA source code is now hosted on github at https://github.com/gher-ulg/DIVA.


In a few words

Diva is a software developed for gridding in situ data.

It uses a finite-element method to solve a variational principle which takes into account

  1. the distance between analysis and data (observation constraint),
  2. the regularity of the analysis (smoothness constraint),
  3. physical laws (behaviour constraint).

The advantage of the method over classic interpolation methods is multiple:

  • the coastlines are taken into account during the analysis, since the variational principle is solved only in the region covered by the sea. This prevents the information from traveling across boundaries (e.g., peninsula, islands, etc) and then produce artificial mixing between water masses.
  • the numerical cost is not dependent on the number of data, but on the number of degrees of freedom, itself related to the size of the finite-element mesh.
In situ measurement and gridded field obtained using September temperature at 50 m in the Canary Island area.

How to get the code?

Diva is copyright © 2006-2017 by the GHER group and is distributed under the terms of the GNU General Public License (GPLv3 or later) http://www.gnu.org/copyleft/gpl.html or EUPL1.1 (or later) https://joinup.ec.europa.eu/software/page/eupl left as a choice to the user.

Note: Before compiling with divacompileall, please don't forget to modify the "divacompile_options" file.

The binaries for various O.S. are also provided:
Mac O.S.: binaries_macOS_4.6.2.zip
(thanks to F. Laenen, Observatoire de la Côte d'Azur, France)
Linux Mint 14 Nadia (Debian, x86_64): binaries_Linux64_4.6.2.zip

  • New features in the latest version and history of changes
  • Previous releases: here

The code runs preferentially with Linux operating systems, but can also be used under Windows, provided a unix-like environment is installed (Cygwin, Msys, ...).

The binary sources can be provided for several platforms, but if the code has to be re-compiled, then a Fortran compiler (gfortran, ifort, pgi) is needed, along with the NetCDF library if this format is to be used for the outputs.

We also recommend you to register on the Diva Users Group.

Diva_installation: for more details about the installation.

  • The manual and documentation are available here. In case of any inconsistency between documents, the latest user guide prevails.
  • New: Diva on Virtualbox. You can also download a "clone" of a virtual box containing diva-4.6.11 and all the stuff needed to run it (Diva-4.6.11_Clone.tgz (2.6 Go)). Diva is already compiled, you just have to install the software VirtualBox on your system, as explained here : virtualbox.pdf
  • A simple matlab interface for basic operations is available here : divaformatlab.zip
  • A tool to generate xml files is available here : divadoxml-gui

User workshops

Since 2006, we organize a workshop for the users, principally members of the region groups responsible for the climatology production in SeaDataNet. During these workshop, several experts are present to help newcomers, but also latest developments are presented for advanced users. Generally a wish-list from users is established at the end of the workshop. Please contact us if you are interested in attending.

The method

In oceanography, a typical concern consists in determining a field on a regular grid of positions r knowing N;d data in locations rj, j=1,..., Nd. This is called the gridding problem and is useful for many applications such as data analysis, graphical display, forcing or initialization of a model.

It is designed to solve 2-D differential or variational problems of elliptic type with a finite element method. Its end is to obtain a gridded field from the knowledge of sparse data points.

You can discover more details about the method here: DIVA_method

Publications & documents

  • Related publications: a list of publications where Diva is described or employed to generate gridded fields.
  • Documents: user manuals, presentations and posters.
  • How to cite?

BibTeX entry:

author =  {Troupin, C. and Barth, A. and Sirjacobs, D. and Ouberdous, M. and 
Brankart, J.-M. and Brasseur, P. and Rixen, M. and Alvera-Azc\'{a}rate, A. and 
Belounis, M. and Capet, A. and Lenartz, F. and Toussaint, M.-E. and Beckers, J.-M.},
title = {Generation of analysis and consistent error fields using the Data
Interpolating Variational Analysis (Diva)},
journal = Ocean Modelling,
year = {2012},
volume = {52-53},
pages = {90-101},
doi = {10.1016/j.ocemod.2012.05.002},
url = {http://www.sciencedirect.com/science/article/pii/S1463500312000790 }
  • How to acknowledge?

The research leading to the last developments of DIVA has received funding from the European Union Seventh Framework Programme (FP7/2007-2013) under grant agreement No. 283607, SeaDataNet 2, and from the project EMODNET (MARE/2012/10 - Lot 4 Chemistry - SI2.656742) from the Directorate-General for Maritime Affairs and Fisheries.

Plotting tools


  • Some scripts in matlab for helping in the preparation of figures: Diva_matlab
  • For calculating within matlab, some basic interface is divaformatlab.zip (now with linux, windows and macOS binaries)


An interface in Python has been implemented: https://github.com/gher-ulg/DivaPythonTools


DIVA has been used to prepare several regional climatologies.

The results can be found in Diva Products

Quality control of products

The issue of the quality of the products has been addressed by the EC. This page deals with the successive steps that have to be followed in order to ensure the quality of the products generated by the application of DIVA.

Quality control of products

Testing new versions

Every time a significant modification is made to the source code, a set of tests have to be performed to insure that no error was introduced. These tests will be described in the following page and only concern Diva developers or beta testers: Testing new versions

SVN commands for Diva (depracated)

We recently switched to github for the version control. A list of commands used to manage the subversions of Diva, also only for developers or beta testers

SVN commands for Diva

Personal tools