Giter Club home page Giter Club logo

diva's Introduction

Build Status
DOI

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 for the output writing.
  • gnuplot for the creation of graphics (optional).

Installing

Download the latest stable release and extract the archive:

tar xvf DIVA-4.7.2.tar.gz

then go in the source directory

cd DIVA-4.7.2/DIVA3D/src/Fortran/

and run the compilation script:

make

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 projects

  • DIVAnd.jl performs n-dimensional variational analysis of arbitrarily located observations (written in Julia language).
  • divand.py is the Python interface to the previous code.
  • DivaPythonTools is 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.

Poster 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, 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.

diva's People

Contributors

ctroupin avatar gher-diva avatar swatelet avatar jmbeckers avatar alexander-barth avatar katrinleinweber avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.