eva3dm
eva3dm: A R-package for model evaluation of 3D weather and air quality models - Published in JOSS (2025)
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 10 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
Repository
A package to evaluate 3d weather and air quality models
Basic Info
- Host: GitHub
- Owner: Schuch666
- License: other
- Language: R
- Default Branch: main
- Homepage: https://schuch666.github.io/eva3dm/
- Size: 11.7 MB
Statistics
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 7
- Releases: 3
Topics
Metadata Files
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 and openair
[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.
The function template() can help to setup folders and scripts from steps 1-4 for different models, observations datasets and evaluation types.
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).
Contributing to eva3dm
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
- Name: Daniel Schuch
- Login: Schuch666
- Kind: user
- Location: Boston Massachusetts
- Company: Northeastern University
- Repositories: 81
- Profile: https://github.com/Schuch666
Postdoctoral Researcher at Northeastern University.
JOSS Publication
eva3dm: A R-package for model evaluation of 3D weather and air quality models
Authors
Tags
Model Evaluation WRF WRF-ChemGitHub Events
Total
- Create event: 4
- Release event: 4
- Issues event: 34
- Watch event: 1
- Issue comment event: 8
- Push event: 266
- Pull request event: 2
Last Year
- Create event: 4
- Release event: 4
- Issues event: 34
- Watch event: 1
- Issue comment event: 8
- Push event: 266
- Pull request event: 2
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 33
- 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.21
- Average comments per pull request: 0.0
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 27
- Pull requests: 2
- Average time to close issues: about 2 months
- Average time to close pull requests: 17 minutes
- Issue authors: 3
- Pull request authors: 1
- Average comments per issue: 0.22
- Average comments per pull request: 0.0
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- Schuch666 (34)
- maelle (1)
- ibarraespinosa (1)
Pull Request Authors
- Schuch666 (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- cran 193 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
- License: MIT + file LICENSE
-
Latest release: 0.99.1
published about 1 year ago
Rankings
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
