eva3dm
An R-package focusing on EVAluation of 3D weather and air quality Models, streamlining the entire workflow from data preparation to post-processing, statistical analysis, and visualization.
https://github.com/schuch666/eva3dm
Category: Atmosphere
Sub Category: Meteorological Observation and Forecast
Keywords
air-quality-model air-quality-model-evaluation atmos atmosphere atmospheric-chemistry atmospheric-modelling atmospheric-models atmospheric-science evaluation model-evaluation model-evaluation-metrics wrf-chem
Last synced: about 13 hours ago
JSON representation
Repository metadata
A package to evaluate 3d weather and air quality models
- Host: GitHub
- URL: https://github.com/schuch666/eva3dm
- Owner: Schuch666
- License: other
- Created: 2024-04-25T20:36:46.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-23T23:23:36.000Z (5 days ago)
- Last Synced: 2025-06-24T00:26:25.640Z (5 days ago)
- Topics: air-quality-model, air-quality-model-evaluation, atmos, atmosphere, atmospheric-chemistry, atmospheric-modelling, atmospheric-models, atmospheric-science, evaluation, model-evaluation, model-evaluation-metrics, wrf-chem
- Language: R
- Homepage: https://schuch666.github.io/eva3dm/
- Size: 10.7 MB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 6
- Releases: 3
-
Metadata Files:
- Readme: README.md
- Changelog: NEWS.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
README.md
eva3dm
Introduction
An R-package focusing on EVAluation of 3D weather and air quality Models, streamlining the entire workflow from data preparation to post-processing, statistical analysis, and visualization [1].
Whether you're working with meteorological models like WRF or evaluating air quality simulations (WRF-Chem, CAMx, WACCM, etc), eva3dm provides a comprehensive toolkit to handle observational data, model outputs, and evaluation metrics in an efficient and reproducible manner.
Key Features:
- Pre-processing of observational and model data
- Post-processing tools for extracting time-series, calculating derived variables (e.g., accumulated rain, humidity variables and wind variables), and preparing data for analysis
- Statistical and categorical model evaluation
- Custom plotting tools for spatial data and georeferencing evaluation results
- Integration with other packages like
terra
,ncdf4
,qualR
,riem
andopenair
[1] Schuch, D., (2025). “eva3dm: A R-package for model evaluation of 3D weather and air quality models.” Journal of Open Source Software, 10(108), 7797, doi:10.21105/joss.07797
Instalation
Open a R session and type the following command on the terminal to install the official version from CRAN:
install.packages("eva3dm")
the last version can be installed directly from github (using the remotes
package, in this example):
remotes::install_github("schuch666/eva3dm")
All the functions include examples in the documentation.
Recomended Workflow
The following workflow is recommended:
1. Pre-processing of observations:
-
Download of observations, time-series of meteorological variables can be obtained from the METAR (METeorological Aerodrome Report) from Automated Surface Observing System/Automated Weather Observing System (ASOS/AWOS) can be downloaded using the R-package riem, or via the Iowa State University website and METAR data from Integrated Surface Database (ISD) can be downloaded using the R-package worldmet or the NOAA Global hourly ISD website, time-series of pollutant concentrations from Brazil can be downloaded using the R-package qualR, or QUALAR and MonitorAir sites, and a range of satellite products are available at NASA giovanni website.
-
QA of the observation data.
-
Process observation data for evaluation.
-
Process of site-list if plan to extract time-series from the model.
2. Pre-processing of model output: Extraction and pre-processing of model outputs;
3. Model Evaluation: The functions eva()
(to evaluate time-series) and sat()
(to evaluate against satellite products) can be used to perform statistical (more details in stat()
) and categorical (more details in cate()
) evaluation;
4. Visualization: try some of the visualization functions from this package or other packages.
This package includes:
Model Post-processing functions:
✔ extract_serie()
extract and save time-series from WRF outputs and input files (and compatible NetCDF files);
✔ extract_mean()
extract, average (or max, min, etc) and save variables in a NetCDF file;
✔ extract_max_8h()
extract, calculate maximum (or avarage, max, min) 8h average and save variables in a NetCDF file;
✔ calculate_column()
Calculate the column concentration of trace gases from WRF-Chem;
✔ wrf_rast()
extract variables and create SpatRaster
or SpatVector
from WRF files (and compatible NetCDF files) and the contrapart rast_to_netcdf()
that converts rast
to an array compatible to a NetCDF WRF file.
Data pre-processing functions:
✔ select()
function to select time-series (data.frame) based on time;
✔ mda8()
, ma8h()
, hourly()
, daily()
, monthly()
, and yearly()
process and calculate calculate time-series;
✔ rh2q()
, q2rh()
, that convert humidity units;
✔ uv2ws()
, uv2wd()
, that convert model wind components into wind speed and velocity;
✔ rain()
to calculate hourly precipitation from model accumulated precipitation variables.
Model evaluation functions:
✔ eva()
data pairing and evaluation for time-series, %IN%
allows fair evaluation;
✔ sat()
evaluation for satellite image, %IN%
can be used for fair evaluation;
✔ stat()
calculate statistical metrics (integrated in eva()
and sat()
);
✔ cate()
calculate categorical metrics (integrated in eva()
and sat()
);
✔ write_stat()
and read_stat()
to write and read evaluation results for eva()
and sat()
.
Visualization and Utility functions:
✔ ncdump()
print a ncdump -h
equivalent command for a NetCDF file;
✔ vars()
return the name of the variables on NetCDF file;
✔ atr()
read and write attributes from a Netcdf file;
✔ interp()
Interpolation (project and resample);
✔ plot_rast()
custom plot for terra SpatRaster
objects;
✔ plot_diff()
custom plot for absolute or relative difference of terra SpatRaster
objects;
✔ overlay()
custom plot to overlay points or plot point-data,%at%
can be used to georeference the evaluation results;
✔ legend_range()
custom legend, display max, min and average;
✔ template()
function that create post-processing and evaluation scripts;
✔ %at%
combine a table (with results from eva()
or sat()
for example) with a table with geographical coordinates. The goal of this function is to georeference and visualize the statistical results;
✔ %IN%
filter a table (with model/observations time-series) based on a second table (using the column names). Also can be used to crop a SpatRaster
based on a second SpatRaster
. The goal is to be used to perform fair comparison of different evaluations (using the same number of observation).
eva3dm
Contributing to If you like to contribute to eva3dm
take a look at the contribution guidelines page and by participating in this project you agree to abide the code of conduct terms.
Owner metadata
- Name: Daniel Schuch
- Login: Schuch666
- Email:
- Kind: user
- Description: Postdoctoral Researcher at Northeastern University.
- Website:
- Location: Boston Massachusetts
- Twitter:
- Company: Northeastern University
- Icon url: https://avatars.githubusercontent.com/u/32721340?u=1a1ce4b0dc6cd8e57fafb2bf842ef7342e41acfa&v=4
- Repositories: 81
- Last ynced at: 2024-06-11T15:38:38.777Z
- Profile URL: https://github.com/Schuch666
GitHub Events
Total
- Create event: 4
- Release event: 4
- Issues event: 31
- Watch event: 1
- Issue comment event: 8
- Push event: 257
- Pull request event: 2
Last Year
- Create event: 4
- Release event: 4
- Issues event: 31
- Watch event: 1
- Issue comment event: 8
- Push event: 257
- Pull request event: 2
Committers metadata
Last synced: 3 days ago
Total Commits: 385
Total Committers: 1
Avg Commits per committer: 385.0
Development Distribution Score (DDS): 0.0
Commits in past year: 348
Committers in past year: 1
Avg Commits per committer in past year: 348.0
Development Distribution Score (DDS) in past year: 0.0
Name | Commits | |
---|---|---|
Schuch666 | u****h@g****m | 385 |
Committer domains:
Issue and Pull Request metadata
Last synced: 3 days ago
Total issues: 90
Total pull requests: 2
Average time to close issues: about 2 months
Average time to close pull requests: 17 minutes
Total issue authors: 3
Total pull request authors: 1
Average comments per issue: 0.38
Average comments per pull request: 0.0
Merged pull request: 2
Bot issues: 0
Bot pull requests: 0
Past year issues: 90
Past year pull requests: 2
Past year average time to close issues: about 2 months
Past year average time to close pull requests: 17 minutes
Past year issue authors: 3
Past year pull request authors: 1
Past year average comments per issue: 0.38
Past year average comments per pull request: 0.0
Past year merged pull request: 2
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- Schuch666 (84)
- maelle (3)
- ibarraespinosa (3)
Top Pull Request Authors
- Schuch666 (2)
Top Issue Labels
- new feature (25)
- enhancement (18)
- documentation (7)
Top Pull Request Labels
Package metadata
- Total packages: 1
-
Total downloads:
- cran: 268 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 3
- Total maintainers: 1
cran.r-project.org: eva3dm
Evaluation of 3D Meteorological and Air Quality Models
- Homepage: https://schuch666.github.io/eva3dm/
- Documentation: http://cran.r-project.org/web/packages/eva3dm/eva3dm.pdf
- Licenses: MIT + file LICENSE
- Latest release: 0.99.1 (published 7 months ago)
- Last Synced: 2025-06-27T01:02:21.543Z (1 day ago)
- Versions: 3
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 268 Last month
-
Rankings:
- Dependent packages count: 27.712%
- Dependent repos count: 34.154%
- Average: 49.616%
- Downloads: 86.982%
- Maintainers (1)
Dependencies
- R >= 3.5.0 depends
- ncdf4 * imports
- terra * imports
- utils * imports
- riem * suggests
- JamesIves/github-pages-deploy-action v4.5.0 composite
- actions/checkout v4 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
- actions/checkout v4 composite
- r-lib/actions/check-r-package v2 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
- actions/checkout v4 composite
- actions/upload-artifact v4 composite
- codecov/codecov-action v4 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
Score: 7.99260665240021