scripts/HI.R

library(ncdf4)
library(lubridate)
library(multiApply)
library(weathermetrics)

ncfile <- nc_open("data-raw/CN05.1_Tmin_1961_2018_daily_025x025.nc")
tmin_arr <- ncvar_get(ncfile, "tmin")
date <- (ncvar_get(ncfile, 'time')/24) %>% as_date(origin = '1961-01-01')
nc_close(ncfile)

ncfile <- nc_open("data-raw/CN05.1_Tmax_1961_2018_daily_025x025.nc")
tmax_arr <- ncvar_get(ncfile, "tmax")
nc_close(ncfile)

ncfile <- nc_open("data-raw/CN05.1_Tavg_1961_2018_daily_025x025.nc")
tmean_arr <- ncvar_get(ncfile, "tm")
nc_close(ncfile)

ncfile <- nc_open("data-raw/CN05.1_Rhu_1961_2017_daily_025x025.nc")
rhu_arr <- ncvar_get(ncfile, "rhu")
nc_close(ncfile)

date <- date[1:20574]
tmax_arr <- tmax_arr[, , 1:20574]
tmean_arr <- tmean_arr[, , 1:20574]
tmin_arr <- tmin_arr[, , 1:20574]

tmax_arr_HI <- Apply(list(tmax_arr, rhu_arr),
                c(1, 2),
                function(x, y) heat_index_julia(x, y),
                output_dims = list(lon, lat, date))
tmin_arr_HI <- Apply(list(tmin_arr, rhu_arr),
                c(1, 2),
                function(x, y) heat_index_julia(x, y),
                output_dims = list(lon, lat, date))
tmean_arr_HI <- Apply(list(tmean_arr, rhu_arr),
                 c(1, 2),
                 function(x, y) heat_index_julia(x, y),
                 output_dims = list(lon, lat, date))

tmax_arr_HI <- map2_dbl(tmax_arr, rhu_arr, heat_index)


dt <- data.table(tmax_arr, rhu_arr)

save(tmax_arr_HI, file = 'OUTPUT/HI/tmax_arr_HI.rda')

ncfile <- nc_open("/mnt/n/Research/cmip5/heatwave/data-raw/CN05.1_Tm_1961_2018_daily_025x025.nc")
tmean_arr <- ncvar_get(ncfile, "tm")
nc_close(ncfile)

ncfile <- nc_open("/mnt/n/Research/cmip5/heatwave/data-raw/CN05.1_Tmin_1961_2018_daily_025x025.nc")
tmin_arr <- ncvar_get(ncfile, "tmin")
nc_close(ncfile)

tmean_arr <- tmean_arr[, , 1:20574]
tmin_arr <- tmin_arr[, , 1:20574]

dim(tmin_arr) <- 283 * 163 * 20574
dim(tmean_arr) <- 283 * 163 * 20574

tmin_arr_HI <- map2_dbl(tmin_arr, rhu_arr, heat_index)
tmean_arr_HI <- map2_dbl(tmean_arr, rhu_arr, heat_index)

dim(tmin_arr_HI) <- c(283, 163, 20574)
dim(tmean_arr_HI) <- c(283, 163, 20574)

save(tmin_arr_HI, file = 'OUTPUT/HI/tmin_arr_HI.rda')
save(tmean_arr_HI, file = 'OUTPUT/HI/tmean_arr_HI.rda')
CUG-hydro/heatwave documentation built on Dec. 17, 2021, 1:53 p.m.