From 7f50e75c1de104ccf2f32bc7c4a97f2fe0eaf295 Mon Sep 17 00:00:00 2001 From: "Franssen, Wietse" <wietse.franssen@wur.nl> Date: Tue, 1 Mar 2016 08:34:26 +0100 Subject: [PATCH] revision4.0 complete and finisched --- SCRIPTS/1b_doReformatOldData.R | 4 ++-- ...rder_combYears_combMembers_sepLeadmonths.R | 8 ++++---- SCRIPTS/3_doBiascorrection.R | 10 +++++----- SCRIPTS/3_submit_biascorrection.sh | 2 +- ...order_sepYears_sepMembers_combLeadmonths.R | 9 ++++----- ...Reorder_sepYears_sepMembers_combLeadmonths | 2 +- ...rder_sepYears_sepMembers_combLeadmonths.sh | 4 ++-- SCRIPTS/5_doNetcdfCombine.R | 13 ++++++------- SCRIPTS/6_doBiasCheck.R | 19 +++++++++---------- SCRIPTS/6_jobScriptBiasCheck | 2 +- SCRIPTS/functions/functionBiascorrectionWUR.R | 10 +++++----- 11 files changed, 40 insertions(+), 43 deletions(-) diff --git a/SCRIPTS/1b_doReformatOldData.R b/SCRIPTS/1b_doReformatOldData.R index 2fcb0cc..3694bf8 100644 --- a/SCRIPTS/1b_doReformatOldData.R +++ b/SCRIPTS/1b_doReformatOldData.R @@ -14,7 +14,7 @@ if (submitscript) { locName <- 'X' resolution <- 'X' inPath <- sprintf("../DATA/System4_seasonal_15_rev1.0/%s_%s", locName, resolution) - outPath <- sprintf("../DATA/System4_seasonal_15_rev1.3/%sdeg/%s_noBC", resolution, locName) + outPath <- sprintf("../DATA/System4_seasonal_15_rev4.0/%sdeg/%s_noBC", resolution, locName) } else { members <- c(1:2) initYears <- c(1981:1982) @@ -23,7 +23,7 @@ if (submitscript) { #locName <- "EU" resolution <- "0.75" inPath <- sprintf("../DATA/System4_seasonal_15_rev1.0/%s_%s", locName, resolution) - outPath <- sprintf("../DATA/System4_seasonal_15_rev1.3/%sdeg/%s_noBC", resolution, locName) + outPath <- sprintf("../DATA/System4_seasonal_15_rev4.0/%sdeg/%s_noBC", resolution, locName) } mask<-Netcdf2R(inFile = sprintf("../DATA/mask/mask_wfdei_%s_%s.nc4", locName, resolution), "mask") diff --git a/SCRIPTS/2_doReorder_combYears_combMembers_sepLeadmonths.R b/SCRIPTS/2_doReorder_combYears_combMembers_sepLeadmonths.R index 96fcdad..d350cac 100644 --- a/SCRIPTS/2_doReorder_combYears_combMembers_sepLeadmonths.R +++ b/SCRIPTS/2_doReorder_combYears_combMembers_sepLeadmonths.R @@ -13,8 +13,8 @@ if (submitscript) { locName <- 'X' resolution <- 'X' bcInfo <- 'X' - inPath <- sprintf("../DATA/System4_seasonal_15_rev1.3/%sdeg/%s_%s", resolution, locName, bcInfo) - outPath <- sprintf("../DATA/System4_seasonal_15_rev1.3/%sdeg/%s_%s_biasformat", resolution, locName, bcInfo) + inPath <- sprintf("../DATA/System4_seasonal_15_rev4.0/%sdeg/%s_%s", resolution, locName, bcInfo) + outPath <- sprintf("../DATA/System4_seasonal_15_rev4.0/%sdeg/%s_%s_biasformat", resolution, locName, bcInfo) } else { members <- c(1:2) initYears <- c(1981:1982) @@ -24,8 +24,8 @@ if (submitscript) { resolution <- "0.75" # bcInfo <- "BC" bcInfo <- "noBC" - inPath <- sprintf("../DATA/System4_seasonal_15_rev1.3/%sdeg/%s_%s", resolution, locName, bcInfo) - outPath <- sprintf("../DATA/System4_seasonal_15_rev1.3/%sdeg/%s_%s_biasformat2", resolution, locName, bcInfo) + inPath <- sprintf("../DATA/System4_seasonal_15_rev4.0/%sdeg/%s_%s", resolution, locName, bcInfo) + outPath <- sprintf("../DATA/System4_seasonal_15_rev4.0/%sdeg/%s_%s_biasformat2", resolution, locName, bcInfo) } variables<-names(variableInfo) diff --git a/SCRIPTS/3_doBiascorrection.R b/SCRIPTS/3_doBiascorrection.R index 6b31583..a7a7b0a 100644 --- a/SCRIPTS/3_doBiascorrection.R +++ b/SCRIPTS/3_doBiascorrection.R @@ -21,19 +21,19 @@ if (submitscript) { locName <- 'X' resolution <- 'X' obsPath <- sprintf("../DATA/wfdei_rev3.0/%sdeg/%s/", resolution, locName) - inPath <- sprintf("../DATA/System4_seasonal_15_rev1.2/%sdeg/%s_noBC_biasformat", resolution, locName) - outPath <- sprintf("../DATA/System4_seasonal_15_rev1.2/%sdeg/%s_BC_biasformat", resolution, locName) + inPath <- sprintf("../DATA/System4_seasonal_15_rev4.0/%sdeg/%s_noBC_biasformat", resolution, locName) + outPath <- sprintf("../DATA/System4_seasonal_15_rev4.0/%sdeg/%s_BC_biasformat", resolution, locName) } else { members <- c(1:15) initYears <- c(1981:2010) - targetMonths <- 6 + targetMonths <- 1 leadMonths <- c(0:6) locName <- "GHA" # locName <- "EU" resolution <- "0.75" obsPath <- sprintf("../DATA/wfdei_rev3.0/%sdeg/%s/", resolution, locName) - inPath <- sprintf("../DATA/System4_seasonal_15_rev1.2/%sdeg/%s_noBC_biasformat", resolution, locName) - outPath <- sprintf("../DATA/System4_seasonal_15_rev1.2/%sdeg/%s_BC_biasformat", resolution, locName) + inPath <- sprintf("../DATA/System4_seasonal_15_rev4.0/%sdeg/%s_noBC_biasformat", resolution, locName) + outPath <- sprintf("../DATA/System4_seasonal_15_rev4.0/%sdeg/%s_BC_biasformat", resolution, locName) } variables<-names(variableInfo) diff --git a/SCRIPTS/3_submit_biascorrection.sh b/SCRIPTS/3_submit_biascorrection.sh index 0688891..6bd05ac 100755 --- a/SCRIPTS/3_submit_biascorrection.sh +++ b/SCRIPTS/3_submit_biascorrection.sh @@ -1,6 +1,6 @@ #!/bin/bash tmpScripts="./tmpScripts" -#location="EU"; resolution="0.50" +location="EU"; resolution="0.50" location="GHA"; resolution="0.50" #location="GHA"; resolution="0.75" diff --git a/SCRIPTS/4_doReorder_sepYears_sepMembers_combLeadmonths.R b/SCRIPTS/4_doReorder_sepYears_sepMembers_combLeadmonths.R index 40c183f..5c98fc6 100644 --- a/SCRIPTS/4_doReorder_sepYears_sepMembers_combLeadmonths.R +++ b/SCRIPTS/4_doReorder_sepYears_sepMembers_combLeadmonths.R @@ -1,6 +1,5 @@ rm(list=ls()) source(file = "./functions/functionsGeneral.R") -source(file = "./functions/functionReformat.R") source(file = "./functions/functionR2Netcdf.R") source(file = "./functions/functionNetcdf2R.R") source(file = "./functions/functionConvert.R") @@ -15,8 +14,8 @@ if (submitscript) { locName <- 'X' resolution <- 'X' bcInfo <- 'X' - inPath <- sprintf("../DATA/System4_seasonal_15_rev1.2/%sdeg/%s_%s_biasformat", resolution, locName, bcInfo) - outPath <- sprintf("../DATA/System4_seasonal_15_rev1.2/%sdeg/%s_%s", resolution, locName, bcInfo) + inPath <- sprintf("../DATA/System4_seasonal_15_rev4.0/%sdeg/%s_%s_biasformat", resolution, locName, bcInfo) + outPath <- sprintf("../DATA/System4_seasonal_15_rev4.0/%sdeg/%s_%s", resolution, locName, bcInfo) } else { members <- c(1:15) initYears <- c(1981:2010) @@ -25,8 +24,8 @@ if (submitscript) { #locName <- "EU" resolution <- "0.75" bcInfo <- "BC" - inPath <- sprintf("../DATA/System4_seasonal_15_rev1.2/%sdeg/%s_%s_biasformat", resolution, locName, bcInfo) - outPath <- sprintf("../DATA/System4_seasonal_15_rev1.2/%sdeg/%s_%s", resolution, locName, bcInfo) + inPath <- sprintf("../DATA/System4_seasonal_15_rev4.0/%sdeg/%s_%s_biasformat", resolution, locName, bcInfo) + outPath <- sprintf("../DATA/System4_seasonal_15_rev4.0/%sdeg/%s_%s", resolution, locName, bcInfo) } variables<-names(variableInfo) diff --git a/SCRIPTS/4_jobScriptReorder_sepYears_sepMembers_combLeadmonths b/SCRIPTS/4_jobScriptReorder_sepYears_sepMembers_combLeadmonths index 54e2afc..8608adc 100644 --- a/SCRIPTS/4_jobScriptReorder_sepYears_sepMembers_combLeadmonths +++ b/SCRIPTS/4_jobScriptReorder_sepYears_sepMembers_combLeadmonths @@ -1,7 +1,7 @@ #!/bin/bash #SBATCH --account=5120867-01 #SBATCH --time=5000 -#SBATCH --mem=16024 +#SBATCH --mem=32024 #SBATCH --ntasks=1 #SBATCH --output=./log/log_4_doReorder_sepYears_sepMembers_combLeadmonths_<location>_<bcInfo>_<resolution>deg_initMonth<initMonth>_%j.txt #SBATCH --job-name=Reorder diff --git a/SCRIPTS/4_submit_reorder_sepYears_sepMembers_combLeadmonths.sh b/SCRIPTS/4_submit_reorder_sepYears_sepMembers_combLeadmonths.sh index acaf826..5e78338 100755 --- a/SCRIPTS/4_submit_reorder_sepYears_sepMembers_combLeadmonths.sh +++ b/SCRIPTS/4_submit_reorder_sepYears_sepMembers_combLeadmonths.sh @@ -1,8 +1,8 @@ #!/bin/bash tmpScripts="./tmpScripts" #location="EU"; resolution="0.50" -location="GHA"; resolution="0.50" -#location="GHA"; resolution="0.75" +#location="GHA"; resolution="0.50" +location="GHA"; resolution="0.75" #bcInfo="noBC" bcInfo="BC" diff --git a/SCRIPTS/5_doNetcdfCombine.R b/SCRIPTS/5_doNetcdfCombine.R index 6ab916c..2d7b0e8 100644 --- a/SCRIPTS/5_doNetcdfCombine.R +++ b/SCRIPTS/5_doNetcdfCombine.R @@ -1,7 +1,6 @@ rm(list=ls()) library(ncdf4) source(file = "./functions/functionsGeneral.R") -source(file = "./functions/functionReformat.R") source(file = "./functions/functionR2Netcdf.R") source(file = "./functions/functionNetcdf2R.R") source(file = "./functions/functionConvert.R") @@ -16,8 +15,8 @@ if (submitscript) { locName <- 'X' resolution <- 'X' bcInfo <- 'X' - inPath <- sprintf("../DATA/System4_seasonal_15_rev1.2/%sdeg/%s_%s", resolution, locName, bcInfo) - outPath <- sprintf("../DATA/System4_seasonal_15_rev1.2/%sdeg/%s_%s_final", resolution, locName, bcInfo) + inPath <- sprintf("../DATA/System4_seasonal_15_rev4.0/%sdeg/%s_%s", resolution, locName, bcInfo) + outPath <- sprintf("../DATA/System4_seasonal_15_rev4.0/%sdeg/%s_%s_final", resolution, locName, bcInfo) } else { members <- c(1:15) initYears <- c(1981:2010) @@ -26,8 +25,8 @@ if (submitscript) { #locName <- "EU" resolution <- "0.75" bcInfo <- "BC" - inPath <- sprintf("../DATA/System4_seasonal_15_rev1.2/%sdeg/%s_%s", resolution, locName, bcInfo) - outPath <- sprintf("../DATA/System4_seasonal_15_rev1.2/%sdeg/%s_%s_final", resolution, locName, bcInfo) + inPath <- sprintf("../DATA/System4_seasonal_15_rev4.0/%sdeg/%s_%s", resolution, locName, bcInfo) + outPath <- sprintf("../DATA/System4_seasonal_15_rev4.0/%sdeg/%s_%s_final", resolution, locName, bcInfo) } variables<-names(variableInfo) @@ -39,7 +38,7 @@ for (iMember in members) { firstVar<-TRUE for (variableName in variables) { ## OPEN NCin-Data - nameFileNCin <- sprintf("%s/%s/%s_forcing_seas15_%s_%s_E%02d_%4d_%02d.nc4", + nameFileNCin <- sprintf("%s/%s/%s_forcing_seas15_%s_%s_E%02d_INIT%4d_%02d.nc4", inPath, variableName, variableName, @@ -67,7 +66,7 @@ for (iMember in members) { FillValue <- 1e20 ## SAVE AS NC-DATA - nameFileNCout <- sprintf("%s/forcing_seas15_%s_%s_E%02d_%4d_%02d.nc4", + nameFileNCout <- sprintf("%s/forcing_seas15_%s_%s_E%02d_INIT%4d_%02d.nc4", outPath, locName, bcInfo, diff --git a/SCRIPTS/6_doBiasCheck.R b/SCRIPTS/6_doBiasCheck.R index 82908b5..b4fd72f 100644 --- a/SCRIPTS/6_doBiasCheck.R +++ b/SCRIPTS/6_doBiasCheck.R @@ -16,27 +16,26 @@ if (submitscript) { locName <- 'X' resolution <- 'X' obsPath <- sprintf("../DATA/wfdei_rev3.0/%sdeg/%s/", resolution, locName) - inPathNoBC <- sprintf("../DATA/System4_seasonal_15_rev1.2/%sdeg/%s_noBC_biasformat", resolution, locName) - inPathBC <- sprintf("../DATA/System4_seasonal_15_rev1.2/%sdeg/%s_BC_biasformat", resolution, locName) - outPath <- sprintf("../Analysis_output/pics/checkBias_rev1.2") + inPathNoBC <- sprintf("../DATA/System4_seasonal_15_rev4.0/%sdeg/%s_noBC_biasformat", resolution, locName) + inPathBC <- sprintf("../DATA/System4_seasonal_15_rev4.0/%sdeg/%s_BC_biasformat", resolution, locName) + outPath <- sprintf("../Analysis_output/pics/checkBias_rev4.0") } else { members <- c(1:15) initYears <- c(1981:2010) targetMonths <- c(1:12) leadMonths <- c(0:6) - locName <- "GHA" - #locName <- "EU" - resolution <- "0.75" + #locName <- "GHA" + locName <- "EU" + resolution <- "0.50" obsPath <- sprintf("../DATA/wfdei_rev3.0/%sdeg/%s/", resolution, locName) - inPathNoBC <- sprintf("../DATA/System4_seasonal_15_rev1.2/%sdeg/%s_noBC_biasformat", resolution, locName) - inPathBC <- sprintf("../DATA/System4_seasonal_15_rev1.2/%sdeg/%s_BC_biasformat", resolution, locName) - outPath <- sprintf("../Analysis_output/pics/checkBias_rev1.2") + inPathNoBC <- sprintf("../DATA/System4_seasonal_15_rev4.0/%sdeg/%s_noBC_biasformat", resolution, locName) + inPathBC <- sprintf("../DATA/System4_seasonal_15_rev4.0/%sdeg/%s_BC_biasformat", resolution, locName) + outPath <- sprintf("../Analysis_output/pics/checkBias_rev4.0") } mask<-Netcdf2R(inFile = sprintf("../DATA/mask/mask_wfdei_%s_%s.nc4", locName, resolution), "mask") variables<-names(variableInfo) -#variables<-c("pr") dir.create(outPath, recursive = TRUE, showWarnings = FALSE) diff --git a/SCRIPTS/6_jobScriptBiasCheck b/SCRIPTS/6_jobScriptBiasCheck index 120c27a..0c44dda 100644 --- a/SCRIPTS/6_jobScriptBiasCheck +++ b/SCRIPTS/6_jobScriptBiasCheck @@ -1,7 +1,7 @@ #!/bin/bash #SBATCH --account=5120867-01 #SBATCH --time=5000 -#SBATCH --mem=16024 +#SBATCH --mem=32024 #SBATCH --ntasks=1 #SBATCH --output=./log/log_6_biasCheck_<location>_<resolution>deg_targetMonth<targetMonth>_%j.txt #SBATCH --job-name=check diff --git a/SCRIPTS/functions/functionBiascorrectionWUR.R b/SCRIPTS/functions/functionBiascorrectionWUR.R index d4ec0c3..e22a3f5 100644 --- a/SCRIPTS/functions/functionBiascorrectionWUR.R +++ b/SCRIPTS/functions/functionBiascorrectionWUR.R @@ -140,7 +140,7 @@ biasCorrectCell<-function(obscell, predcell, minobs, npred, nbin = 100, epsilon # meansimbin = sumsimbin / nsimbin diffmean = abs (mean (simcell [indvalobs]) - mean (obscell [indvalobs])) # diffbinmax = max (abs (meansimbin - meanobsbin), na.rm = T) - if (diffmean > 0.01) { + if ((diffmean*86400) > 0.01 ) { print (paste ("error: ", diffmean, morepred0, length(indbel0), sep = " ")) } return(simcell) @@ -158,9 +158,7 @@ biasCorrect <- function(obs, pred, nbin = 100, epsilon = 0.00001) { ntime<-dim(pred$Data)[2] nlat<-dim(obs$Data)[2] nlon<-dim(obs$Data)[3] - print(dim(obs_new$Data)) obs_new$Data <- array(NA, dim = c(ntime, nlat, nlon)) - print(dim(obs_new$Data)) obs_new$Data[which(element==TRUE),,]<-obs$Data[] # obs_new$Data[,10,10] # obs$Data[,10,10] @@ -199,9 +197,11 @@ biasCorrect <- function(obs, pred, nbin = 100, epsilon = 0.00001) { # Selection of all data for a single cell obscell <- obsselmem[ ,ilat, ilon] predcell <- aperm( predsel[ , ,ilat, ilon]) - rm(nmem,nsam,ib,ie,imem,obssel) - + rm(ib,ie,imem,obssel) simcell <- biasCorrectCell(obscell, predcell, npred = npred, minobs = minobs, nbin = nbin, epsilon = epsilon) + # transpose back to the right member/timestep order + dim(simcell) <- c(nsam, nmem) + simcell<-t(simcell) RData_BC$Data[,,ilat,ilon]<-simcell } } -- GitLab