Getting started with NEXGDDP-CMIP5 data
Ibrahim N. Mohammed
2024-11-12
Source:vignettes/NEXGDDP.Rmd
NEXGDDP.Rmd
NASAaccess has a handy tool to access, extract, and reformat climate change data of rainfall and air temperature from NASA Earth Exchange Global Daily Downscaled Projections NEX-GDDP GSFC servers for grids within a specified watershed.
NEX-GDDP dataset is comprised of downscaled climate scenarios for the globe that are derived from the General Circulation Model GCM runs conducted under the Coupled Model Intercomparison Project Phase 5 CMIP5 (Taylor, Stouffer, and Meehl 2012) and across two (RCP45 & RCP85) of the four greenhouse gas emissions scenarios known as Representative Concentration Pathways RCPs (Meinshausen et al. 2011). The CMIP5 GCM runs were developed in support of the Fifth Assessment Report of the Intergovernmental Panel on Climate Change IPCC AR5. This dataset includes downscaled projections from the 21 models and scenarios for which daily scenarios were produced and distributed under CMIP5.
The Bias-Correction Spatial Disaggregation BCSD method used in generating the NEX-GDDP dataset is a statistical downscaling algorithm specifically developed to address the current limitations of the global GCM outputs (Andrew W. Wood et al. 2002; A. W. Wood et al. 2004; Maurer and Hidalgo 2008; Thrasher et al. 2012). The NEX-GDDP climate projections is downscaled at a spatial resolution of 0.25 degrees x 0.25 degrees (approximately 25 km x 25 km). The NEX_GDDP_CMIP5 downscales the NEX-GDDP data to grid points of 0.1 degrees x 0.1 degrees following nearest point methods described by Mohammed et al. (2018).
Basic use
Let’s use the example watersheds that we introduced with
GPMswat
and GPMpolyCentroid
. Please visit
NASAaccess GPM functions for more
information.
#Reading input data
dem_path <- system.file("extdata",
"DEM_TX.tif",
package = "NASAaccess")
shape_path <- system.file("extdata",
"basin.shp",
package = "NASAaccess")
library(NASAaccess)
NEX_GDDP_CMIP5(Dir = "./NEX_GDDP_CMIP5/",
watershed = shape_path,
DEM = dem_path,
start = "2060-12-1",
end = "2060-12-3",
model = 'IPSL-CM5A-MR',
type = 'pr',
slice = 'rcp85')
Let’s examine the precipitation station file
NEX_GDDP.precipitationMaster <- system.file('extdata/NEX_GDDP_CMIP5',
'prGrid_Master.txt',
package = 'NASAaccess')
NEX_GDDP_CMIP5.table<-read.csv(NEX_GDDP.precipitationMaster)
head(NEX_GDDP_CMIP5.table)
#> ID NAME LAT LONG ELEVATION
#> 1 2160842 prclimate2160842 29.93337 -95.82337 50.16166
#> 2 2160843 prclimate2160843 29.93337 -95.72340 46.68206
#> 3 2160844 prclimate2160844 29.93337 -95.62343 39.72196
#> 4 2160845 prclimate2160845 29.93337 -95.52346 35.58193
#> 5 2164442 prclimate2164442 29.83343 -95.82337 48.02116
#> 6 2164443 prclimate2164443 29.83343 -95.72340 40.47534
dim(NEX_GDDP_CMIP5.table)
#> [1] 11 5
Here we processed precipitation data from Institut Pierre Simon Laplace Model CM5A-MR under the Representative Concentration Pathways (RCP85) for our example watershed during the December 2060 (1st to 3rd).
Changing type
parameter in the
NEX_GDDP_CMIP5
function from pr
to
tas
gives us minimum and maximum air temperatures.
Built with
sessionInfo()
#> R version 4.4.1 (2024-06-14)
#> Platform: aarch64-apple-darwin20
#> Running under: macOS 15.1
#>
#> Matrix products: default
#> BLAS: /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRblas.0.dylib
#> LAPACK: /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRlapack.dylib; LAPACK version 3.12.0
#>
#> locale:
#> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
#>
#> time zone: Asia/Dubai
#> tzcode source: internal
#>
#> attached base packages:
#> [1] stats graphics grDevices utils datasets methods base
#>
#> loaded via a namespace (and not attached):
#> [1] digest_0.6.37 desc_1.4.3 R6_2.5.1 fastmap_1.2.0
#> [5] xfun_0.49 cachem_1.1.0 knitr_1.48 htmltools_0.5.8.1
#> [9] rmarkdown_2.28 lifecycle_1.0.4 cli_3.6.3 sass_0.4.9
#> [13] pkgdown_2.1.1 textshaping_0.4.0 jquerylib_0.1.4 systemfonts_1.1.0
#> [17] compiler_4.4.1 rstudioapi_0.17.1 tools_4.4.1 ragg_1.3.3
#> [21] bslib_0.8.0 evaluate_1.0.1 yaml_2.3.10 jsonlite_1.8.9
#> [25] rlang_1.1.4 fs_1.6.5 htmlwidgets_1.6.4