Awesome
IMPORTANT: this original DIVA
tool will remain available, but will not be further developped. For new features, users are invited to switch to the generalization in N-dimensions DIVAnd
using a very modern progamming language: Julia
.
DIVA (Data-Interpolating Variational Analysis)
DIVA 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. In addition, detrending of data is possible. Finally 3D and 4D extensions are included with emphasis on direct computations of climatologies from Ocean Data View (ODV) spreadsheet files.
Getting started
Prerequisites
✅ A fortran compiler: gfortran, ifort, pgf, ...
✅ The NetCDF library for Fortran, needed for the writing of output files.
✅ gnuplot[optional] for the creation of graphics.
For Debian architectures, you can run:
sudo apt-get install -y software-properties-common # needed to use add-apt-repository
sudo add-apt-repository universe # needed to get netCDF
sudo apt-get install -y git make # needed for the compilation
sudo apt-get install -y gfortran netcdf-bin libnetcdf-dev libnetcdff-dev
Installing
- Download the latest stable release and extract the archive:
tar xvf DIVA-4.7.2.tar.gz
or clone the project and checkout the last version:
git clone git@github.com:gher-uliege/DIVA.git
git checkout v4.7.2
- Go in the source directory
cd DIVA3D/src/Fortran/
- Run the compilation script:
make
Notes
- the compiler (by default
gfortran
) and its flags can be modified by editingMakefile
- the netCDF library and include flags are deduced from
nf-config
command, which provides the options with which netCDF was build.
The values can be specified differently (if for example you use a non-standard path) by editing the lines
export nclib=$(shell nf-config --flibs)
export ncinc=$(shell nf-config --fflags)
Testing
Go in the main execution directory (divastripped) and run the tests:
cd ../../divastripped/
divatest
divatest0
...
How does it work?
DIVA is a software tool developed for gridding in situ data. It uses a finite-element method to solve a variational principle which takes into account:
- the distance between analysis and data (observation constraint),
- the regularity of the analysis (smoothness constraint),
- physical laws (behaviour constraint).
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 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.
How to try DIVA without installing?
If you are familiar with Ocean Data View ODV software tool, you can perfom 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 Diva on Web if you have your data ready in a simple three-column ascii file or ODV ascii spreadsheet format.
Related tools
DIVAnd.jl
: n-dimensional variational analysis of arbitrarily located observations (written in Julia).DIVAndNN.jl
: multivariate DIVAnd using a neural network.DIVAnd.py
(not developed anymore): the Python interface toDIVAnd.jl
.DivaPythonTools
: a set of utilies to read, write and plot the content of input or output files used in DIVA.
Publications & documents
Check the GHER publications for the most recent updates.
Articles
Theory
Barth, A., Beckers, J.-M., Troupin, C., Alvera-Azcárate, A., and Vandenbulcke, L.: divand-1.0: n-dimensional variational data analysis for ocean observations, Geosci. Model Dev., 7, 225-241, doi:10.5194/gmd-7-225-2014, 2014.
Troupin, C.; Sirjacobs, D.; Rixen, M.; Brasseur, P.; Brankart, J.-M.; Barth, A.; Alvera-Azcárate, A.; Capet, A.; Ouberdous, M.; Lenartz, F.; Toussaint, M.-E. & Beckers, J.-M. (2012) Generation of analysis and consistent error fields using the Data Interpolating Variational Analysis (Diva). Ocean Modelling, 52-53: 90-101. doi:10.1016/j.ocemod.2012.05.002
Beckers, J.-M.; Barth, A.; Troupin, C. & Alvera-Azcárate, A. Some approximate and efficient methods to assess error fields in spatial gridding with DIVA (Data Interpolating Variational Analysis) (2014). Journal of Atmospheric and Oceanic Technology, 31: 515-530. doi:10.1175/JTECH-D-13-00130.1
Applications
Capet, A.; Troupin, C.; Carstensen, J.; Grégoire, M. & Beckers, J.-M. Untangling spatial and temporal trends in the variability of the Black Sea Cold Intermediate Layer and mixed Layer Depth using the DIVA detrending procedure (2014). Ocean Dynamics, 64: 315-324. doi:10.1007/s10236-013-0683-4
Troupin, C.; Machín, F.; Ouberdous, M.; Sirjacobs, D.; Barth, A. & Beckers, J.-M. High-resolution Climatology of the North-East Atlantic using Data-Interpolating Variational Analysis (Diva) (2010). Journal of Geophysical Research, 115: C08005. doi:10.1029/2009JC005512
User guide
The most recent version is available in PDF.
Posters and presentations
Check the complete list of documents hosted through the ULiege Orbi catalogue.
Acknowledgments
The DIVA development has received funding from:
- the European Union Sixth Framework Programme (FP6/2002-2006) under grant agreement n° 026212, SeaDataNet,
- the Seventh Framework Programme (FP7/2007-2013) under grant agreement n° 283607, SeaDataNet II,
- SeaDataCloud and
- EMODNet (MARE/2008/03 - Lot 3 Chemistry - SI2.531432) from the Directorate-General for Maritime Affairs and Fisheries.