diff --git a/functions/functionsWBoutput.R b/functions/functionsWBoutput.R index 8883cdeaff6936fcbf4d6492744dce587a49561d..84e49b18d5e0ddd3b909756ad1043efeef0a6cee 100644 --- a/functions/functionsWBoutput.R +++ b/functions/functionsWBoutput.R @@ -112,14 +112,14 @@ new.WBdaily <- function(){ #TODO: add evaporation_intercepted in the outputs WBdaily$Psi_AllSoil = 0 WBdaily$Psi_LSymMin = 0 - WBdaily$Psi_LSymMax = 0 + WBdaily$Psi_LSymMax = -10000 WBdaily$Psi_LApoMin = 0 - WBdaily$Psi_LApoMax = 0 + WBdaily$Psi_LApoMax = -10000 WBdaily$Psi_SSymMin = 0 - WBdaily$Psi_SSymMax = 0 + WBdaily$Psi_SSymMax = -10000 WBdaily$Psi_SApoMin = 0 - WBdaily$Psi_SApoMax = 0 + WBdaily$Psi_SApoMax = -10000 WBdaily$PLC_Leaf_max = 0 WBdaily$PLC_Stem_max = 0 @@ -136,18 +136,20 @@ new.WBdaily <- function(){ WBdaily$VPDmax = NA WBdaily$LFMC_max = 0 - WBdaily$LFMC_min = 0 + WBdaily$LFMC_min = 9999 WBdaily$FMC_Canopy_max = 0 - WBdaily$FMC_Canopy_min = 0 + WBdaily$FMC_Canopy_min = 9999 # WBdaily$FMCCanopy_min = 500 # WBdaily$LFMC_min = 500 WBdaily$SWS = numeric(3) + WBdaily$REW = numeric(3) WBdaily$REW_tot = 0 - WBdaily$RWC = 0 WBdaily$REW_wp = 0 + WBdaily$RWC = 0 + return(WBdaily) } @@ -182,8 +184,8 @@ new.WByearly <- function(){ WByearly$VPDmean = NA WByearly$VPDmax = NA - WByearly$FMCCanopy_min = 500 - WByearly$LFMC_min = 500 + WByearly$FMCCanopy_min = 9999 + WByearly$LFMC_min = 9999 WByearly$dayOfDeath = NA WByearly$dayOfStomatalClosure = NA @@ -229,7 +231,7 @@ update.WBdaily <- function(WBdaily, WBveg, WBclim,WBsoil){ WBdaily$SWS = WBsoil$soilWaterStock - + WBdaily$REW = WBsoil$REW WBdaily$REW_tot = WBsoil$REW_tot WBdaily$RWC = WBsoil$RWC WBdaily$REW_wp = WBsoil$REW_wp diff --git a/functions/functionsWBsoil.R b/functions/functionsWBsoil.R index e2769e222e5e5fe2b26c70564dc3584fbfee014e..55bbacf054dee556fdec342aa1ed8564fc432204 100644 --- a/functions/functionsWBsoil.R +++ b/functions/functionsWBsoil.R @@ -189,7 +189,7 @@ compute.soilConductanceAndPsi.WBsoil <- function(WBsoil) { if (WBsoil$params$PedoTransferFormulation == "VG") { # Soil water holding capacity (volumetric) - # 28/08/2023 add new diagnostic outputs at the plant level --- + # 28/08/2023 add new diagnostic outputs at at the plot level (all layers are sum) --- totalavailwater <- (WBsoil$params$V_saturation_capacity_vg - WBsoil$params$V_residual_capacity_vg) totalavailwater_fc <- (WBsoil$params$V_field_capacity - WBsoil$params$V_residual_capacity_vg) @@ -199,7 +199,7 @@ compute.soilConductanceAndPsi.WBsoil <- function(WBsoil) { # Compute the relative water content (m3 water/m3 soil) based on Water Reserve and soil volume actualavailwater <- (WBsoil$soilWaterStock - WBsoil$params$V_residual_capacity_vg) - # 28/08/2023 add new diagnostic outputs at the plant level --- + # 28/08/2023 add new diagnostic outputs at at the plot level (all layers are sum) --- actualavailwater_wp <- (WBsoil$soilWaterStock - WBsoil$params$V_wilting_point) REW <- actualavailwater / totalavailwater #/ numeric [ncouches] @@ -214,7 +214,7 @@ compute.soilConductanceAndPsi.WBsoil <- function(WBsoil) { WBsoil$PsiSoil <- PsiSoil WBsoil$REW <- REW - # 28/08/2023 add new diagnostic outputs at the plant level --- + # 28/08/2023 add new diagnostic outputs at at the plot level (all layers are sum) --- WBsoil$RWC <- sum(actualavailwater) / sum(totalavailwater) #VG standardized : (teta - teta_r)/(teta_sat - teta_r) WBsoil$REW_tot <- sum(actualavailwater) / sum(totalavailwater_fc) #(teta - teta_r)/(teta_fc - teta_r) WBsoil$REW_wp <- sum(actualavailwater_wp) / sum(totalavailwater_wp) #(teta - teta_wp)/(teta_fc - teta_wp) @@ -243,7 +243,7 @@ compute.soilConductanceAndPsi.WBsoil <- function(WBsoil) { WBsoil$PsiSoil <- (-WBsoil$params$psie * ((WBsoil$soilWaterStock / WBsoil$params$V_saturation_capacity_campbell)^-WBsoil$params$b_camp)) - WBsoil$params$offSetPsoil WBsoil$REW <- REW - # 28/08/2023 add new diagnostic outputs at the plant level --- + # 28/08/2023 add new diagnostic outputs at the plot level (all layers are sum) --- WBsoil$RWC <- sum(actualavailwater) / sum(totalavailwater) #VG standardized : (teta - teta_r)/(teta_sat - teta_r) WBsoil$REW_tot <- sum(actualavailwater) / sum(totalavailwater_fc) #(teta - teta_r)/(teta_fc - teta_r) WBsoil$REW_wp <- sum(actualavailwater_wp) / sum(totalavailwater_wp) #(teta - teta_wp)/(teta_fc - teta_wp) diff --git a/functions/output_ref.csv b/functions/output_ref.csv index 477568fa924b724f8fe10cb938f65d26b1884494..6d40faff3a31ef679ec620eaabdb7f10d6aa0b13 100644 --- a/functions/output_ref.csv +++ b/functions/output_ref.csv @@ -127,6 +127,9 @@ daily_REW_tot;WBdaily;REW_tot;1;4 daily_RWC;WBdaily;RWC;1;4 daily_REW_wp;WBdaily;REW_wp;1;4 daily_Psi_AllSoil;WBdaily;Psi_AllSoil;1;3 +daily_REW1;WBdaily;REW;1;4 +daily_REW2;WBdaily;REW;2;4 +daily_REW3;WBdaily;REW;3;4 yearly_transpiration_mm;WByearly;transpiration_mm;1;4 yearly_evaporation_mm;WByearly;evaporation_mm;1;4 yearly_Psi_LSymMin;WByearly;Psi_LSymMin;1;4 diff --git a/functions/output_types/FMC_daily.csv b/functions/output_types/FMC_daily.csv index bbee4cf7737bd1fa50016fad344404e9864381cf..c8e0f7e7bb4a00d9c613e6c790019497adc4d835 100644 --- a/functions/output_types/FMC_daily.csv +++ b/functions/output_types/FMC_daily.csv @@ -1 +1 @@ -daily_transpiration_mm;daily_evaporation_mm;daily_Psi_LSymMin;daily_Psi_LSymMax;daily_Psi_LApoMin;daily_Psi_LApoMax;daily_Psi_SSymMin;daily_Psi_SSymMax;daily_Psi_SApoMin;daily_Psi_SApoMax;daily_PLC_Leaf_max;daily_PLC_Stem_max;daily_SWS1;daily_SWS2;daily_SWS3;daily_REW_tot;daily_RWC;daily_REW_wp;daily_ETP;daily_Psi_AllSoil;daily_LFMC_min;daily_LFMC_max;daily_FMC_Canopy_min;daily_FMC_Canopy_max \ No newline at end of file +daily_transpiration_mm;daily_evaporation_mm;daily_Psi_LSymMin;daily_Psi_LSymMax;daily_Psi_LApoMin;daily_Psi_LApoMax;daily_Psi_SSymMin;daily_Psi_SSymMax;daily_Psi_SApoMin;daily_Psi_SApoMax;daily_PLC_Leaf_max;daily_PLC_Stem_max;daily_SWS1;daily_SWS2;daily_SWS3;daily_REW_tot;daily_RWC;daily_REW_wp;daily_ETP;daily_Psi_AllSoil;daily_LFMC_min;daily_LFMC_max;daily_FMC_Canopy_min;daily_FMC_Canopy_max;daily_REW1;daily_REW2;daily_REW3 \ No newline at end of file diff --git a/quick_start/Soil_example.csv b/quick_start/Soil_example.csv index fd1a13310a2a13c8414d3534466f9a07dab883b5..96dc6a9025b8abf7accd9f81d267d664e2bc2eeb 100644 --- a/quick_start/Soil_example.csv +++ b/quick_start/Soil_example.csv @@ -15,6 +15,6 @@ depth3;4;#depth of layer 3 (m); offSetPsoil;0.3;; b_camp;-4;#Campbell shape parameter; psie; -0.025;#Potentiel of air entry (Mpa); -saturation_capacity_campbell;0.39;# Saturated soil capacity (mol/m/s/MPa); +saturation_capacity_campbell;0.39;# theta at Saturated soil capacity (-); Ksat_campbell;1.69;# Campbell saturated conductivity (mol/m/s/MPa); PedoTransferFormulation;VG;; \ No newline at end of file diff --git a/quick_start/launcher_example.R b/quick_start/launcher_example.R index ef6c6a6a8bd7546ecbc8905d4179e8bb929c18b5..acccbe13b4d6d03a69e2684b08004532361ddab9 100644 --- a/quick_start/launcher_example.R +++ b/quick_start/launcher_example.R @@ -35,8 +35,8 @@ modeling_options <- create.modeling.options(constantClimate = T, simulation_parameters <- create.simulation.parameters(startYearSimulation = 1990, endYearSimulation = 1990, mainDir = mainDir, - resolutionOutput = "subdaily", - outputType = "diagnostic_subdaily", + resolutionOutput = "daily", + outputType = "FMC_daily", overWrite = T, outputPath = output_path)