code_to_pinner_et_al_2025

Analysis code to Pinner et al., 2025

https://github.com/opinner/code_to_pinner_et_al_2025

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 9 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 (9.1%) to scientific vocabulary

Keywords

oceanography python turbulence
Last synced: 6 months ago · JSON representation ·

Repository

Analysis code to Pinner et al., 2025

Basic Info
  • Host: GitHub
  • Owner: opinner
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 26.7 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 8
Topics
oceanography python turbulence
Created almost 2 years ago · Last pushed 11 months ago
Metadata Files
Readme License Citation Zenodo

README.md

DOI DOI
output data regression test

Analysis code to the publication:

Pinner et al., 2025

Internal-wave-induced dissipation rates
in the Weddell Sea Bottom Water gravity current

The Weddell Sea Bottom Water gravity current transports dense water from the continental shelf to the deep sea and is crucial for the formation of new deep-sea water. Building on vertical profiles and time series measured in the northwestern Weddell Sea, we apply three methods to distinguish turbulence caused by internal waves from that by other sources. We find that in the upper part of the gravity current, internal waves are important for the mixing of less dense water down into the current.

Derived Quantities

The most important derived quantities are 3 transects across the continental slope of near-bottom dissipation rates:

  • Total dissipation rate $\pmb{\varepsilon}_\textbf{total, Thorpe}$
    Derived from CTD profiles and the Thorpe scale approach

  • Wave-induced dissipation rate $\pmb{\varepsilon}_\textbf{IGW, fine}$
    Derived from CTD profiles and the strain-based finestructure method

  • Wave-induced dissipation rate $\pmb{\varepsilon}_\textbf{IGW, IDEMIX}$
    Derived from velocity timeseries and parameterization from squared wave energy.

All data sets are saved as .csv files in the derived_data folder, with the vertical coordinate meters above the seafloor and horizontal coordinate longitude. Examples of use are shown in derived_data/examples.ipynb.

```mermaid flowchart TD subgraph In situ Measurements %% CTD@{shape: cyl, label: "IBSCO %% bathymetry" } %% CTD[bathy] CTD@{shape: cyl, label: "CTD profiles" } %% A2[CTD] %% CTD2@{shape: cyl, label: "CTD %% profiles" } A3@{shape: cyl, label: "velocity time series" } %% A3[series] end

subgraph **Pre-processing**
    CTD --> matlab[[""eos80_legacy_gamma_n matlab toolbox""]]
    CTD --> Nsquared[["GSW toolbox"]]
    matlab --> gamma["Neutral Density γⁿ"]
    Nsquared --> strat[Stratification N²]
end

subgraph **Spectral Analysis**
    A3 --> multitaper[[Multitaper]]
    multitaper --> spectrum[Energy spectra]
end

strat --> Thorpe
strat --> fine
strat --> idemix
gamma --> region

subgraph Turbulence Quantification %% CTD --> idemix[[wave energy/IDEMIX parameterization]] spectrum --> idemix[[wave energy/IDEMIX parameterization]]

fine[[Fine-structure]]
gamma --> Thorpe[[Thorpe Scales]]
%% TS --> fine[[finestructure]]
%% TS --> Thorpe[[Thorpe scales]]

end

subgraph **Derived Datasets**
    region[Region mask]
    fine --> epsfine["ε_{IGW, fine}"]
    Thorpe --> epstotal["ε_{total}"]
    idemix --> epsidemix["ε_{IGW, IDEMIX}"]
    A3-->M[Flowfield]
end

```

Reproducibility

Reproducing these works is unfortunately not straight forward, depending on your expertise. Multiple intermediate steps are needed to go from raw data to results. For example, I used a Matlab script to calculate neutral densities for all CTD profiles. Additionally, some of data files are not read in as .csv but as .mat files, due to early collaboration in the analysis. PS129 data is of right now unpublished and not yet converted into a neatly organized data set.

The high-level requirements are given in requirements.txt, with my complete python enviroment detailed in enviroment.yaml, and can be reinstalled by the installer/enviroment manager of your choice (pip, conda, etc.), for example by conda create --file requirements.txt.

Disclaimer

[!IMPORTANT]
- Although this code produces the results and figures to the accompanying paper, this repository occasionally contains unused code snippets and partial documentation. - Comments or corrections to the code can be given on GitHub as issues.
- Note that figures created here can differ slightly from the published versions, as some post-processing (adjustements and labeling) were made with Inkscape.

Owner

  • Name: Ole Pinner
  • Login: opinner
  • Kind: user
  • Location: Bremerhaven, Germany
  • Company: Alfred-Wegener Institute for Polar and Marine Research

