climate4R is a bundle of R packages for transparent climate data access, post-processing (including data collocation and bias correction / downscaling) and visualization.
climate4R builds on two main data structures (grid and station, including metadata) to deal with gridded and point data from observations, reanalysis, seasonal forecasts and climate projections. It considers ensemble members as a basic dimension of the data structures. Moreover,
climate4R is transparently (and remotely) connected to the Santander Climate Data Gateway, offering several state-of-the-art datasets (including CMIP5 and CORDEX subsets).
Compatibility with some external packages has been achieved by wrapping packages, thus enhancing
climate4Rwith new functionalities (e.g. ETCCDI extreme climate indices via the
Conda and docker
climate4Rinstallations available. The docker file also includes the jupyter framework. This is the base layer for the climate4R Hub (a cloud-based computing facility to run
climate4Rnotebooks at IFCA/CSIC Cloud Services).
References and Examples
The formal reference of
M. Iturbide, J. Bedia, S. Herrera, J. Baño-Medina, J. Fernández, M.D. Frías, R. Manzanas, D. San-Martín, E. Cimadevilla, A.S. Cofiño and JM Gutiérrez (2019) The R-based climate4R open framework for reproducible climate data access and post-processing. Environmental Modelling & Software, 111, 42-54. DOI: /10.1016/j.envsoft.2018.09.009
Additional references for specific components of
climate4R (with worked examples) are Cofiño et al. 2018 (seasonal forecasting ), Frías et al. 2018 (visualization), Bedia et al. 2019 (data provenance) and Bedia et al. 2019a (statistical downscaling). Other publications describing applications in sectoral impact studies (also with worked out examples) are Bedia et al. (2018) (fire danger) or Iturbide et al. (2018) (Species distribution models), among others.
Moreover, there is a notebook repository including several illustrative notebooks with worked-out examples (which are companion material of several papers).
Direct package installation from github:
> library(devtools) > install_github(c("SantanderMetGroup/loadeR.java", "SantanderMetGroup/climate4R.UDG", "SantanderMetGroup/loadeR", "SantanderMetGroup/transformeR", "SantanderMetGroup/visualizeR", "SantanderMetGroup/downscaleR"))
Installation using miniconda:
Miniconda is a free minimal installer for conda. Using the conda recipe it is possible to install an up-to-date version of the different packages composing the
climate4R framework, and all the associated library dependencies (udunits, openjdk, netcdf Java etc.), avoiding some possible problems like the R-java configuration etc. Note that the appropriate miniconda distribution must be installed before running the command (go to the miniconda installers page):
# create a conda environment conda create --name nameofmycondaenvironment # activate the environment conda activate nameofmycondaenvironment # install climate4R conda install -c defaults -c conda-forge -c santandermetgroup climate4r
Activate the conda environment to work with climate4R. To deactivate the environment run the following:
# deactivate the environment conda deactivate nameofmycondaenvironment
NOTE: installation of specific package versions
In case a particular paper notebook is to be replicated, the installation of specific version tags can be done by just explicitly indicating the tag number in the repo name. For example:
visualizeR package version used in Frías et al. 2018, while the following
will install a more recent version of the package used in the paper by Iturbide et al. 2019.
Example of use
Examples of use of the
climate4R framework are given in the reference papers above. In the following we illustrate the main functionalities of
climate4R with a simple example, consisting on calculating an ETCCDI index (Summer Days) from bias corrected EURO-CORDEX data over Southern Europe. More details at the brief introduction to climate4R document in the
man folder and full code at the companion jupyter notebook.
Please note that the pool of people who can provide support for
climate4R packages is very small and our time for support is limited. We don't necessarily have the capacity for long, open-ended user support. Please follow these basic guidelines before posting:
- Introduce the problem before you post any code
- Help others reproduce the problem
- Avoid sending the same question to multiple places
These posting guidelines at stackoverflow provide further recommendations on how to make a good question. If questions are kept short, specific and direct, there's a greater chance that someone will take on the ticket.