arcticoceanco2-grl-2024

This repository hosts the code for the analysis and for producing the figures in our GRL paper on Arctic Ocean pCO2.

https://github.com/markusritschel/arcticoceanco2-grl-2024

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.4%) to scientific vocabulary

Keywords

arctic-ocean carbon co2
Last synced: 6 months ago · JSON representation ·

Repository

This repository hosts the code for the analysis and for producing the figures in our GRL paper on Arctic Ocean pCO2.

Basic Info
  • Host: GitHub
  • Owner: markusritschel
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 182 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Topics
arctic-ocean carbon co2
Created over 1 year ago · Last pushed 11 months ago
Metadata Files
Readme Changelog License Citation

README.md

The Arctic Ocean's Carbon Cycle <!-- omit in toc -->

build License MIT license DOI

This repository hosts the code for the analysis and for producing the figures in our GRL paper on Arctic Ocean pCO2.

In this project we investigate continuous fields of surface ocean pCO2 in the Arctic Oceann. The data stem from the MPI-SOM-FFN data product (Landschützer, 2016), which uses a feed-forward neural network to fill gaps in the field of pCO2 observations.

Table of Contents <!-- omit in toc -->

Preparation

Cloning the project to your local machine

To reproduce the project, clone this repository on your machine

bash git clone https://github.com/markusritschel/ArcticOceanCO2-GRL-2024

and follow the following steps.

Setup

For most steps, there are Make targets provided (run make in the root directory) to get you started in the fastest possible way. To set up the project, simply run the following commands from the main directory:

First, run

```bash make conda-env

followed by

make install-requirements ```

to install the required packages either via conda or pip. Make sure that your new conda environment is active (conda activate <env-name>) before you run make install-requirements.

Then run

bash make src-available

to make the project's routines (located in src) available for import.

Finally, you can run

bash make tests

to run the tests via pytest (this is optional but ensures that the code runs).

[!NOTE] If you experience that something is not working (e.g. creating the documentation via make documentation) try to perform an update via mamba update --all. This might solve the problem.

[!NOTE] If you want to compile the documentation, then also run make install-doc-requirements. Make sure you install these after the package requirements as the first one uses conda and the second one pip due to package availability in the respective repositories.

Make data available

Next, make the data available or accessible under data/ (see project structure below and details in the documentation). If the project is dealing with large amounts of data that reside somewhere outside your home directory, I would suggest that you link the respective subdirectories inside data/. The Python scripts should be able to follow symlinks.

Re-creating the figures from the paper

The figures from the paper can be created by running the respective scripts in the scripts/ directory. Make sure that the data are made available as described in the previous section.

Project Structure

├── assets             <- A place for assets like shapefiles or config files
│
├── data               <- Contains all data used for the analyses in this project.
│   │                     The sub-directories can be links to the actual location of your data.
│   │                     However, they should never be under version control! (-> .gitignore)
│   ├── interim        <- Intermediate data that have been transformed from the raw data
│   ├── processed      <- The final, processed data used for the actual analyses
│   └── raw            <- The original, immutable(!) data
│
├── docs               <- The technical documentation (default engine: Jupyter-Book; but feel free to use 
│                         MkDocs, Sphinx, or anything similar).
│                         This should contain only documentation of the code and the assets.
│                         A report of the actual project should be placed in `reports/book`.
│
├── logs               <- Storage location for the log files being generated by scripts (tip: use `lnav` to view)
│
├── notebooks          <- Jupyter notebooks. Naming convention is a number (for ordering),
│   │                     and a short `-` or `_` delimited description, e.g. `01-initial-analyses`
│   ├── _paired        <- Optional location for your paired Jupyter notebook files
│   ├── exploratory    <- Notebooks for exploratory tasks
│   └── reports        <- Notebooks generating reports and figures
│
├── references         <- Data descriptions, manuals, and all other explanatory materials
│
├── reports            <- Generated reports (e.g. HTML, PDF, LaTeX, etc.)
│   ├── book           <- A Jupyter-Book describing the project
│   └── figures        <- Generated graphics and figures to be used in reporting
│
├── setup.py           <- makes project pip installable (pip install -e .) so src can be imported
├── scripts            <- High-level scripts that use (low-level) source code from `src/`
├── src                <- Source code (and only source code!) for use in this project
│   ├── tests          <- Contains tests for the code in `src/`
│   └── __init__.py    <- Makes src a Python module and provides some standard variables
│
├── .env               <- In this file, specify all your custom environment variables
│                         Keep this out of version control!
├── CHANGELOG.md       <- All major changes should go in there
├── LICENSE            <- The license used for this project
├── Makefile           <- A self-documenting Makefile for standard CLI tasks
├── pyproject.toml      <- Configuration file for the Python project
├── README.md          <- The top-level README of this project
└── requirements.txt   <- The requirements file for reproducing the analysis environment, e.g.
                          generated with `pip freeze > requirements.txt`

Maintainer

Contact & Issues

For any questions or issues, please contact me via git@markusritschel.de or open an issue.


© Markus Ritschel, 2024

Owner

  • Name: Markus Ritschel
  • Login: markusritschel
  • Kind: user
  • Location: Hamburg
  • Company: Doctoral candidate at the University of Hamburg and Max-Planck-Institute for Meteorology

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Ritschel"
  given-names: "Markus"
  orcid: "https://orcid.org/0000-0001-7464-7075"
title: "The Arctic Ocean's Carbon Cycle – Code repository"
version: 0.1.0
doi: 10.5281/zenodo.13334728
date-released: 2024-07-23
url: "https://github.com/markusritschel/ArcticOceanCO2-GRL-2024"

GitHub Events

Total
  • Delete event: 1
  • Push event: 10
  • Create event: 1
Last Year
  • Delete event: 1
  • Push event: 10
  • Create event: 1

Dependencies

.github/workflows/main.yml actions
  • actions/cache v4 composite
  • actions/checkout v4 composite
  • actions/deploy-pages v4 composite
  • actions/setup-python v5 composite
  • actions/upload-pages-artifact v3 composite
  • codecov/codecov-action v4 composite
docs/requirements.txt pypi
  • Sphinx *
  • furo *
  • jupyter-book *
  • jupytext *
  • lxml_html_clean *
  • myst-parser *
  • mystmd *
  • nbsphinx *
  • pydata-sphinx-theme *
  • rinohtype *
  • sphinx-autoapi *
  • sphinx-autodoc-defaultargs *
  • sphinx-autodoc-typehints *
  • sphinx-book-theme *
  • sphinx-comments *
  • sphinx-immaterial *
  • sphinx-issues *
  • sphinx-material *
  • sphinx-rtd-theme *
  • sphinx-tabs *
  • sphinx-toolbox *
  • sphinxcontrib-apidoc *
  • sphinxcontrib-bibtex *
  • sphinxcontrib-htmlhelp *
  • sphinxcontrib-images *
  • sphinxcontrib-mermaid *
  • sphinxcontrib-napoleon *
  • sphinxcontrib-napoleon2 *
pyproject.toml pypi
requirements.txt pypi
  • Deprecated *
  • click *
  • cmcrameri *
  • colorama *
  • dask *
  • geopandas *
  • ipython *
  • ipywidgets *
  • jupyter-book *
  • jupyterbook-latex *
  • jupyterlab *
  • jupyternotify *
  • jupytext *
  • markdown *
  • matplotlib *
  • mystmd *
  • nodejs *
  • numpy *
  • pandas *
  • pytest *
  • pytest-cov *
  • python-dotenv *
  • regionmask *
  • seaborn *
  • tqdm *
  • xarray *
environment.yml pypi
  • mpl-axes-aligner *