From c41e2d647393cc4ddc809bd618bf7f92d7588876 Mon Sep 17 00:00:00 2001 From: Zhaoyi Shen <11598433+szy21@users.noreply.github.com> Date: Sat, 9 Aug 2025 15:07:45 -0700 Subject: [PATCH] add amip with prognostic edmf to nightly amip --- .buildkite/nightly/pipeline.yml | 6 +-- config/atmos_configs/climaatmos_progedmf.yml | 39 +++++++++++++++ .../benchmark_configs/climaatmos_diagedmf.yml | 2 +- .../climaatmos_diagedmf_io.yml | 2 +- ...se_random.yml => amip_coarse_progedmf.yml} | 19 +++----- toml/amip_progedmf.toml | 47 +++++++++++++++++++ toml/diagnostic_edmfx.toml | 20 -------- 7 files changed, 98 insertions(+), 37 deletions(-) create mode 100644 config/atmos_configs/climaatmos_progedmf.yml rename config/nightly_configs/{amip_coarse_random.yml => amip_coarse_progedmf.yml} (53%) create mode 100644 toml/amip_progedmf.toml delete mode 100644 toml/diagnostic_edmfx.toml diff --git a/.buildkite/nightly/pipeline.yml b/.buildkite/nightly/pipeline.yml index a523c5e7cd..58b8e7021a 100644 --- a/.buildkite/nightly/pipeline.yml +++ b/.buildkite/nightly/pipeline.yml @@ -65,12 +65,12 @@ steps: slurm_ntasks: 1 slurm_mem: 30GB - - label: "Coarse current AMIP: diagedmf + 0M + bucket land (unique seed)" + - label: "Coarse current AMIP: progedmf + 0M + bucket land" key: "amip_random1" command: - echo "--- Run simulation" - - "julia --threads=3 --color=yes --project=experiments/ClimaEarth/ experiments/ClimaEarth/run_amip.jl --config_file $CONFIG_PATH/amip_coarse_random.yml --job_id amip_coarse_random1" - artifact_paths: "experiments/ClimaEarth/output/amip_coarse_random1/artifacts/*" + - "julia --threads=3 --color=yes --project=experiments/ClimaEarth/ experiments/ClimaEarth/run_amip.jl --config_file $CONFIG_PATH/amip_coarse_progedmf.yml --job_id amip_coarse_progedmf" + artifact_paths: "experiments/ClimaEarth/output/amip_coarse_progedmf/artifacts/*" timeout_in_minutes: 840 env: CLIMACOMMS_DEVICE: "CUDA" diff --git a/config/atmos_configs/climaatmos_progedmf.yml b/config/atmos_configs/climaatmos_progedmf.yml new file mode 100644 index 0000000000..1c8c1f5c09 --- /dev/null +++ b/config/atmos_configs/climaatmos_progedmf.yml @@ -0,0 +1,39 @@ +aerosol_radiation: true +approximate_linear_solve_iters: 2 +cloud_model: "quadrature_sgs" +co2_model: maunaloa +dt: "120secs" +dt_cloud_fraction: "1hours" +dt_rad: "1hours" +dt_save_state_to_disk: "30days" +dz_bottom: 30.0 +edmfx_detr_model: "Generalized" +edmfx_entr_model: "Generalized" +edmfx_filter: true +edmfx_nh_pressure: true +edmfx_sgs_diffusive_flux: true +edmfx_sgs_mass_flux: true +edmfx_upwinding: "first_order" +h_elem: 16 +implicit_diffusion: true +implicit_sgs_advection: true +implicit_sgs_entr_detr: true +implicit_sgs_mass_flux: true +implicit_sgs_nh_pressure: true +insolation: "timevarying" +max_newton_iters_ode: 3 +moist: "equil" +netcdf_output_at_levels: true +precip_model: "0M" +prescribe_ozone: true +prescribed_aerosols: ["CB1", "CB2", "DST01", "DST02", "DST03", "DST04", "DST05", "OC1", "OC2", "SO4", "SSLT01", "SSLT02", "SSLT03", "SSLT04", "SSLT05"] +prognostic_tke: true +rad: "allskywithclear" +rayleigh_sponge: true +surface_setup: "DefaultMoninObukhov" +t_end: "120days" +toml: [toml/longrun_aquaplanet_diagedmf.toml] +turbconv: "prognostic_edmfx" +viscous_sponge: true +z_elem: 63 +z_max: 60000.0 diff --git a/config/benchmark_configs/climaatmos_diagedmf.yml b/config/benchmark_configs/climaatmos_diagedmf.yml index 8f0cfe235c..c2df368b89 100644 --- a/config/benchmark_configs/climaatmos_diagedmf.yml +++ b/config/benchmark_configs/climaatmos_diagedmf.yml @@ -27,7 +27,7 @@ prognostic_tke: true rad: allskywithclear surface_setup: DefaultMoninObukhov t_end: 12hours -toml: [toml/diagnostic_edmfx.toml] +toml: [toml/amip.toml] turbconv: diagnostic_edmfx z_elem: 63 z_max: 55000.0 diff --git a/config/benchmark_configs/climaatmos_diagedmf_io.yml b/config/benchmark_configs/climaatmos_diagedmf_io.yml index 64e109806b..7b8045fbc0 100644 --- a/config/benchmark_configs/climaatmos_diagedmf_io.yml +++ b/config/benchmark_configs/climaatmos_diagedmf_io.yml @@ -28,7 +28,7 @@ prognostic_tke: true rad: allskywithclear surface_setup: DefaultMoninObukhov t_end: 12hours -toml: [toml/diagnostic_edmfx.toml] +toml: [toml/amip.toml] turbconv: diagnostic_edmfx z_elem: 63 z_max: 55000.0 diff --git a/config/nightly_configs/amip_coarse_random.yml b/config/nightly_configs/amip_coarse_progedmf.yml similarity index 53% rename from config/nightly_configs/amip_coarse_random.yml rename to config/nightly_configs/amip_coarse_progedmf.yml index 82f4ae3fd0..0332dc1753 100644 --- a/config/nightly_configs/amip_coarse_random.yml +++ b/config/nightly_configs/amip_coarse_progedmf.yml @@ -1,12 +1,11 @@ FLOAT_TYPE: "Float32" albedo_model: "CouplerAlbedo" -atmos_config_file: "config/atmos_configs/climaatmos_diagedmf.yml" +atmos_config_file: "config/atmos_configs/climaatmos_progedmf.yml" bucket_albedo_type: "map_temporal" -checkpoint_dt: "366days" -coupler_toml: ["toml/amip.toml"] -deep_atmosphere: false -dt: "240secs" -dt_cpl: "240secs" +checkpoint_dt: "186days" +coupler_toml: ["toml/amip_progedmf.toml"] +dt: "60secs" +dt_cpl: "60secs" dz_bottom: 100.0 energy_check: false h_elem: 8 @@ -14,14 +13,10 @@ mode_name: "amip" netcdf_interpolation_num_points: [90, 45, 31] netcdf_output_at_levels: true output_default_diagnostics: true +radiation_reset_rng_seed: true start_date: "20100101" surface_setup: "PrescribedSurface" -t_end: "465days" +t_end: "186days" topo_smoothing: true topography: "Earth" -unique_seed: true z_elem: 39 -extra_atmos_diagnostics: - - short_name: [od550aer, odsc550aer] - period: "1months" - reduction_time: average diff --git a/toml/amip_progedmf.toml b/toml/amip_progedmf.toml new file mode 100644 index 0000000000..415123fc1f --- /dev/null +++ b/toml/amip_progedmf.toml @@ -0,0 +1,47 @@ +[zd_rayleigh] +value = 40000.0 + +[zd_viscous] +value = 40000.0 + +[precipitation_timescale] +value = 600 + +[alpha_rayleigh_sgs_tracer] +value = 1e-3 + +[EDMF_min_area] +value = 1.0e-5 + +[EDMF_max_area] +value = 0.7 + +[entr_inv_tau] +value = 0.0002 + +[entr_coeff] +value = 0.2 + +[min_area_limiter_scale] +value = 0 + +[min_area_limiter_power] +value = 100 + +[detr_inv_tau] +value = 0 + +[detr_coeff] +value = 0 + +[detr_buoy_coeff] +value = 0 + +[detr_vertdiv_coeff] +value = 0 + +[detr_massflux_vertdiv_coeff] +value = 1 + +[pressure_normalmode_drag_coeff] +value = 40.0 diff --git a/toml/diagnostic_edmfx.toml b/toml/diagnostic_edmfx.toml deleted file mode 100644 index 41c7c57094..0000000000 --- a/toml/diagnostic_edmfx.toml +++ /dev/null @@ -1,20 +0,0 @@ -[entr_inv_tau] -value = 0.002 - -[entr_coeff] -value = 0 - -[detr_inv_tau] -value = 0 - -[detr_buoy_coeff] -value = 0.12 - -[detr_vertdiv_coeff] -value = 0.6 - -[min_area_limiter_scale] -value = 0 - -[max_area_limiter_scale] -value = 0