DIVA

From GHER

(Difference between revisions)
Jump to: navigation, search
(How to get the code?)
(Python)
 
(19 intermediate revisions not shown)
Line 1: Line 1:
-
<div style="float: left; text-align:justify;width: 55%">
+
<div style="float: left; text-align:justify;width: 45%">
-
DIVA (Data-Interpolating Variational Analysis) allows the spatial interpolation of data (''analysis'') in an optimal way, comparable to optimal interpolation (OI). In comparison to OI it takes into account coastlines, sub-basins and advection. Calculations are highly optimized and rely on a finite element resolution. Tools to generate the finite element mesh are provided as well as tools to optimize the parameters of the analysis. Quality control of data can be performed and error fields can be calculated. Also detrending of data is possible. Finally 3D and 4D extensions are included with emphasis on direct computations of climatologies from [http://odv.awi.de/ ODV] spreadsheet files.
+
DIVA (Data-Interpolating Variational Analysis) allows the spatial interpolation of data (''analysis'') in an optimal way, comparable to optimal interpolation (OI).  
-
The DIVA development has received funding from the European Union Sixth Framework Programme (FP6/2002-2006) under grant agreement n° 026212, SeaDataNet,  Seventh Framework Programme (FP7/2007-2013) under grant agreement n° 283607, [http://www.seadatanet.org/ SeaDataNet SeaDataNet II], and project EMODNet (MARE/2008/03 - Lot 3 Chemistry - SI2.531432) from the Directorate-General for Maritime Affairs and Fisheries.  
+
DIVA source code is now hosted on github at https://github.com/gher-ulg/DIVA.
-
 
+
-
</div><div style="float: right; width: 45%">
+
</div><div style="float: right; width: 35%">
-
[[File:Logo_diva_1500.png|frameless|center|400px]]  
+
[[File:Logo_diva_1500.png|frameless|left|250px]]  
</div>
</div>
<br style="clear: both" />
<br style="clear: both" />
-
 
== In a few words ==  
== In a few words ==  
Line 22: Line 21:
The advantage of the method over classic interpolation methods is multiple:
The advantage of the method over classic interpolation methods is multiple:
-
* the coastline 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 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.
* 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.
Line 36: Line 35:
<div style="float: left;text-align:justify; width: 55%">
<div style="float: left;text-align:justify; width: 55%">
-
Diva is copyright © 2006-2014 by the GHER group and is distributed under the terms of the
+
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.
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.
-
* '''Latest version''' (October 2015): [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/diva-4.6.11.tgz diva-4.6.11.tgz]  
+
* '''Latest version''' (June 2016): [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/diva-4.7.1.tgz diva-4.7.1.tgz]  
-
'''Note:''' Before compiling with divacompileall, please don't forget to modify the "divacompile_options" file or copy it from your previous diva version.
+
'''Note:''' Before compiling with divacompileall, please don't forget to modify the "divacompile_options" file.
The binaries for various O.S. are also provided:<br>
The binaries for various O.S. are also provided:<br>
Line 50: Line 49:
* Previous releases: [[Diva_old_versions|here]]
* Previous releases: [[Diva_old_versions|here]]
-
The code runs preferentially with Linux operating systems, but can also be used under Windows, provided a unix-like environment is installed ([http://www.cygwin.com/ Cygwin], [http://www.mingw.org/wiki/MSYS Msys], ...)
+
The code runs preferentially with Linux operating systems, but can also be used under Windows, provided a unix-like environment is installed ([http://www.cygwin.com/ Cygwin], [http://www.mingw.org/wiki/MSYS Msys], ...).
The binary sources can be provided for several platforms, but if the code has to be re-compiled, then a Fortran compiler ([http://gcc.gnu.org/wiki/GFortran gfortran], [http://software.intel.com/en-us/articles/intel-compilers/ ifort], [http://www.pgroup.com/ pgi]) is needed, along with the [http://www.unidata.ucar.edu/software/netcdf/ NetCDF] library if this format is to be used for the outputs.
The binary sources can be provided for several platforms, but if the code has to be re-compiled, then a Fortran compiler ([http://gcc.gnu.org/wiki/GFortran gfortran], [http://software.intel.com/en-us/articles/intel-compilers/ ifort], [http://www.pgroup.com/ pgi]) is needed, along with the [http://www.unidata.ucar.edu/software/netcdf/ NetCDF] library if this format is to be used for the outputs.
-
We also recommend you to register on the [http://groups.google.com/group/diva_users Diva Users Group]
+
We also recommend you to register on the [http://groups.google.com/group/diva_users Diva Users Group].
[[Diva_installation|Diva_installation]]: for more details about the installation.
[[Diva_installation|Diva_installation]]: for more details about the installation.
Line 60: Line 59:
* The '''manual and documentation''' are available [http://modb.oce.ulg.ac.be/mediawiki/index.php/Diva_documents here]. In case of any inconsistency between documents, the latest user guide prevails.  
* The '''manual and documentation''' are available [http://modb.oce.ulg.ac.be/mediawiki/index.php/Diva_documents 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.8 and all the stuff needed to run it ([http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/DIVA_Clone-4.6.8.tgz DIVA_Clone-4.6.8.tgz] (2.6 Go)). Diva is already compiled, you just have to install the software VirtualBox on your system, as explained here : [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/virtualbox.pdf virtualbox.pdf]
+
* '''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 ([http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/releases/Diva-4.6.11_Clone.tgz 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 : [http://modb.oce.ulg.ac.be/mediawiki/upload/DIVA/notes/virtualbox.pdf virtualbox.pdf]
* A simple '''matlab''' interface for basic operations is available here : [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]
* A simple '''matlab''' interface for basic operations is available here : [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]
Line 68: Line 67:
[[File:diva46.png|frameless|super|right|350px]]
[[File:diva46.png|frameless|super|right|350px]]
</div>
</div>
-
 
-
<br style="clear: both" />
 
-
 
-
== How to try DIVA without installing ? ==
 
-
<div style="float: left;text-align:justify; width: 55%">
 
-
 
-
If you are familiar with Ocean Data View ([http://odv.awi.de ODV]) you can access DIVA gridding when plotting vertical or horizontal sections as the other 25000 scientists using ODV.
 
-
 
-
You can also use basic DIVA features in a web application [http://gher-diva.phys.ulg.ac.be/web-vis/diva.html Diva on Web] if you have your data ready in a simple three-column ascii file or ODV ascii spreadsheet format.
 
-
 
-
If you are familiar with Matlab, some basic interface is provided here: [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]
 
-
 
-
 
-
</div><div style="float: left; width: 45%">
 
-
 
-
[[File:Divaonweb.png|frameless|super|right|350px]]
 
-
 
-
</div>
 
-
 
<br style="clear: both" />
<br style="clear: both" />
Line 95: Line 75:
Since 2006, we organize a workshop for the users, principally members of the region groups responsible for the climatology production in [http://www.seadatanet.org/ 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.
Since 2006, we organize a workshop for the users, principally members of the region groups responsible for the climatology production in [http://www.seadatanet.org/ 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.
-
*'''Next workshop:''' tentative dates: 3-7 November 2014 :  [[Diva_workshop_2014_Stareso]]
+
*'''Last workshop:''' 3-8th October 2016 :  [[Diva_workshop_2016_Roumaillac]]
-
*'''Last workshop:''' 4-8 November 2013: [[Diva_workshop_2013_Stareso]]
+
*11th workshop: 9-14th October 2015 : [[Diva_workshop_2015_Stareso]]
*[[Previous_workshops|Previous_workshops]]: information about the previous workshops.
*[[Previous_workshops|Previous_workshops]]: information about the previous workshops.
<!--[[Diva_workshop_2012|Diva_workshop_2012]]-->
<!--[[Diva_workshop_2012|Diva_workshop_2012]]-->
-
 
</div><div style="float: left; width: 45%">
</div><div style="float: left; width: 45%">
Line 172: Line 151:
* Some scripts in matlab for helping in the preparation of figures: [[Diva_matlab|Diva_matlab]]
* Some scripts in matlab for helping in the preparation of figures: [[Diva_matlab|Diva_matlab]]
-
* For calculating within matlab, some basic interface is  [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip]
+
* For calculating within matlab, some basic interface is  [http://modb.oce.ulg.ac.be/mediawiki/upload/divaformatlab.zip divaformatlab.zip] (now with linux, windows and macOS binaries)
<br style="clear: both" />
<br style="clear: both" />
Line 180: 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 190: 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%">
Line 217: Line 194:
[[Category : Diva]]
[[Category : Diva]]
-
== SVN commands for Diva ==  
+
== 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
A list of commands used to manage the subversions of Diva, also only for developers or beta testers
[[Diva_SVN|SVN commands for Diva]]
[[Diva_SVN|SVN commands for Diva]]

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.


Contents

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:

@ARTICLE{TROUPIN2012OM,
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

Matlab

  • 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)


Python

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

Products

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