hn2016_falwa

Python library for computing Finite-Amplitude Local Wave Activity Diagnostics from climate data.

https://github.com/csyhuang/hn2016_falwa

Science Score: 59.0%

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

  • 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: wiley.com, zenodo.org
  • Committers with academic emails
    2 of 7 committers (28.6%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.9%) to scientific vocabulary

Keywords

climate climate-analysis climate-data climate-data-analysis climate-science hacktoberfest python science science-research

Keywords from Contributors

projection interactive serializer cycles packaging charts network-simulation archival shellcodes hacking
Last synced: 6 months ago · JSON representation

Repository

Python library for computing Finite-Amplitude Local Wave Activity Diagnostics from climate data.

Basic Info
Statistics
  • Stars: 39
  • Watchers: 3
  • Forks: 18
  • Open Issues: 12
  • Releases: 33
Topics
climate climate-analysis climate-data climate-data-analysis climate-science hacktoberfest python science science-research
Created over 9 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License

readme.md

Python Library: falwa (v2.2.0)

Python packagecodecov.ioDocumentation StatusDOI

Important: this python package has been renamed from hn2016_falwa to falwa since version v1.0.0.

hn2016_falwa_diagram

Compute from gridded climate data the Finite-amplitude Local Wave Activity (FALWA) and flux terms presented in:

Citing this package

We would be grateful if you mention falwa and cite our software package paper published in the Geoscience Data Journal upon usage:

Huang, C. S. Y., Polster, C., & Nakamura, N. (2025). Falwa: Python Package to Implement Finite‐Amplitude Local Wave Activity Diagnostics on Climate Data. Geoscience Data Journal, 12(2), e70006.

@article{huang_polster_nakamura_2025, title={Falwa: Python Package to Implement Finite-Amplitude Local Wave Activity Diagnostics on Climate Data}, author={Huang, Clare S Y and Polster, Christopher and Nakamura, Noboru}, journal={Geoscience Data Journal}, volume={12}, number={2}, pages={e70006}, year={2025}, doi = {10.1002/GDJ3.70006}, publisher={Wiley Online Library}}

Package Installation

Attention: substantial changes took place in release v2.0.0. Installation in develop mode is no longer available.

Since release v2.0.0, the F2PY modules in falwa is compiled with meson (See Issue #95 for details) to cope with the deprecation of numpy.disutils in python 3.12.

First-time installation

  1. To build the package from source, you need a fortran compiler (e.g., gfortran) to implement the installation.
  2. Clone the package repo by git clone https://github.com/csyhuang/hn2016_falwa.git .
  3. Navigate into the repository and set up a python environment satisfying the installation requirement by conda env create -f environment.yml. The environment name in the file is set to be falwa_env (which users can change).
  4. Install the package with the command python -m pip install .. The compile modules will be saved to python site-packages directory.
  5. If the installation is successful, you should be able to run through all unit tests in the folder tests/ by executing pytest tests/.

Get updated code from new releases

  1. To incorporate updates, first, pull the new version of the code from GitHub by git pull.
  2. Uninstall existing version of falwa: pip uninstall falwa
  3. If there is change in environment.yml, remove the existing environment by conda remove --name falwa_env --all and create the environment again from the updated YML file: conda env create -f environment.yml.
  4. Reinstall the updated version by python -m pip install ..
  5. Run through all unit tests in the folder tests/ by executing pytest tests/ to make sure the package has been properly installed.

Quick start

There are some readily run python scripts (in scripts/) and jupyter notebooks (in notebooks/) which you can start with. The netCDF files needed can be found in Clare's Dropbox folder.

Depending on what you want to do, the methods to be use may be different.

  1. If you solely want to compute equivalent latitude and local wave activity from a 2D field, you can refer to notebooks/simple/Example_barotropic.ipynb. This is useful for users who want to use LWA to quantify field anomalies.

  2. If you want to compute zonal wind reference states and wave activity fluxes in QG Formalism, look at notebooks/nh2018_science/demo_script_for_nh2018.ipynb for the usage of QGField. This notebook demonstrates how to compute wave activity and reference states presented in Nakamura and Huang (2018). To make sure the package is properly installed in your environment, run through the notebook after installation to see if there is error.

Inquiries / Issues reporting

  • If you are interested in getting email message related to update of this package, please leave your contact here such that I can keep you updated of any changes made.
  • If you encounter coding issues/bugs when using the package, please create an Issue ticket.
  • If you have scientific questions, please create a thread in the Discussion Board with the category "General" or "Q&A" according to the circumstance.

Owner

  • Name: Clare S. Y. Huang
  • Login: csyhuang
  • Kind: user

Data Scientist. Climate Scientist. Ph.D in Geophysical Sciences (U of Chicago). Love coding, writing and playing music.

GitHub Events

Total
  • Create event: 13
  • Release event: 2
  • Issues event: 8
  • Watch event: 3
  • Delete event: 11
  • Issue comment event: 11
  • Push event: 354
  • Pull request review event: 2
  • Pull request event: 8
  • Fork event: 2
Last Year
  • Create event: 13
  • Release event: 2
  • Issues event: 8
  • Watch event: 3
  • Delete event: 11
  • Issue comment event: 11
  • Push event: 354
  • Pull request review event: 2
  • Pull request event: 8
  • Fork event: 2

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 588
  • Total Committers: 7
  • Avg Commits per committer: 84.0
  • Development Distribution Score (DDS): 0.107
Past Year
  • Commits: 97
  • Committers: 2
  • Avg Commits per committer: 48.5
  • Development Distribution Score (DDS): 0.062
Top Committers
Name Email Commits
csyhuang c****g@u****u 525
Christopher Polster c****e@t****o 44
Pragallva Barpanda p****a@l****o 9
veredsil v****n@g****m 4
dependabot[bot] 4****] 3
Shao Ying Huang c****g@w****u 2
Huang, Clare c****g@c****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 76
  • Total pull requests: 52
  • Average time to close issues: 4 months
  • Average time to close pull requests: 13 days
  • Total issue authors: 14
  • Total pull request authors: 5
  • Average comments per issue: 1.86
  • Average comments per pull request: 1.21
  • Merged pull requests: 47
  • Bot issues: 0
  • Bot pull requests: 4
