diff --git a/config/benchmark_configs/climaatmos_diagedmf_io.yml b/config/benchmark_configs/climaatmos_diagedmf_io.yml index 506cafec76..a9a5cc8a3c 100644 --- a/config/benchmark_configs/climaatmos_diagedmf_io.yml +++ b/config/benchmark_configs/climaatmos_diagedmf_io.yml @@ -32,6 +32,6 @@ output_default_diagnostics: false prescribe_ozone: true aerosol_radiation: true prescribed_aerosols: ["CB1", "CB2", "DST01", "OC1", "OC2", "SO4", "SSLT01"] -diagnostics: +extra_atmos_diagnostics: - short_name: [pfull, rsut, rlut, pr, hus, rv] period: 10hours diff --git a/config/ci_configs/slabplanet_atmos_diags.yml b/config/ci_configs/slabplanet_atmos_diags.yml index d8a6d4e00b..d43a77b052 100644 --- a/config/ci_configs/slabplanet_atmos_diags.yml +++ b/config/ci_configs/slabplanet_atmos_diags.yml @@ -12,7 +12,7 @@ precip_model: "0M" rad: "gray" t_end: "10days" vert_diff: "true" -diagnostics: +extra_atmos_diagnostics: - short_name: [mse, lr, edt, evu, ts, mass_strf, stab, vt, egr, toa_fluxes_net] reduction_time: average period: 1days diff --git a/config/ci_configs/slabplanet_default.yml b/config/ci_configs/slabplanet_default.yml index c0a0977c82..3dd0d678c6 100644 --- a/config/ci_configs/slabplanet_default.yml +++ b/config/ci_configs/slabplanet_default.yml @@ -12,6 +12,6 @@ rad: "gray" t_end: "10days" vert_diff: "true" output_default_diagnostics: false -diagnostics: +extra_atmos_diagnostics: - short_name: [mse, lr, edt, evu, hfes, evspsbl, ts] period: 1days diff --git a/experiments/ClimaEarth/cli_options.jl b/experiments/ClimaEarth/cli_options.jl index 944fc29f82..7e00a06657 100644 --- a/experiments/ClimaEarth/cli_options.jl +++ b/experiments/ClimaEarth/cli_options.jl @@ -94,10 +94,6 @@ function argparse_settings() help = "Boolean flag indicating whether to compute and output coupler diagnostics [`true` (default), `false`]" arg_type = Bool default = true - "--diagnostics" - help = "List of dictionaries containing diagnostic information [nothing (default)]" - arg_type = Vector{Dict{Any, Any}} - default = nothing # Physical simulation information "--evolving_ocean" help = "Boolean flag indicating whether to use a dynamic slab ocean model, as opposed to constant surface temperatures [`true` (default), `false`]" @@ -144,6 +140,10 @@ function argparse_settings() help = "The repository containing the ClimaAtmos configuration file to use [`ClimaAtmos` (default), `ClimaCoupler`]" arg_type = String default = "ClimaAtmos" + "--extra_atmos_diagnostics" + help = "List of dictionaries containing information about additional atmosphere diagnostics to output [nothing (default)]" + arg_type = Vector{Dict{Any, Any}} + default = nothing ### ClimaLand specific "--land_domain_type" help = "Type of land domain. [`sphere` (default), `single_column`]" diff --git a/experiments/ClimaEarth/run_cloudless_aquaplanet.jl b/experiments/ClimaEarth/run_cloudless_aquaplanet.jl index d7053a7678..cacecf3b28 100644 --- a/experiments/ClimaEarth/run_cloudless_aquaplanet.jl +++ b/experiments/ClimaEarth/run_cloudless_aquaplanet.jl @@ -90,7 +90,7 @@ config_dict = Dict( "surface_setup" => "PrescribedSurface", # diagnostic (nested with period and short_name) "output_default_diagnostics" => false, - "diagnostics" => [ + "extra_atmos_diagnostics" => [ Dict( "short_name" => ["mse", "lr", "mass_strf", "stab", "vt", "egr", "ua", "va", "wa", "ta", "rhoa", "pfull"], diff --git a/experiments/ClimaEarth/run_cloudy_aquaplanet.jl b/experiments/ClimaEarth/run_cloudy_aquaplanet.jl index ed1e7a9d5b..ae98a79009 100644 --- a/experiments/ClimaEarth/run_cloudy_aquaplanet.jl +++ b/experiments/ClimaEarth/run_cloudy_aquaplanet.jl @@ -90,7 +90,7 @@ config_dict = Dict( "surface_setup" => "PrescribedSurface", # diagnostic (nested with period and short_name) "output_default_diagnostics" => false, - "diagnostics" => [ + "extra_atmos_diagnostics" => [ Dict( "short_name" => ["mse", "lr", "mass_strf", "stab", "vt", "egr", "ua", "va", "wa", "ta", "rhoa", "pfull"], diff --git a/experiments/ClimaEarth/run_cloudy_slabplanet.jl b/experiments/ClimaEarth/run_cloudy_slabplanet.jl index de42760e05..4faa4c28e4 100644 --- a/experiments/ClimaEarth/run_cloudy_slabplanet.jl +++ b/experiments/ClimaEarth/run_cloudy_slabplanet.jl @@ -96,7 +96,7 @@ config_dict = Dict( "surface_setup" => "PrescribedSurface", # diagnostic (nested with period and short_name) "output_default_diagnostics" => false, - "diagnostics" => [ + "extra_atmos_diagnostics" => [ Dict( "short_name" => ["mse", "lr", "mass_strf", "stab", "vt", "egr", "ua", "va", "wa", "ta", "rhoa", "pfull"], diff --git a/experiments/ClimaEarth/run_dry_held_suarez.jl b/experiments/ClimaEarth/run_dry_held_suarez.jl index a068318993..497461f845 100644 --- a/experiments/ClimaEarth/run_dry_held_suarez.jl +++ b/experiments/ClimaEarth/run_dry_held_suarez.jl @@ -89,7 +89,7 @@ config_dict = Dict( "surface_setup" => "PrescribedSurface", # diagnostic (nested with period and short_name) "output_default_diagnostics" => false, - "diagnostics" => [ + "extra_atmos_diagnostics" => [ Dict( "short_name" => ["mse", "lr", "mass_strf", "stab", "vt", "egr", "ua", "va", "wa", "ta", "rhoa", "pfull"], diff --git a/experiments/ClimaEarth/run_moist_held_suarez.jl b/experiments/ClimaEarth/run_moist_held_suarez.jl index 60b34e9982..1789030e70 100644 --- a/experiments/ClimaEarth/run_moist_held_suarez.jl +++ b/experiments/ClimaEarth/run_moist_held_suarez.jl @@ -92,7 +92,7 @@ config_dict = Dict( "surface_setup" => "PrescribedSurface", # diagnostic (nested with period and short_name) "output_default_diagnostics" => false, - "diagnostics" => [ + "extra_atmos_diagnostics" => [ Dict( "short_name" => ["mse", "lr", "mass_strf", "stab", "vt", "egr", "ua", "va", "wa", "ta", "rhoa", "pfull"], diff --git a/experiments/ClimaEarth/user_io/arg_parsing.jl b/experiments/ClimaEarth/user_io/arg_parsing.jl index 12702a5578..1f75d5afe1 100644 --- a/experiments/ClimaEarth/user_io/arg_parsing.jl +++ b/experiments/ClimaEarth/user_io/arg_parsing.jl @@ -76,10 +76,11 @@ function get_coupler_args(config_dict::Dict) @info "Using default AMIP diagnostics" (period, calendar_dt) = get_diag_period(t_start, t_end) - # when is this used? config_dict["diagnostics"] never accessed - !haskey(config_dict, "diagnostics") && (config_dict["diagnostics"] = Vector{Dict{Any, Any}}()) + # Additional atmosphere diagnostics + !haskey(config_dict, "extra_atmos_diagnostics") && + (config_dict["extra_atmos_diagnostics"] = Vector{Dict{Any, Any}}()) push!( - config_dict["diagnostics"], + config_dict["extra_atmos_diagnostics"], Dict("short_name" => ["toa_fluxes_net"], "reduction_time" => "average", "period" => period), ) end