https://github.com/wekeo/liege-colloquium-23
Repository of WEkEO Jupyter Notebooks for machine learning applications with EUMETSAT Copernicus marine data, in support of the 2020 Liege Colloquium.
https://github.com/wekeo/liege-colloquium-23
artificial-intelligence copernicus dineof earth-observation eumetsat jupyter-notebook machine-learning ocean ocean-colour python remote-sensing sentinel-3
Last synced: 3 months ago
JSON representation
Repository of WEkEO Jupyter Notebooks for machine learning applications with EUMETSAT Copernicus marine data, in support of the 2020 Liege Colloquium.
- Host: GitHub
- URL: https://github.com/wekeo/liege-colloquium-23
- Owner: wekeo
- License: other
- Created: 2023-05-04T10:53:04.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-05-05T12:32:15.000Z (about 3 years ago)
- Last Synced: 2025-05-30T18:13:56.214Z (about 1 year ago)
- Topics: artificial-intelligence, copernicus, dineof, earth-observation, eumetsat, jupyter-notebook, machine-learning, ocean, ocean-colour, python, remote-sensing, sentinel-3
- Language: Jupyter Notebook
- Homepage:
- Size: 48.3 MB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Liege Colloquium 23
[](https://www.anaconda.com/products/distribution)
[](LICENSE.txt)
The **liege-colloquium-23** module consists of a collection of python-based Jupyter-notebooks
that demonstrate some common methodologies employed in the field of machine learning. The focus is predominantly
on ocean colour and SST products made available by EUMETSAT and through the Copernicus programme (e.g. those from Sentinel-3 OLCI). It also
includes information on general principles of ocean colour.
Users looking for more information on using products from the Sentinel-3 Ocean and Land Colour Instrument (OLCI)
in the marine domain are encouraged to check out our [learn-olci](https://gitlab.eumetsat.int/eumetlab/oceans/ocean-training/sensors/learn-olci) repository.
For any questions about this repository, please contact ops@eumetsat.int.
## License
This code is licensed under an MIT license. See file LICENSE.txt for details on
the usage and distribution terms. No dependencies are distributed as part of this
package. Copyright EUMETSAT 2023.
All product names, logos, and brands are property of their respective owners.
All company, product and service names used in this website are for identification
purposes only.
## Authors
* [**Ben Loveday**](mailto://ops@eumetsat.int) - [EUMETSAT](http://www.eumetsat.int)
* [**Hayley Evers-King**](mailto://ops@eumetsat.int) - [EUMETSAT](http://www.eumetsat.int)
* [**Aida Alvera-Azcárate**](mailto://ops@eumetsat.int) - [EUMETSAT](http://www.eumetsat.int)
* [**Ana Ruescas**](mailto://ops@eumetsat.int) - [EUMETSAT](http://www.eumetsat.int)
* [**Kevin Ruddick**](mailto://ops@eumetsat.int)
Please see the AUTHORS.txt file for more information on contributors.
## Prerequisites
You will require `Jupyter Notebook` to run this code. We recommend that you install
the latest [Anaconda Python distribution](https://www.anaconda.com/) for your
operating system. Anaconda Python distributions include Jupyter Notebook.
## Dependencies
|item|version|licence|package info|
|---|---|---|---|
|python|3.9.13|PSF|https://docs.python.org/3/license.html|
|jupyterlab|3.4.4|BSD-3|https://anaconda.org/conda-forge/jupyterlab|
|xarray|0.21.1|Apache-2.0|https://anaconda.org/conda-forge/xarray|
|netcdf4|1.5.8|MIT|https://anaconda.org/conda-forge/netcdf4|
|shapely|1.8.0|BSD-3|https://anaconda.org/conda-forge/shapely|
|matplotlib|3.5.1|PSFL|https://matplotlib.org/stable/users/project/license.html|
|numpy|1.24.2|BSD-3|https://anaconda.org/conda-forge/numpy|
|glob2|0.7|BSD-2|https://anaconda.org/conda-forge/glob2|
|ipympl|0.9.3|BSD-3|https://anaconda.org/conda-forge/ipympl|
|scipy|1.10.1|BSD-3|https://anaconda.org/conda-forge/scipy|
|cartopy|0.20.2|LGPL-3|https://scitools.org.uk/cartopy/docs/latest/copyright.html|
|ipywidgets|7.6.5|BSD-3|https://anaconda.org/conda-forge/ipywidgets|
|jupyter_nbextensions_configurator|0.6.1|BSD-3|https://anaconda.org/conda-forge/jupyter_nbextensions_configurator|
|scikit-image|0.19.1|BSD-3|https://anaconda.org/conda-forge/scikit-image|
|bokeh|2.4.2|BSD-3|https://anaconda.org/conda-forge/bokeh|
|ipykernel|6.4.1|BSD-3|https://anaconda.org/conda-forge/ipykernel|
|cmocean|2.0|MIT|https://anaconda.org/conda-forge/cmocean|
|hda|0.3.7|Apache-2.0|https://pypi.org/project/hda/|
|eumartools|0.0.1|MIT|https://anaconda.org/cmts/eumartools|
|eumdac|2.0.1|MIT|https://anaconda.org/eumetsat/eumdac|
|spectral|0.23.1|MIT|https://anaconda.org/conda-forge/spectral|
|pandas|1.5.3|BSD-3|https://anaconda.org/conda-forge/pandas|
|scikit-learn|1.2.2|BSD-3|https://anaconda.org/conda-forge/scikit-learn|
|joblib|1.2.0|BSD-3|https://anaconda.org/conda-forge/joblib|
|seaborn|0.12.2|BSD-3|https://anaconda.org/conda-forge/seaborn|
|tensorflow|2.11.0|Apache-2.0|https://anaconda.org/conda-forge/tensorflow|
|tensorflow-probability|0.19.0|Apache-2.0|https://anaconda.org/conda-forge/tensorflow-probability|
|tqdm|4.65.0|MIT|https://anaconda.org/conda-forge/tqdm|
|xmltodict|0.13.0|MIT|https://anaconda.org/conda-forge/xmltodict|
|rioxarray|0.14.1|Apache-2.0|https://anaconda.org/conda-forge/rioxarray|
|jupyterlab|3.6.3|BSD-3|https://anaconda.org/conda-forge/jupyterlab|
|requests|2.29.0|Apache-2.0|https://anaconda.org/conda-forge/requests|
|spectral|0.23.1|MIT|https://anaconda.org/conda-forge/spectral|
## Installation
The simplest and best way to install these packages is via Git. Users can clone this
repository by running the following commands from either their [terminal](https://tinyurl.com/2s44595a)
(on Linux/OSx), or from the [Anaconda prompt](https://docs.anaconda.com/anaconda/user-guide/getting-started/).
You can usually find your terminal in the start menu of most Linux distributions
and in the Applications/Utilities folder on OSx. Alternatively, you should be
able to find/open your Anaconda prompt from your start menu (or dock, or via running
the Anaconda Navigator). Once you have opened a terminal/prompt, you should navigate
to the directory where you want to put the code. Once you are in the correct directory,
you should run the following command;
`git clone https://github.com/wekeo/liege-colloquium-23.git`
This will make a local copy of all the relevant files.
## Usage
This collection supports Python 3.9. Although many options are possible, the
authors highly recommend that users install the appropriate Anaconda package
for their operating system. In order to ensure that you have all the required
dependencies, we recommend that you build a suitable Python environment, as
discussed below.
### Python environments
Python allows users to create specific environments that suit their applications.
This tutorials included in this collection require a number of non-standard
packages - e.g. those that are not included by default in Anaconda. In this
directory, users will find a *environment.yaml* file which can be used to
construct an environment that will install all the required packages.
To construct the environment, you should open either **terminal** (Linux/OSx)
or an **Anaconda prompt** window and navigate to repository folder you downloaded
in the **Installation** section above. In this folder there is a file called
**environment.yml**. This contains all the information we need to install the relevant
packages.
To create the environment, run:
`conda env create -f environment.yml`
This will create a Python environment called **cmts_liege_colloquium_23**. The environment
won't be activated by default. To activate it, run:
`conda activate cmts_liege_colloquium_23`
Now you are ready to go!
*Note: remember that you may need to reactivate the environment in every
new window instance*
### Running Jupyter Notebook
This module is based around a series of [Jupyter Notebooks](https://jupyter.org/). These support high-level interactive learning by allowing us to combine code, text description and data visualisations. If you have not worked with `Jupyter Notebooks`
before, please look at the [Introduction to Python and Project Jupyter](./working-with-python/Intro_to_Python_and_Jupyter.ipynb) module to get a short introduction to their usage and benefits.
To to run Jupyter Notebook, open a terminal or Anaconda prompt and make sure you have activated
the correct environment. Again, navigate to the repository folder.
Now you can run Jupyter using:
`jupyter lab`
This should open Jupyter Lab in a browser window. On occasion, Jupyter may not
be able to open a window and will give you a URL to past in your browser. Please do
so, if required.
*Note: Jupyter Notebook is not able to find modules that are 'above' it in a directory
tree, and you will unable to navigate to these. So make sure you run the line above
from the correct directory!*
Now you can run the notebooks! We recommend you start with the [Index](./Index.ipynb) module.
### Collaborating, contributing and issues
If you would like to collaborate on a part of this code base or contribute to it
please contact us on copernicus.training@eumetsat.int. If you are have issues and
need help, or you have found something that doesn't work, then please contact us
at ops@eumetsat.int. We welcome your feedback!
### Overview for advanced users
**Installation:**
`git clone https://github.com/wekeo/liege-colloquium-23.git`
**Create and set environment**
`conda env create -f environment.yml` \
`conda activate cmts_liege_colloquium_23`
**WEkEO SPECIFIC**
`ipython kernel install --user --name=cmts_liege_colloquium_23`
**Run**
`jupyter lab`