cavaanalytics
CAVAanalytics is a comprehensive framework for climate data analysis, offering streamlined access to data, advanced processing and visualization capabilities. It is designed to support a wide range of climate research and user needs
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.0%) to scientific vocabulary
Keywords
Repository
CAVAanalytics is a comprehensive framework for climate data analysis, offering streamlined access to data, advanced processing and visualization capabilities. It is designed to support a wide range of climate research and user needs
Basic Info
- Host: GitHub
- Owner: Risk-Team
- License: gpl-3.0
- Language: R
- Default Branch: main
- Homepage: https://risk-team.github.io/CAVAanalytics/
- Size: 163 MB
Statistics
- Stars: 14
- Watchers: 2
- Forks: 2
- Open Issues: 0
- Releases: 37
Topics
Metadata Files
README.md
R package providing a framework for easy access, processing, and advanced visualization of gridded climate products
Check GitHub issues for known servers' downtimes
We will release Bias corrected CORDEX-CORE simulations with the ISIMIP methodology in 2025 as part of a CAVA update
CAVAanalytics is a comprehensive R package designed to simplify and enhance climate data analysis. It offers a unified framework that streamlines access to datasets such as W5E5, ERA5, and CORDEX-CORE models, facilitating efficient loading, analysis, indicator calculation, and visualization of climate and impact model data
Key Features:
- Simplified Data Access: Retrieve CORDEX-CORE models globally without the need to manage netCDF files. Data requests are sent to THREDDS servers, allowing you to access only the necessary information directly in memory.
- Consistent Analytical Framework: Work seamlessly with multiple climate models, making indicator calculation and result visualization straightforward and efficient.
Quick example
Below is an example of how to use CAVAanalytics to retrieve and analyze climate information for Sudan, covering both historical and projected data. Detailed examples are available from the tutorial webpage.
This script retrieves precipitation data for Sudan from 1990 to 2000 (historical) and 2020 to 2030 (projected), analyzes the climate change signal, and visualizes the projected change in total annual precipitation compared to the 1990-2000 baseline period.
``` r library(CAVAanalytics)
1st step
remote.data <- load_data(country = "Sudan", variable="pr", years.hist=1990:2000, years.proj=2020:2030, path.to.data = "CORDEX-CORE", aggr.m="sum", domain="AFR-22")
2nd step
sudanccs <- climatechange_signal(remote.data, season=list(1:12), bias.correction = F)
3rd step
plotting(sudanccs, ensemble=FALSE, plottitles = "Precipitation change (mm)", palette=IPCCpalette(type = "pr", divergent = T), legendrange = c(-550,550)) ```
| |
|:-------------------------------------------------------------------------------------------------------------------:|
| Projected change in total annual precipitation compared to the 1990-2000 baseline period in Sudan |
Installation options
Depending on your preferences and setup, CAVAanalytics can be installed in the following ways:
1) Locally
If you are new to climate4R, You need to first install rJava. This installation can be problematic. Follow the instructions below
Windows
Linux and macOS
Installing rJava in Linux and macOS
If the installation of rJava is successful, you should be able to load the library from Rstudio and you can now installed CAVAanalytics.
```
Step 1: Ensure rJava is installed and working
if (!requireNamespace("rJava", quietly = TRUE)) { install.packages("rJava") } library(rJava) # Verify no errors here
Step 2: Install pak (if not already installed)
if (!requireNamespace("pak", quietly = TRUE)) { install.packages("pak") }
Step 3: Install all required packages from GitHub using pak
requiredpackages <- c( "SantanderMetGroup/loadeR.java", "SantanderMetGroup/climate4R.UDG", "SantanderMetGroup/loadeR", "SantanderMetGroup/transformeR", "SantanderMetGroup/downscaleR", "Risk-Team/CAVAanalytics" ) pak::pkginstall(required_packages) ```
2) Docker
The Docker image is available at Docker.io, rso9192/cava. This docker image is built on top of rocker/rstudio
Linux
Open the terminal
```
if not already installed
sudo apt-get install snapd
if not already installed
sudo snap install docker
sudo docker pull docker.io/rso9192/cava:version3.3.2
sudo docker run --rm \ -p 8888:8787 \ -e PASSWORD=password \ -v /path/to/local/directory:/home \ rso9192/cava:version3.3.2
``` Replace /path/to/local/directory with the local directory on your host machine where you want to save your plots or data. For example, you can create a folder on your Desktop called CAVA_results. Then, you would run the above command as:
sudo docker run --rm \
-p 8888:8787 \
-e PASSWORD=password \
-v /home/Desktop/CAVA_results:/home \
rso9192/cava:version3.3.2
Now open your favorite browser and type http://localhost:8888/. You should see a login page: enter the username "rstudio" and password "password" to login and that's it! You can now use CAVAanalytics through Rstudio server.
Windows
If you are using Windows, you can install Docker Desktop first. Note that Docker Desktop would require the installation of WSL (Windows Subsystem for Linux). To do that, open a Command Prompt (as administrator) and run
``` wsl --install
``` This will instal the Windows Subsystem for Linux in your computer. Then start the Docker app and open an ubuntu terminal and run
``` sudo docker pull docker.io/rso9192/cava:version3.3.2
ignore the messages about login
``` Now run your image as below. Remember to replace /path/to/local/directory with the local directory on your host machine where you want to save your plots or data. For example, you can create a folder on your Desktop called CAVA_results. Then, you could run the above command as:
sudo docker run --rm \
-p 8888:8787 \
-e PASSWORD=password \
-v /mnt/c/Users/my_username/Desktop/CAVA_results:/home \
rso9192/cava:version3.3.2
Now open your favorite browser and type http://localhost:8888/. You should see a login page: enter the username "rstudio" and password "password" to login and that's it! You can now use CAVAanalytics through Rstudio server.
Mac
If you are using a Mac, you first need to install Docker desktop for Mac.
Then open a terminal and while Docker Desktop is open, run:
sudo docker pull docker.io/rso9192/cava:version3.3.2
At this point, you can run the Docker image with the below comand.
sudo docker run --rm \
-p 8888:8787 \
-e PASSWORD=password \
-v /path/to/local/directory:/home \
rso9192/cava:version3.3.2
Remember to replace /path/to/local/directory with the local directory on your host machine where you want to save your plots or data. Now open your favorite browser and type http://localhost:8888/. You should see a login page: enter the username "rstudio" and password "password" to login and that's it! You can now use CAVAanalytics through Rstudio server.
Python
Firstly, why Python?
While CAVAanalytics was developed using R packages like climate4R and tidyverse to prioritize result visualization, R lacks the computational efficiency of Python, particularly for handling large climate datasets. Python supports out-of-memory parallel computation for arrays through the integration ofxarray and dask, a feature absent in R. Consequently, CAVAanalytics relies heavily on in-memory (RAM) processing, which limits its ability to efficiently analyze large-scale geographical areas, such as entire CORDEX domains. This limitation arises because such analyses demand substantial RAM resources. However, CAVAanalytics was primarily designed for country-level assessments rather than extensive climate data analyses. (check out the memory-efficient functions available from CAVAanalytics though)
For users interested in accessing gridded climate projections more efficiently, cavapy is recommended. Cavapy focuses on data retrieval in Python, whereas CAVAanalytics offers a broader suite of tools for processing and visualization.
Contributions
If you would like to contribute to this project, you are welcome to fork this repository and submit your contribution. If you liked CAVAanalytics, please remember to add a star!
Issues
You can report issues here
Owner
- Name: Risk Team
- Login: Risk-Team
- Kind: organization
- Location: Italy
- Website: https://www.fao.org/climate-change/our-work/areas-of-work/climate-risk-management/mainstreaming-finance/en/
- Repositories: 4
- Profile: https://github.com/Risk-Team
Free open source tools for climate change impact assessments
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: CAVAanalytics
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Riccardo
family-names: Soldan
email: riccardosoldan@hotmail.it
orcid: 'https://orcid.org/0000-0003-2583-5840'
abstract: >-
Framework for processing, analysing and visualizing
multi-model ensembles with remote access to
state-of-the-art climate models and reanalysis datasets
license: GPL-3.0
GitHub Events
Total
- Create event: 4
- Release event: 8
- Issues event: 8
- Watch event: 4
- Issue comment event: 3
- Push event: 36
- Pull request event: 2
- Fork event: 1
Last Year
- Create event: 4
- Release event: 8
- Issues event: 8
- Watch event: 4
- Issue comment event: 3
- Push event: 36
- Pull request event: 2
- Fork event: 1
Committers
Last synced: about 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Riccardo Soldan | 4****2 | 344 |
| Riccardo Soldan | r****n@h****t | 202 |
Committer Domains (Top 20 + Academic)
Dependencies
- loadeR * depends
- RColorBrewer * imports
- climate4R.UDG * imports
- climate4R.indices * imports
- downscaleR * imports
- dplyr * imports
- furrr * imports
- ggplot2 * imports
- glue * imports
- nlme * imports
- purrr * imports
- raster * imports
- rnaturalearth * imports
- rnaturalearthdata * imports
- sp * imports
- stringr * imports
- tidyr * imports
- transformeR * imports