Past Year
  • Issues: 5
  • Pull requests: 7
  • Average time to close issues: 4 months
  • Average time to close pull requests: 11 days
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 0.6
  • Average comments per pull request: 2.14
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • csyhuang (54)
  • sandrolubis (4)
  • miniufo (2)
  • hs2112 (2)
  • Veenarinesingh (2)
  • chpolste (2)
  • AminFazlKazemi (2)
  • hungilee (1)
  • chauncy-git (1)
  • GuidoDavoli (1)
  • semvijverberg (1)
  • Pragallva (1)
  • paologhinassi (1)
  • mpecnjak (1)
Pull Request Authors
  • csyhuang (36)
  • chpolste (16)
  • dependabot[bot] (7)
  • Pragallva (2)
  • veredsil (1)
Top Labels
Issue Labels
contributions welcome (10) enhancement (9) MDTF (9) help wanted (5) scientific question (4) release1.3 (4) bug (3) release2.1 (3) release2.2 (2) good first issue (1) Hacktoberfest (1) release1.4 (1)
Pull Request Labels
dependencies (7) release2.1 (4) release2.2 (3) release1.0 (1) release (1)

Packages

  • Total packages: 3
  • Total downloads:
    • pypi 81 last-month
  • Total dependent packages: 1
    (may contain duplicates)
  • Total dependent repositories: 1
    (may contain duplicates)
  • Total versions: 56
  • Total maintainers: 1
proxy.golang.org: github.com/csyhuang/hn2016_falwa
  • Versions: 30
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
pypi.org: hn2016-falwa

This python package has been renamed from `hn2016_falwa` to `falwa` since version v1.0.0.

  • Versions: 18
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 37 Last month
Rankings
Dependent packages count: 7.3%
Forks count: 10.2%
Stargazers count: 12.1%
Average: 15.0%
Dependent repos count: 22.1%
Downloads: 23.1%
Maintainers (1)
Last synced: 6 months ago
pypi.org: falwa

Python package to compute finite-amplitude local wave activity diagnostics (Huang and Nakamura 2016, JAS)

  • Documentation: https://hn2016-falwa.readthedocs.io/
  • License: Copyright (c) 2015-2024 Clare S. Y. Huang Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  • Latest release: 2.2.0
    published 9 months ago
  • Versions: 8
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 44 Last month
Rankings
Dependent packages count: 10.0%
Forks count: 10.2%
Stargazers count: 12.0%
Average: 25.0%
Dependent repos count: 67.7%
Maintainers (1)
Last synced: 6 months ago

Dependencies

environment.yml conda
  • numpy
  • pytest
  • scipy
  • xarray
examples/environment.yml conda
  • ecmwfapi
  • jupyterlab
  • matplotlib 2.2.2.*
  • netcdf4
  • numpy
  • pytest
  • scipy
docs/requirements.txt pypi
  • numpy *
  • readthedocs-sphinx-search ==0.1.1
  • scipy *
  • sphinx ==3.2.1
  • sphinx_rtd_theme ==1.0.0
  • xarray *
requirements.txt pypi
  • numpy *
  • pytest *
  • scipy *
  • xarray *
.github/workflows/workflow.yml actions
  • actions/checkout v2 composite
  • actions/setup-python master composite