diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 2ede8f3172..4b258c6297 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -445,7 +445,7 @@ steps: - label: ":computer: checkbounds" command: > julia --color=yes --check-bounds=yes --project=perf perf/benchmark.jl - $PERF_CONFIG_PATH/checkbounds.yml + --config_file $PERF_CONFIG_PATH/checkbounds.yml artifact_paths: "checkbounds/output_active/*" agents: slurm_mem: 20GB @@ -816,14 +816,14 @@ steps: - label: ":computer: Benchmark: perf target (default)" command: > julia --color=yes --project=perf perf/benchmark.jl - $PERF_CONFIG_PATH/bm_perf_target.yml + --config_file $PERF_CONFIG_PATH/bm_perf_target.yml agents: slurm_mem: 24GB - label: ":computer: Benchmark: perf target (gpu)" command: > julia --color=yes --project=perf perf/benchmark.jl - $PERF_CONFIG_PATH/bm_perf_target.yml + --config_file $PERF_CONFIG_PATH/bm_perf_target.yml agents: slurm_mem: 24GB slurm_gpus: 1 @@ -831,7 +831,7 @@ steps: - label: ":computer: Benchmark: perf target (Threaded)" command: > julia --color=yes --threads 8 --project=perf perf/benchmark.jl - $PERF_CONFIG_PATH/bm_perf_target_threaded.yml + --config_file $PERF_CONFIG_PATH/bm_perf_target_threaded.yml agents: slurm_mem: 24GB slurm_cpus_per_task: 8 @@ -839,7 +839,7 @@ steps: - label: ":fire: Flame graph: perf target (default)" command: > julia --color=yes --project=perf perf/flame.jl - $PERF_CONFIG_PATH/flame_perf_target.yml + --config_file $PERF_CONFIG_PATH/flame_perf_target.yml artifact_paths: "flame_perf_target/*" agents: slurm_mem: 24GB @@ -847,7 +847,7 @@ steps: - label: ":fire: Flame graph: perf target (with tracers)" command: > julia --color=yes --project=perf perf/flame.jl - $PERF_CONFIG_PATH/flame_perf_target_tracers.yml + --config_file $PERF_CONFIG_PATH/flame_perf_target_tracers.yml artifact_paths: "flame_perf_target_tracers/*" agents: slurm_mem: 24GB @@ -855,7 +855,7 @@ steps: - label: ":fire: Flame graph: perf target (diagnostic edmfx)" command: > julia --color=yes --project=perf perf/flame.jl - $PERF_CONFIG_PATH/flame_perf_target_diagnostic_edmfx.yml + --config_file $PERF_CONFIG_PATH/flame_perf_target_diagnostic_edmfx.yml artifact_paths: "flame_perf_target_diagnostic_edmfx/*" agents: slurm_mem: 24GB @@ -863,7 +863,7 @@ steps: - label: ":fire: Flame graph: perf target (prognostic edmfx aquaplanet)" command: > julia --color=yes --project=perf perf/flame.jl - $PERF_CONFIG_PATH/flame_perf_target_prognostic_edmfx_aquaplanet.yml + --config_file $PERF_CONFIG_PATH/flame_perf_target_prognostic_edmfx_aquaplanet.yml artifact_paths: "flame_perf_target_prognostic_edmfx_aquaplanet/*" agents: slurm_mem: 48GB @@ -871,7 +871,7 @@ steps: - label: ":fire: Flame graph: perf target (barowave jfnk)" command: > julia --color=yes --project=perf perf/flame.jl - $PERF_CONFIG_PATH/flame_sphere_baroclinic_wave_rhoe_equilmoist_expvdiff.yml + --config_file $PERF_CONFIG_PATH/flame_sphere_baroclinic_wave_rhoe_equilmoist_expvdiff.yml artifact_paths: "flame_sphere_baroclinic_wave_rhoe_equilmoist_expvdiff/*" agents: slurm_mem: 40GB @@ -879,7 +879,7 @@ steps: - label: ":fire: Flame graph: perf target (frierson diffusion)" command: > julia --color=yes --project=perf perf/flame.jl - $PERF_CONFIG_PATH/flame_perf_target_frierson.yml + --config_file $PERF_CONFIG_PATH/flame_perf_target_frierson.yml artifact_paths: "flame_perf_target_frierson/*" agents: slurm_mem: 48GB @@ -887,7 +887,7 @@ steps: - label: ":fire: Flame graph: perf target (Threaded)" command: > julia --threads 8 --color=yes --project=perf perf/flame.jl - $PERF_CONFIG_PATH/flame_perf_target_threaded.yml + --config_file $PERF_CONFIG_PATH/flame_perf_target_threaded.yml artifact_paths: "flame_perf_target_threaded/*" agents: slurm_cpus_per_task: 8 @@ -896,7 +896,7 @@ steps: - label: ":fire: Flame graph: perf target (Callbacks)" command: > julia --color=yes --project=perf perf/flame.jl - $PERF_CONFIG_PATH/flame_perf_target_callbacks.yml + --config_file $PERF_CONFIG_PATH/flame_perf_target_callbacks.yml artifact_paths: "flame_perf_target_callbacks/*" agents: slurm_mem: 24GB @@ -904,7 +904,7 @@ steps: - label: ":fire: Flame graph: gravity wave" command: > julia --color=yes --project=perf perf/flame.jl - $PERF_CONFIG_PATH/flame_perf_gw.yml + --config_file $PERF_CONFIG_PATH/flame_perf_gw.yml artifact_paths: "flame_perf_gw/*" agents: slurm_mem: 24GB @@ -912,7 +912,7 @@ steps: - label: ":fire: Flame graph: perf target (diagnostics)" command: > julia --color=yes --project=perf perf/flame.jl - $PERF_CONFIG_PATH/flame_perf_diagnostics.yml + --config_file $PERF_CONFIG_PATH/flame_perf_diagnostics.yml artifact_paths: "flame_perf_diagnostics/*" agents: slurm_mem: 24GB @@ -920,7 +920,7 @@ steps: - label: ":fire: Flame graph: gpu job" command: > julia --color=yes --project=perf perf/flame.jl - $PERF_CONFIG_PATH/flame_gpu_implicit_barowave_moist.yml + --config_file $PERF_CONFIG_PATH/flame_gpu_implicit_barowave_moist.yml artifact_paths: "flame_gpu_implicit_barowave_moist/*" agents: slurm_mem: 48GB @@ -931,7 +931,7 @@ steps: - label: ":rocket: JET n-failures (inference)" command: > julia --color=yes --project=perf perf/jet_test_nfailures.jl - $PERF_CONFIG_PATH/jet_n_failures.yml + --config_file $PERF_CONFIG_PATH/jet_n_failures.yml agents: slurm_mem: 24GB diff --git a/config/default_configs/default_config.yml b/config/default_configs/default_config.yml index d54016af88..7204920d94 100644 --- a/config/default_configs/default_config.yml +++ b/config/default_configs/default_config.yml @@ -126,7 +126,7 @@ output_dir: device: help: "Device type to use [`auto` (default) `CPUSingleThreaded`, `CPUMultiThreaded`, `CUDADevice`]" value: "auto" -reference_job_id: +reference_config_id: help: |- Identifier of job to use as the "reference" solution in the quicklook plot; the current job's results get compared to the results of the quicklook job on the main branch value: ~ @@ -196,9 +196,6 @@ perf_summary: viscous_sponge: help: "Viscous sponge [`true`, `false` (default)]" value: false -job_id: - help: "Uniquely identifying string for a particular job" - value: ~ tracer_upwinding: help: "Tracer upwinding mode [`none` (default), `first_order` , `third_order`, `boris_book`, `zalesak`]" value: none @@ -290,3 +287,46 @@ prescribed_aerosols: call_cloud_diagnostics_per_stage: help: "A temporary Bool for calling cloud diagnostics every stage" value: false +# EDMF configuration +turbconv: + help: "Turbulence convection scheme [`nothing` (default), 'prognostic_edmfx', 'diagnostic_edmfx']" + value: ~ +advection_test: + help: "Switches off all grid-scale and subgrid-scale momentum tendencies [`false` (default), `true`]" + value: false +zero_tendency: + help: "Turns off tendencies [`nothing` (default), `grid_scale`, `subgrid_scale`]" + value: ~ +implicit_sgs_advection: + help: "Whether to treat the subgrid-scale vertical advection tendency implicitly [`false` (default), `true`]" + value: false +edmf_coriolis: + help: "EDMF coriolis [`nothing` (default), `Bomex`,`LifeCycleTan2018`,`Rico`,`ARM_SGP`,`DYCOMS_RF01`,`DYCOMS_RF02`,`GABLS`]" + value: ~ +edmfx_filter: + help: "If set to true, it switches on the relaxation of negative velocity in EDMFX. [`true`, `false` (default)]" + value: false +edmfx_nh_pressure: + help: "If set to true, it switches on EDMFX pressure drag closure. [`true`, `false` (default)]" + value: false +edmfx_entr_model: + help: "EDMFX entrainment closure. [`nothing` (default), `PiGroups`, `Generalized`, `GeneralizedHarmonics`]" + value: ~ +edmfx_detr_model: + help: "EDMFX detrainment closure. [`nothing` (default), `PiGroups`, `Generalized`, `GeneralizedHarmonics`]" + value: ~ +edmfx_upwinding: + help: "EDMFX upwinding mode [`none` (default), `first_order`, `third_order`]" + value: none +edmfx_sgsflux_upwinding: + help: "EDMFX SGS mass flux upwinding mode [`none` (default), `first_order`, `third_order`]" + value: none +edmfx_sgs_mass_flux: + help: "If set to true, it switches on EDMFX SGS mass flux. [`true`, `false` (default)]" + value: false +edmfx_sgs_diffusive_flux: + help: "If set to true, it switches on EDMFX SGS diffusive flux. [`true`, `false` (default)]" + value: false +updraft_number: + help: "Sets the number of updrafts for the EDMF scheme" + value: 1 diff --git a/config/default_configs/default_edmf_config.yml b/config/default_configs/default_edmf_config.yml deleted file mode 100644 index 85870ff843..0000000000 --- a/config/default_configs/default_edmf_config.yml +++ /dev/null @@ -1,43 +0,0 @@ -# EDMF configuration -turbconv: - help: "Turbulence convection scheme [`nothing` (default), 'prognostic_edmfx', 'diagnostic_edmfx']" - value: ~ -advection_test: - help: "Switches off all grid-scale and subgrid-scale momentum tendencies [`false` (default), `true`]" - value: false -zero_tendency: - help: "Turns off tendencies [`nothing` (default), `grid_scale`, `subgrid_scale`]" - value: ~ -implicit_sgs_advection: - help: "Whether to treat the subgrid-scale vertical advection tendency implicitly [`false` (default), `true`]" - value: false -edmf_coriolis: - help: "EDMF coriolis [`nothing` (default), `Bomex`,`LifeCycleTan2018`,`Rico`,`ARM_SGP`,`DYCOMS_RF01`,`DYCOMS_RF02`,`GABLS`]" - value: ~ -edmfx_filter: - help: "If set to true, it switches on the relaxation of negative velocity in EDMFX. [`true`, `false` (default)]" - value: false -edmfx_nh_pressure: - help: "If set to true, it switches on EDMFX pressure drag closure. [`true`, `false` (default)]" - value: false -edmfx_entr_model: - help: "EDMFX entrainment closure. [`nothing` (default), `PiGroups`, `Generalized`, `GeneralizedHarmonics`]" - value: ~ -edmfx_detr_model: - help: "EDMFX detrainment closure. [`nothing` (default), `PiGroups`, `Generalized`, `GeneralizedHarmonics`]" - value: ~ -edmfx_upwinding: - help: "EDMFX upwinding mode [`none` (default), `first_order`, `third_order`]" - value: none -edmfx_sgsflux_upwinding: - help: "EDMFX SGS mass flux upwinding mode [`none` (default), `first_order`, `third_order`]" - value: none -edmfx_sgs_mass_flux: - help: "If set to true, it switches on EDMFX SGS mass flux. [`true`, `false` (default)]" - value: false -edmfx_sgs_diffusive_flux: - help: "If set to true, it switches on EDMFX SGS diffusive flux. [`true`, `false` (default)]" - value: false -updraft_number: - help: "Sets the number of updrafts for the EDMF scheme" - value: 1 \ No newline at end of file diff --git a/config/default_configs/default_perf.yml b/config/default_configs/default_perf.yml index 96e4600426..41ec265195 100644 --- a/config/default_configs/default_perf.yml +++ b/config/default_configs/default_perf.yml @@ -13,4 +13,4 @@ precip_model: "0M" dt_save_to_sol: "Inf" rad: "allskywithclear" warn_allocations_diagnostics: true -log_progress: false \ No newline at end of file +log_progress: false diff --git a/config/gpu_configs/gpu_aquaplanet_diagedmf.yml b/config/gpu_configs/gpu_aquaplanet_diagedmf.yml index 10dc24238d..c087b0215f 100644 --- a/config/gpu_configs/gpu_aquaplanet_diagedmf.yml +++ b/config/gpu_configs/gpu_aquaplanet_diagedmf.yml @@ -1,4 +1,3 @@ -job_id: gpu_aquaplanet_diagedmf dt_save_state_to_disk: "Inf" dt_save_to_sol: "Inf" output_default_diagnostics: false diff --git a/config/gpu_configs/gpu_aquaplanet_dyamond_ss_1process.yml b/config/gpu_configs/gpu_aquaplanet_dyamond_ss_1process.yml index 97130ec67c..78cbca41f4 100644 --- a/config/gpu_configs/gpu_aquaplanet_dyamond_ss_1process.yml +++ b/config/gpu_configs/gpu_aquaplanet_dyamond_ss_1process.yml @@ -19,5 +19,4 @@ surface_setup: DefaultMoninObukhov rayleigh_sponge: true dt: 100secs t_end: 12hours -job_id: gpu_aquaplanet_dyamond_ss_1process toml: [toml/longrun_aquaplanet_dyamond.toml] diff --git a/config/gpu_configs/gpu_aquaplanet_dyamond_ss_2process.yml b/config/gpu_configs/gpu_aquaplanet_dyamond_ss_2process.yml index 130c5fef53..2b6cb07568 100644 --- a/config/gpu_configs/gpu_aquaplanet_dyamond_ss_2process.yml +++ b/config/gpu_configs/gpu_aquaplanet_dyamond_ss_2process.yml @@ -19,5 +19,4 @@ surface_setup: "DefaultMoninObukhov" rayleigh_sponge: true dt: "100secs" t_end: "12hours" -job_id: "gpu_aquaplanet_dyamond_ss_2process" toml: [toml/longrun_aquaplanet_dyamond.toml] diff --git a/config/gpu_configs/gpu_aquaplanet_dyamond_ss_4process.yml b/config/gpu_configs/gpu_aquaplanet_dyamond_ss_4process.yml index c0a50d6554..2b6cb07568 100644 --- a/config/gpu_configs/gpu_aquaplanet_dyamond_ss_4process.yml +++ b/config/gpu_configs/gpu_aquaplanet_dyamond_ss_4process.yml @@ -19,5 +19,4 @@ surface_setup: "DefaultMoninObukhov" rayleigh_sponge: true dt: "100secs" t_end: "12hours" -job_id: "gpu_aquaplanet_dyamond_ss_4process" toml: [toml/longrun_aquaplanet_dyamond.toml] diff --git a/config/gpu_configs/gpu_aquaplanet_dyamond_ws_1process.yml b/config/gpu_configs/gpu_aquaplanet_dyamond_ws_1process.yml index 944088d783..2b6cb07568 100644 --- a/config/gpu_configs/gpu_aquaplanet_dyamond_ws_1process.yml +++ b/config/gpu_configs/gpu_aquaplanet_dyamond_ws_1process.yml @@ -19,5 +19,4 @@ surface_setup: "DefaultMoninObukhov" rayleigh_sponge: true dt: "100secs" t_end: "12hours" -job_id: "gpu_aquaplanet_dyamond_ws_1process" toml: [toml/longrun_aquaplanet_dyamond.toml] diff --git a/config/gpu_configs/gpu_aquaplanet_dyamond_ws_2process.yml b/config/gpu_configs/gpu_aquaplanet_dyamond_ws_2process.yml index bcc11413db..6c6cdb1330 100644 --- a/config/gpu_configs/gpu_aquaplanet_dyamond_ws_2process.yml +++ b/config/gpu_configs/gpu_aquaplanet_dyamond_ws_2process.yml @@ -19,5 +19,4 @@ surface_setup: "DefaultMoninObukhov" rayleigh_sponge: true dt: "100secs" t_end: "12hours" -job_id: "gpu_aquaplanet_dyamond_ws_2process" toml: [toml/longrun_aquaplanet_dyamond.toml] diff --git a/config/gpu_configs/gpu_aquaplanet_dyamond_ws_4process.yml b/config/gpu_configs/gpu_aquaplanet_dyamond_ws_4process.yml index 74fe14dccf..5ccbcb73bb 100644 --- a/config/gpu_configs/gpu_aquaplanet_dyamond_ws_4process.yml +++ b/config/gpu_configs/gpu_aquaplanet_dyamond_ws_4process.yml @@ -19,5 +19,4 @@ surface_setup: "DefaultMoninObukhov" rayleigh_sponge: true dt: "100secs" t_end: "12hours" -job_id: "gpu_aquaplanet_dyamond_ws_4process" toml: [toml/longrun_aquaplanet_dyamond.toml] diff --git a/config/gpu_configs/gpu_aquaplanet_progedmf.yml b/config/gpu_configs/gpu_aquaplanet_progedmf.yml index 3ab3a89a1a..9d34d48539 100644 --- a/config/gpu_configs/gpu_aquaplanet_progedmf.yml +++ b/config/gpu_configs/gpu_aquaplanet_progedmf.yml @@ -1,4 +1,3 @@ -job_id: gpu_aquaplanet_progedmf dt_save_state_to_disk: "Inf" dt_save_to_sol: "Inf" output_default_diagnostics: false diff --git a/config/gpu_configs/gpu_hs_rhoe_equil_55km_nz63_0M.yml b/config/gpu_configs/gpu_hs_rhoe_equil_55km_nz63_0M.yml index c20c737e27..f937f74c17 100644 --- a/config/gpu_configs/gpu_hs_rhoe_equil_55km_nz63_0M.yml +++ b/config/gpu_configs/gpu_hs_rhoe_equil_55km_nz63_0M.yml @@ -13,5 +13,4 @@ moist: "equil" precip_model: "0M" rayleigh_sponge: true forcing: "held_suarez" -job_id: "gpu_hs_rhoe_equil_55km_nz63_0M" toml: [toml/longrun_hs_rhoe_equil_55km_nz63_0M.toml] diff --git a/config/gpu_configs/gpu_hs_rhoe_equil_55km_nz63_0M_4process.yml b/config/gpu_configs/gpu_hs_rhoe_equil_55km_nz63_0M_4process.yml index 6b179c6edc..f937f74c17 100644 --- a/config/gpu_configs/gpu_hs_rhoe_equil_55km_nz63_0M_4process.yml +++ b/config/gpu_configs/gpu_hs_rhoe_equil_55km_nz63_0M_4process.yml @@ -13,5 +13,4 @@ moist: "equil" precip_model: "0M" rayleigh_sponge: true forcing: "held_suarez" -job_id: "gpu_hs_rhoe_equil_55km_nz63_0M_4process" toml: [toml/longrun_hs_rhoe_equil_55km_nz63_0M.toml] diff --git a/config/gpu_configs/target_gpu_implicit_baroclinic_wave.yml b/config/gpu_configs/target_gpu_implicit_baroclinic_wave.yml index 9882b753f4..bd28d6fb32 100644 --- a/config/gpu_configs/target_gpu_implicit_baroclinic_wave.yml +++ b/config/gpu_configs/target_gpu_implicit_baroclinic_wave.yml @@ -8,4 +8,3 @@ z_elem: 63 dz_bottom: 30.0 dz_top: 3000.0 dt: "150secs" -job_id: "target_gpu_implicit_baroclinic_wave" diff --git a/config/gpu_configs/target_gpu_implicit_baroclinic_wave_4process.yml b/config/gpu_configs/target_gpu_implicit_baroclinic_wave_4process.yml index b4dbe7f8bf..bd28d6fb32 100644 --- a/config/gpu_configs/target_gpu_implicit_baroclinic_wave_4process.yml +++ b/config/gpu_configs/target_gpu_implicit_baroclinic_wave_4process.yml @@ -8,4 +8,3 @@ z_elem: 63 dz_bottom: 30.0 dz_top: 3000.0 dt: "150secs" -job_id: "target_gpu_implicit_baroclinic_wave_4process" diff --git a/config/longrun_configs/amip_target_diagedmf.yml b/config/longrun_configs/amip_target_diagedmf.yml index 3a72d86856..4c37d35be3 100644 --- a/config/longrun_configs/amip_target_diagedmf.yml +++ b/config/longrun_configs/amip_target_diagedmf.yml @@ -26,6 +26,5 @@ edmfx_sgs_diffusive_flux: true rayleigh_sponge: true dt: "100secs" t_end: "40days" -job_id: "amip_target_diagedmf" toml: [toml/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_diagedmf_0M.toml] netcdf_output_at_levels: true diff --git a/config/longrun_configs/longrun_aquaplanet_clearsky_1M.yml b/config/longrun_configs/longrun_aquaplanet_clearsky_1M.yml index 9cee7cca0b..f2b1626d7c 100644 --- a/config/longrun_configs/longrun_aquaplanet_clearsky_1M.yml +++ b/config/longrun_configs/longrun_aquaplanet_clearsky_1M.yml @@ -14,5 +14,4 @@ implicit_diffusion: true approximate_linear_solve_iters: 2 rad: "clearsky" dt_rad: "6hours" -job_id: "longrun_aquaplanet_clearsky_1M" toml: [toml/longrun_aquaplanet_dyamond.toml] diff --git a/config/longrun_configs/longrun_aquaplanet_dyamond.yml b/config/longrun_configs/longrun_aquaplanet_dyamond.yml index 4e6503d2f7..f00f8936a8 100644 --- a/config/longrun_configs/longrun_aquaplanet_dyamond.yml +++ b/config/longrun_configs/longrun_aquaplanet_dyamond.yml @@ -15,5 +15,4 @@ rayleigh_sponge: true dt_save_state_to_disk: "10days" dt: "50secs" t_end: "10days" -job_id: "longrun_aquaplanet_dyamond" toml: [toml/longrun_aquaplanet_dyamond.toml] diff --git a/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_allsky_diagedmf_0M.yml b/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_allsky_diagedmf_0M.yml index ec902dd790..d1f0126a19 100644 --- a/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_allsky_diagedmf_0M.yml +++ b/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_allsky_diagedmf_0M.yml @@ -23,5 +23,4 @@ rayleigh_sponge: true dt_save_state_to_disk: "10days" dt: "100secs" t_end: "60days" -job_id: "longrun_aquaplanet_rhoe_equil_55km_nz63_allsky_diagedmf_0M" toml: [toml/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_diagedmf_0M.toml] diff --git a/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_0M.yml b/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_0M.yml index 8287fa0388..c2f36f549a 100644 --- a/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_0M.yml +++ b/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_0M.yml @@ -15,5 +15,4 @@ implicit_diffusion: true approximate_linear_solve_iters: 2 rad: "clearsky" dt_rad: "6hours" -job_id: "longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_0M" toml: [toml/longrun_aquaplanet_rhoe_equil_55km_nz63_gray_0M.toml] diff --git a/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_0M_earth.yml b/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_0M_earth.yml index cb816d3002..0dbde19014 100644 --- a/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_0M_earth.yml +++ b/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_0M_earth.yml @@ -8,7 +8,6 @@ dz_top: 3000.0 h_elem: 16 z_elem: 63 z_max: 55000.0 -job_id: "longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_0M_earth" moist: "equil" precip_model: "0M" rayleigh_sponge: true diff --git a/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_0M_earth_sleve.yml b/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_0M_earth_sleve.yml index d2b25af6a8..26a39be61b 100644 --- a/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_0M_earth_sleve.yml +++ b/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_0M_earth_sleve.yml @@ -8,7 +8,6 @@ dz_top: 3000.0 h_elem: 16 z_elem: 63 z_max: 55000.0 -job_id: "longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_0M_earth_sleve" moist: "equil" precip_model: "0M" rayleigh_sponge: true diff --git a/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_diagedmf_0M.yml b/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_diagedmf_0M.yml index 9eed60cae3..05ed6a70fa 100644 --- a/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_diagedmf_0M.yml +++ b/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_diagedmf_0M.yml @@ -23,5 +23,4 @@ rayleigh_sponge: true dt_save_state_to_disk: "10days" dt: "100secs" t_end: "60days" -job_id: "longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_diagedmf_0M" toml: [toml/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_diagedmf_0M.toml] diff --git a/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_diagedmf_diffonly_0M.yml b/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_diagedmf_diffonly_0M.yml index 891da06085..494baf4dfd 100644 --- a/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_diagedmf_diffonly_0M.yml +++ b/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_diagedmf_diffonly_0M.yml @@ -21,5 +21,4 @@ rayleigh_sponge: true dt_save_state_to_disk: "30days" dt: "100secs" t_end: "60days" -job_id: "longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_diagedmf_diffonly_0M" toml: [toml/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_diagedmf_0M.toml] diff --git a/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_progedmf_diffonly_0M.yml b/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_progedmf_diffonly_0M.yml index 600bec7db8..86d8d30a71 100644 --- a/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_progedmf_diffonly_0M.yml +++ b/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_progedmf_diffonly_0M.yml @@ -26,5 +26,4 @@ rayleigh_sponge: true dt_save_state_to_disk: "10days" dt: "100secs" t_end: "30days" -job_id: "longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_progedmf_diffonly_0M" toml: [toml/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_progedmf_0M.toml] diff --git a/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_tvinsol_0M_slabocean.yml b/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_tvinsol_0M_slabocean.yml index 4d695310a2..5cb1694670 100644 --- a/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_tvinsol_0M_slabocean.yml +++ b/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_tvinsol_0M_slabocean.yml @@ -20,5 +20,4 @@ albedo_model: "RegressionFunctionAlbedo" prognostic_surface: "PrognosticSurfaceTemperature" check_conservation: true bubble: false -job_id: "longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_tvinsol_0M_slabocean" toml: [toml/longrun_aquaplanet_rhoe_equil_55km_nz63_gray_0M.toml] diff --git a/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_gray_0M.yml b/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_gray_0M.yml index 682c8d1a06..c6c54c4439 100644 --- a/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_gray_0M.yml +++ b/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_gray_0M.yml @@ -14,5 +14,4 @@ surface_setup: "DefaultExchangeCoefficients" moist: "equil" rad: "gray" precip_model: "0M" -job_id: "longrun_aquaplanet_rhoe_equil_55km_nz63_gray_0M" toml: [toml/longrun_aquaplanet_rhoe_equil_55km_nz63_gray_0M.toml] diff --git a/config/longrun_configs/longrun_aquaplanet_rhoe_equil_clearsky_tvinsol_0M_slabocean.yml b/config/longrun_configs/longrun_aquaplanet_rhoe_equil_clearsky_tvinsol_0M_slabocean.yml index a5534a53a9..47fe4429ac 100644 --- a/config/longrun_configs/longrun_aquaplanet_rhoe_equil_clearsky_tvinsol_0M_slabocean.yml +++ b/config/longrun_configs/longrun_aquaplanet_rhoe_equil_clearsky_tvinsol_0M_slabocean.yml @@ -12,4 +12,3 @@ dt_rad: "1hours" prognostic_surface: "PrognosticSurfaceTemperature" check_conservation: true bubble: false -job_id: "longrun_aquaplanet_rhoe_equil_clearsky_tvinsol_0M_slabocean" diff --git a/config/longrun_configs/longrun_bw_rhoe_equil_highres.yml b/config/longrun_configs/longrun_bw_rhoe_equil_highres.yml index 95f76ea773..d5189ad241 100644 --- a/config/longrun_configs/longrun_bw_rhoe_equil_highres.yml +++ b/config/longrun_configs/longrun_bw_rhoe_equil_highres.yml @@ -6,7 +6,6 @@ t_end: "100days" dz_bottom: 30.0 h_elem: 16 precip_model: "0M" -job_id: "longrun_bw_rhoe_equil_highres" moist: "equil" diagnostics: - short_name: [pfull, wa, va, rv, hus, ke] diff --git a/config/longrun_configs/longrun_bw_rhoe_highres.yml b/config/longrun_configs/longrun_bw_rhoe_highres.yml index f56d78ea99..9ce825803b 100644 --- a/config/longrun_configs/longrun_bw_rhoe_highres.yml +++ b/config/longrun_configs/longrun_bw_rhoe_highres.yml @@ -5,7 +5,6 @@ initial_condition: "DryBaroclinicWave" t_end: "100days" z_elem: 45 dt: "400secs" -job_id: "longrun_bw_rhoe_highres" diagnostics: - short_name: [pfull, wa, va, rv, ke] period: 1days diff --git a/config/longrun_configs/longrun_hs_rhoe_dry_55km_nz63.yml b/config/longrun_configs/longrun_hs_rhoe_dry_55km_nz63.yml index 6791ece44e..77e9ab523f 100644 --- a/config/longrun_configs/longrun_hs_rhoe_dry_55km_nz63.yml +++ b/config/longrun_configs/longrun_hs_rhoe_dry_55km_nz63.yml @@ -8,5 +8,4 @@ z_max: 55000.0 forcing: "held_suarez" dt: "300secs" rayleigh_sponge: true -job_id: "longrun_hs_rhoe_dry_55km_nz63" toml: [toml/longrun_hs_rhoe_dry_55km_nz63.toml] diff --git a/config/longrun_configs/longrun_hs_rhoe_equil_55km_nz63_0M.yml b/config/longrun_configs/longrun_hs_rhoe_equil_55km_nz63_0M.yml index f6ad1325b1..1059f13259 100644 --- a/config/longrun_configs/longrun_hs_rhoe_equil_55km_nz63_0M.yml +++ b/config/longrun_configs/longrun_hs_rhoe_equil_55km_nz63_0M.yml @@ -11,5 +11,4 @@ moist: "equil" precip_model: "0M" rayleigh_sponge: true forcing: "held_suarez" -job_id: "longrun_hs_rhoe_equil_55km_nz63_0M" toml: [toml/longrun_hs_rhoe_equil_55km_nz63_0M.toml] diff --git a/config/longrun_configs/longrun_hs_rhoe_equil_55km_nz63_0M_deepatmos.yml b/config/longrun_configs/longrun_hs_rhoe_equil_55km_nz63_0M_deepatmos.yml index 85bfd3cbc2..8c9a268629 100644 --- a/config/longrun_configs/longrun_hs_rhoe_equil_55km_nz63_0M_deepatmos.yml +++ b/config/longrun_configs/longrun_hs_rhoe_equil_55km_nz63_0M_deepatmos.yml @@ -12,5 +12,4 @@ precip_model: "0M" rayleigh_sponge: true forcing: "held_suarez" deep_atmosphere: true -job_id: "longrun_hs_rhoe_equil_55km_nz63_0M_deepatmos" toml: [toml/longrun_hs_rhoe_equil_55km_nz63_0M.toml] diff --git a/config/longrun_configs/longrun_sphere_hydrostatic_balance_rhoe.yml b/config/longrun_configs/longrun_sphere_hydrostatic_balance_rhoe.yml index 2d794ed06e..5e2152ddb4 100644 --- a/config/longrun_configs/longrun_sphere_hydrostatic_balance_rhoe.yml +++ b/config/longrun_configs/longrun_sphere_hydrostatic_balance_rhoe.yml @@ -6,4 +6,3 @@ perturb_initstate: false discrete_hydrostatic_balance: true t_end: "800days" dt_save_state_to_disk: "10days" -job_id: "longrun_sphere_hydrostatic_balance_rhoe" diff --git a/config/longrun_configs/longrun_ssp_bw_rhoe_equil_highres.yml b/config/longrun_configs/longrun_ssp_bw_rhoe_equil_highres.yml index 5214d13e93..d57c95069f 100644 --- a/config/longrun_configs/longrun_ssp_bw_rhoe_equil_highres.yml +++ b/config/longrun_configs/longrun_ssp_bw_rhoe_equil_highres.yml @@ -8,7 +8,6 @@ dz_bottom: 30.0 h_elem: 16 ode_algo: "SSP333" precip_model: "0M" -job_id: "longrun_ssp_bw_rhoe_equil_highres" moist: "equil" apply_limiter: true diagnostics: diff --git a/config/longrun_configs/longrun_zalesak_tracer_energy_bw_rhoe_equil_highres.yml b/config/longrun_configs/longrun_zalesak_tracer_energy_bw_rhoe_equil_highres.yml index cf336a2db7..0bc10edd31 100644 --- a/config/longrun_configs/longrun_zalesak_tracer_energy_bw_rhoe_equil_highres.yml +++ b/config/longrun_configs/longrun_zalesak_tracer_energy_bw_rhoe_equil_highres.yml @@ -8,7 +8,6 @@ dz_bottom: 30.0 h_elem: 16 energy_upwinding: zalesak precip_model: "0M" -job_id: "longrun_zalesak_tracer_energy_bw_rhoe_equil_highres" moist: "equil" apply_limiter: true diagnostics: diff --git a/config/model_configs/aquaplanet_rhoe_equil_clearsky_tvinsol_0M_slabocean.yml b/config/model_configs/aquaplanet_rhoe_equil_clearsky_tvinsol_0M_slabocean.yml index 71c4de0b20..556306caf8 100644 --- a/config/model_configs/aquaplanet_rhoe_equil_clearsky_tvinsol_0M_slabocean.yml +++ b/config/model_configs/aquaplanet_rhoe_equil_clearsky_tvinsol_0M_slabocean.yml @@ -13,4 +13,3 @@ dt_rad: "1hours" prognostic_surface: "PrognosticSurfaceTemperature" check_conservation: true bubble: false -job_id: "aquaplanet_rhoe_equil_clearsky_tvinsol_0M_slabocean" diff --git a/config/model_configs/box_density_current_test.yml b/config/model_configs/box_density_current_test.yml index 0459633ef4..456fc31c1c 100644 --- a/config/model_configs/box_density_current_test.yml +++ b/config/model_configs/box_density_current_test.yml @@ -14,7 +14,6 @@ config: "box" vorticity_hyperdiffusion_coefficient: 0.6 scalar_hyperdiffusion_coefficient: 0.6 z_max: 6400.0 -job_id: "box_density_current_test" diagnostics: - short_name: thetaa period: 10secs diff --git a/config/model_configs/box_hydrostatic_balance_rhoe.yml b/config/model_configs/box_hydrostatic_balance_rhoe.yml index 23c19a4ce4..81dea9ccd0 100644 --- a/config/model_configs/box_hydrostatic_balance_rhoe.yml +++ b/config/model_configs/box_hydrostatic_balance_rhoe.yml @@ -3,7 +3,6 @@ config: "box" hyperdiff: "false" dt: "20secs" perturb_initstate: false -job_id: "box_hydrostatic_balance_rhoe" diagnostics: - short_name: [wa, ua] period: 1days diff --git a/config/model_configs/central_cloud_diag_gpu_hs_rhoe_equil_55km_nz63_0M.yml b/config/model_configs/central_cloud_diag_gpu_hs_rhoe_equil_55km_nz63_0M.yml index b8e30d5ec2..faf1bb6963 100644 --- a/config/model_configs/central_cloud_diag_gpu_hs_rhoe_equil_55km_nz63_0M.yml +++ b/config/model_configs/central_cloud_diag_gpu_hs_rhoe_equil_55km_nz63_0M.yml @@ -14,5 +14,4 @@ precip_model: "0M" rayleigh_sponge: true forcing: "held_suarez" call_cloud_diagnostics_per_stage: true -job_id: "central_cloud_diag_gpu_hs_rhoe_equil_55km_nz63_0M" toml: [toml/longrun_hs_rhoe_equil_55km_nz63_0M.toml] diff --git a/config/model_configs/central_gpu_hs_rhoe_equil_55km_nz63_0M.yml b/config/model_configs/central_gpu_hs_rhoe_equil_55km_nz63_0M.yml index 76a29616d0..bc856e1e5b 100644 --- a/config/model_configs/central_gpu_hs_rhoe_equil_55km_nz63_0M.yml +++ b/config/model_configs/central_gpu_hs_rhoe_equil_55km_nz63_0M.yml @@ -13,5 +13,4 @@ moist: "equil" precip_model: "0M" rayleigh_sponge: true forcing: "held_suarez" -job_id: "central_gpu_hs_rhoe_equil_55km_nz63_0M" toml: [toml/longrun_hs_rhoe_equil_55km_nz63_0M.toml] diff --git a/config/model_configs/deep_sphere_baroclinic_wave_rhoe_equilmoist.yml b/config/model_configs/deep_sphere_baroclinic_wave_rhoe_equilmoist.yml index 9db22dc359..169689f219 100644 --- a/config/model_configs/deep_sphere_baroclinic_wave_rhoe_equilmoist.yml +++ b/config/model_configs/deep_sphere_baroclinic_wave_rhoe_equilmoist.yml @@ -3,7 +3,6 @@ dt_save_state_to_disk: "2days" regression_test: true initial_condition: "MoistBaroclinicWave" dt: "450secs" -job_id: "deep_sphere_baroclinic_wave_rhoe_equilmoist" deep_atmosphere: true moist: "equil" diagnostics: diff --git a/config/model_configs/diagnostic_edmfx_aquaplanet.yml b/config/model_configs/diagnostic_edmfx_aquaplanet.yml index 6172b0c9be..c9d006a3ba 100644 --- a/config/model_configs/diagnostic_edmfx_aquaplanet.yml +++ b/config/model_configs/diagnostic_edmfx_aquaplanet.yml @@ -1,4 +1,3 @@ -job_id: diagnostic_edmfx_aquaplanet surface_setup: DefaultMoninObukhov rad: clearsky turbconv: diagnostic_edmfx diff --git a/config/model_configs/diagnostic_edmfx_bomex_box.yml b/config/model_configs/diagnostic_edmfx_bomex_box.yml index 6839922b69..98bd47afcd 100644 --- a/config/model_configs/diagnostic_edmfx_bomex_box.yml +++ b/config/model_configs/diagnostic_edmfx_bomex_box.yml @@ -1,4 +1,3 @@ -job_id: "diagnostic_edmfx_bomex_box" initial_condition: "Bomex" subsidence: "Bomex" edmf_coriolis: "Bomex" diff --git a/config/model_configs/diagnostic_edmfx_bomex_stretched_box.yml b/config/model_configs/diagnostic_edmfx_bomex_stretched_box.yml index 24e5c4daa2..4b8bd8e86d 100644 --- a/config/model_configs/diagnostic_edmfx_bomex_stretched_box.yml +++ b/config/model_configs/diagnostic_edmfx_bomex_stretched_box.yml @@ -1,4 +1,3 @@ -job_id: "diagnostic_edmfx_bomex_stretched_box" initial_condition: "Bomex" subsidence: "Bomex" edmf_coriolis: "Bomex" diff --git a/config/model_configs/diagnostic_edmfx_dycoms_rf01_box.yml b/config/model_configs/diagnostic_edmfx_dycoms_rf01_box.yml index 75f92bda4d..db0f7dad75 100644 --- a/config/model_configs/diagnostic_edmfx_dycoms_rf01_box.yml +++ b/config/model_configs/diagnostic_edmfx_dycoms_rf01_box.yml @@ -1,4 +1,3 @@ -job_id: diagnostic_edmfx_dycoms_rf01_box initial_condition: DYCOMS_RF01 subsidence: DYCOMS edmf_coriolis: DYCOMS_RF01 diff --git a/config/model_configs/diagnostic_edmfx_dycoms_rf01_explicit_box.yml b/config/model_configs/diagnostic_edmfx_dycoms_rf01_explicit_box.yml index 3bbb7e4423..5070a4ff65 100644 --- a/config/model_configs/diagnostic_edmfx_dycoms_rf01_explicit_box.yml +++ b/config/model_configs/diagnostic_edmfx_dycoms_rf01_explicit_box.yml @@ -1,4 +1,3 @@ -job_id: diagnostic_edmfx_dycoms_rf01_explicit_box initial_condition: DYCOMS_RF01 subsidence: DYCOMS edmf_coriolis: DYCOMS_RF01 diff --git a/config/model_configs/diagnostic_edmfx_gabls_box.yml b/config/model_configs/diagnostic_edmfx_gabls_box.yml index efa5222ee5..2c42b0db23 100644 --- a/config/model_configs/diagnostic_edmfx_gabls_box.yml +++ b/config/model_configs/diagnostic_edmfx_gabls_box.yml @@ -1,4 +1,3 @@ -job_id: diagnostic_edmfx_gabls_box initial_condition: GABLS edmf_coriolis: GABLS surface_setup: GABLS diff --git a/config/model_configs/diagnostic_edmfx_rico_box.yml b/config/model_configs/diagnostic_edmfx_rico_box.yml index 9d717b0f66..34c211c336 100644 --- a/config/model_configs/diagnostic_edmfx_rico_box.yml +++ b/config/model_configs/diagnostic_edmfx_rico_box.yml @@ -1,4 +1,3 @@ -job_id: diagnostic_edmfx_rico_box initial_condition: Rico subsidence: Rico ls_adv: Rico diff --git a/config/model_configs/diagnostic_edmfx_test_box.yml b/config/model_configs/diagnostic_edmfx_test_box.yml index 9e2e960f42..2eae3eda39 100644 --- a/config/model_configs/diagnostic_edmfx_test_box.yml +++ b/config/model_configs/diagnostic_edmfx_test_box.yml @@ -10,7 +10,6 @@ turbconv: "diagnostic_edmfx" x_elem: 2 dz_bottom: 30.0 config: "box" -job_id: "diagnostic_edmfx_test_box" moist: "equil" toml: [toml/diagnostic_edmfx_box.toml] netcdf_interpolation_num_points: [8, 8, 45] diff --git a/config/model_configs/diagnostic_edmfx_trmm_box.yml b/config/model_configs/diagnostic_edmfx_trmm_box.yml index 1f164cfb62..d87ff446ab 100644 --- a/config/model_configs/diagnostic_edmfx_trmm_box.yml +++ b/config/model_configs/diagnostic_edmfx_trmm_box.yml @@ -1,4 +1,3 @@ -job_id: diagnostic_edmfx_trmm_box initial_condition: TRMM_LBA rad: TRMM_LBA surface_setup: TRMM_LBA diff --git a/config/model_configs/diagnostic_edmfx_trmm_box_0M.yml b/config/model_configs/diagnostic_edmfx_trmm_box_0M.yml index ef2cf177bd..df7dd4126c 100644 --- a/config/model_configs/diagnostic_edmfx_trmm_box_0M.yml +++ b/config/model_configs/diagnostic_edmfx_trmm_box_0M.yml @@ -1,4 +1,3 @@ -job_id: diagnostic_edmfx_trmm_box_0M initial_condition: TRMM_LBA rad: TRMM_LBA surface_setup: TRMM_LBA diff --git a/config/model_configs/diagnostic_edmfx_trmm_stretched_box.yml b/config/model_configs/diagnostic_edmfx_trmm_stretched_box.yml index 7bf2e81178..a664cd455b 100644 --- a/config/model_configs/diagnostic_edmfx_trmm_stretched_box.yml +++ b/config/model_configs/diagnostic_edmfx_trmm_stretched_box.yml @@ -1,5 +1,4 @@ -job_id: diagnostic_edmfx_trmm_stretched_box initial_condition: TRMM_LBA rad: TRMM_LBA surface_setup: TRMM_LBA diff --git a/config/model_configs/gpu_aquaplanet_dyamond.yml b/config/model_configs/gpu_aquaplanet_dyamond.yml index 4cfbeecfe2..f76f52570f 100644 --- a/config/model_configs/gpu_aquaplanet_dyamond.yml +++ b/config/model_configs/gpu_aquaplanet_dyamond.yml @@ -19,5 +19,4 @@ rayleigh_sponge: true dt: "100secs" t_end: "12hours" prescribed_aerosols: ["CB1", "CB2", "DST01", "DST02", "DST03", "DST04", "OC1", "OC2", "SO4", "SOA", "SSLT01", "SSLT02", "SSLT03", "SSLT04"] -job_id: "gpu_aquaplanet_dyamond" toml: [toml/longrun_aquaplanet_dyamond.toml] diff --git a/config/model_configs/gpu_baroclinic_wave_rhoe.yml b/config/model_configs/gpu_baroclinic_wave_rhoe.yml index 9f4e4107c9..f3e5ae3d8d 100644 --- a/config/model_configs/gpu_baroclinic_wave_rhoe.yml +++ b/config/model_configs/gpu_baroclinic_wave_rhoe.yml @@ -1,4 +1,3 @@ -job_id: "gpu_baroclinic_wave_rhoe" dt: "400secs" t_end: "10days" dt_save_state_to_disk: "2days" diff --git a/config/model_configs/gpu_diagnostic_edmfx_aquaplanet.yml b/config/model_configs/gpu_diagnostic_edmfx_aquaplanet.yml index ccb043e712..be250df69a 100644 --- a/config/model_configs/gpu_diagnostic_edmfx_aquaplanet.yml +++ b/config/model_configs/gpu_diagnostic_edmfx_aquaplanet.yml @@ -1,6 +1,5 @@ dt_save_state_to_disk: "3hours" dt_save_to_sol: "Inf" -job_id: gpu_diagnostic_edmfx_aquaplanet surface_setup: DefaultMoninObukhov rad: clearsky turbconv: diagnostic_edmfx diff --git a/config/model_configs/gpu_prognostic_edmfx_aquaplanet.yml b/config/model_configs/gpu_prognostic_edmfx_aquaplanet.yml index bc3f9051a0..c4bf4575e2 100644 --- a/config/model_configs/gpu_prognostic_edmfx_aquaplanet.yml +++ b/config/model_configs/gpu_prognostic_edmfx_aquaplanet.yml @@ -1,4 +1,3 @@ -job_id: gpu_prognostic_edmfx_aquaplanet surface_setup: DefaultMoninObukhov rad: clearsky turbconv: prognostic_edmfx diff --git a/config/model_configs/plane_agnesi_mountain_test_stretched.yml b/config/model_configs/plane_agnesi_mountain_test_stretched.yml index 48eea75bad..449674094c 100644 --- a/config/model_configs/plane_agnesi_mountain_test_stretched.yml +++ b/config/model_configs/plane_agnesi_mountain_test_stretched.yml @@ -13,7 +13,6 @@ config: "plane" hyperdiff: "false" z_max: 25000.0 topography: "Agnesi" -job_id: "plane_agnesi_mountain_test_stretched" toml: [toml/plane_agnesi_mountain_test_stretched.toml] diagnostics: - short_name: wa diff --git a/config/model_configs/plane_agnesi_mountain_test_uniform.yml b/config/model_configs/plane_agnesi_mountain_test_uniform.yml index 0bdd15c794..35ddab6774 100644 --- a/config/model_configs/plane_agnesi_mountain_test_uniform.yml +++ b/config/model_configs/plane_agnesi_mountain_test_uniform.yml @@ -12,7 +12,6 @@ config: "plane" hyperdiff: "false" z_max: 25000.0 topography: "Agnesi" -job_id: "plane_agnesi_mountain_test_uniform" toml: [toml/plane_agnesi_mountain_test_uniform.toml] diagnostics: - short_name: wa diff --git a/config/model_configs/plane_density_current_test.yml b/config/model_configs/plane_density_current_test.yml index 70754854ab..efbeeaab57 100644 --- a/config/model_configs/plane_density_current_test.yml +++ b/config/model_configs/plane_density_current_test.yml @@ -11,7 +11,6 @@ config: "plane" vorticity_hyperdiffusion_coefficient: 0.6 scalar_hyperdiffusion_coefficient: 0.6 z_max: 6400.0 -job_id: "plane_density_current_test" diagnostics: - short_name: thetaa period: 900secs diff --git a/config/model_configs/plane_schar_mountain_test_stretched.yml b/config/model_configs/plane_schar_mountain_test_stretched.yml index 713ca3f47d..9f420c9750 100644 --- a/config/model_configs/plane_schar_mountain_test_stretched.yml +++ b/config/model_configs/plane_schar_mountain_test_stretched.yml @@ -15,7 +15,6 @@ vorticity_hyperdiffusion_coefficient: 0.5 scalar_hyperdiffusion_coefficient: 0.5 z_max: 25000.0 topography: "Schar" -job_id: "plane_schar_mountain_test_stretched" toml: [toml/plane_schar_mountain_test_stretched.toml] diagnostics: - short_name: wa diff --git a/config/model_configs/plane_schar_mountain_test_uniform.yml b/config/model_configs/plane_schar_mountain_test_uniform.yml index a2b4083e29..57e00665e2 100644 --- a/config/model_configs/plane_schar_mountain_test_uniform.yml +++ b/config/model_configs/plane_schar_mountain_test_uniform.yml @@ -14,7 +14,6 @@ vorticity_hyperdiffusion_coefficient: 0.5 scalar_hyperdiffusion_coefficient: 0.5 z_max: 25000.0 topography: "Schar" -job_id: "plane_schar_mountain_test_uniform" toml: [toml/plane_schar_mountain_test_uniform.toml] diagnostics: - short_name: wa diff --git a/config/model_configs/prognostic_edmfx_adv_test_column.yml b/config/model_configs/prognostic_edmfx_adv_test_column.yml index df71724249..a53d91d1a5 100644 --- a/config/model_configs/prognostic_edmfx_adv_test_column.yml +++ b/config/model_configs/prognostic_edmfx_adv_test_column.yml @@ -1,4 +1,3 @@ -job_id: "prognostic_edmfx_adv_test_column" initial_condition: "MoistAdiabaticProfileEDMFX" advection_test: true turbconv: "prognostic_edmfx" diff --git a/config/model_configs/prognostic_edmfx_aquaplanet.yml b/config/model_configs/prognostic_edmfx_aquaplanet.yml index ff666ac9f8..f9895b9a0a 100644 --- a/config/model_configs/prognostic_edmfx_aquaplanet.yml +++ b/config/model_configs/prognostic_edmfx_aquaplanet.yml @@ -1,4 +1,3 @@ -job_id: prognostic_edmfx_aquaplanet surface_setup: DefaultMoninObukhov rad: clearsky turbconv: prognostic_edmfx diff --git a/config/model_configs/prognostic_edmfx_bomex_box.yml b/config/model_configs/prognostic_edmfx_bomex_box.yml index b98c48c71e..673b5d036c 100644 --- a/config/model_configs/prognostic_edmfx_bomex_box.yml +++ b/config/model_configs/prognostic_edmfx_bomex_box.yml @@ -1,4 +1,3 @@ -job_id: "prognostic_edmfx_bomex_box" initial_condition: "Bomex" subsidence: "Bomex" edmf_coriolis: "Bomex" diff --git a/config/model_configs/prognostic_edmfx_bomex_column.yml b/config/model_configs/prognostic_edmfx_bomex_column.yml index 36a200ad0f..dbfab47ba7 100644 --- a/config/model_configs/prognostic_edmfx_bomex_column.yml +++ b/config/model_configs/prognostic_edmfx_bomex_column.yml @@ -1,4 +1,3 @@ -job_id: "prognostic_edmfx_bomex_column" initial_condition: "Bomex" subsidence: "Bomex" edmf_coriolis: "Bomex" diff --git a/config/model_configs/prognostic_edmfx_bomex_explicit_column.yml b/config/model_configs/prognostic_edmfx_bomex_explicit_column.yml index 8a00ff5a9c..7d938f7cb3 100644 --- a/config/model_configs/prognostic_edmfx_bomex_explicit_column.yml +++ b/config/model_configs/prognostic_edmfx_bomex_explicit_column.yml @@ -1,4 +1,3 @@ -job_id: "prognostic_edmfx_bomex_explicit_column" initial_condition: "Bomex" subsidence: "Bomex" edmf_coriolis: "Bomex" diff --git a/config/model_configs/prognostic_edmfx_bomex_fixtke_column.yml b/config/model_configs/prognostic_edmfx_bomex_fixtke_column.yml index abbc069432..5bdecdabca 100644 --- a/config/model_configs/prognostic_edmfx_bomex_fixtke_column.yml +++ b/config/model_configs/prognostic_edmfx_bomex_fixtke_column.yml @@ -1,4 +1,3 @@ -job_id: "prognostic_edmfx_bomex_fixtke_column" initial_condition: "Bomex" subsidence: "Bomex" edmf_coriolis: "Bomex" diff --git a/config/model_configs/prognostic_edmfx_bomex_stretched_column.yml b/config/model_configs/prognostic_edmfx_bomex_stretched_column.yml index eba0256c6b..de94462152 100644 --- a/config/model_configs/prognostic_edmfx_bomex_stretched_column.yml +++ b/config/model_configs/prognostic_edmfx_bomex_stretched_column.yml @@ -1,4 +1,3 @@ -job_id: "prognostic_edmfx_bomex_stretched_column" initial_condition: "Bomex" subsidence: "Bomex" edmf_coriolis: "Bomex" diff --git a/config/model_configs/prognostic_edmfx_dycoms_rf01_column.yml b/config/model_configs/prognostic_edmfx_dycoms_rf01_column.yml index df886dab43..cd33eff3ec 100644 --- a/config/model_configs/prognostic_edmfx_dycoms_rf01_column.yml +++ b/config/model_configs/prognostic_edmfx_dycoms_rf01_column.yml @@ -1,4 +1,3 @@ -job_id: prognostic_edmfx_dycoms_rf01_column initial_condition: DYCOMS_RF01 subsidence: DYCOMS edmf_coriolis: DYCOMS_RF01 diff --git a/config/model_configs/prognostic_edmfx_gabls_column.yml b/config/model_configs/prognostic_edmfx_gabls_column.yml index 964fc33e4b..2365aa51c5 100644 --- a/config/model_configs/prognostic_edmfx_gabls_column.yml +++ b/config/model_configs/prognostic_edmfx_gabls_column.yml @@ -1,4 +1,3 @@ -job_id: "prognostic_edmfx_gabls_column" initial_condition: GABLS edmf_coriolis: GABLS surface_setup: GABLS diff --git a/config/model_configs/prognostic_edmfx_gcmdriven_column.yml b/config/model_configs/prognostic_edmfx_gcmdriven_column.yml index 6498d97955..b734c2d740 100644 --- a/config/model_configs/prognostic_edmfx_gcmdriven_column.yml +++ b/config/model_configs/prognostic_edmfx_gcmdriven_column.yml @@ -1,4 +1,3 @@ -job_id: "prognostic_edmfx_gcmdriven_column" initial_condition: "GCM" external_forcing: "GCM" external_forcing_file: "/groups/esm/zhaoyi/GCMForcedLES/cfsite/07/HadGEM2-A/amip/Output.cfsite23_HadGEM2-A_amip_2004-2008.07.4x/stats/Stats.cfsite23_HadGEM2-A_amip_2004-2008.07.nc" diff --git a/config/model_configs/prognostic_edmfx_rico_column.yml b/config/model_configs/prognostic_edmfx_rico_column.yml index 27540f3701..68b1716034 100644 --- a/config/model_configs/prognostic_edmfx_rico_column.yml +++ b/config/model_configs/prognostic_edmfx_rico_column.yml @@ -1,4 +1,3 @@ -job_id: "prognostic_edmfx_rico_column" initial_condition: "Rico" subsidence: "Rico" ls_adv: "Rico" diff --git a/config/model_configs/prognostic_edmfx_simpleplume_column.yml b/config/model_configs/prognostic_edmfx_simpleplume_column.yml index 8bd8712971..1acc5a0ef5 100644 --- a/config/model_configs/prognostic_edmfx_simpleplume_column.yml +++ b/config/model_configs/prognostic_edmfx_simpleplume_column.yml @@ -1,4 +1,3 @@ -job_id: "prognostic_edmfx_simpleplume_column" initial_condition: "SimplePlume" surface_setup: "SimplePlume" turbconv: "prognostic_edmfx" diff --git a/config/model_configs/prognostic_edmfx_trmm_column.yml b/config/model_configs/prognostic_edmfx_trmm_column.yml index 7c350f0b3d..818ffd6fe1 100644 --- a/config/model_configs/prognostic_edmfx_trmm_column.yml +++ b/config/model_configs/prognostic_edmfx_trmm_column.yml @@ -1,4 +1,3 @@ -job_id: prognostic_edmfx_trmm_column initial_condition: TRMM_LBA rad: TRMM_LBA surface_setup: TRMM_LBA diff --git a/config/model_configs/prognostic_edmfx_trmm_column_0M.yml b/config/model_configs/prognostic_edmfx_trmm_column_0M.yml index 29c25a4f68..267a6d912e 100644 --- a/config/model_configs/prognostic_edmfx_trmm_column_0M.yml +++ b/config/model_configs/prognostic_edmfx_trmm_column_0M.yml @@ -1,4 +1,3 @@ -job_id: prognostic_edmfx_trmm_column_0M initial_condition: TRMM_LBA rad: TRMM_LBA surface_setup: TRMM_LBA diff --git a/config/model_configs/single_column_hydrostatic_balance_ft64.yml b/config/model_configs/single_column_hydrostatic_balance_ft64.yml index 734e79dfc7..9d101ec071 100644 --- a/config/model_configs/single_column_hydrostatic_balance_ft64.yml +++ b/config/model_configs/single_column_hydrostatic_balance_ft64.yml @@ -6,5 +6,4 @@ hyperdiff: "false" z_elem: 45 dt: "3hours" FLOAT_TYPE: "Float64" -job_id: "single_column_hydrostatic_balance_ft64" dt_save_to_sol: "3hours" diff --git a/config/model_configs/single_column_nonorographic_gravity_wave.yml b/config/model_configs/single_column_nonorographic_gravity_wave.yml index f5ee0702af..7f6a36950b 100644 --- a/config/model_configs/single_column_nonorographic_gravity_wave.yml +++ b/config/model_configs/single_column_nonorographic_gravity_wave.yml @@ -5,4 +5,3 @@ config: "column" hyperdiff: "false" dt: "400secs" non_orographic_gravity_wave: true -job_id: "single_column_nonorographic_gravity_wave" diff --git a/config/model_configs/single_column_precipitation_test.yml b/config/model_configs/single_column_precipitation_test.yml index ec07e97c67..679f148edc 100644 --- a/config/model_configs/single_column_precipitation_test.yml +++ b/config/model_configs/single_column_precipitation_test.yml @@ -15,7 +15,6 @@ implicit_diffusion: true approximate_linear_solve_iters: 2 regression_test: false check_precipitation: true -job_id: "single_column_precipitation_test" toml: [toml/single_column_precipitation_test.toml] diagnostics: - short_name: [hus, clw, cli, husra, hussn, ta, wa] diff --git a/config/model_configs/single_column_radiative_equilibrium_allsky_idealized_clouds.yml b/config/model_configs/single_column_radiative_equilibrium_allsky_idealized_clouds.yml index d009d3c5bb..93bdaac74d 100644 --- a/config/model_configs/single_column_radiative_equilibrium_allsky_idealized_clouds.yml +++ b/config/model_configs/single_column_radiative_equilibrium_allsky_idealized_clouds.yml @@ -12,5 +12,4 @@ config: "column" idealized_insolation: false z_max: 70000.0 dt_save_to_sol: "30hours" -job_id: "single_column_radiative_equilibrium_allsky_idealized_clouds" rad: "allskywithclear" diff --git a/config/model_configs/single_column_radiative_equilibrium_clearsky.yml b/config/model_configs/single_column_radiative_equilibrium_clearsky.yml index 7317635fa9..db3c0b18af 100644 --- a/config/model_configs/single_column_radiative_equilibrium_clearsky.yml +++ b/config/model_configs/single_column_radiative_equilibrium_clearsky.yml @@ -10,5 +10,4 @@ dz_bottom: 100.0 config: "column" z_max: 70000.0 dt_save_to_sol: "30hours" -job_id: "single_column_radiative_equilibrium_clearsky" rad: "clearsky" diff --git a/config/model_configs/single_column_radiative_equilibrium_clearsky_prognostic_surface_temp.yml b/config/model_configs/single_column_radiative_equilibrium_clearsky_prognostic_surface_temp.yml index e0723672eb..35c0292cd6 100644 --- a/config/model_configs/single_column_radiative_equilibrium_clearsky_prognostic_surface_temp.yml +++ b/config/model_configs/single_column_radiative_equilibrium_clearsky_prognostic_surface_temp.yml @@ -15,4 +15,3 @@ dt_save_state_to_disk: "100days" prognostic_surface: "true" surface_setup: DefaultExchangeCoefficients toml: [toml/single_column_radiative_equilibrium_clearsky_prognostic_surface_temp.toml] -job_id: "single_column_radiative_equilibrium_clearsky_prognostic_surface_temp" diff --git a/config/model_configs/single_column_radiative_equilibrium_gray.yml b/config/model_configs/single_column_radiative_equilibrium_gray.yml index b4114be23b..0d7ca6cf28 100644 --- a/config/model_configs/single_column_radiative_equilibrium_gray.yml +++ b/config/model_configs/single_column_radiative_equilibrium_gray.yml @@ -9,7 +9,6 @@ dz_bottom: 100.0 config: "column" z_max: 70000.0 dt_save_to_sol: "30hours" -job_id: "single_column_radiative_equilibrium_gray" rad: "gray" # [2, 2, 80] instead of [1, 1, 80] because Julia ranges are inclusive of the # extrema. Given that our columns are 3D, we cannot map the horizontal dimension diff --git a/config/model_configs/sphere_aquaplanet_rhoe_equilmoist_allsky_gw_raw_zonallyasymmetric.yml b/config/model_configs/sphere_aquaplanet_rhoe_equilmoist_allsky_gw_raw_zonallyasymmetric.yml index 6bd1e770bb..132f044047 100644 --- a/config/model_configs/sphere_aquaplanet_rhoe_equilmoist_allsky_gw_raw_zonallyasymmetric.yml +++ b/config/model_configs/sphere_aquaplanet_rhoe_equilmoist_allsky_gw_raw_zonallyasymmetric.yml @@ -14,7 +14,6 @@ z_max: 45000.0 precip_model: "0M" cloud_model: "grid_scale" surface_temperature: "ZonallyAsymmetric" -job_id: "sphere_aquaplanet_rhoe_equilmoist_allsky_gw_raw_zonallyasymmetric" moist: "equil" albedo_model: "RegressionFunctionAlbedo" regression_test: true diff --git a/config/model_configs/sphere_aquaplanet_rhoe_equilmoist_allsky_gw_res.yml b/config/model_configs/sphere_aquaplanet_rhoe_equilmoist_allsky_gw_res.yml index ad8a56093b..6510a754a7 100644 --- a/config/model_configs/sphere_aquaplanet_rhoe_equilmoist_allsky_gw_res.yml +++ b/config/model_configs/sphere_aquaplanet_rhoe_equilmoist_allsky_gw_res.yml @@ -16,7 +16,6 @@ non_orographic_gravity_wave: true orographic_gravity_wave: "gfdl_restart" surface_setup: "DefaultMoninObukhov" prescribed_aerosols: ["CB1", "CB2"] -job_id: "sphere_aquaplanet_rhoe_equilmoist_allsky_gw_res" toml: [toml/sphere_aquaplanet_rhoe_equilmoist_allsky_gw_res.toml] diagnostics: - short_name: [edt, evu] diff --git a/config/model_configs/sphere_aquaplanet_rhoe_nonequilmoist_allsky_gw_res.yml b/config/model_configs/sphere_aquaplanet_rhoe_nonequilmoist_allsky_gw_res.yml index 3e7ed2a50e..7c9591c9ab 100644 --- a/config/model_configs/sphere_aquaplanet_rhoe_nonequilmoist_allsky_gw_res.yml +++ b/config/model_configs/sphere_aquaplanet_rhoe_nonequilmoist_allsky_gw_res.yml @@ -16,7 +16,6 @@ non_orographic_gravity_wave: true orographic_gravity_wave: "gfdl_restart" surface_setup: "DefaultMoninObukhov" prescribed_aerosols: ["CB1", "CB2"] -job_id: "sphere_aquaplanet_rhoe_nonequilmoist_allsky_gw_res" toml: [toml/sphere_aquaplanet_rhoe_equilmoist_allsky_gw_res.toml] diagnostics: - short_name: [edt, evu] diff --git a/config/model_configs/sphere_baroclinic_wave_rhoe.yml b/config/model_configs/sphere_baroclinic_wave_rhoe.yml index 601a2fd84c..4c60a5d744 100644 --- a/config/model_configs/sphere_baroclinic_wave_rhoe.yml +++ b/config/model_configs/sphere_baroclinic_wave_rhoe.yml @@ -3,7 +3,6 @@ initial_condition: "DryBaroclinicWave" deep_atmosphere: true dt: "400secs" t_end: "10days" -job_id: "sphere_baroclinic_wave_rhoe" diagnostics: - short_name: [pfull, ua, wa, va, rv, ta, ke] period: 1days diff --git a/config/model_configs/sphere_baroclinic_wave_rhoe_equilmoist.yml b/config/model_configs/sphere_baroclinic_wave_rhoe_equilmoist.yml index d8d7670310..d7cee9ac30 100644 --- a/config/model_configs/sphere_baroclinic_wave_rhoe_equilmoist.yml +++ b/config/model_configs/sphere_baroclinic_wave_rhoe_equilmoist.yml @@ -3,7 +3,6 @@ dt_save_state_to_disk: "2days" regression_test: true initial_condition: "MoistBaroclinicWave" dt: "450secs" -job_id: "sphere_baroclinic_wave_rhoe_equilmoist" moist: "equil" diagnostics: - short_name: [pfull, wa, va, rv, hus] diff --git a/config/model_configs/sphere_baroclinic_wave_rhoe_equilmoist_cldiag.yml b/config/model_configs/sphere_baroclinic_wave_rhoe_equilmoist_cldiag.yml index b2d6ef08b9..1b7bdd1c84 100644 --- a/config/model_configs/sphere_baroclinic_wave_rhoe_equilmoist_cldiag.yml +++ b/config/model_configs/sphere_baroclinic_wave_rhoe_equilmoist_cldiag.yml @@ -3,7 +3,6 @@ dt_save_state_to_disk: "2days" initial_condition: "MoistBaroclinicWave" dt: "450secs" dt_cloud_fraction: "450secs" -job_id: "sphere_baroclinic_wave_rhoe_equilmoist_cldiag" moist: "equil" diagnostics: - short_name: [pfull, wa, va, rv, hus] diff --git a/config/model_configs/sphere_baroclinic_wave_rhoe_equilmoist_conservation_ft64.yml b/config/model_configs/sphere_baroclinic_wave_rhoe_equilmoist_conservation_ft64.yml index 529cb42d12..3a04d3c638 100644 --- a/config/model_configs/sphere_baroclinic_wave_rhoe_equilmoist_conservation_ft64.yml +++ b/config/model_configs/sphere_baroclinic_wave_rhoe_equilmoist_conservation_ft64.yml @@ -5,7 +5,6 @@ initial_condition: "MoistBaroclinicWave" t_end: "5days" dt: "450secs" FLOAT_TYPE: "Float64" -job_id: "sphere_baroclinic_wave_rhoe_equilmoist_conservation_ft64" rad: "clearsky" diagnostics: - short_name: [pfull, wa, va, rv, hus] diff --git a/config/model_configs/sphere_baroclinic_wave_rhoe_equilmoist_expvdiff.yml b/config/model_configs/sphere_baroclinic_wave_rhoe_equilmoist_expvdiff.yml index 60cb1d7c81..3cc4649423 100644 --- a/config/model_configs/sphere_baroclinic_wave_rhoe_equilmoist_expvdiff.yml +++ b/config/model_configs/sphere_baroclinic_wave_rhoe_equilmoist_expvdiff.yml @@ -6,7 +6,6 @@ dt_save_state_to_disk: "6hours" initial_condition: "MoistBaroclinicWave" dt: "20secs" t_end: "6hours" -job_id: "sphere_baroclinic_wave_rhoe_equilmoist_expvdiff" moist: "equil" toml: [toml/sphere_baroclinic_wave_rhoe_equilmoist_expvdiff.toml] diagnostics: diff --git a/config/model_configs/sphere_baroclinic_wave_rhoe_equilmoist_impvdiff.yml b/config/model_configs/sphere_baroclinic_wave_rhoe_equilmoist_impvdiff.yml index ae5d35f167..4c001b5367 100644 --- a/config/model_configs/sphere_baroclinic_wave_rhoe_equilmoist_impvdiff.yml +++ b/config/model_configs/sphere_baroclinic_wave_rhoe_equilmoist_impvdiff.yml @@ -8,6 +8,5 @@ implicit_diffusion: true max_newton_iters_ode: 2 dt: "400secs" t_end: "4days" -job_id: "sphere_baroclinic_wave_rhoe_equilmoist_impvdiff" moist: "equil" toml: [toml/sphere_baroclinic_wave_rhoe_equilmoist_expvdiff.toml] diff --git a/config/model_configs/sphere_baroclinic_wave_rhoe_topography_dcmip_rs.yml b/config/model_configs/sphere_baroclinic_wave_rhoe_topography_dcmip_rs.yml index af44d06f0b..f19825f758 100644 --- a/config/model_configs/sphere_baroclinic_wave_rhoe_topography_dcmip_rs.yml +++ b/config/model_configs/sphere_baroclinic_wave_rhoe_topography_dcmip_rs.yml @@ -6,7 +6,6 @@ initial_condition: "DryBaroclinicWave" t_end: "6days" use_reference_state: false dt: "200secs" -job_id: "sphere_baroclinic_wave_rhoe_topography_dcmip_rs" netcdf_output_at_levels: false diagnostics: - short_name: [pfull, wa, va, rv] diff --git a/config/model_configs/sphere_held_suarez_rhoe_equilmoist_hightop_sponge.yml b/config/model_configs/sphere_held_suarez_rhoe_equilmoist_hightop_sponge.yml index 165cabfc3a..ca4feadb5b 100644 --- a/config/model_configs/sphere_held_suarez_rhoe_equilmoist_hightop_sponge.yml +++ b/config/model_configs/sphere_held_suarez_rhoe_equilmoist_hightop_sponge.yml @@ -10,6 +10,5 @@ z_max: 45000.0 precip_model: "0M" regression_test: true viscous_sponge: true -job_id: "sphere_held_suarez_rhoe_equilmoist_hightop_sponge" moist: "equil" toml: [toml/sphere_held_suarez_rhoe_equilmoist_hightop_sponge.toml] diff --git a/config/model_configs/sphere_held_suarez_rhoe_equilmoist_topography_dcmip.yml b/config/model_configs/sphere_held_suarez_rhoe_equilmoist_topography_dcmip.yml index 4bc8041882..1af65248b4 100644 --- a/config/model_configs/sphere_held_suarez_rhoe_equilmoist_topography_dcmip.yml +++ b/config/model_configs/sphere_held_suarez_rhoe_equilmoist_topography_dcmip.yml @@ -8,7 +8,6 @@ use_reference_state: false forcing: "held_suarez" precip_model: "0M" topography: "DCMIP200" -job_id: "sphere_held_suarez_rhoe_equilmoist_topography_dcmip" moist: "equil" diagnostics: - short_name: [cl, cli, clw, ta, hus, hur, lmix] diff --git a/config/model_configs/sphere_held_suarez_rhoe_hightop.yml b/config/model_configs/sphere_held_suarez_rhoe_hightop.yml index 6321cd5c8f..95b78f2f18 100644 --- a/config/model_configs/sphere_held_suarez_rhoe_hightop.yml +++ b/config/model_configs/sphere_held_suarez_rhoe_hightop.yml @@ -5,5 +5,4 @@ forcing: "held_suarez" dt: "400secs" z_elem: 25 deep_atmosphere: true -job_id: "sphere_held_suarez_rhoe_hightop" z_max: 45000.0 diff --git a/config/model_configs/sphere_held_suarez_rhoe_topography_dcmip.yml b/config/model_configs/sphere_held_suarez_rhoe_topography_dcmip.yml index 7b48be42ac..29046d2186 100644 --- a/config/model_configs/sphere_held_suarez_rhoe_topography_dcmip.yml +++ b/config/model_configs/sphere_held_suarez_rhoe_topography_dcmip.yml @@ -7,4 +7,3 @@ t_end: "3days" forcing: "held_suarez" dt: "200secs" viscous_sponge: true -job_id: "sphere_held_suarez_rhoe_topography_dcmip" diff --git a/config/model_configs/sphere_hydrostatic_balance_rhoe_ft64.yml b/config/model_configs/sphere_hydrostatic_balance_rhoe_ft64.yml index ee108f64dd..1a1bd77193 100644 --- a/config/model_configs/sphere_hydrostatic_balance_rhoe_ft64.yml +++ b/config/model_configs/sphere_hydrostatic_balance_rhoe_ft64.yml @@ -5,5 +5,4 @@ discrete_hydrostatic_balance: true hyperdiff: "false" perturb_initstate: false FLOAT_TYPE: "Float64" -job_id: "sphere_hydrostatic_balance_rhoe_ft64" dt_save_to_sol: "600secs" diff --git a/config/model_configs/sphere_ssp_baroclinic_wave_rhoe_equilmoist_dcmip200.yml b/config/model_configs/sphere_ssp_baroclinic_wave_rhoe_equilmoist_dcmip200.yml index 128b7694dc..c521fa6347 100644 --- a/config/model_configs/sphere_ssp_baroclinic_wave_rhoe_equilmoist_dcmip200.yml +++ b/config/model_configs/sphere_ssp_baroclinic_wave_rhoe_equilmoist_dcmip200.yml @@ -8,6 +8,5 @@ use_reference_state: false ode_algo: "SSP333" precip_model: "0M" topography: "DCMIP200" -job_id: "sphere_ssp_baroclinic_wave_rhoe_equilmoist_dcmip200" moist: "equil" apply_limiter: true diff --git a/config/model_configs/sphere_ssp_baroclinic_wave_rhoe_equilmoist_earth.yml b/config/model_configs/sphere_ssp_baroclinic_wave_rhoe_equilmoist_earth.yml index ea030bff4d..f1bb41cbab 100644 --- a/config/model_configs/sphere_ssp_baroclinic_wave_rhoe_equilmoist_earth.yml +++ b/config/model_configs/sphere_ssp_baroclinic_wave_rhoe_equilmoist_earth.yml @@ -8,6 +8,5 @@ use_reference_state: false ode_algo: "SSP333" precip_model: "0M" topography: "Earth" -job_id: "sphere_ssp_baroclinic_wave_rhoe_equilmoist_earth" moist: "equil" apply_limiter: true diff --git a/config/model_configs/sphere_zalesak_upwind_tracer_energy_ssp_baroclinic_wave_rhoe_equilmoist.yml b/config/model_configs/sphere_zalesak_upwind_tracer_energy_ssp_baroclinic_wave_rhoe_equilmoist.yml index 9355d13cca..fb3aab0a77 100644 --- a/config/model_configs/sphere_zalesak_upwind_tracer_energy_ssp_baroclinic_wave_rhoe_equilmoist.yml +++ b/config/model_configs/sphere_zalesak_upwind_tracer_energy_ssp_baroclinic_wave_rhoe_equilmoist.yml @@ -7,6 +7,5 @@ t_end: "5days" ode_algo: "SSP333" energy_upwinding: zalesak precip_model: "0M" -job_id: "sphere_zalesak_upwind_tracer_energy_ssp_baroclinic_wave_rhoe_equilmoist" moist: "equil" apply_limiter: true diff --git a/config/model_configs/test_env.yml b/config/model_configs/test_env.yml index 24b7dc3dbe..70619e2494 100644 --- a/config/model_configs/test_env.yml +++ b/config/model_configs/test_env.yml @@ -1,4 +1,3 @@ -job_id: "test_env" vert_diff: "true" surface_setup: "DefaultExchangeCoefficients" moist: "equil" diff --git a/config/model_configs/test_io.yml b/config/model_configs/test_io.yml index 357c48fe83..c0f8650417 100644 --- a/config/model_configs/test_io.yml +++ b/config/model_configs/test_io.yml @@ -4,6 +4,5 @@ moist: "equil" precip_model: "0M" rad: "clearsky" t_end: "2hours" -job_id: "test_io" dt_save_to_sol: "1hours" dt_save_state_to_disk: "1hours" diff --git a/config/model_configs/test_mpi_io.yml b/config/model_configs/test_mpi_io.yml index f49068b705..04899a813d 100644 --- a/config/model_configs/test_mpi_io.yml +++ b/config/model_configs/test_mpi_io.yml @@ -1,4 +1,3 @@ -job_id: "test_mpi_io" t_end: "2hours" dt_save_to_sol: "1hours" dt_save_state_to_disk: "1hours" diff --git a/config/mpi_configs/mpi_make_restart.yml b/config/mpi_configs/mpi_make_restart.yml index d4d3705597..980a3be299 100644 --- a/config/mpi_configs/mpi_make_restart.yml +++ b/config/mpi_configs/mpi_make_restart.yml @@ -1,3 +1,2 @@ -job_id: "mpi_make_restart" dt_save_state_to_disk: "5days" initial_condition: "DryBaroclinicWave" diff --git a/config/mpi_configs/mpi_sphere_aquaplanet_rhoe_equilmoist_clearsky.yml b/config/mpi_configs/mpi_sphere_aquaplanet_rhoe_equilmoist_clearsky.yml index 3a7def1fba..6c52de32fa 100644 --- a/config/mpi_configs/mpi_sphere_aquaplanet_rhoe_equilmoist_clearsky.yml +++ b/config/mpi_configs/mpi_sphere_aquaplanet_rhoe_equilmoist_clearsky.yml @@ -3,7 +3,6 @@ surface_setup: "DefaultExchangeCoefficients" moist: "equil" rad: "clearsky" precip_model: "0M" -job_id: "mpi_sphere_aquaplanet_rhoe_equilmoist_clearsky" dt: "400secs" t_end: "4days" # Test HDF5 writer with MPI as well diff --git a/config/mpi_configs/prep_remap.yml b/config/mpi_configs/prep_remap.yml index 36c7b03ff2..16ca89cd58 100644 --- a/config/mpi_configs/prep_remap.yml +++ b/config/mpi_configs/prep_remap.yml @@ -1,2 +1 @@ -job_id: "prep_remap" dt_save_state_to_disk: "5days" diff --git a/config/mpi_configs/restart_mpi_baroclinic_wave_rhoe.yml b/config/mpi_configs/restart_mpi_baroclinic_wave_rhoe.yml index 0e4abd2ca3..14cb153ebb 100644 --- a/config/mpi_configs/restart_mpi_baroclinic_wave_rhoe.yml +++ b/config/mpi_configs/restart_mpi_baroclinic_wave_rhoe.yml @@ -1,4 +1,3 @@ -job_id: "restart_mpi_baroclinic_wave_rhoe" t_end: "20days" initial_condition: "DryBaroclinicWave" restart_file: "mpi_make_restart/output_active/day5.0.hdf5" diff --git a/config/perf_configs/bm_perf_target.yml b/config/perf_configs/bm_perf_target.yml index ea24780b1c..0230c6d139 100644 --- a/config/perf_configs/bm_perf_target.yml +++ b/config/perf_configs/bm_perf_target.yml @@ -1,2 +1 @@ perf_summary: true -job_id: "bm_perf_target" diff --git a/config/perf_configs/bm_perf_target_threaded.yml b/config/perf_configs/bm_perf_target_threaded.yml index 2ab3ea05bf..0230c6d139 100644 --- a/config/perf_configs/bm_perf_target_threaded.yml +++ b/config/perf_configs/bm_perf_target_threaded.yml @@ -1,2 +1 @@ perf_summary: true -job_id: "bm_perf_target_threaded" diff --git a/config/perf_configs/checkbounds.yml b/config/perf_configs/checkbounds.yml index c87007712f..51013e2393 100644 --- a/config/perf_configs/checkbounds.yml +++ b/config/perf_configs/checkbounds.yml @@ -1 +1 @@ -job_id: "checkbounds" +dt: "1secs" \ No newline at end of file diff --git a/config/perf_configs/cpu_implicit_barowave.yml b/config/perf_configs/cpu_implicit_barowave.yml index 4d16404a19..ca8701e8d4 100644 --- a/config/perf_configs/cpu_implicit_barowave.yml +++ b/config/perf_configs/cpu_implicit_barowave.yml @@ -4,4 +4,3 @@ t_end: "1mins" z_elem: 25 dt: "1secs" dt_save_to_sol: "Inf" -job_id: "cpu_implicit_barowave" diff --git a/config/perf_configs/flame_gpu_implicit_barowave_moist.yml b/config/perf_configs/flame_gpu_implicit_barowave_moist.yml index 68fe8ed390..949849479c 100644 --- a/config/perf_configs/flame_gpu_implicit_barowave_moist.yml +++ b/config/perf_configs/flame_gpu_implicit_barowave_moist.yml @@ -7,5 +7,4 @@ z_elem: 25 dt: "1secs" dt_save_to_sol: "Inf" rad: ~ -job_id: "flame_gpu_implicit_barowave_moist" moist: "equil" diff --git a/config/perf_configs/flame_perf_diagnostics.yml b/config/perf_configs/flame_perf_diagnostics.yml index 63863f23be..8b101d99a4 100644 --- a/config/perf_configs/flame_perf_diagnostics.yml +++ b/config/perf_configs/flame_perf_diagnostics.yml @@ -8,4 +8,3 @@ diagnostics: - reduction_time: "max" short_name: "ta" period: "1secs" -job_id: "flame_perf_diagnostics" diff --git a/config/perf_configs/flame_perf_gw.yml b/config/perf_configs/flame_perf_gw.yml index 81df77c5d1..21195b2299 100644 --- a/config/perf_configs/flame_perf_gw.yml +++ b/config/perf_configs/flame_perf_gw.yml @@ -5,5 +5,4 @@ toml: orographic_gravity_wave: "raw_topo" idealized_insolation: false non_orographic_gravity_wave: true -job_id: "flame_perf_gw" z_max: 45000.0 diff --git a/config/perf_configs/flame_perf_target.yml b/config/perf_configs/flame_perf_target.yml index 768d3fc08d..51013e2393 100644 --- a/config/perf_configs/flame_perf_target.yml +++ b/config/perf_configs/flame_perf_target.yml @@ -1 +1 @@ -job_id: "flame_perf_target" +dt: "1secs" \ No newline at end of file diff --git a/config/perf_configs/flame_perf_target_callbacks.yml b/config/perf_configs/flame_perf_target_callbacks.yml index 93c7cebcc0..dd95bbcd16 100644 --- a/config/perf_configs/flame_perf_target_callbacks.yml +++ b/config/perf_configs/flame_perf_target_callbacks.yml @@ -1,4 +1,3 @@ dt_save_state_to_disk: "1secs" dt_rad: "1secs" dt_cloud_fraction: "1secs" -job_id: "flame_perf_target_callbacks" diff --git a/config/perf_configs/flame_perf_target_diagnostic_edmfx.yml b/config/perf_configs/flame_perf_target_diagnostic_edmfx.yml index 3df11b624e..0df597f93a 100644 --- a/config/perf_configs/flame_perf_target_diagnostic_edmfx.yml +++ b/config/perf_configs/flame_perf_target_diagnostic_edmfx.yml @@ -7,4 +7,3 @@ edmfx_nh_pressure: true edmfx_upwinding: "first_order" prognostic_tke: true edmfx_sgs_flux: true -job_id: "flame_perf_target_diagnostic_edmfx" diff --git a/config/perf_configs/flame_perf_target_edmf.yml b/config/perf_configs/flame_perf_target_edmf.yml index e1e7b7d137..b73c9545e9 100644 --- a/config/perf_configs/flame_perf_target_edmf.yml +++ b/config/perf_configs/flame_perf_target_edmf.yml @@ -4,5 +4,4 @@ dt_save_state_to_disk: "10secs" precip_model: ~ turbconv: "edmf" FLOAT_TYPE: "Float64" -job_id: "flame_perf_target_edmf" z_stretch: false diff --git a/config/perf_configs/flame_perf_target_frierson.yml b/config/perf_configs/flame_perf_target_frierson.yml index 67400b83e7..4b9e06eca7 100644 --- a/config/perf_configs/flame_perf_target_frierson.yml +++ b/config/perf_configs/flame_perf_target_frierson.yml @@ -10,5 +10,4 @@ dt_save_state_to_disk: "12hours" initial_condition: "MoistBaroclinicWave" dt: "40secs" t_end: "12hours" -job_id: "flame_perf_target_frierson" moist: "equil" diff --git a/config/perf_configs/flame_perf_target_prognostic_edmfx_aquaplanet.yml b/config/perf_configs/flame_perf_target_prognostic_edmfx_aquaplanet.yml index fead8459e7..bc1d06c8e0 100644 --- a/config/perf_configs/flame_perf_target_prognostic_edmfx_aquaplanet.yml +++ b/config/perf_configs/flame_perf_target_prognostic_edmfx_aquaplanet.yml @@ -1,4 +1,3 @@ -job_id: flame_perf_target_prognostic_edmfx_aquaplanet surface_setup: DefaultExchangeCoefficients rad: gray vert_diff: "false" diff --git a/config/perf_configs/flame_perf_target_threaded.yml b/config/perf_configs/flame_perf_target_threaded.yml index 30dd7a4527..e4a49fa6d4 100644 --- a/config/perf_configs/flame_perf_target_threaded.yml +++ b/config/perf_configs/flame_perf_target_threaded.yml @@ -1,2 +1 @@ -job_id: "flame_perf_target_threaded" implicit_diffusion: false diff --git a/config/perf_configs/flame_perf_target_tracers.yml b/config/perf_configs/flame_perf_target_tracers.yml index d0ef688e8c..ce3f3be17f 100644 --- a/config/perf_configs/flame_perf_target_tracers.yml +++ b/config/perf_configs/flame_perf_target_tracers.yml @@ -1,3 +1,2 @@ -job_id: "flame_perf_target_tracers" perf_mode: "PerfExperimental" implicit_diffusion: false diff --git a/config/perf_configs/flame_sphere_baroclinic_wave_rhoe_equilmoist_expvdiff.yml b/config/perf_configs/flame_sphere_baroclinic_wave_rhoe_equilmoist_expvdiff.yml index bc6bb7ef77..aea90d324b 100644 --- a/config/perf_configs/flame_sphere_baroclinic_wave_rhoe_equilmoist_expvdiff.yml +++ b/config/perf_configs/flame_sphere_baroclinic_wave_rhoe_equilmoist_expvdiff.yml @@ -9,5 +9,4 @@ dt_save_state_to_disk: "12hours" initial_condition: "MoistBaroclinicWave" dt: "40secs" t_end: "12hours" -job_id: "flame_sphere_baroclinic_wave_rhoe_equilmoist_expvdiff" moist: "equil" diff --git a/config/perf_configs/gpu_implicit_barowave.yml b/config/perf_configs/gpu_implicit_barowave.yml index 034f7ca2c6..ca8701e8d4 100644 --- a/config/perf_configs/gpu_implicit_barowave.yml +++ b/config/perf_configs/gpu_implicit_barowave.yml @@ -4,4 +4,3 @@ t_end: "1mins" z_elem: 25 dt: "1secs" dt_save_to_sol: "Inf" -job_id: "gpu_implicit_barowave" diff --git a/config/perf_configs/gpu_implicit_barowave_moist.yml b/config/perf_configs/gpu_implicit_barowave_moist.yml index 38efbc5a10..56f049e4fc 100644 --- a/config/perf_configs/gpu_implicit_barowave_moist.yml +++ b/config/perf_configs/gpu_implicit_barowave_moist.yml @@ -6,5 +6,4 @@ t_end: "1mins" z_elem: 25 dt: "1secs" dt_save_to_sol: "Inf" -job_id: "gpu_implicit_barowave_moist" moist: "equil" diff --git a/config/perf_configs/gpu_implicit_barowave_wrt_h_elem.yml b/config/perf_configs/gpu_implicit_barowave_wrt_h_elem.yml index 481fc62890..dfbeb909a8 100644 --- a/config/perf_configs/gpu_implicit_barowave_wrt_h_elem.yml +++ b/config/perf_configs/gpu_implicit_barowave_wrt_h_elem.yml @@ -1,4 +1,3 @@ -job_id: gpu_implicit_barowave_wrt_h_elem z_elem: 25 h_elem: 12 initial_condition: DryBaroclinicWave diff --git a/config/perf_configs/invalidations.yml b/config/perf_configs/invalidations.yml index ad13593b00..51013e2393 100644 --- a/config/perf_configs/invalidations.yml +++ b/config/perf_configs/invalidations.yml @@ -1 +1 @@ -job_id: "invalidations" \ No newline at end of file +dt: "1secs" \ No newline at end of file diff --git a/config/perf_configs/jet_n_failures.yml b/config/perf_configs/jet_n_failures.yml index ade25ec157..e4a49fa6d4 100644 --- a/config/perf_configs/jet_n_failures.yml +++ b/config/perf_configs/jet_n_failures.yml @@ -1,2 +1 @@ -job_id: "jet_n_failures" implicit_diffusion: false diff --git a/docs/src/config.md b/docs/src/config.md index 457f0bb57f..0b15c53208 100644 --- a/docs/src/config.md +++ b/docs/src/config.md @@ -51,7 +51,6 @@ Add an entry with the following format: help: ``` The `help` field is optional if you don't plan on making a permanent change to the configuration argument. -If adding a configuration used in EDMF, add it to `.buildkite/default_edmf_config.yml`. See below for the full list of configuration arguments. diff --git a/docs/src/config_table.jl b/docs/src/config_table.jl index 4cceca4c24..2203b1300c 100644 --- a/docs/src/config_table.jl +++ b/docs/src/config_table.jl @@ -25,9 +25,7 @@ function make_table_from_config_file(config_file, title) end default_configs = joinpath(ca_dir, "config", "default_configs") default_config_file = joinpath(default_configs, "default_config.yml") -edmf_config_file = joinpath(default_configs, "default_edmf_config.yml") make_table_from_config_file(default_config_file, "Default configuration") -make_table_from_config_file(edmf_config_file, "EDMF configuration") nothing diff --git a/docs/src/repl_scripts.jl b/docs/src/repl_scripts.jl index f979ba2825..3f107ac0be 100644 --- a/docs/src/repl_scripts.jl +++ b/docs/src/repl_scripts.jl @@ -22,7 +22,7 @@ function print_repl_script(config) println(ib) end -configs = configs_per_job_id() +configs = configs_per_config_id() @assert length(configs) > 0 for (job_id, config) in configs diff --git a/examples/hybrid/driver.jl b/examples/hybrid/driver.jl index 03b94c1949..b96de3b690 100644 --- a/examples/hybrid/driver.jl +++ b/examples/hybrid/driver.jl @@ -9,7 +9,7 @@ import Random Random.seed!(1234) if !(@isdefined config) - config = CA.AtmosConfig() + config = CA.AtmosConfig(CA.parse_commandline()["config_file"]) end simulation = CA.get_simulation(config) (; integrator) = simulation @@ -37,8 +37,9 @@ import Base.Filesystem: rm import OrderedCollections include(joinpath(pkgdir(CA), "post_processing", "ci_plots.jl")) -ref_job_id = config.parsed_args["reference_job_id"] -reference_job_id = isnothing(ref_job_id) ? simulation.job_id : ref_job_id +config_id = CA.config_id_from_config_file(config.config_file) +ref_config_id = config.parsed_args["reference_config_id"] +reference_config_id = isnothing(ref_config_id) ? config_id : ref_config_id if sol_res.ret_code == :simulation_crashed error( @@ -94,14 +95,14 @@ if config.parsed_args["regression_test"] ), ) @testset "Test regression table entries" begin - mse_keys = sort(collect(keys(all_best_mse[simulation.job_id]))) + mse_keys = sort(collect(keys(all_best_mse[config_id]))) pcs = collect(Fields.property_chains(sol.u[end])) for prop_chain in mse_keys @test prop_chain in pcs end end perform_regression_tests( - simulation.job_id, + config_id, sol.u[end], all_best_mse, simulation.output_dir, @@ -244,9 +245,9 @@ if ClimaComms.iamroot(config.comms_ctx) @info "Plotting" path = self_reference_or_path() # __build__ path (not job path) if path == :self_reference - make_plots(Val(Symbol(reference_job_id)), simulation.output_dir) + make_plots(Val(Symbol(reference_config_id)), simulation.output_dir) else - main_job_path = joinpath(path, reference_job_id) + main_job_path = joinpath(path, reference_config_id) nc_dir = joinpath(main_job_path, "nc_files") if ispath(nc_dir) @info "nc_dir exists" @@ -270,7 +271,7 @@ if ClimaComms.iamroot(config.comms_ctx) else [simulation.output_dir, nc_dir] end - make_plots(Val(Symbol(reference_job_id)), paths) + make_plots(Val(Symbol(reference_config_id)), paths) end @info "Plotting done" diff --git a/perf/benchmark.jl b/perf/benchmark.jl index b253fb888f..6719683da8 100644 --- a/perf/benchmark.jl +++ b/perf/benchmark.jl @@ -11,10 +11,8 @@ using ClimaComms import SciMLBase import ClimaTimeSteppers as CTS -length(ARGS) != 1 && error("Usage: benchmark.jl ") -config_file = ARGS[1] -config_dict = YAML.load_file(config_file) -config = AtmosCoveragePerfConfig(config_dict); +config = CA.AtmosConfig(CA.parse_commandline()["config_file"]) +config_id = CA.config_id_from_config_file(config.config_file) simulation = CA.get_simulation(config); (; integrator) = simulation; @@ -47,9 +45,8 @@ end if get(ENV, "BUILDKITE", "") == "true" # Export table_summary import JSON - job_id = parsed_args["job_id"] path = pkgdir(CA) - open(joinpath(path, "perf_benchmark_$job_id.json"), "w") do io + open(joinpath(path, "perf_benchmark_$config_id.json"), "w") do io JSON.print(io, table_summary) end end diff --git a/perf/benchmark_dump.jl b/perf/benchmark_dump.jl index 6ab3057f49..ec857e461d 100644 --- a/perf/benchmark_dump.jl +++ b/perf/benchmark_dump.jl @@ -9,8 +9,10 @@ import YAML # Need to generate config_dict here to override `h_elem` in the loop below parsed_args = CA.parse_commandline(CA.argparse_settings()) -config_dict = YAML.load_file(parsed_args["config_file"]) -output_dir = joinpath(config_dict["job_id"]) +config_file = parsed_args["config_file"] +config_dict = YAML.load_file(config_file) +config_id = CA.config_id_from_config_file(config_file) +output_dir = config_id steptimes = [] # Iterate through varying number of horizontal elements diff --git a/perf/benchmark_step.jl b/perf/benchmark_step.jl index 2b8757451b..8eb338fa0b 100644 --- a/perf/benchmark_step.jl +++ b/perf/benchmark_step.jl @@ -17,7 +17,7 @@ Random.seed!(1234) import ClimaAtmos as CA import ClimaComms -config = CA.AtmosConfig() +config = CA.AtmosConfig(CA.parse_commandline()["config_file"]) simulation = CA.get_simulation(config) (; integrator) = simulation; diff --git a/perf/flame.jl b/perf/flame.jl index f5fd9b3678..4bd60a51b0 100644 --- a/perf/flame.jl +++ b/perf/flame.jl @@ -5,11 +5,9 @@ import ClimaAtmos as CA include("common.jl") -length(ARGS) != 1 && error("Usage: flame.jl ") -config_file = ARGS[1] -config_dict = YAML.load_file(config_file) -config = AtmosCoveragePerfConfig(config_dict) -job_id = config.parsed_args["job_id"] +config = CA.AtmosConfig(CA.parse_commandline()["config_file"]) +config_id = CA.config_id_from_config_file(config.config_file) +device = ClimaComms.device(config.comms_ctx) simulation = CA.get_simulation(config) (; integrator) = simulation @@ -21,7 +19,7 @@ SciMLBase.step!(integrator) # compile first SciMLBase.step!(integrator) # compile print_walltime_estimate, which skips the first step to avoid timing compilation CA.call_all_callbacks!(integrator) # compile callbacks import Profile, ProfileCanvas -output_dir = job_id +output_dir = config_id mkpath(output_dir) @info "collect profile" @@ -60,12 +58,12 @@ max_allocs_for_full_sampling = 10e6 # For jobs that we don't track, we set an expected_allocs of # max_allocs_for_full_sampling, which leads to a sampling rate of 1 -expected_allocs = get(allocs_limit, job_id, max_allocs_for_full_sampling) +expected_allocs = get(allocs_limit, config_id, max_allocs_for_full_sampling) sampling_rate = expected_allocs <= max_allocs_for_full_sampling ? 1 : 0.01 # Some jobs are problematic (the ones with Krylov mostly) # https://github.com/pfitzseb/ProfileCanvas.jl/issues/34 -if job_id in ( +if config_id in ( "flame_sphere_baroclinic_wave_rhoe_equilmoist_expvdiff", "flame_perf_target_frierson", ) @@ -88,9 +86,9 @@ using Test # Threaded/gpu allocations are not deterministic, so let's add a buffer # TODO: remove buffer, and threaded tests, when # threaded/unthreaded functions are unified -buffer = if any(x -> occursin(x, job_id), ("threaded",)) +buffer = if device isa ClimaComms.CPUMultiThreaded 1.8 -elseif any(x -> occursin(x, job_id), ("gpu",)) +elseif device isa ClimaComms.CUDADevice 5 else 1.1 @@ -100,22 +98,22 @@ end ## old allocation profiler (TODO: remove this) allocs = @allocated SciMLBase.step!(integrator) @timev SciMLBase.step!(integrator) -@info "`allocs ($job_id)`: $(allocs)" +@info "`allocs ($config_id)`: $(allocs)" -if allocs < allocs_limit[job_id] * buffer - @info "TODO: lower `allocs_limit[$job_id]` to: $(allocs)" +if allocs < allocs_limit[config_id] * buffer + @info "TODO: lower `allocs_limit[$config_id]` to: $(allocs)" end -Δallocs = allocs / allocs_limit[job_id] +Δallocs = allocs / allocs_limit[config_id] @info "Allocation change (allocs/allocs_limit): $Δallocs" # https://github.com/CliMA/ClimaAtmos.jl/issues/827 @testset "Allocations limit" begin - if occursin("gpu", job_id) # https://github.com/CliMA/ClimaAtmos.jl/issues/2831 - @test allocs ≤ allocs_limit[job_id] * buffer + if device isa ClimaComms.CUDADevice # https://github.com/CliMA/ClimaAtmos.jl/issues/2831 + @test allocs ≤ allocs_limit[config_id] * buffer else - @test 0.25 * allocs_limit[job_id] * buffer <= + @test 0.25 * allocs_limit[config_id] * buffer <= allocs ≤ - allocs_limit[job_id] * buffer + allocs_limit[config_id] * buffer end end diff --git a/perf/invalidations.jl b/perf/invalidations.jl index 30ec31e131..ae977aca4d 100644 --- a/perf/invalidations.jl +++ b/perf/invalidations.jl @@ -4,7 +4,7 @@ redirect_stderr(IOContext(stderr, :stacktrace_types_limited => Ref(false))) # From: https://timholy.github.io/SnoopCompile.jl/stable/snoopr/ using SnoopCompileCore invalidations = @snoopr begin - config = CA.AtmosConfig(Dict("output_dir" => "test_invalidations")) + config = CA.AtmosConfig() include(joinpath(dirname(@__DIR__), "examples", "hybrid", "driver.jl")) nothing end; diff --git a/perf/jet_test_nfailures.jl b/perf/jet_test_nfailures.jl index babc24f552..63d28e0d05 100644 --- a/perf/jet_test_nfailures.jl +++ b/perf/jet_test_nfailures.jl @@ -5,10 +5,7 @@ import ClimaAtmos as CA include("common.jl") -length(ARGS) != 1 && error("Usage: jet_test_nfailures.jl ") -config_file = ARGS[1] -config_dict = YAML.load_file(config_file) -config = AtmosCoveragePerfConfig(config_dict) +config = CA.AtmosConfig(CA.parse_commandline()["config_file"]) simulation = CA.get_simulation(config) (; integrator) = simulation diff --git a/perf/tabulate_perf_summary.jl b/perf/tabulate_perf_summary.jl index 6b8793d54a..1dec2d726f 100644 --- a/perf/tabulate_perf_summary.jl +++ b/perf/tabulate_perf_summary.jl @@ -27,7 +27,7 @@ all metrics can be found in `get_summary`. ca_dir = joinpath(dirname(@__DIR__)) get_job_ids(buildkite_path; filter_name = nothing) = - keys(configs_per_job_id(buildkite_path, filter_name)) + keys(configs_per_config_id(buildkite_path, filter_name)) function combine_PRs_performance_benchmarks(path) job_ids = get_job_ids( diff --git a/src/solver/cli_options.jl b/src/solver/cli_options.jl index da96a6f45b..5e25188d34 100644 --- a/src/solver/cli_options.jl +++ b/src/solver/cli_options.jl @@ -6,10 +6,12 @@ function argparse_settings() "--config_file" help = "A yaml file used to set model configurations" arg_type = String + # default = default_config_file # should we just do this instead? end return s end +parse_commandline() = parse_commandline(argparse_settings()) parse_commandline(s) = ArgParse.parse_args(ARGS, s) parse_commandline(args, s) = ArgParse.parse_args(args, s) diff --git a/src/solver/type_getters.jl b/src/solver/type_getters.jl index 803cce9eaf..e41a49978d 100644 --- a/src/solver/type_getters.jl +++ b/src/solver/type_getters.jl @@ -475,23 +475,39 @@ thermo_state_type(::EquilMoistModel, ::Type{FT}) where {FT} = TD.PhaseEquil{FT} thermo_state_type(::NonEquilMoistModel, ::Type{FT}) where {FT} = TD.PhaseNonEquil{FT} +# TODO: move to ClimaComms +context_short_name(ctx::ClimaComms.SingletonCommsContext) = "1_proc" +context_short_name(ctx::ClimaComms.MPICommsContext) = + "mpi_$(ClimaComms.nprocs(ctx))" +device_short_name(dev::ClimaComms.CUDADevice) = "gpu" +device_short_name(dev::ClimaComms.CPUSingleThreaded) = "cpu" +device_short_name(dev::ClimaComms.CPUMultiThreaded) = + "threaded_cpu_$(Threads.nthreads())" +resource_short_name(ctx::ClimaComms.AbstractCommsContext) = join( + (context_short_name(ctx), device_short_name(ClimaComms.device(ctx))), + "_", +) + +get_job_id(config::AtmosConfig) = join( + ( + config_id_from_config_file(config.config_file), + resource_short_name(config.comms_ctx), + ), + "_", +) + function get_sim_info(config::AtmosConfig) (; parsed_args) = config FT = eltype(config) + context = config.comms_ctx - job_id = if isnothing(parsed_args["job_id"]) - job_id_from_config(parsed_args) - else - parsed_args["job_id"] - end + job_id = get_job_id(config) default_output = haskey(ENV, "CI") ? job_id : joinpath("output", job_id) out_dir = parsed_args["output_dir"] base_output_dir = isnothing(out_dir) ? default_output : out_dir - output_dir = OutputPathGenerator.generate_output_path( - base_output_dir; - context = config.comms_ctx, - ) + output_dir = + OutputPathGenerator.generate_output_path(base_output_dir; context) sim = (; output_dir, @@ -599,6 +615,7 @@ function get_simulation(config::AtmosConfig) sim_info = get_sim_info(config) job_id = sim_info.job_id output_dir = sim_info.output_dir + @info "Simulation info" job_id = job_id output_dir = output_dir CP.log_parameter_information( config.toml_dict, diff --git a/src/solver/types.jl b/src/solver/types.jl index 93d06effac..19b4ab69b8 100644 --- a/src/solver/types.jl +++ b/src/solver/types.jl @@ -468,10 +468,11 @@ function (cb::AtmosCallback)(integrator) end n_measured_calls(cb::AtmosCallback) = cb.n_measured_calls[] -struct AtmosConfig{FT, TD, PA, C} +struct AtmosConfig{FT, TD, PA, C, CF} toml_dict::TD parsed_args::PA comms_ctx::C + config_file::CF end Base.eltype(::AtmosConfig{FT}) where {FT} = FT @@ -482,30 +483,23 @@ Base.eltype(::AtmosConfig{FT}) where {FT} = FT Helper function for the AtmosConfig constructor. Reads a YAML file into a Dict and passes it to the AtmosConfig constructor. """ -function AtmosConfig(config_file::String; comms_ctx = nothing) - config = YAML.load_file(config_file) - return AtmosConfig(config; comms_ctx) -end - -""" - AtmosConfig(; comms_ctx = nothing) -Helper function for the AtmosConfig constructor. -Reads the `config_file` from the command line into a Dict -and passes it to the AtmosConfig constructor. -""" -function AtmosConfig(; comms_ctx = nothing) - parsed_args = parse_commandline(argparse_settings()) - return AtmosConfig(parsed_args["config_file"]; comms_ctx) +function AtmosConfig( + config_file::String = default_config_file; + comms_ctx = nothing, +) + @info "Loading yaml file $config_file" + config₀ = YAML.load_file(config_file) + config = strip_help_messages(config₀) + return AtmosConfig(config; comms_ctx, config_file) end -AtmosConfig(::Nothing; comms_ctx = nothing) = AtmosConfig(Dict(); comms_ctx) - """ AtmosConfig(config::Dict; comms_ctx = nothing) + Constructs the AtmosConfig from the Dict passed in. This Dict overrides all of the default configurations set in `default_config_dict()`. """ -function AtmosConfig(config::Dict; comms_ctx = nothing) +function AtmosConfig(config::Dict; comms_ctx = nothing, config_file = nothing) config = override_default_config(config) FT = config["FLOAT_TYPE"] == "Float64" ? Float64 : Float32 toml_dict = CP.create_toml_dict( @@ -523,5 +517,11 @@ function AtmosConfig(config::Dict; comms_ctx = nothing) C = typeof(comms_ctx) TD = typeof(toml_dict) PA = typeof(config) - return AtmosConfig{FT, TD, PA, C}(toml_dict, config, comms_ctx) + CF = typeof(config_file) + return AtmosConfig{FT, TD, PA, C, CF}( + toml_dict, + config, + comms_ctx, + config_file, + ) end diff --git a/src/solver/yaml_helper.jl b/src/solver/yaml_helper.jl index 8cc41f5597..831d2735be 100644 --- a/src/solver/yaml_helper.jl +++ b/src/solver/yaml_helper.jl @@ -1,33 +1,25 @@ import YAML +const config_path = joinpath(dirname(@__FILE__), "..", "..", "config") + +const default_config_file = + joinpath(config_path, "default_configs", "default_config.yml") + +strip_help_message(v::Dict) = v["value"] +strip_help_message(v) = v +strip_help_messages(d) = + Dict(map(k -> Pair(k, strip_help_message(d[k])), collect(keys(d)))...) + """ default_config_dict() - default_config_dict(config_path) + default_config_dict(config_file) -Loads the default configuration from files into a Dict for use in AtmosConfig(). +Loads the default configuration from files +into a Dict for use in AtmosConfig. """ -function default_config_dict( - config_path = joinpath( - dirname(@__FILE__), - "..", - "..", - "config", - "default_configs", - ), -) - default_config_file = joinpath(config_path, "default_config.yml") - config = YAML.load_file(default_config_file) - edmf_config_file = joinpath(config_path, "default_edmf_config.yml") - edmf_config = YAML.load_file(edmf_config_file) - # Combine base config with EDMF config - Don't allow duplicate entries. - !isempty(intersect(keys(config), keys(edmf_config))) && - error("Duplicate keys in default config and EDMF config.") - merge!(config, edmf_config) - # Strip out help messages - for (k, v) in config - config[k] = v["value"] - end - return config +function default_config_dict(config_file = default_config_file) + config = YAML.load_file(config_file) + return strip_help_messages(config) end """ @@ -37,7 +29,7 @@ Given a job id string, returns the configuration for that job. Does not include the default configuration dictionary. """ function config_from_target_job(target_job) - for (job_id, config) in configs_per_job_id() + for (job_id, config) in configs_per_config_id() if job_id == target_job return config end @@ -111,20 +103,15 @@ function non_default_config_entries(config, defaults = default_config_dict()) end """ - configs_per_job_id(directory) + configs_per_config_id(directory) Walks a directory and reads all of the yaml files that are used to configure the driver, then parses them into a vector of dictionaries. Does not include the default configuration. To filter only configurations with a certain key/value pair, use the `filter_name` keyword argument with a Pair. """ -function configs_per_job_id( - directory::AbstractString = joinpath( - dirname(@__FILE__), - "..", - "..", - "config", - ), +function configs_per_config_id( + directory::AbstractString = config_path, filter_name = nothing, ) cmds = Dict() @@ -134,18 +121,42 @@ function configs_per_job_id( !endswith(file, ".yml") && continue occursin("default_configs", file) && continue config = YAML.load_file(file) - cmds[config["job_id"]] = config + name = config_id_from_config_file(file) + cmds[name] = (; config, config_file = file) end end if !isnothing(filter_name) (key, value) = filter_name - filter!(cmds) do (job_id, dict) - get(dict, key, "") == value + filter!(cmds) do (config_id, nt) + get(nt.config, key, "") == value end end return cmds end +function is_unique_basename(file, bname = first(splitext(basename(file)))) + is_unique = true + for (root, _, files) in walkdir(config_path) + for f in files + file = joinpath(root, f) + if basename(f) == bname + is_unique = false + end + end + end + return is_unique +end + +function config_id_from_config_file(config_file::String) + @assert isfile(config_file) + bname = first(splitext(basename(config_file))) + if is_unique_basename(config_file, bname) + return bname + else + return replace(config_file, path_sep => "_") + end +end + """ job_id_from_config(config)