Skip to content
abdelkaderm edited this page Aug 7, 2025 · 10 revisions

Welcome to the esd Wiki!

The esd R package (or library) is freely provided by the Norwegian Meteorological Institute (MET Norway) for use within the climate community. See the documentation and the Heavy MET Talk on YouTube for more information. In case you do not want to download the document, you can also navigate the documentation from here.

The package was primarily designed for statistical downscaling of climate variables and parameters derived from global climate models (e.g., ENSEMBLEs, CMIP3/5/6 model results). It has since been extended to handle data I/O (e.g., global climate datasets), statistical analysis, and visualization. Additionally, it incorporates aspects of machine learning (ML) techniques, offering a toolbox aimed at addressing challenges like those described in Greene and Thirumalai (2019):

  • Sharing code is insufficient due to poor documentation, dependency issues, and limited data accessibility, which hinder reproducibility: .
  • No strong incentives to prioritize transparency, documentation, or adherence to coding best practices, leading to inconsistent workflows.
  • Lack of formal training in software development, and insufficient collaboration with software experts exacerbates technical debt and usability issues.

The esd package addresses some of these challenges by providing tools that integrate metadata with climate data, ensuring traceability and transparency.

By adhering to the FAIR principles (Findable, Accessible, Interoperable, and Reusable), esd promotes reproducibility and accessibility in climate data analysis.

Getting Started

Once the esd R package is installed, you can access a compendium on empirical-statistical downscaling, along with the manual mentioned above. To download the PDF documentation, use the following commands in R:

ABC4ESD()
manual()

If you use esd, we encourage you to register using this form. Knowing how many people use the package helps justify further development. We also have a Facebook page where we announce updates and share information. Additional details about the package are available at this site.


Citation

If you use the esd package, please cite it as follows:
Benestad et al. (2015). esd V1.0. Zenodo. 10.5281/zenodo.29385.

The contents of related reports can also be viewed at http://metno.github.io/esd/.


About the Package

The esd package is a next-generation tool for analysis and downscaling, originating from clim.pact. While the compendium on downscaling still applies to esd, the examples are somewhat outdated and specific to clim.pact. The package's principles align with those of Tidyverse.

Key Features

  1. Data Handling:

    • Retrieve and manipulate large climate/model datasets from various sources.
    • Compute Empirical Orthogonal Functions (EOFs), Principal Component Analysis (PCA), and Multi-Variate Regressions (MVRs) using simple R commands and procedures.
  2. Emphasis on Quality:

    • Built with traceability, compatibility, and transparency in mind for data, methods, procedures, and results.
  3. Leverages R:

    • Inherits functionality from R's extensive built-in functions and procedures.

Recommendations and Installation


Main Functionalities

The main functionalities of the esd are

Data handling

  • Formatted datasets (data(package='esd'))
  • Select weather station from meta data (stationmeta) based on a list of selection criteria (select.station())
  • Retrieving data from observational weather stations included in the package (station())
  • Retrieving field data from a netcdf file (retrieve())
  • Regridding (regrid())
  • Subsetting (subset())
  • Aggregating - Spatial and temporal aggregation (aggregate())

Data processing

  • Empirical Orthogonal Functions for fields' objects (EOF())
  • Principal component Analysis for stations' objects (PCA())

Downscaling

  • Downscale an ensemble of stations (DS())
  • Downscale an ensemble of stations from an ensemble of gcms (DSE()).

Visualizations

  • Plots for esd objects (plot())
  • Maps for esd objects (map())

Presentations

Clone this wiki locally