PhD Student and polar ocean scientist

Citation (CITATION.cff)

message: "If you use this software, please cite it as below."
authors:
- family-names: "Pinner"
  given-names: "Ole"
  orcid: "https://orcid.org/0000-0002-4314-6232"
title: "Analysis code to: Internal-wave-induced dissipation rates in the Weddell Sea Bottom Water gravity current (Pinner et al., 2025)"
version: v1.0.0
doi: "10.5281/zenodo.13134608"
date-released: 2025-03-27
url: "https://github.com/opinner/Pinner_et_al_2025"

GitHub Events

Total
  • Release event: 4
  • Push event: 10
  • Create event: 3
Last Year
  • Release event: 4
  • Push event: 10
  • Create event: 3

Dependencies

requirements.txt pypi
  • Babel ==2.11.0
  • Bottleneck ==1.3.7
  • Brotli ==1.0.9
  • Cartopy ==0.21.1
  • Jinja2 ==3.1.3
  • MarkupSafe ==2.1.3
  • PyQt5 ==5.15.10
  • PyQt5-sip ==12.13.0
  • PySocks ==1.7.1
  • PyYAML ==6.0.1
  • Pygments ==2.15.1
  • QtPy ==2.4.1
  • Send2Trash ==1.8.2
  • anyio ==4.2.0
  • argon2-cffi ==21.3.0
  • argon2-cffi-bindings ==21.2.0
  • asttokens ==2.0.5
  • async-lru ==2.0.4
  • attrs ==23.1.0
  • backcall ==0.2.0
  • beautifulsoup4 ==4.12.2
  • bleach ==4.1.0
  • certifi ==2024.2.2
  • cffi ==1.16.0
  • cftime ==1.6.2
  • charset-normalizer ==2.0.4
  • cmocean ==4.0.3
  • colorama ==0.4.6
  • colorlog ==5.0.1
  • colorspacious ==1.1.2
  • comm ==0.2.1
  • contourpy ==1.0.5
  • cycler ==0.11.0
  • debugpy ==1.6.7
  • decorator ==5.1.1
  • defusedxml ==0.7.1
  • easydev ==0.12.0
  • exceptiongroup ==1.2.0
  • executing ==0.8.3
  • fastjsonschema ==2.16.2
  • fonttools ==4.51.0
  • geographiclib ==2.0
  • geopy ==2.4.1
  • gsw ==3.6.17
  • idna ==3.7
  • importlib-metadata ==7.0.1
  • importlib-resources ==6.1.1
  • ipykernel ==6.28.0
  • ipython ==8.12.2
  • ipywidgets ==8.1.2
  • jedi ==0.18.1
  • json5 ==0.9.6
  • jsonschema ==4.19.2
  • jsonschema-specifications ==2023.7.1
  • jupyter ==1.0.0
  • jupyter-console ==6.6.3
  • jupyter-events ==0.8.0
  • jupyter-lsp ==2.2.0
  • jupyter_client ==8.6.0
  • jupyter_core ==5.5.0
  • jupyter_server ==2.10.0
  • jupyter_server_terminals ==0.4.4
  • jupyterlab ==4.0.11
  • jupyterlab-pygments ==0.1.2
  • jupyterlab-widgets ==3.0.10
  • jupyterlab_server ==2.25.1
  • kiwisolver ==1.4.4
  • llvmlite ==0.36.0
  • matplotlib ==3.7.2
  • matplotlib-inline ==0.1.6
  • missingno ==0.4.2
  • mistune ==2.0.5
  • mixsea ==0.1.2
  • multitaper ==1.2.0
  • nbclient ==0.8.0
  • nbconvert ==7.3.1
  • nbformat ==5.9.2
  • nest-asyncio ==1.6.0
  • netCDF4 ==1.6.2
  • notebook ==7.0.8
  • notebook_shim ==0.2.3
  • numba ==0.53.1
  • numexpr ==2.8.4
  • numpy ==1.24.3
  • overrides ==7.4.0
  • packaging ==23.2
  • pandas ==2.0.3
  • pandocfilters ==1.5.0
  • parso ==0.8.3
  • pexpect ==4.8.0
  • pickleshare ==0.7.5
  • pillow ==10.3.0
  • pip ==23.3.1
  • pkgutil_resolve_name ==1.3.10
  • platformdirs ==3.10.0
  • ply ==3.11
  • pooch ==1.7.0
  • prometheus-client ==0.14.1
  • prompt-toolkit ==3.0.43
  • psutil ==5.9.0
  • ptyprocess ==0.7.0
  • pure-eval ==0.2.2
  • pycparser ==2.21
  • pyparsing ==3.0.9
  • pyproj ==3.4.1
  • pyshp ==2.3.1
  • python-dateutil ==2.8.2
  • python-json-logger ==2.0.7
  • pytz ==2024.1
  • pyzmq ==25.1.2
  • qtconsole ==5.5.1
  • referencing ==0.30.2
  • requests ==2.31.0
  • rfc3339-validator ==0.1.4
  • rfc3986-validator ==0.1.1
  • rpds-py ==0.10.6
  • scipy ==1.10.1
  • seaborn ==0.12.2
  • setuptools ==68.2.2
  • shapely ==2.0.1
  • sip ==6.7.12
  • six ==1.16.0
  • sniffio ==1.3.0
  • soupsieve ==2.5
  • spectrum ==0.8.1
  • src ==0.0.0
  • stack-data ==0.2.0
  • terminado ==0.17.1
  • tinycss2 ==1.2.1
  • tomli ==2.0.1
  • tornado ==6.3.3
  • traitlets ==5.7.1
  • typing_extensions ==4.9.0
  • tzdata ==2023.3
  • unicodedata2 ==15.1.0
  • urllib3 ==2.1.0
  • wcwidth ==0.2.5
  • webencodings ==0.5.1
  • websocket-client ==0.58.0
  • wheel ==0.41.2
  • widgetsnbextension ==4.0.10
  • xarray ==2022.11.0
  • zipp ==3.17.0
