meteoevt
R-Package: Computation and Visualization of Energetic and Vortical Atmospheric Quantities
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
Repository
R-Package: Computation and Visualization of Energetic and Vortical Atmospheric Quantities
Basic Info
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
- Releases: 1
Topics
Metadata Files
README.md
meteoEVT: Computation and Visualization of Energetic and Vortical Atmospheric Quantities
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
- Repositories: 2
- Profile: https://github.com/noctiluc3nt
GitHub Events
Total
Last Year
Committers
Last synced: about 2 years ago
Top Committers
| Name | 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
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
- Homepage: https://github.com/noctiluc3nt/meteoEVT
- Documentation: http://cran.r-project.org/web/packages/meteoEVT/meteoEVT.pdf
- License: GPL-2 | GPL-3 [expanded from: GPL (≥ 2)]
-
Latest release: 0.1.0
published over 3 years ago
Rankings
Maintainers (1)
Dependencies
- grDevices * imports
- graphics * imports
- ncdf4 * imports
- purrr * imports