meteoevt

R-Package: Computation and Visualization of Energetic and Vortical Atmospheric Quantities

https://github.com/noctiluc3nt/meteoevt

Science Score: 46.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
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
    1 of 3 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.0%) to scientific vocabulary

Keywords

atmospheric-dynamics cran dsi meteorology r r-package vorticity
Last synced: 6 months ago · JSON representation

Repository

R-Package: Computation and Visualization of Energetic and Vortical Atmospheric Quantities

Basic Info
  • Host: GitHub
  • Owner: noctiluc3nt
  • Language: R
  • Default Branch: master
  • Homepage:
  • Size: 655 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 1
  • Releases: 1
Topics
atmospheric-dynamics cran dsi meteorology r r-package vorticity
Created over 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme

README.md

meteoEVT: Computation and Visualization of Energetic and Vortical Atmospheric Quantities

CRAN status Downloads (total) Last Commit License <!-- badges: end -->

Energy-Vorticity theory (EVT) is the fundamental theory to describe processes in the atmosphere by combining conserved quantities from hydrodynamics and thermodynamics. The package 'meteoEVT' provides functions to calculate many energetic and vortical quantities, e.g., potential vorticity, Bernoulli function and dynamic state index (DSI) [e.g. Weber and Nevir, 2008, doi:10.1111/j.1600-0870.2007.00272.x], for given gridded data, e.g., ERA5 reanalyses. These quantities can be studied directly or can be used for many applications in meteorology, e.g., the objective identification of vortices or atmospheric fronts. For this purpose, several functions are provided which allow the detection of fronts based on the thermic front parameter [Hewson, 1998, doi:10.1017/S1350482798000553], the F diagnostic [Parfitt et al., 2017, doi:10.1002/2017GL073662] and the DSI [Mack et al., 2022, arXiv:2208.11438]

Installation

Installing the current version of meteoEVT from CRAN: r install.packages("meteoEVT")

Installing the current (development) version of meteoEVT from github: r devtools::install_git("https://github.com/noctiluc3nt/meteoEVT")

Functionality

The package provides functions to calculate: - calc_evt.R: potential temperature, Bernoulli function, vorticity, enstrophy, helicity, Lamb vector, potential vorticity, dynamic state index - calc_tensors.R: vorticity tensor, strain-rate tensor, Q-invariant, kinematic vorticity number, hydrodynamic charge - calc_fronts.R: front identification based on thermic front parameter, F-diagnostic and dynamic state index

Provided auxiliary functions: - diff_operators.R: collection of differential operators - readin.R: handling ERA5 data - plot_functions.R: customized plotting functions

Examples

Here is an example showing the analysis of winter storm ZEYNEP/EUNICE over Germany on 18.02.2022:

``` r

step 1: read in the data

data = readinera5('meteoEVT/inst/extdata/era5storm-zeynep.nc')

step 2: custom plot layout (optional)

par(mfrow=c(2,3)) par(cex.main=1.8,cex.lab=1.8,cex.axis=1.8) par(mar=c(4, 5, 4, 2) + 0.1) nl=length(data$lat) library('latex2exp')

step 3: calculation and visualization

calculate potential temperature

theta=calctheta(data$temp,data$lev) fillhoriz(data$lon,rev(data$lat),theta[,nl:1,3], main='Potential Temperature @ 600 hPa\nStorm ZEYNEP 18.02.2022 18 UTC', levels=c(29,seq(29.5,30.8,0.1),32)*10^1, legendloc='bottomleft', legendtitle=TeX('$\theta$ \[K\]'),xlab='lon',ylab='lat')

calculate Bernoulli function

bernoulli=calcbernoulli(data$temp,data$u,data$v,data$w,data$z) fillhoriz(data$lon,rev(data$lat),bernoulli[,nl:1,3], main='Bernoulli function @ 600 hPa\nStorm ZEYNEP 18.02.2022 18 UTC', levels=c(29,seq(29.4,31,0.1),32)*10^4, legendloc='bottomleft', legendtitle=TeX('B \[$m^2/s^2$\]'),xlab='lon',ylab='lat')

calculate vorticity

xi=calcvorticity(data$u,data$v,data$w,data$lev,lat=data$lat) fillhoriz(data$lon,rev(data$lat),xi[,nl:1,3,3], main='Vorticity @ 600 hPa\nStorm ZEYNEP 18.02.2022 18 UTC', levels=c(-10,seq(-4,4,0.1),10)*10^-4, legendloc='bottomleft', legendtitle=TeX('vorticity \[$s^{-1}$\]'),xlab='lon',ylab='lat')

calculate helicity density

hel=calchelicity(data$u,data$v,data$w,data$lev,lat=data$lat) fillhoriz(data$lon,rev(data$lat),hel[,nl:1,3], main='Helicity @ 600 hPa\nStorm ZEYNEP 18.02.2022 18 UTC', levels=c(-10,seq(-3,3,0.1),10)*10^-2,legendloc='bottomleft', legendtitle=TeX('helicity \[$m/s^2$\]'),xlab='lon',ylab='lat')

calculate PV

pv=calcpv(data$temp,data$u,data$v,data$w,data$lev,lat=data$lat) fillhoriz(data$lon,rev(data$lat),pv[,nl:1,3]*10^6, main='PV @ 600 hPa\nStorm ZEYNEP 18.02.2022 18 UTC', levels=c(-10,seq(0,4,0.1),10), legendloc='bottomleft', legendtitle=TeX('PV \[PVU\]'),xlab='lon',ylab='lat')

calculate DSI

dsi=calcdsi(data$temp,data$u,data$v,data$w,data$z,levp=data$lev,lat=data$lat) fillhoriz(data$lon,rev(data$lat),dsi[,nl:1,3]10^12, main='DSI @ 600 hPa\nStorm ZEYNEP 18.02.2022 18 UTC', levels=c(-10,seq(-1,1,0.1),10)10^-3, legendloc='bottomleft', legend_title=TeX('DSI \[PVU^2/s\]'),xlab='lon',ylab='lat') ```