setup.py pypi
.github/workflows/python-app.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v3 composite
environment.yml conda
  • _libgcc_mutex 0.1
  • _openmp_mutex 4.5
  • anyio 4.2.0
  • argon2-cffi 21.3.0
  • argon2-cffi-bindings 21.2.0
  • asttokens 2.0.5
  • async-lru 2.0.4
  • attrs 23.1.0
  • babel 2.11.0
  • backcall 0.2.0
  • beautifulsoup4 4.12.2
  • blas 1.0
  • bleach 4.1.0
  • bottleneck 1.3.7
  • brotli 1.0.9
  • brotli-bin 1.0.9
  • brotli-python 1.0.9
  • bzip2 1.0.8
  • c-ares 1.19.1
  • ca-certificates 2024.3.11
  • cartopy 0.21.1
  • certifi 2024.2.2
  • cffi 1.16.0
  • cftime 1.6.2
  • charset-normalizer 2.0.4
  • cmocean 4.0.3
  • colorama 0.4.6
  • colorlog 5.0.1
  • colorspacious 1.1.2
  • comm 0.2.1
  • contourpy 1.0.5
  • cycler 0.11.0
  • cyrus-sasl 2.1.28
  • dbus 1.13.18
  • debugpy 1.6.7
  • decorator 5.1.1
  • defusedxml 0.7.1
  • easydev 0.12.0
  • exceptiongroup 1.2.0
  • executing 0.8.3
  • expat 2.6.2
  • fontconfig 2.14.1
  • fonttools 4.51.0
  • freetype 2.12.1
  • geographiclib 2.0
  • geopy 2.4.1
  • geos 3.8.0
  • glib 2.78.4
  • glib-tools 2.78.4
  • gst-plugins-base 1.14.1
  • gstreamer 1.14.1
  • gsw 3.6.17
  • hdf4 4.2.13
  • hdf5 1.12.1
  • icu 73.1
  • idna 3.7
  • importlib-metadata 7.0.1
  • importlib_metadata 7.0.1
  • importlib_resources 6.1.1
  • ipykernel 6.28.0
  • ipython 8.12.2
  • ipywidgets 8.1.2
  • jedi 0.18.1
  • jinja2 3.1.3
  • jpeg 9e
  • json5 0.9.6
  • jsonschema 4.19.2
  • jsonschema-specifications 2023.7.1
  • jupyter 1.0.0
  • jupyter-lsp 2.2.0
  • jupyter_client 8.6.0
  • jupyter_console 6.6.3
  • jupyter_core 5.5.0
  • jupyter_events 0.8.0
  • jupyter_server 2.10.0
  • jupyter_server_terminals 0.4.4
  • jupyterlab 4.0.11
  • jupyterlab_pygments 0.1.2
  • jupyterlab_server 2.25.1
  • jupyterlab_widgets 3.0.10
  • kiwisolver 1.4.4
  • krb5 1.20.1
  • lcms2 2.12
  • ld_impl_linux-64 2.38
  • lerc 3.0
  • libbrotlicommon 1.0.9
  • libbrotlidec 1.0.9
  • libbrotlienc 1.0.9
  • libclang 14.0.6
  • libclang13 14.0.6
  • libcups 2.4.2
  • libcurl 8.5.0
  • libdeflate 1.17
  • libedit 3.1.20230828
  • libev 4.33
  • libffi 3.4.4
  • libgcc-ng 13.2.0
  • libgfortran-ng 11.2.0
  • libgfortran5 11.2.0
  • libglib 2.78.4
  • libgomp 13.2.0
  • libiconv 1.16
  • libllvm10 10.0.1
  • libllvm14 14.0.6
  • libnetcdf 4.8.1
  • libnghttp2 1.57.0
  • libopenblas 0.3.21
  • libpng 1.6.39
  • libpq 12.17
  • libsodium 1.0.18
  • libssh2 1.10.0
  • libstdcxx-ng 11.2.0
  • libtiff 4.5.1
  • libuuid 1.41.5
  • libwebp-base 1.3.2
  • libxcb 1.15
  • libxkbcommon 1.0.1
  • libxml2 2.10.4
  • libzip 1.8.0
  • llvmlite 0.36.0
  • lz4-c 1.9.4
  • markupsafe 2.1.3
  • matplotlib 3.7.2
  • matplotlib-base 3.7.2
  • matplotlib-inline 0.1.6
  • mistune 2.0.4
  • multitaper 1.2.0
  • mysql 5.7.24
  • nbclient 0.8.0
  • nbconvert 7.10.0
  • nbformat 5.9.2
  • ncurses 6.4
  • nest-asyncio 1.6.0
  • netcdf4 1.6.2
  • notebook 7.0.8
  • notebook-shim 0.2.3
  • numba 0.53.1
  • numexpr 2.8.4
  • numpy 1.24.3
  • numpy-base 1.24.3
  • openjpeg 2.4.0
  • openssl 3.0.13
  • overrides 7.4.0
  • packaging 23.2
  • pandas 2.0.3
  • pandocfilters 1.5.0
  • parso 0.8.3
  • pcre2 10.42
  • pexpect 4.8.0
  • pickleshare 0.7.5
  • pillow 10.3.0
  • pip 23.3.1
  • pkgutil-resolve-name 1.3.10
  • platformdirs 3.10.0
  • ply 3.11
  • pooch 1.7.0
  • proj 8.2.1
  • prometheus_client 0.14.1
  • prompt-toolkit 3.0.43
  • prompt_toolkit 3.0.43
  • psutil 5.9.0
  • ptyprocess 0.7.0
  • pure_eval 0.2.2
  • pycparser 2.21
  • pygments 2.15.1
  • pyparsing 3.0.9
  • pyproj 3.4.1
  • pyqt 5.15.10
  • pyqt5-sip 12.13.0
  • pyshp 2.3.1
  • pysocks 1.7.1
  • python 3.8.18
  • python-dateutil 2.8.2
  • python-fastjsonschema 2.16.2
  • python-json-logger 2.0.7
  • python-tzdata 2023.3
  • python_abi 3.8
  • pytz 2024.1
  • pyyaml 6.0.1
  • pyzmq 25.1.2
  • qt-main 5.15.2
  • qtconsole 5.5.1
  • qtpy 2.4.1
  • readline 8.2
  • referencing 0.30.2
  • requests 2.31.0
  • rfc3339-validator 0.1.4
  • rfc3986-validator 0.1.1
  • rpds-py 0.10.6
  • scipy 1.10.1
  • seaborn 0.12.2
  • send2trash 1.8.2
  • setuptools 68.2.2
  • shapely 2.0.1
  • sip 6.7.12
  • six 1.16.0
  • sniffio 1.3.0
  • soupsieve 2.5
  • spectrum 0.8.1
  • sqlite 3.41.2
  • stack_data 0.2.0
  • tbb 2020.3
  • terminado 0.17.1
  • tinycss2 1.2.1
  • tk 8.6.12
  • tomli 2.0.1
  • tornado 6.3.3
  • traitlets 5.7.1
  • typing-extensions 4.9.0
  • typing_extensions 4.9.0
  • unicodedata2 15.1.0
  • urllib3 2.1.0
  • wcwidth 0.2.5
  • webencodings 0.5.1
  • websocket-client 0.58.0
  • wheel 0.41.2
  • widgetsnbextension 4.0.10
  • xz 5.4.6
  • yaml 0.2.5
  • zeromq 4.3.5
  • zipp 3.17.0
  • zlib 1.2.13
  • zstd 1.5.5