diff --git a/server/test/sbm_config.toml b/server/test/sbm_config.toml index dfcecd5b9..d84ae379a 100644 --- a/server/test/sbm_config.toml +++ b/server/test/sbm_config.toml @@ -61,6 +61,19 @@ atmosphere_air__snowfall_temperature_threshold = "TT" atmosphere_air__snowfall_temperature_interval = "TTI" snowpack__melting_temperature_threshold = "TTM" snowpack__degree-day_coefficient = "Cfmax" +snowpack__liquid_water_holding_capacity = "WHC" + +soil_water__brooks-corey_epsilon_parameter = "c" +soil_surface_water__infiltration_reduction_parameter = "cf_soil" +soil_water__vertical_saturated_hydraulic_conductivity_scale_parameter = "f" +"soil~compacted_surface_water__infiltration_capacity" = "InfiltCapPath" +"soil~non-compacted_surface_water__infiltration_capacity" = "InfiltCapSoil" +soil_water__residual_volume_fraction = "thetaR" +soil_water__saturated_volume_fraction = "thetaS" +soil_water_sat-zone_bottom__max_leakage_volume_flux = "MaxLeakage" +"soil~compacted__area_fraction" = "PathFrac" +"soil_root~wet__sigmoid_function_shape_parameter" = "rootdistpar" +soil__thickness = "SoilThickness" # specify the internal IDs of the parameters which vary over time # the external name mapping needs to be below together with the other mappings @@ -104,7 +117,7 @@ pathfrac = "PathFrac" rootdistpar = "rootdistpar" soilthickness = "SoilThickness" -[input.vertical.soil.parameters.kv_0] +[input.soil_surface_water__vertical_saturated_hydraulic_conductivity] netcdf.variable.name = "KsatVer" scale = 1.0 offset = 0.0 diff --git a/src/routing/subsurface.jl b/src/routing/subsurface.jl index 3bf73f642..9fd91ced6 100644 --- a/src/routing/subsurface.jl +++ b/src/routing/subsurface.jl @@ -57,7 +57,7 @@ function LateralSsfParameters( (; theta_s, theta_r, soilthickness) = soil soilthickness = soilthickness .* 0.001 - kh_profile_type = get(config.input.vertical, "ksat_profile", "exponential")::String + kh_profile_type = get(config.input, "ksat_profile", "exponential")::String dt = Second(config.timestepsecs) / basetimestep if kh_profile_type == "exponential" (; kv_0, f) = soil.kv_profile diff --git a/src/sbm_model.jl b/src/sbm_model.jl index e03d48cbf..d0eac5163 100644 --- a/src/sbm_model.jl +++ b/src/sbm_model.jl @@ -147,7 +147,7 @@ function initialize_sbm_model(config::Config) y_length, ) # update variables `ssf`, `ssfmax` and `kh` (layered profile) based on ksat_profile - kh_profile_type = get(config.input.vertical, "ksat_profile", "exponential")::String + kh_profile_type = get(config.input, "ksat_profile", "exponential")::String if kh_profile_type == "exponential" || kh_profile_type == "exponential_constant" initialize_lateralssf!(subsurface_flow, subsurface_flow.parameters.kh_profile) elseif kh_profile_type == "layered" || kh_profile_type == "layered_exponential" diff --git a/src/soil/soil.jl b/src/soil/soil.jl index bdd649e9d..e76aaf902 100644 --- a/src/soil/soil.jl +++ b/src/soil/soil.jl @@ -211,7 +211,7 @@ function sbm_kv_profiles( sumlayers, dt, ) - kv_profile_type = get(config.input.vertical, "ksat_profile", "exponential")::String + kv_profile_type = get(config.input, "ksat_profile", "exponential")::String n = length(indices) if kv_profile_type == "exponential" kv_profile = KvExponential(kv_0, f) @@ -219,7 +219,7 @@ function sbm_kv_profiles( z_exp = ncread( dataset, config, - "vertical.soil.parameters.z_exp"; + "z_exp"; optional = false, sel = indices, type = Float, @@ -231,14 +231,14 @@ function sbm_kv_profiles( ncread( dataset, config, - "vertical.soil.parameters.kv"; + "kv"; sel = indices, defaults = 1000.0, type = Float, dimname = :layer, ) .* (dt / basetimestep) if size(kv, 1) != maxlayers - parname = param(config.input.vertical.soil.parameter, "kv") + parname = param(config.input, "kv") size1 = size(kv, 1) error("$parname needs a layer dimension of size $maxlayers, but is $size1") end @@ -248,7 +248,7 @@ function sbm_kv_profiles( z_layered = ncread( dataset, config, - "vertical.soil.parameters.z_layered"; + "z_layered"; optional = false, sel = indices, type = Float, @@ -356,7 +356,7 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d ncread( dataset, config, - "vertical.soil.parameters.w_soil"; + "soil_surface_temperature__weight_coefficient"; sel = indices, defaults = 0.1125, type = Float, @@ -364,7 +364,7 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d cf_soil = ncread( dataset, config, - "vertical.soil.parameters.cf_soil"; + "soil_surface_water__infiltration_reduction_parameter"; sel = indices, defaults = 0.038, type = Float, @@ -373,7 +373,7 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d theta_s = ncread( dataset, config, - "vertical.soil.parameters.theta_s"; + "soil_water__saturated_volume_fraction"; sel = indices, defaults = 0.6, type = Float, @@ -381,7 +381,7 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d theta_r = ncread( dataset, config, - "vertical.soil.parameters.theta_r"; + "soil_water__residual_volume_fraction"; sel = indices, defaults = 0.01, type = Float, @@ -390,7 +390,7 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d ncread( dataset, config, - "vertical.soil.parameters.kv_0"; + "soil_surface_water__vertical_saturated_hydraulic_conductivity"; sel = indices, defaults = 3000.0, type = Float, @@ -398,7 +398,7 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d f = ncread( dataset, config, - "vertical.soil.parameters.f"; + "soil_water__vertical_saturated_hydraulic_conductivity_scale_parameter"; sel = indices, defaults = 0.001, type = Float, @@ -406,7 +406,7 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d hb = ncread( dataset, config, - "vertical.soil.parameters.hb"; + "soil_water__air_entry_pressure_head"; sel = indices, defaults = -10.0, type = Float, @@ -414,7 +414,7 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d h1 = ncread( dataset, config, - "vertical.soil.parameters.h1"; + "vegetation_root__feddes_critial_pressure_head_h~1"; sel = indices, defaults = 0.0, type = Float, @@ -422,7 +422,7 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d h2 = ncread( dataset, config, - "vertical.soil.parameters.h2"; + "vegetation_root__feddes_critial_pressure_head_h~2"; sel = indices, defaults = -100.0, type = Float, @@ -430,7 +430,7 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d h3_high = ncread( dataset, config, - "vertical.soil.parameters.h3_high"; + "vegetation_root__feddes_critial_pressure_head_h~3~high"; sel = indices, defaults = -400.0, type = Float, @@ -438,7 +438,7 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d h3_low = ncread( dataset, config, - "vertical.soil.parameters.h3_low"; + "vegetation_root__feddes_critial_pressure_head_h~3~low"; sel = indices, defaults = -1000.0, type = Float, @@ -446,7 +446,7 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d h4 = ncread( dataset, config, - "vertical.soil.parameters.h4"; + "vegetation_root__feddes_critial_pressure_head_h~4"; sel = indices, defaults = -15849.0, type = Float, @@ -454,7 +454,7 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d alpha_h1 = ncread( dataset, config, - "vertical.soil.parameters.alpha_h1"; + "vegetation_root__feddes_critial_pressure_head_h~1_reduction_coefficient"; sel = indices, defaults = 1.0, type = Float, @@ -462,7 +462,7 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d soilthickness = ncread( dataset, config, - "vertical.soil.parameters.soilthickness"; + "soil__thickness"; sel = indices, defaults = 2000.0, type = Float, @@ -471,7 +471,7 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d ncread( dataset, config, - "vertical.soil.parameters.infiltcappath"; + "soil~compacted_surface_water__infiltration_capacity"; sel = indices, defaults = 10.0, type = Float, @@ -480,7 +480,7 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d ncread( dataset, config, - "vertical.soil.parameters.infiltcapsoil"; + "soil~non-compacted_surface_water__infiltration_capacity"; sel = indices, defaults = 100.0, type = Float, @@ -489,7 +489,7 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d ncread( dataset, config, - "vertical.soil.parameters.maxleakage"; + "soil_water_sat-zone_bottom__max_leakage_volume_flux"; sel = indices, defaults = 0.0, type = Float, @@ -498,7 +498,7 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d c = ncread( dataset, config, - "vertical.soil.parameters.c"; + "soil_water__brooks-corey_epsilon_parameter"; sel = indices, defaults = 10.0, type = Float, @@ -512,14 +512,14 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d kvfrac = ncread( dataset, config, - "vertical.soil.parameters.kvfrac"; + "soil_water__vertical_saturated_hydraulic_conductivity_factor"; sel = indices, defaults = 1.0, type = Float, dimname = :layer, ) if size(kvfrac, 1) != maxlayers - parname = param(config.input, "vertical.soil.parameters.kvfrac") + parname = param(config.input, "soil_water__vertical_saturated_hydraulic_conductivity_factor") size1 = size(kvfrac, 1) error("$parname needs a layer dimension of size $maxlayers, but is $size1") end @@ -527,7 +527,7 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d pathfrac = ncread( dataset, config, - "vertical.soil.parameters.pathfrac"; + "soil~compacted__area_fraction"; sel = indices, defaults = 0.01, type = Float, @@ -537,7 +537,7 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d rootdistpar = ncread( dataset, config, - "vertical.soil.parameters.rootdistpar"; + "soil_root~wet__sigmoid_function_shape_parameter"; sel = indices, defaults = -500.0, type = Float, @@ -545,7 +545,7 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d cap_hmax = ncread( dataset, config, - "vertical.soil.parameters.cap_hmax"; + "soil_capillary-rise__max_water-table_depth"; sel = indices, defaults = 2000.0, type = Float, @@ -553,7 +553,7 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d cap_n = ncread( dataset, config, - "vertical.soil.parameters.cap_n"; + "soil_capillary-rise__averianov_exponent"; sel = indices, defaults = 2.0, type = Float, @@ -566,11 +566,11 @@ function SbmSoilParameters(dataset, config, vegetation_parameter_set, indices, d if length(config_thicknesslayers) > 0 # root fraction read from dataset file, in case of multiple soil layers and TOML file # includes "vertical.rootfraction" - if haskey(config.input.vertical.soil.parameters, "rootfraction") + if haskey(config.input, "soil_layer_root__length_density_fraction") rootfraction = ncread( dataset, config, - "vertical.soil.parameters.rootfraction"; + "soil_layer_root__length_density_fraction"; sel = indices, optional = false, type = Float, diff --git a/test/io.jl b/test/io.jl index 8b3051516..596d4b321 100644 --- a/test/io.jl +++ b/test/io.jl @@ -23,24 +23,8 @@ config = Wflow.Config(tomlpath) @test config.output isa Wflow.Config @test collect(keys(config.output)) == ["lateral", "vertical", "path"] - # theta_s can also be provided under the alias theta_s - @test Wflow.get_alias( - config.input.vertical.soil.parameters, - "theta_s", - "theta_s", - nothing, - ) == "thetaS" - val = pop!(config.input.vertical.soil.parameters, "theta_s") - config.input.vertical.soil.parameters["theta_s"] = val - @test Wflow.get_alias( - config.input.vertical.soil.parameters, - "theta_s", - "theta_s", - nothing, - ) == "thetaS" - # modifiers can also be applied - kvconf = Wflow.get_alias(config.input.vertical.soil.parameters, "kv_0", "kv_0", nothing) + kvconf = Wflow.param(config.input, "soil_surface_water__vertical_saturated_hydraulic_conductivity", nothing) @test kvconf isa Wflow.Config ncname, modifier = Wflow.ncvar_name_modifier(kvconf; config = config) @test ncname === "KsatVer" @@ -267,14 +251,14 @@ end end config.input["snowpack__degree-day_coefficient"] = Dict("value" => 2.0) -config.input.vertical.soil.parameters.soilthickness = Dict( +config.input.soil__thickness = Dict( "scale" => 3.0, "offset" => 100.0, "netcdf" => Dict("variable" => Dict("name" => "SoilThickness")), ) config.input.vertical.atmospheric_forcing.precipitation = Dict("scale" => 1.5, "netcdf" => Dict("variable" => Dict("name" => "precip"))) -config.input.vertical.soil.parameters.c = Dict( +config.input["soil_water__brooks-corey_epsilon_parameter"] = Dict( "scale" => [2.0, 3.0], "offset" => [0.0, 0.0], "layer" => [1, 3], diff --git a/test/run_sbm.jl b/test/run_sbm.jl index 282c5bc2d..6159dcfa3 100644 --- a/test/run_sbm.jl +++ b/test/run_sbm.jl @@ -458,9 +458,9 @@ Wflow.close_files(model; delete_output = false) i = 100 tomlpath = joinpath(@__DIR__, "sbm_config.toml") config = Wflow.Config(tomlpath) - config.input.vertical.soil.parameters.kv = "kv" - config.input.vertical.soil.parameters.z_exp = Dict("value" => 400.0) - config.input.vertical.soil.parameters.z_layered = Dict("value" => 400.0) + config.input.kv = "kv" + config.input.z_exp = Dict("value" => 400.0) + config.input.z_layered = Dict("value" => 400.0) @testset "exponential profile" begin model = Wflow.initialize_sbm_model(config) @@ -476,7 +476,7 @@ Wflow.close_files(model; delete_output = false) end @testset "exponential constant profile" begin - config.input.vertical.ksat_profile = "exponential_constant" + config.input.ksat_profile = "exponential_constant" model = Wflow.initialize_sbm_model(config) (; soil) = model.vertical (; kv_profile) = soil.parameters @@ -497,7 +497,7 @@ Wflow.close_files(model; delete_output = false) end @testset "layered profile" begin - config.input.vertical.ksat_profile = "layered" + config.input.ksat_profile = "layered" model = Wflow.initialize_sbm_model(config) (; soil) = model.vertical (; kv_profile) = soil.parameters @@ -513,7 +513,7 @@ Wflow.close_files(model; delete_output = false) end @testset "layered exponential profile" begin - config.input.vertical.ksat_profile = "layered_exponential" + config.input.ksat_profile = "layered_exponential" model = Wflow.initialize_sbm_model(config) (; soil) = model.vertical (; kv_profile) = soil.parameters diff --git a/test/sbm_config.toml b/test/sbm_config.toml index dfcecd5b9..259b78296 100644 --- a/test/sbm_config.toml +++ b/test/sbm_config.toml @@ -61,6 +61,19 @@ atmosphere_air__snowfall_temperature_threshold = "TT" atmosphere_air__snowfall_temperature_interval = "TTI" snowpack__melting_temperature_threshold = "TTM" snowpack__degree-day_coefficient = "Cfmax" +snowpack__liquid_water_holding_capacity = "WHC" + +soil_water__brooks-corey_epsilon_parameter = "c" +soil_surface_water__infiltration_reduction_parameter = "cf_soil" +soil_water__vertical_saturated_hydraulic_conductivity_scale_parameter = "f" +"soil~compacted_surface_water__infiltration_capacity" = "InfiltCapPath" +"soil~non-compacted_surface_water__infiltration_capacity" = "InfiltCapSoil" +soil_water__residual_volume_fraction = "thetaR" +soil_water__saturated_volume_fraction = "thetaS" +soil_water_sat-zone_bottom__max_leakage_volume_flux = "MaxLeakage" +"soil~compacted__area_fraction" = "PathFrac" +"soil_root~wet__sigmoid_function_shape_parameter" = "rootdistpar" +soil__thickness = "SoilThickness" # specify the internal IDs of the parameters which vary over time # the external name mapping needs to be below together with the other mappings @@ -90,21 +103,7 @@ potential_evaporation = "pet" precipitation = "precip" temperature = "temp" -[input.vertical.soil.parameters] -c = "c" -cf_soil = "cf_soil" -f = "f" -infiltcappath = "InfiltCapPath" -infiltcapsoil = "InfiltCapSoil" -water_holding_capacity = "WHC" -theta_r = "thetaR" -theta_s = "thetaS" -maxleakage = "MaxLeakage" -pathfrac = "PathFrac" -rootdistpar = "rootdistpar" -soilthickness = "SoilThickness" - -[input.vertical.soil.parameters.kv_0] +[input.soil_surface_water__vertical_saturated_hydraulic_conductivity] netcdf.variable.name = "KsatVer" scale = 1.0 offset = 0.0 diff --git a/test/sbm_gwf_config.toml b/test/sbm_gwf_config.toml index c917b409f..bfd72592a 100644 --- a/test/sbm_gwf_config.toml +++ b/test/sbm_gwf_config.toml @@ -48,6 +48,13 @@ river_location = "wflow_river" subcatchment = "wflow_subcatch" altitude = "wflow_dem" +soil_surface_water__vertical_saturated_hydraulic_conductivity = "kv" +"soil~non-compacted_surface_water__infiltration_capacity" = "InfiltCapSoil" +soil_water__residual_volume_fraction = "thetaR" +soil_water__saturated_volume_fraction = "thetaS" +"soil~compacted__area_fraction" = "PathFrac" +soil__thickness = "soilthickness" + # specify the internal IDs of the parameters which vary over time # the external name mapping needs to be below together with the other mappings forcing = [ @@ -67,14 +74,6 @@ e_r = "EoverR" potential_evaporation = "PET" precipitation = "P" -[input.vertical.soil.parameters] -infiltcapsoil = "InfiltCapSoil" -kv_0 = "kv" -pathfrac = "PathFrac" -soilthickness = "soilthickness" -theta_r = "thetaR" -theta_s = "thetaS" - [input.lateral.river] length = "wflow_riverlength" mannings_n = "N_river" diff --git a/test/sbm_gwf_piave_demand_config.toml b/test/sbm_gwf_piave_demand_config.toml index 1c663201a..d0fa2a59a 100644 --- a/test/sbm_gwf_piave_demand_config.toml +++ b/test/sbm_gwf_piave_demand_config.toml @@ -25,12 +25,34 @@ atmosphere_air__snowfall_temperature_threshold = "TT" atmosphere_air__snowfall_temperature_interval = "TTI" snowpack__melting_temperature_threshold = "TTM" snowpack__degree-day_coefficient = "Cfmax" +snowpack__liquid_water_holding_capacity = "WHC" glacier_surface__area_fraction = "wflow_glacierfrac" glacier_ice__degree-day_coefficient = "G_Cfmax" glacier_ice__melting_temperature_threshold = "G_TT" "glacier_firn_accumulation__snowpack~dry_leq-depth_fraction" = "G_SIfrac" +soil_water__brooks-corey_epsilon_parameter = "c" +soil_surface_water__infiltration_reduction_parameter = "cf_soil" +soil_surface_water__vertical_saturated_hydraulic_conductivity = "KsatVer" +soil_water__vertical_saturated_hydraulic_conductivity_scale_parameter = "f" +"soil~compacted_surface_water__infiltration_capacity" = "InfiltCapPath" +"soil~non-compacted_surface_water__infiltration_capacity" = "InfiltCapSoil" +soil_water__residual_volume_fraction = "thetaR" +soil_water__saturated_volume_fraction = "thetaS" +soil_water_sat-zone_bottom__max_leakage_volume_flux = "MaxLeakage" +"soil~compacted__area_fraction" = "PathFrac" +"soil_root~wet__sigmoid_function_shape_parameter" = "rootdistpar" +soil__thickness = "SoilThickness_gw" +soil_water__vertical_saturated_hydraulic_conductivity_factor = "kvfrac" + +"vegetation_root__feddes_critial_pressure_head_h~1_reduction_coefficient" = "alpha_h1" +"vegetation_root__feddes_critial_pressure_head_h~1" = "h1" +"vegetation_root__feddes_critial_pressure_head_h~2" = "h2" +"vegetation_root__feddes_critial_pressure_head_h~3~high" = "h3_high" +"vegetation_root__feddes_critial_pressure_head_h~3~low" = "h3_low" +"vegetation_root__feddes_critial_pressure_head_h~4" = "h4" + forcing = [ "vertical.atmospheric_forcing.precipitation", "vertical.atmospheric_forcing.temperature", @@ -106,27 +128,6 @@ temperature = "temp" [input.vertical.runoff.parameters] waterfrac = "WaterFrac" -[input.vertical.soil.parameters] -alpha_h1 = "alpha_h1" -c = "c" -cf_soil = "cf_soil" -f = "f" -h1 = "h1" -h2 = "h2" -h3_high = "h3_high" -h3_low = "h3_low" -h4 = "h4" -infiltcappath = "InfiltCapPath" -infiltcapsoil = "InfiltCapSoil" -theta_r = "thetaR" -theta_s = "thetaS" -maxleakage = "MaxLeakage" -pathfrac = "PathFrac" -rootdistpar = "rootdistpar" -soilthickness = "SoilThickness_gw" -kv_0 = "KsatVer" -kvfrac = "kvfrac" - [model.water_demand] domestic = true industry = true diff --git a/test/sbm_piave_config.toml b/test/sbm_piave_config.toml index 8ffcd6b4d..5f82ec756 100644 --- a/test/sbm_piave_config.toml +++ b/test/sbm_piave_config.toml @@ -30,6 +30,26 @@ glacier_ice__degree-day_coefficient = "G_Cfmax" glacier_ice__melting_temperature_threshold = "G_TT" "glacier_firn_accumulation__snowpack~dry_leq-depth_fraction" = "G_SIfrac" +soil_water__brooks-corey_epsilon_parameter = "c" +soil_surface_water__infiltration_reduction_parameter = "cf_soil" +soil_surface_water__vertical_saturated_hydraulic_conductivity = "KsatVer" +soil_water__vertical_saturated_hydraulic_conductivity_scale_parameter = "f" +"soil~compacted_surface_water__infiltration_capacity" = "InfiltCapPath" +"soil~non-compacted_surface_water__infiltration_capacity" = "InfiltCapSoil" +soil_water__residual_volume_fraction = "thetaR" +soil_water__saturated_volume_fraction = "thetaS" +soil_water_sat-zone_bottom__max_leakage_volume_flux = "MaxLeakage" +"soil~compacted__area_fraction" = "PathFrac" +"soil_root~wet__sigmoid_function_shape_parameter" = "rootdistpar" +soil__thickness = "SoilThickness" + +"vegetation_root__feddes_critial_pressure_head_h~1_reduction_coefficient" = "alpha_h1" +"vegetation_root__feddes_critial_pressure_head_h~1" = "h1" +"vegetation_root__feddes_critial_pressure_head_h~2" = "h2" +"vegetation_root__feddes_critial_pressure_head_h~3~high" = "h3_high" +"vegetation_root__feddes_critial_pressure_head_h~3~low" = "h3_low" +"vegetation_root__feddes_critial_pressure_head_h~4" = "h4" + forcing = [ "vertical.atmospheric_forcing.precipitation", "vertical.atmospheric_forcing.temperature", @@ -89,26 +109,6 @@ temperature = "temp" [input.vertical.runoff.parameters] waterfrac = "WaterFrac" -[input.vertical.soil.parameters] -alpha_h1 = "alpha_h1" -c = "c" -cf_soil = "cf_soil" -f = "f" -h1 = "h1" -h2 = "h2" -h3_high = "h3_high" -h3_low = "h3_low" -h4 = "h4" -infiltcappath = "InfiltCapPath" -infiltcapsoil = "InfiltCapSoil" -theta_r = "thetaR" -theta_s = "thetaS" -maxleakage = "MaxLeakage" -pathfrac = "PathFrac" -rootdistpar = "rootdistpar" -soilthickness = "SoilThickness" -kv_0 = "KsatVer" - [state.lateral.river.variables] q = "q_river" h = "h_river" diff --git a/test/sbm_piave_demand_config.toml b/test/sbm_piave_demand_config.toml index 33742255f..f7920b04d 100644 --- a/test/sbm_piave_demand_config.toml +++ b/test/sbm_piave_demand_config.toml @@ -30,6 +30,27 @@ glacier_ice__degree-day_coefficient = "G_Cfmax" glacier_ice__melting_temperature_threshold = "G_TT" "glacier_firn_accumulation__snowpack~dry_leq-depth_fraction" = "G_SIfrac" +soil_water__brooks-corey_epsilon_parameter = "c" +soil_surface_water__infiltration_reduction_parameter = "cf_soil" +soil_surface_water__vertical_saturated_hydraulic_conductivity = "KsatVer" +soil_water__vertical_saturated_hydraulic_conductivity_scale_parameter = "f" +"soil~compacted_surface_water__infiltration_capacity" = "InfiltCapPath" +"soil~non-compacted_surface_water__infiltration_capacity" = "InfiltCapSoil" +soil_water__residual_volume_fraction = "thetaR" +soil_water__saturated_volume_fraction = "thetaS" +soil_water_sat-zone_bottom__max_leakage_volume_flux = "MaxLeakage" +"soil~compacted__area_fraction" = "PathFrac" +"soil_root~wet__sigmoid_function_shape_parameter" = "rootdistpar" +soil__thickness = "SoilThickness" +soil_water__vertical_saturated_hydraulic_conductivity_factor = "kvfrac" + +"vegetation_root__feddes_critial_pressure_head_h~1_reduction_coefficient" = "alpha_h1" +"vegetation_root__feddes_critial_pressure_head_h~1" = "h1" +"vegetation_root__feddes_critial_pressure_head_h~2" = "h2" +"vegetation_root__feddes_critial_pressure_head_h~3~high" = "h3_high" +"vegetation_root__feddes_critial_pressure_head_h~3~low" = "h3_low" +"vegetation_root__feddes_critial_pressure_head_h~4" = "h4" + forcing = [ "vertical.atmospheric_forcing.precipitation", "vertical.atmospheric_forcing.temperature", @@ -101,27 +122,6 @@ temperature = "temp" [input.vertical.runoff.parameters] waterfrac = "WaterFrac" -[input.vertical.soil.parameters] -alpha_h1 = "alpha_h1" -c = "c" -cf_soil = "cf_soil" -f = "f" -h1 = "h1" -h2 = "h2" -h3_high = "h3_high" -h3_low = "h3_low" -h4 = "h4" -infiltcappath = "InfiltCapPath" -infiltcapsoil = "InfiltCapSoil" -theta_r = "thetaR" -theta_s = "thetaS" -maxleakage = "MaxLeakage" -pathfrac = "PathFrac" -rootdistpar = "rootdistpar" -soilthickness = "SoilThickness" -kv_0 = "KsatVer" -kvfrac = "kvfrac" - [model.water_demand] domestic = true industry = true diff --git a/test/sbm_simple.toml b/test/sbm_simple.toml index 797550af5..0347e232c 100644 --- a/test/sbm_simple.toml +++ b/test/sbm_simple.toml @@ -22,6 +22,19 @@ atmosphere_air__snowfall_temperature_interval = "TTI" snowpack__melting_temperature_threshold = "TTM" snowpack__degree-day_coefficient = "Cfmax" +soil_water__brooks-corey_epsilon_parameter = "c" +soil_surface_water__infiltration_reduction_parameter = "cf_soil" +soil_surface_water__vertical_saturated_hydraulic_conductivity = "KsatVer" +soil_water__vertical_saturated_hydraulic_conductivity_scale_parameter = "f" +"soil~compacted_surface_water__infiltration_capacity" = "InfiltCapPath" +"soil~non-compacted_surface_water__infiltration_capacity" = "InfiltCapSoil" +soil_water__residual_volume_fraction = "thetaR" +soil_water__saturated_volume_fraction = "thetaS" +soil_water_sat-zone_bottom__max_leakage_volume_flux = "MaxLeakage" +"soil~compacted__area_fraction" = "PathFrac" +"soil_root~wet__sigmoid_function_shape_parameter" = "rootdistpar" +soil__thickness = "SoilThickness" + # specify the internal IDs of the parameters which vary over time # the external name mapping needs to be below together with the other mappings forcing = [ @@ -50,20 +63,6 @@ temperature = "temp" [input.vertical.runoff.parameters] waterfrac = "WaterFrac" -[input.vertical.soil.parameters] -c = "c" -cf_soil = "cf_soil" -f = "f" -infiltcappath = "InfiltCapPath" -infiltcapsoil = "InfiltCapSoil" -theta_r = "thetaR" -theta_s = "thetaS" -maxleakage = "MaxLeakage" -pathfrac = "PathFrac" -rootdistpar = "rootdistpar" -soilthickness = "SoilThickness" -kv_0 = "KsatVer" - [input.lateral.river] length = "wflow_riverlength" n = "N_River" diff --git a/test/sbm_swf_config.toml b/test/sbm_swf_config.toml index b073aa146..788f345eb 100644 --- a/test/sbm_swf_config.toml +++ b/test/sbm_swf_config.toml @@ -58,6 +58,19 @@ atmosphere_air__snowfall_temperature_interval = "TTI" snowpack__melting_temperature_threshold = "TTM" snowpack__degree-day_coefficient = "Cfmax" +soil_water__brooks-corey_epsilon_parameter = "c" +soil_surface_water__infiltration_reduction_parameter = "cf_soil" +soil_surface_water__vertical_saturated_hydraulic_conductivity = "KsatVer" +soil_water__vertical_saturated_hydraulic_conductivity_scale_parameter = "f" +"soil~compacted_surface_water__infiltration_capacity" = "InfiltCapPath" +"soil~non-compacted_surface_water__infiltration_capacity" = "InfiltCapSoil" +soil_water__residual_volume_fraction = "thetaR" +soil_water__saturated_volume_fraction = "thetaS" +soil_water_sat-zone_bottom__max_leakage_volume_flux = "MaxLeakage" +"soil~compacted__area_fraction" = "PathFrac" +"soil_root~wet__sigmoid_function_shape_parameter" = "rootdistpar" +soil__thickness = "SoilThickness" + # specify the internal IDs of the parameters which vary over time # the external name mapping needs to be below together with the other mappings forcing = [ @@ -86,20 +99,6 @@ temperature = "temp" [input.vertical.runoff.parameters] waterfrac = "WaterFrac" -[input.vertical.soil.parameters] -c = "c" -cf_soil = "cf_soil" -f = "f" -infiltcappath = "InfiltCapPath" -infiltcapsoil = "InfiltCapSoil" -theta_r = "thetaR" -theta_s = "thetaS" -maxleakage = "MaxLeakage" -pathfrac = "PathFrac" -rootdistpar = "rootdistpar" -soilthickness = "SoilThickness" -kv_0 = "KsatVer" - [input.lateral.river] length = "wflow_riverlength" mannings_n = "N_River"