https://github.com/coecms/xmhw

Xarray version of Marine Heatwaves code by Eric Olivier

https://github.com/coecms/xmhw

Science Score: 23.0%

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

  • CITATION.cff file
  • codemeta.json file
  • .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 (14.2%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

Xarray version of Marine Heatwaves code by Eric Olivier

Basic Info
Statistics
  • Stars: 25
  • Watchers: 9
  • Forks: 10
  • Open Issues: 15
  • Releases: 9
Created almost 6 years ago · Last pushed 10 months ago
Metadata Files
Readme License Authors

README.rst

=============================
 `xmhw `_
=============================

XMHW - Xarray based Marine HeatWave code -  

.. image:: https://readthedocs.org/projects/xmhw/badge/?version=latest
  :target: https://xmhw.readthedocs.io/en/latest/
.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.7668235.svg
   :target: https://doi.org/10.5281/zenodo.7668235

.. content-marker-for-sphinx

XMHW identifies marine heatwaves from a timseries of Sea Surface Temperature data and calculates statistics associated to the detected heatwaves. It is based on the `marineHeatWaves code `_ by Eric Olivier 

Functions:

- **threshold**  
- **detect** 
- **block_average**  work in progress!!
- **mhw_rank**       work in progress!!

As this code uses xarray results are xarray datasets.

-------
Install
-------

    You can install the latest version of xmhw directly from conda (coecms channel)

    conda install -c coecms -c conda-forge xmhw

    If you want to install an unstable version or a different branch:

    * git clone https://github.com/coecms/xmhw
    * git checkout    (if installing a a different branch from master)
    * cd xmhw
    * python setup.py install or pip install ./
      use --user with either othe commands if you want to install it in ~/.local

    
---
Use
---

Some examples of how to use the functions and explanations of how the functions work are shown in the readthedocs documentation linked above and the `xmhw_demo.ipynb notebook _` in the docs folder.

----------------------
Latest version v 0.9.3
----------------------

Main updates:
    * Fixed missing initialisation of point boolean variable to False 
    
----------------------
Version v 0.9.2
----------------------

Main updates:
    * Updated coordinates handling following recent updates of xarray

    * Added a separate workflow if only a single point time-series is passed as input, the functions are called in the same way, the code will check number of dimensions and if when only one dimension I present it will skip the operations needed to work with multidimensional grids

----------------------
Version v 0.8.0
----------------------

Main updates:
    * Added a tstep (timestep) option to use the original timestep of the timeseries passed as input as step, rather than assuming data is daily. This allows to calculate climatologies and detect mhw events at different frequency.
    * Added conda support
    * Added readthedocs documentation
     

---------------
Version v 0.7.0
---------------

Main updates:
    * redesigned threshold function, to make it faster
      In particular there is an option to run the averages and percentile calculation without skipping NaNs.
      This makes the calculation faster.
    * Instead of delayed the entire main function calculating both climatologies, the calculation of percentile and seasonal average were further separated so they are now both delayed, so it is the runavg() function used to smooth them. This allows more parallelisation.
    * There are more options to manage the handling of NaNs this are explained in the demo notebook
    * Improved documentation of functions 

Disclaimer!!
------------

This is a work in progress, I tested both threshold and detect and these can reproduced Eric Olivier results with the data I used.
Still I haven't extensively tested this and most unit tests in the code need updating.
In particular the code is potentially not ready for timeseries with a 360 days calendar year

I am currently working on block_average and mhw_rank functions.

~~~~~



Owner

  • Name: ARC COE for Climate Extremes: Computational Modelling Systems
  • Login: coecms
  • Kind: organization

GitHub Events

Total
  • Create event: 2
  • Release event: 1
  • Issues event: 3
  • Watch event: 2
  • Issue comment event: 5
  • Push event: 5
  • Pull request event: 2
Last Year
  • Create event: 2
  • Release event: 1
  • Issues event: 3
  • Watch event: 2
  • Issue comment event: 5
  • Push event: 5
  • Pull request event: 2

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 3
  • Total pull requests: 1
  • Average time to close issues: 10 months
  • Average time to close pull requests: 4 days
  • Total issue authors: 3
  • Total pull request authors: 1
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 1
  • Average time to close issues: about 1 hour
  • Average time to close pull requests: 4 days
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Eisbrenner (1)
  • svenja-ryan (1)
  • DeerFCB (1)
Pull Request Authors
  • paolap (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

requirements.txt pypi
  • dask *
  • numpy *
  • pandas *
  • xarray >=0.16.0
.github/workflows/xmhw-conda.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
conda/environment.yml pypi
setup.py pypi