Thanks to visit codestin.com
Credit goes to github.com

Skip to content

gher-uliege/Diva-Workshops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DIVA Workshops and training

DIVAnd logo

Build Status Project Status: Active – The project has reached a stable, usable state and is being actively developed. GitHub top language DOI
GitHub Issues or Pull Requests GitHub contributors GitHub last commit
Static Badge Static Badge Static Badge Static Badge

Objective

The goal of the training material module, made up of Jupyter notebooks, is twofold:

  1. provide the users with a basic knowledge of Julia, meaning they are capable of reading the code presented in the notebooks, but also install new modules, write basic functions for processing or create basic plots.
  2. endure that the users to able to create their own products (i.e. climatologies) using the DIVAnd software tool, by combining their own datasets with those from other sources (for instance the World Ocean Database) and setting the analysis parameters according to their region of interest.

More information about DIVAnd is available in the package documentation.

Content

The notebooks are organised into 4 categories, according to their main objectives and following the "Instructional design" described in the associated paper in JOSE.
The different notebook folders can be covered independently, depending on the experise of the users.
Suggestions for the number of sessions and time to be dedicated for each category are provide below.

Folder Content Recommended duration
1-Intro Know the basics commands in Julia, read/write netCDF files and create different types of plots (scatter, histograms, maps, ...) 2 hours
2-Preprocessing Learn about the input file preparation: observations (download and reading), bathymetry and mask, time periods, ... 4 hours
3-Analysis Perform different types of analysis, optimise the analysis parameters and work with different coordinate systems 2 sessions of 4 hours
4-AdvancedTopics Discover more complex types of analysis, using for instance advection or inequality constraints. 4 hours

Full list of notebooks

1-01-notebooks-basics.ipynb
1-02-Julia-introduction.ipynb
1-03-netCDF.ipynb
1-04-OI-variational-analysis-introduction.ipynb
1-05-plots-maps.ipynb
2-01-topography.ipynb
2-02-reading-data.ipynb
2-03-data-downloading.ipynb
2-04-ODV-data-import.ipynb
2-05-defining-time-periods.ipynb
3-01-L-and-epsilon-effect.ipynb
3-02-correlation-length.ipynb
3-03-processing-parameter-optimization.ipynb
3-04-processing-quality-check.ipynb
3-05-cpme-demo.ipynb
3-06-errormaps-demo.ipynb
3-07-example-analysis.ipynb
3-08-background-field.ipynb
3-09-full-analysis.ipynb
3-10-save_attributes_EMODnet.ipynb
3-11-generalized-vertical-coordinates.ipynb
3-12-sigma-layers.ipynb
3-13-polar-coordinates.ipynb
3-14-Sphericalcoordinates.ipynb
3-15-analysis-datapoints.ipynb
4-01-relative-correlation-length.ipynb
4-02-average-background.ipynb
4-03-heatmaps.ipynb
4-04-heatmapsCV.ipynb
4-05-turtles-tensity-map.ipynb
4-06-advection_constrain.ipynb
4-07-advection_constraint_Adriatic.ipynb
4-08-source-term.ipynb
4-09-open-boundary-conditions.ipynb
4-10-multivariate-EOF.ipynb
4-11-multivariate-Jacobian.ipynb
4-12-analysis-with-cycles.ipynb
4-13-BlackSea-detrend-geostrophic.ipynb
4-14-inequalities-constrains.ipynb
4-15-geostrophytest.ipynb
4-16-Lshape.ipynb
4-17-interp-section.ipynb
4-18-make-paper-figure.ipynb
4-19-optim-observations-locations-game.ipynb

How to use or adopt the notebooks?

Different paths can be taken, depending on your experience with Julia and with DIVAnd.
First follow the instructions for the installation, then decide from where to start according to your experience or your audience.

Experience in Julia Experience with DIVAnd Recommendation
No No Start from the beginning!
Yes No Start with the 2-Preprocessing notebooks, then try an analysis (for instance 3-07-example-analysis.ipynb)
No Yes Check the 1-Intro notebooks to get familiar with Julia, then play with the analysis
Yes Yes Use the notebook 3-09-full-analysis.ipynb as a starting point for your analysis, then play with the 4-AdvancedTopics

πŸš€ Fast start

If you had to use only one notebook, it should be this one: 3-09-full-analysis.ipynb

How to contribute?

Please refer to the instructions in CONTRIBUTING.md.

Installation

Julia

Julia language can be installed using juliaup, as detailed in the Download section of 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

Warning

After an update of the Julia version, one can face an error message related to the Kernel:
LoadError: ArgumentError: Package IJulia ... is required but does not seem to be installed
This can be solved with the command:

using IJulia
installkernel("Julia")

The notebooks

To get the notebooks on your computer you can either:

  1. Download a zipped archive and uncompress it [for any user].
  2. Clone the whole directory: git clone [email protected]:gher-uliege/Diva-Workshops.git (for git users).

Note

The notebooks will get dependencies via the file Project.toml. This is why all the notebooks start with the commands

import Pkg
Pkg.activate("../..")
Pkg.instantiate()

The Jupyter session is started with:

using IJulia
notebook()