The output figure looks:

Using the function frontid you can detect atmospheric fronts and analyze their properties: ```r

front identification using the thermic front parameter (example without front statistic)

tfpfronts=frontid(data$temp,levp=data$lev,lat=data$lat,fronts_only=TRUE)

front identification using F diagnostic (example with front statistic)

ffronts=frontid(data$temp,data$u,data$v,data$w,data$z,levp=data$lev,lat=data$lat, method='f',threshold=2,fronts_only=FALSE)

front identification using the dynamic state index (example with statistic)

dsifronts=frontid(data$temp,data$u,data$v,data$w,data$z,levp=data$lev,lat=data$lat, method='dsi',threshold=4*10^-16,fronts_only=FALSE) ``` For details and plots generated with this function, see Mack et al., 2022.

References

  • Weber, T. and Névir, P. (2008). Storm tracks and cyclone development using the theoretical concept of the Dynamic State Index (DSI). Tellus A, 60(1):1–10.
  • Parfitt, R., Czaja, A., and Seo, H. (2017). A simple diagnostic for the detection of atmospheric fronts. Geophys. Res. Lett., 44:4351–4358.
  • Hewson, T. D. (1998). Objective fronts. Meteorol. Appl., 5:37–65.
  • Mack, L., Rudolph, A. and Névir, P. (2022). Identifying atmospheric fronts based on diabatic processes using the dynamic state index (DSI), arXiv:2208.11438.

Owner

  • Name: Laura Mack
  • Login: noctiluc3nt
  • Kind: user

GitHub Events

Total
Last Year

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 9
  • Total Committers: 3
  • Avg Commits per committer: 3.0
  • Development Distribution Score (DDS): 0.667
Past Year
  • Commits: 1
  • Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
noctiluc3nt n****t@g****m 3
noctiluc3nt l****n@g****e 3
noctiluc3nt l****k@f****e 3
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 3
  • Total pull requests: 2
  • Average time to close issues: over 1 year
  • Average time to close pull requests: 1 minute
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: 1 minute
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • noctiluc3nt (3)
Pull Request Authors
  • noctiluc3nt (3)
Top Labels
Issue Labels
enhancement (3)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 202 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 1
  • Total maintainers: 1
cran.r-project.org: meteoEVT

Computation and Visualization of Energetic and Vortical Atmospheric Quantities

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 202 Last month
Rankings
Forks count: 28.8%
Dependent packages count: 29.8%
Stargazers count: 35.2%
Dependent repos count: 35.5%
Average: 41.5%
Downloads: 78.1%
Maintainers (1)
Last synced: 6 months ago

Dependencies

DESCRIPTION cran
  • grDevices * imports
  • graphics * imports
  • ncdf4 * imports
  • purrr * imports