gher-uliege / Diva-Workshops

Code, data and instructions for the Diva workshops
https://gher-uliege.github.io/Diva-Workshops/
16 stars 9 forks source link
data-analysis diva interpolation ocean-sciences oceanography seadatacloud seadatanet spatial-analysis

Build Status Project Status: Active – The project has reached a stable, usable state and is being actively developed. GitHub top language DOI
Static Badge Static Badge

DIVA Workshops and training

The Jupyter notebooks contained in this repository are designed to explain users how to create gridded fields from in situ observations using the DIVAnd software tool.

The repository was firstly created to store the material for the workshops and training sessions organised in the frame of H2020 SeaDataCloud project. The notebooks are also used in the FAIR-EASE project.

Installation

Julia language

Julia language can be installed using juliaup, as detailed in the "Download" section of the Julia web: https://julialang.org/downloads/.
A Julia session is started by typing julia in the terminal or by clicking on the Julia shortcut in Windows.

$ julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.11.1 (2024-10-16)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> 

Jupyter

Jupyter has to be installed in order to have a notebook interface.
It can be installed and launched (in Julia) with the following command in the Pkg REPL
(Enter the Pkg REPL by pressing ] from the Julia session):

(@v1.11) pkg> add IJulia

Running the notebooks

In a Julia session, execute the following commands:

using IJulia
notebook()

This will start a Jupyter session within your browser.
Select the notebook located in Diva-Workshops/notebooks/.

ℹ️ About DIVAnd

DIVAnd is not a new release of DIVA, it is another software tool with different

algorithms,
functionalities and
language.

For a single 2D analysis (surface salinity in the Black Sea) on Intel Xeon CPU E5-2650.
DIVA was compiled with the Intel Fortran Compiler.

DIVA - Fortran DIVAnd - Julia
mesh triangular structured
deg. of freedom 236296 236317
correlation length 0.19 0.19
CPU time 43.8 s 8.7 s

However, a triangular mesh is greatly more flexible than a structured mesh and has $C_1$ continuity.
The main advantage of DIVAnd is that it can work on more than just 2 dimensions (but the requirements of RAM memory increase also).

Using DIVAnd without installing

☁️ On public servers (cloud)

DIVAnd has been made available in Virtual Research Environments (VRE) in European projects.
The deployment is performed using a Docker container.

For instance DIVAnd can used in projects such as:

Binder

Most notebooks need more resources that what is can currently available on Binder. The introduction notebooks (introduction to OI and variationa analysis) however work Binder.

🆘 Troubleshooting

LoadError: ArgumentError: Package IJulia ... is required but does not seem to be installed

After an update of the Julia version, one can face an error message related to the Kernel.
This can be solved with the command:

using IJulia
installkernel("Julia")