Skip to content

Latest commit

 

History

History
135 lines (94 loc) · 8.88 KB

README.md

File metadata and controls

135 lines (94 loc) · 8.88 KB

Project Status: Inactive – The project has reached a stable, usable state but is no longer being actively developed; support/maintenance will be provided as time allows. Build Status DOI

made-with-bash

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.

Diva logo

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

  1. 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
  1. Go in the source directory
cd DIVA3D/src/Fortran/
  1. Run the compilation script:
make

Notes

  • the compiler (by default gfortran) and its flags can be modified by editing Makefile
  • 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:

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

800px-diva_gridding_canary

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.

divaonweb

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 to DIVAnd.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: