Skip to content

Commit 4b07581

Browse files
authored
Merge pull request #3963 from CliMA/he/rft-conditionally-load
rft: conditionally load microphysics parameters
2 parents f496d5c + 143dfca commit 4b07581

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

src/parameters/create_parameters.jl

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,15 @@ import StaticArrays as SA
1515
Construct the parameter set for any ClimaAtmos configuration.
1616
"""
1717
ClimaAtmosParameters(config::AtmosConfig) =
18-
ClimaAtmosParameters(config.toml_dict)
18+
ClimaAtmosParameters(config.toml_dict, config.parsed_args)
1919

2020
ClimaAtmosParameters(::Type{FT}) where {FT <: AbstractFloat} =
2121
ClimaAtmosParameters(CP.create_toml_dict(FT))
2222

23-
function ClimaAtmosParameters(toml_dict::TD) where {TD <: CP.AbstractTOMLDict}
23+
function ClimaAtmosParameters(
24+
toml_dict::TD,
25+
parsed_args = nothing,
26+
) where {TD <: CP.AbstractTOMLDict}
2427
FT = CP.float_type(toml_dict)
2528

2629
turbconv_params = TurbulenceConvectionParameters(toml_dict)
@@ -51,6 +54,16 @@ function ClimaAtmosParameters(toml_dict::TD) where {TD <: CP.AbstractTOMLDict}
5154
microphysics_0m_params = CM.Parameters.Parameters0M(toml_dict)
5255
microphysics_1m_params = microphys_1m_parameters(toml_dict)
5356
microphysics_2m_params = microphys_2m_parameters(toml_dict)
57+
58+
# If parsed_args is provided, we can save parameter space by only loading parameters
59+
# needed for the microphysics model that is actually used.
60+
if !isnothing(parsed_args)
61+
cm_model = get_microphysics_model(parsed_args)
62+
cm_model isa Microphysics0Moment || (microphysics_0m_params = nothing)
63+
cm_model isa Union{Microphysics1Moment, Microphysics2Moment} ||
64+
(microphysics_1m_params = nothing)
65+
cm_model isa Microphysics2Moment || (microphysics_2m_params = nothing)
66+
end
5467
MP0M = typeof(microphysics_0m_params)
5568
MP1M = typeof(microphysics_1m_params)
5669
MP2M = typeof(microphysics_2m_params)

0 commit comments

Comments
 (0)