LorenzCycleToolkit

LorenzCycleToolkit: A Comprehensive Python Tool for Analyzing Atmospheric Energy Cycles - Published in JOSS (2024)

https://github.com/daniloceano/lorenzcycletoolkit

Science Score: 93.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 7 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

atmospheric-science data-analysis-python energetics meteorology scientific-research
Last synced: 4 months ago · JSON representation

Repository

Program for computing the Lorenz Energy Cycle (LEC) in a closed region of the atmosphere.

Basic Info
  • Host: GitHub
  • Owner: daniloceano
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 95.9 MB
Statistics
  • Stars: 8
  • Watchers: 1
  • Forks: 4
  • Open Issues: 0
  • Releases: 2
Topics
atmospheric-science data-analysis-python energetics meteorology scientific-research
Created over 4 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog License

README.md

LorenzCycleToolkit

DOI DOI Documentation Status License: GPL v3

Overview

The LorenzCycleToolkit is a tool for calculating the Lorenz Energy Cycle (LEC) in specific atmospheric regions. Introduced by Edward Lorenz in 1965, the LEC estimates atmospheric energy, including zonal and eddy components of Kinetic and Available Potential Energy, and the conversions between these forms.

Importance

  • Climate Studies: Improves understanding of energy exchanges, aiding climate predictions.
  • Weather Prediction: Comparison tool for weather models and forecasts.
  • Research and Education: Provides a structured approach for analyzing atmospheric energy flows.
  • Environmental Diagnostics: Serves as a diagnostic tool for atmospheric dynamics.

Applications

  • Synoptic-Scale Phenomena: Study extratropical cyclones and convergence zones.
  • Mesoscale Phenomena: Analyze energy transformations in tropical cyclones.
  • Model Comparison: Compare model dynamics with reanalysis data.

Features

  • Flexible Frameworks: Analyze fixed regions using Eulerian or Semi-Lagrangian frameworks.
  • User-Friendly: Simple command-line interface without needing to program scripts.
  • Customizable Inputs: Define custom domains and variable configurations.
  • Visualization Options: Generate detailed plots to visualize the energy cycle components.

Installation

For detailed installation instructions, please refer to the Installation Guide in the official documentation.

Documentation

For detailed documentation and usage instructions, visit the LorenzCycleToolkit Documentation.

Contributing

Contributions are welcome! Please see the contributing guide for more details.

Continuous Integration and Deployment

This project uses GitHub Actions and CircleCI for Continuous Integration (CI) and Continuous Deployment (CD).

  • CI Pipeline with GitHub Actions: The CI pipeline is triggered on each push and pull request to the repository. It runs the following steps:

    • Sets up the Python environment.
    • Installs dependencies.
    • Formats code using autopep8.
    • Sorts imports using isort.
    • Lints code using flake8.
    • Runs tests using pytest.
  • CI Pipeline with CircleCI: CircleCI is used to build, test, and publish the package. The pipeline runs the following steps:

    • Builds the package.
    • Checks if the wheel file exists.
    • Installs dependencies.
    • Installs the package.
    • Runs tests using pytest.
    • Publishes the package to TestPyPI for the develop branch.
    • Publishes the package to PyPI for the main branch.
  • CD Pipeline: The CD pipeline deploys the documentation to GitHub Pages whenever changes are pushed to the main branch.

You can view the CI/CD configuration in the following files: - python-app.yml - deploy-docs.yml - config.yml

This project is licensed under the GNU License Version 3. See the LICENSE file for details.

Owner

  • Name: Danilo Couto de Souza
  • Login: daniloceano
  • Kind: user
  • Location: São Paulo

JOSS Publication

LorenzCycleToolkit: A Comprehensive Python Tool for Analyzing Atmospheric Energy Cycles
Published
September 25, 2024
Volume 9, Issue 101, Page 7139
Authors
Danilo Couto de Souza ORCID
Institute of Astronomy, Geophysics and Atmospheric Sciences of the São Paulo University, Rua do Matão, 226, Cidade Universitária, 05508-090, São Paulo, Brazil
Pedro Leite Silva da Dias ORCID
Institute of Astronomy, Geophysics and Atmospheric Sciences of the São Paulo University, Rua do Matão, 226, Cidade Universitária, 05508-090, São Paulo, Brazil
Matheus Bonjour Laviola da Silva ORCID
OceanPact, Rua da Glória, 122, Rio de Janeiro, 20241-180, Rio de Janeiro, Brazil
Ricardo de Camargo ORCID
Institute of Astronomy, Geophysics and Atmospheric Sciences of the São Paulo University, Rua do Matão, 226, Cidade Universitária, 05508-090, São Paulo, Brazil
Editor
Hauke Schulz ORCID
Tags
meteorology atmospheric dynamics diagnostic cyclones

GitHub Events

Total
  • Watch event: 1
  • Push event: 3
  • Fork event: 1
Last Year
  • Watch event: 1
  • Push event: 3
  • Fork event: 1

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 586
  • Total Committers: 3
  • Avg Commits per committer: 195.333
  • Development Distribution Score (DDS): 0.031
Past Year
  • Commits: 7
  • Committers: 1
  • Avg Commits per committer: 7.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
daniloceano d****o@g****m 568
Danilo Couto d Souza d****a@M****l 16
daniloceano d****o@n****m 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 0
  • Total pull requests: 21
  • Average time to close issues: N/A
  • Average time to close pull requests: 28 minutes
  • Total issue authors: 0
  • Total pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 21
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: about 3 hours
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • daniloceano (23)
  • observingClouds (2)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

requirements.txt pypi
  • Shapely ==1.8.2
  • cartopy ==0.20.3
  • celluloid ==0.2.0
  • cmocean ==2.0
  • matplotlib ==3.5.2
  • metpy ==1.3.1
  • numpy ==1.23.1
  • pandas ==1.4.3
  • xarray ==2022.3.0