ETCCDI climate extremes indices Jana Sillmann January, 23rd 2015
Expert Team on Climate Change Detection and Indices Joint WMO CLIVAR/CCl/JCOMM/GEWEX Expert Team on Climate Change Detection and Indices Develop indices relevant to climate change monitoring and detection Create observational dataset(s) of indices with (ideally) global coverage (www.climdex.org) Indices are: Statistically robust Easy to understand Globally valid Enable comparison of modeled data and observations http://www.clivar.org/panels-and-working-groups/etccdi/etccdi.php
ETCCDI indices http://etccdi.pacificclimate.org/list_27_indices.shtml
ETCCDI percentile threshold indices TN10p, TX10p Percentage of days when TN (orTX) < 10th percentile: Let TNij be the daily minimum temperature on day i in period j and let TNin10 be the calendar day 10th percentile centred on a 5-day window for the base period 1961-1990. The percentage of time for the base period is determined where: TNij < TNin10 TN90p, TX90p Percentage of days when TN (or TX) > 90th percentile: Let TNij be the daily minimum temperature on day i in period j and let TNin90 be the calendar day 90th percentile centred on a 5-day window for the base period 1961-1990. The percentage of time for the base period is determined where: TNij > TNin90 To avoid possible inhomogeneity across the in-base and out-base periods, the calculation for the base period (1961-1990) requires the use of a bootstrap processure. Details are described in Zhang et al. (2005) . http://etccdi.pacificclimate.org/docs/Zhangetal05JumpPaper.pdf
ETCCDI Extremes Indices Calculation Rclimdex used at regional workshops for station data Fclimdex adapted for climate model data/faster processing http://etccdi.pacificclimate.org/software.shtml climdex.pcic.R open source R package for large datasets http://cran.r-project.org/web/packages/climdex.pcic/index.html
ETCCDI Extremes Indices Archive (CMIP3/CMIP5) http://www.cccma.ec.gc.ca/data/climdex/
ETCCDI Extremes Indices Calculation Preparation Anne installed all necessary R packages on sverdrupt e.g., climdex.pcic_0.7-2.tar.gz, ncdf4_1.8.tar.gz, ncdf4.helpers_0.2-5.tar.gz, PCICt_0.5-4.tar.gz, udunits2_0.6.tar.gz, udunits-2.1.24.tar.gz Have your data ready i.e., input and output directory
ETCCDI Extremes Indices Calculation Preparation What you need to pay attention to: Format of Data Files needs to follow CMIP5 convention (name, attributes, etc.) variable_timeinterval_model_experiment_ensemblemember_startday_endday.nc Example: "pr_day_CESM1-CAM4_CO2BB1850_ens1_00310101-00601231.nc” Base Period make sure it is within data range (standard base period for observation based indices 1961-1990)
compute_index_on_gcm_improved.r ETCCDI Extremes Indices Calculation Preparation What you also need: The magic R script that does everything! compute_index_on_gcm_improved.r Or write your own code…
ETCCDI Extremes Indices Calculation Preparation Read R package description: http://cran.r-project.org/web/packages/climdex.pcic/index.html In R > getAnywhere(“climdex.cdd”)
ETCCDI Extremes Indices Calculation ###calculate indices library(climdex.pcic.ncdf) Loading required package: PCICt > input.files <- > c("pr_day_CESM1-CAM4_CO2BB1850_ens1_00310101-00601231.nc", > "tasmin_day_CESM1-CAM4_CO2BB1850_ens1_00310101-00601231.nc", > "tasmax_day_CESM1-CAM4_CO2BB1850_ens1_00310101-00601231.nc") > author.data <- list(institution="Center for International Climate and > Environmental Research - Oslo, Norway", institution_id="CICERO") > create.indices.from.files(input.files, > "/div/enso/d12/janasi/CESM1-CAM4/indices/", input.files[1], > author.data, base.range=c(1850,1879), parallel=8, max.vals.millions=70 > ) Creating cluster of 8 nodes of type SOCK Finished computing indices ###calculate thresholds > library(climdex.pcic.ncdf) > c("pr_day_CanESM2_historical_r1i1p1_18500101-20051231.nc", > "tasmax_day_CanESM2_historical_r1i1p1_1850101-20051231.nc", > "tasmin_day_CanESM2_historical_r1i1p1_1850101-20051231.nc") > "/div/ferrel/d2-3/cmip5/janasi/testground/indices/", input.files[1], > author.data, base.range=c(1961,1990), parallel=16, > max.vals.millions=70 ) Creating cluster of 16 nodes of type SOCK Finished computing indices > create.thresholds.from.file(input.files, "threshholds_CanESM2.nc", > author.data, base.range=c(1961,1990), parallel=FALSE, Finished computing thresholds > input.files <- c("pr_day_CanESM2_rcp85_r1i1p1_20060101-21001231.nc", > "tasmax_day_CanESM2_rcp85_r1i1p1_20060101-21001231.nc", > "tasmin_day_CanESM2_rcp85_r1i1p1_20060101-21001231.nc") > author.data, base.range=c(1961, 1990), parallel=16, > max.vals.millions=70, thresholds.files="threshholds_CanESM2.nc") ETCCDI Extremes Indices Calculation ###calculate indices library(climdex.pcic.ncdf) Loading required package: PCICt > input.files <- > c("pr_day_CESM1-CAM4_CO2BB1850_ens1_00310101-00601231.nc", > "tasmin_day_CESM1-CAM4_CO2BB1850_ens1_00310101-00601231.nc", > "tasmax_day_CESM1-CAM4_CO2BB1850_ens1_00310101-00601231.nc") > author.data <- list(institution="Center for International Climate and > Environmental Research - Oslo, Norway", institution_id="CICERO") > create.indices.from.files(input.files, > "/div/enso/d12/janasi/CESM1-CAM4/indices/", input.files[1], > author.data, base.range=c(1850,1879), parallel=8, max.vals.millions=70 > ) Creating cluster of 8 nodes of type SOCK Finished computing indices
ETCCDI Extremes Indices Calculation ###calculate thresholds > library(climdex.pcic.ncdf) Loading required package: PCICt > input.files <- > c("pr_day_CanESM2_historical_r1i1p1_18500101-20051231.nc", > "tasmax_day_CanESM2_historical_r1i1p1_1850101-20051231.nc", > "tasmin_day_CanESM2_historical_r1i1p1_1850101-20051231.nc") > author.data <- list(institution="Center for International Climate and > Environmental Research - Oslo, Norway", institution_id="CICERO") > create.thresholds.from.file(input.files, "threshholds_CanESM2.nc", > author.data, base.range=c(1961,1990), parallel=FALSE, > max.vals.millions=70 ) Finished computing thresholds
ETCCDI Extremes Indices Calculation ###calculate indices with new thresholds > input.files <- c("pr_day_CanESM2_rcp85_r1i1p1_20060101-21001231.nc", > "tasmax_day_CanESM2_rcp85_r1i1p1_20060101-21001231.nc", > "tasmin_day_CanESM2_rcp85_r1i1p1_20060101-21001231.nc") > create.indices.from.files(input.files, > "/div/ferrel/d2-3/cmip5/janasi/testground/indices/", input.files[1], > author.data, base.range=c(1961, 1990), parallel=16, > max.vals.millions=70, thresholds.files="threshholds_CanESM2.nc") Creating cluster of 16 nodes of type SOCK Finished computing indices
ETCCDI Extremes Indices Calculation Output [janasi@hadley r1i1p1]$ ll total 1678136 -rw-rw-r-- 1 janasi janasi 8638672 Nov 3 09:01 altcddETCCDI_yr_NorESM1-M_historical_r1i1p1_1850-2005.nc -rw-rw-r-- 1 janasi janasi 8638672 Nov 3 09:01 altcsdiETCCDI_yr_NorESM1-M_historical_r1i1p1_1850-2005.nc -rw-rw-r-- 1 janasi janasi 8638672 Nov 3 09:01 altcwdETCCDI_yr_NorESM1-M_historical_r1i1p1_1850-2005.nc -rw-rw-r-- 1 janasi janasi 8638672 Nov 3 09:01 altwsdiETCCDI_yr_NorESM1-M_historical_r1i1p1_1850-2005.nc -rw-rw-r-- 1 janasi janasi 8638664 Nov 3 09:01 cddETCCDI_yr_NorESM1-M_historical_r1i1p1_1850-2005.nc -rw-rw-r-- 1 janasi janasi 8638656 Nov 3 09:01 csdiETCCDI_yr_NorESM1-M_historical_r1i1p1_1850-2005.nc -rw-rw-r-- 1 janasi janasi 8638664 Nov 3 09:02 cwdETCCDI_yr_NorESM1-M_historical_r1i1p1_1850-2005.nc -rw-rw-r-- 1 janasi janasi 103567752 Nov 3 09:02 dtrETCCDI_mon_NorESM1-M_historical_r1i1p1_185001-200512.nc -rw-rw-r-- 1 janasi janasi 8638632 Nov 3 09:02 dtrETCCDI_yr_NorESM1-M_historical_r1i1p1_1850-2005.nc -rw-rw-r-- 1 janasi janasi 8638608 Nov 3 09:02 fdETCCDI_yr_NorESM1-M_historical_r1i1p1_1850-2005.nc -rw-rw-r-- 1 janasi janasi 8638616 Nov 3 09:02 gslETCCDI_yr_NorESM1-M_historical_r1i1p1_1850-2005.nc -rw-rw-r-- 1 janasi janasi 8638608 Nov 3 09:02 idETCCDI_yr_NorESM1-M_historical_r1i1p1_1850-2005.nc -rw-rw-r-- 1 janasi janasi 8638636 Nov 3 09:02 prcptotETCCDI_yr_NorESM1-M_historical_r1i1p1_1850-2005.nc -rw-rw-r-- 1 janasi janasi 8638648 Nov 3 09:02 r10mmETCCDI_yr_NorESM1-M_historical_r1i1p1_1850-2005.nc -rw-rw-r-- 1 janasi janasi 8638648 Nov 3 09:02 r1mmETCCDI_yr_NorESM1-M_historical_r1i1p1_1850-2005.nc -rw-rw-r-- 1 janasi janasi 8638648 Nov 3 09:02 r20mmETCCDI_yr_NorESM1-M_historical_r1i1p1_1850-2005.nc -rw-rw-r-- 1 janasi janasi 8638732 Nov 3 09:02 r95pETCCDI_yr_NorESM1-M_historical_r1i1p1_1850-2005.nc -rw-rw-r-- 1 janasi janasi 8638732 Nov 3 09:02 r99pETCCDI_yr_NorESM1-M_historical_r1i1p1_1850-2005.nc -rw-rw-r-- 1 janasi janasi 103567748 Nov 3 09:03 rx1dayETCCDI_mon_NorESM1-M_historical_r1i1p1_185001-200512.nc
ETCCDI Extremes Indices Calculation