From 56d9f7d28a6751b237f3a6b411b7bd429f579b5b Mon Sep 17 00:00:00 2001 From: Zhaoyi Shen <11598433+szy21@users.noreply.github.com> Date: Wed, 27 Mar 2024 18:43:17 -0700 Subject: [PATCH 1/5] wip --- .buildkite/longruns/pipeline.yml | 24 +-- .buildkite/longruns_gpu/pipeline.yml | 180 +----------------- ...equil_helem12_allsky_diagedmf_0M_earth.yml | 41 ++++ ...lanet_equil_helem12_allsky_progedmf_0M.yml | 37 ++++ ..._equil_helem12_allsky_progedmf_0M_asym.yml | 38 ++++ ...equil_helem12_allsky_progedmf_0M_earth.yml | 44 +++++ ...n_aquaplanet_equil_helem12_clearsky_0M.yml | 23 +++ ...anet_equil_helem12_clearsky_0M_viscous.yml | 24 +++ ...net_equil_helem12_clearsky_progedmf_0M.yml | 39 ++++ ...quil_helem12_clearsky_progedmf_0M_asym.yml | 38 ++++ ...e_equil_55km_nz63_clearsky_progedmf_0M.yml | 37 ++++ .../prognostic_edmfx_adv_test_column.yml | 4 +- .../prognostic_edmfx_aquaplanet.yml | 7 +- .../prognostic_edmfx_trmm_column_0M.yml | 4 +- post_processing/ci_plots.jl | 9 +- src/initial_conditions/initial_conditions.jl | 9 +- src/prognostic_equations/edmfx_closures.jl | 8 + src/prognostic_equations/edmfx_sgs_flux.jl | 4 + src/prognostic_equations/hyperdiffusion.jl | 2 +- ..._aquaplanet_equil_helem12_clearsky_0M.toml | 11 ++ ...net_equil_helem12_clearsky_0M_viscous.toml | 14 ++ ...et_equil_helem12_clearsky_diagedmf_0M.toml | 32 ++++ ...et_equil_helem12_clearsky_progedmf_0M.toml | 50 +++++ ..._equil_55km_nz63_clearsky_progedmf_0M.toml | 2 +- 24 files changed, 478 insertions(+), 203 deletions(-) create mode 100644 config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_diagedmf_0M_earth.yml create mode 100644 config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M.yml create mode 100644 config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_asym.yml create mode 100644 config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_earth.yml create mode 100644 config/longrun_configs/longrun_aquaplanet_equil_helem12_clearsky_0M.yml create mode 100644 config/longrun_configs/longrun_aquaplanet_equil_helem12_clearsky_0M_viscous.yml create mode 100644 config/longrun_configs/longrun_aquaplanet_equil_helem12_clearsky_progedmf_0M.yml create mode 100644 config/longrun_configs/longrun_aquaplanet_equil_helem12_clearsky_progedmf_0M_asym.yml create mode 100644 config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_progedmf_0M.yml create mode 100644 toml/longrun_aquaplanet_equil_helem12_clearsky_0M.toml create mode 100644 toml/longrun_aquaplanet_equil_helem12_clearsky_0M_viscous.toml create mode 100644 toml/longrun_aquaplanet_equil_helem12_clearsky_diagedmf_0M.toml create mode 100644 toml/longrun_aquaplanet_equil_helem12_clearsky_progedmf_0M.toml diff --git a/.buildkite/longruns/pipeline.yml b/.buildkite/longruns/pipeline.yml index e131e2b493..b1f9cab81d 100644 --- a/.buildkite/longruns/pipeline.yml +++ b/.buildkite/longruns/pipeline.yml @@ -1,6 +1,5 @@ agents: queue: new-central - slurm_mem_per_cpu: 8G modules: climacommon/2024_04_30 env: @@ -33,6 +32,7 @@ steps: agents: slurm_cpus_per_task: 8 slurm_gpus: 1 + slurm_ntasks: 1 env: JULIA_NUM_PRECOMPILE_TASKS: 8 @@ -41,26 +41,14 @@ steps: - group: "Experimental long runs" steps: - - # TODO: uncomment when zalesak works - # - label: ":computer: lim ARS zalesak baroclinic wave (ρe_tot) equilmoist high resolution" - # command: - # - srun julia --project=examples examples/hybrid/driver.jl --config_file $CONFIG_PATH/$$JOB_NAME.yml --job_id $$JOB_NAME - # artifact_paths: "$$JOB_NAME/output_active/*" - # agents: - # slurm_ntasks: 32 - # slurm_mem_per_cpu: 32GB - # slurm_time: 24:00:00 - # env: - # JOB_NAME: "longrun_zalesak_tracer_energy_bw_rhoe_equil_highres" - - - label: ":computer: SSP baroclinic wave (ρe_tot) equilmoist high resolution centered diff" + + - label: ":computer: aquaplanet equilmoist allsky radiation + prognostic edmf + 0M microphysics" command: - srun julia --project=examples examples/hybrid/driver.jl --config_file $CONFIG_PATH/$$JOB_NAME.yml --job_id $$JOB_NAME artifact_paths: "$$JOB_NAME/output_active/*" agents: - slurm_ntasks: 32 - slurm_nodes: 2 + slurm_gpus: 1 slurm_time: 24:00:00 + slurm_mem: 32GB env: - JOB_NAME: "longrun_ssp_bw_rhoe_equil_highres" + JOB_NAME: "longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_earth" diff --git a/.buildkite/longruns_gpu/pipeline.yml b/.buildkite/longruns_gpu/pipeline.yml index a2e02ce751..f981456ee5 100644 --- a/.buildkite/longruns_gpu/pipeline.yml +++ b/.buildkite/longruns_gpu/pipeline.yml @@ -39,188 +39,16 @@ steps: - wait - - group: "helem 30 dycore" - steps: - - - label: ":computer: hydrostatic balance (ρe_tot)" - command: - - srun julia --color=yes --project=examples examples/hybrid/driver.jl --config_file $CONFIG_PATH/$$JOB_NAME.yml --job_id $$JOB_NAME - artifact_paths: "$$JOB_NAME/output_active/*" - agents: - slurm_gpus: 1 - slurm_time: 12:00:00 - env: - JOB_NAME: "longrun_sphere_hydrostatic_balance_rhoe" - - - label: ":computer: dry baroclinic wave" - command: - - srun julia --color=yes --project=examples examples/hybrid/driver.jl --config_file $CONFIG_PATH/$$JOB_NAME.yml --job_id $$JOB_NAME - artifact_paths: "$$JOB_NAME/output_active/*" - agents: - slurm_gpus: 1 - slurm_time: 12:00:00 - env: - JOB_NAME: "longrun_bw_rhoe_highres" - - - label: ":computer: baroclinic wave equilmoist" - command: - - srun julia --color=yes --project=examples examples/hybrid/driver.jl --config_file $CONFIG_PATH/$$JOB_NAME.yml --job_id $$JOB_NAME - artifact_paths: "$$JOB_NAME/output_active/*" - agents: - slurm_gpus: 1 - slurm_time: 12:00:00 - env: - JOB_NAME: "longrun_bw_rhoe_equil_highres" - - - label: ":computer: dry held-suarez" - command: - - srun julia --color=yes --project=examples examples/hybrid/driver.jl --config_file $CONFIG_PATH/$$JOB_NAME.yml --job_id $$JOB_NAME - artifact_paths: "$$JOB_NAME/output_active/*" - agents: - slurm_gpus: 1 - slurm_time: 12:00:00 - env: - JOB_NAME: "longrun_hs_rhoe_dry_55km_nz63" - - - label: ":computer: held-suarez, equilmoist" - command: - - srun julia --color=yes --project=examples examples/hybrid/driver.jl --config_file $CONFIG_PATH/$$JOB_NAME.yml --job_id $$JOB_NAME - artifact_paths: "$$JOB_NAME/output_active/*" - agents: - slurm_gpus: 1 - slurm_time: 12:00:00 - env: - JOB_NAME: "longrun_hs_rhoe_equil_55km_nz63_0M" - - - label: ":computer: held-suarez equilmoist + deep-atmosphere eqns" - command: - - srun julia --color=yes --project=examples examples/hybrid/driver.jl --config_file $CONFIG_PATH/$$JOB_NAME.yml --job_id $$JOB_NAME - artifact_paths: "$$JOB_NAME/output_active/*" - env: - CLIMACORE_DISTRIBUTED: "MPI" - JOB_NAME: "longrun_hs_rhoe_equil_55km_nz63_0M_deepatmos" - agents: - slurm_gpus: 1 - slurm_time: 12:00:00 - - group: "helem 16 aquaplanet" steps: - - label: ":computer: aquaplanet equilmoist gray radiation + 0M microphysics" - command: - - srun julia --color=yes --project=examples examples/hybrid/driver.jl --config_file $CONFIG_PATH/$$JOB_NAME.yml --job_id $$JOB_NAME - artifact_paths: "$$JOB_NAME/output_active/*" - env: - CLIMACORE_DISTRIBUTED: "MPI" - JOB_NAME: "longrun_aquaplanet_rhoe_equil_55km_nz63_gray_0M" - agents: - slurm_gpus: 1 - slurm_time: 12:00:00 - - - label: ":computer: aquaplanet equilmoist clearsky radiation + 0M microphysics" - command: - - srun julia --color=yes --project=examples examples/hybrid/driver.jl --config_file $CONFIG_PATH/$$JOB_NAME.yml --job_id $$JOB_NAME - artifact_paths: "$$JOB_NAME/output_active/*" - agents: - slurm_gpus: 1 - slurm_time: 12:00:00 - env: - JOB_NAME: "longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_0M" - - - label: ":computer: aquaplanet equilmoist clearsky radiation + diagnostic edmf + 0M microphysics" - command: - - srun julia --color=yes --project=examples examples/hybrid/driver.jl --config_file $CONFIG_PATH/$$JOB_NAME.yml --job_id $$JOB_NAME - artifact_paths: "$$JOB_NAME/output_active/*" - agents: - slurm_gpus: 1 - slurm_time: 12:00:00 - env: - JOB_NAME: "longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_diagedmf_0M" - - - label: ":computer: aquaplanet equilmoist allsky radiation + diagnostic edmf + 0M microphysics" - command: - - srun julia --color=yes --project=examples examples/hybrid/driver.jl --config_file $CONFIG_PATH/$$JOB_NAME.yml --job_id $$JOB_NAME - artifact_paths: "$$JOB_NAME/output_active/*" - agents: - slurm_gpus: 1 - slurm_time: 12:00:00 - env: - JOB_NAME: "longrun_aquaplanet_rhoe_equil_55km_nz63_allsky_diagedmf_0M" - - - label: ":computer: aquaplanet equilmoist clearsky radiation + prognostic edmf diffusion only + 0M microphysics" + - label: ":computer: aquaplanet equilmoist allsky radiation + prognostic edmf + 0M microphysics" command: - srun julia --project=examples examples/hybrid/driver.jl --config_file $CONFIG_PATH/$$JOB_NAME.yml --job_id $$JOB_NAME artifact_paths: "$$JOB_NAME/output_active/*" agents: slurm_gpus: 1 - slurm_time: 12:00:00 - env: - JOB_NAME: "longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_progedmf_diffonly_0M" - - - label: ":computer: aquaplanet equilmoist clearsky radiation + 0M microphysics + earth topography" - command: - - srun julia --color=yes --project=examples examples/hybrid/driver.jl --config_file $CONFIG_PATH/$$JOB_NAME.yml --job_id $$JOB_NAME - artifact_paths: "$$JOB_NAME/output_active/*" - agents: - slurm_gpus: 1 - slurm_time: 12:00:00 - env: - JOB_NAME: "longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_0M_earth" - - - label: ":computer: aquaplanet equilmoist clearsky radiation + 0M microphysics + earth topography (SLEVE)" - command: - - srun julia --color=yes --project=examples examples/hybrid/driver.jl --config_file $CONFIG_PATH/$$JOB_NAME.yml --job_id $$JOB_NAME - artifact_paths: "$$JOB_NAME/output_active/*" - agents: - slurm_gpus: 1 - slurm_time: 6:00:00 - env: - JOB_NAME: "longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_0M_earth_sleve" - - - label: ":umbrella: aquaplanet equilmoist clearsky radiation + 1M microphysics" - command: - - srun julia --color=yes --project=examples examples/hybrid/driver.jl --config_file $CONFIG_PATH/$$JOB_NAME.yml --job_id $$JOB_NAME - artifact_paths: "$$JOB_NAME/output_active/*" - agents: - slurm_gpus: 1 - slurm_time: 6:00:00 - env: - JOB_NAME: "longrun_aquaplanet_clearsky_1M" - - - label: ":computer: aquaplanet equilmoist clearsky radiation + time-varying insolation + 0M microphysics + slab ocean" - command: - - srun julia --color=yes --project=examples examples/hybrid/driver.jl --config_file $CONFIG_PATH/$$JOB_NAME.yml --job_id $$JOB_NAME - artifact_paths: "$$JOB_NAME/output_active/*" - agents: - slurm_gpus: 1 - slurm_time: 12:00:00 - env: - JOB_NAME: "longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_tvinsol_0M_slabocean" - - - group: "DYAMOND" - - steps: - - - label: ":computer: aquaplanet dyamond" - command: - - srun julia --color=yes --project=examples examples/hybrid/driver.jl --config_file $CONFIG_PATH/$$JOB_NAME.yml --job_id $$JOB_NAME - artifact_paths: "$$JOB_NAME/output_active/*" - agents: - slurm_gpus: 1 - slurm_time: 12:00:00 - env: - JOB_NAME: "longrun_aquaplanet_dyamond" - - - group: "atmos-only coupler runs" - - steps: - - - label: ":computer: amip target diagnostic edmf" - command: - - srun julia --color=yes --project=examples examples/hybrid/driver.jl --config_file $CONFIG_PATH/$$JOB_NAME.yml --job_id $$JOB_NAME - artifact_paths: "$$JOB_NAME/output_active/*" - agents: - slurm_gpus: 1 - slurm_time: 12:00:00 + slurm_time: 24:00:00 + slurm_mem: 32GB env: - JOB_NAME: "amip_target_diagedmf" + JOB_NAME: "longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_asym" diff --git a/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_diagedmf_0M_earth.yml b/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_diagedmf_0M_earth.yml new file mode 100644 index 0000000000..eed9627867 --- /dev/null +++ b/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_diagedmf_0M_earth.yml @@ -0,0 +1,41 @@ +h_elem: 12 +z_max: 55000.0 +z_elem: 30 +dz_bottom: 100.0 +dz_top: 3000.0 +moist: "equil" +precip_model: "0M" +override_τ_precip: false +rad: "allskywithclear" +dt_rad: "6hours" +surface_setup: "DefaultMoninObukhov" +turbconv: "diagnostic_edmfx" +implicit_diffusion: true +approximate_linear_solve_iters: 2 +max_newton_iters_ode: 3 +prognostic_tke: true +edmfx_upwinding: "first_order" +edmfx_entr_model: "Generalized" +edmfx_detr_model: "Generalized" +edmfx_nh_pressure: true +edmfx_sgs_mass_flux: true +edmfx_sgs_diffusive_flux: true +rayleigh_sponge: true +vorticity_hyperdiffusion_coefficient: 1.0 +divergence_damping_factor: 4.0 +scalar_hyperdiffusion_coefficient: 4.0 +smoothing_order: 2 +topo_smoothing: true +topography: "Earth" +dt_save_state_to_disk: "10days" +dt: "20secs" +t_end: "2days" +toml: [toml/longrun_aquaplanet_equil_helem12_clearsky_diagedmf_0M.toml] +netcdf_output_at_levels: true +diagnostics: + - short_name: [ts, ta, thetaa, ha, pfull, rhoa, ua, va, wa, hur, hus, cl, clw, cli, hussfc, evspsbl] + period: 1hours + - short_name: [arup, waup, rhoaup, taup, thetaaup, haup, husup, hurup, clwup, cliup, waen, tke] + period: 1hours + - short_name: [entr, detr, lmix, bgrad, strain, edt, evu] + period: 1hours diff --git a/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M.yml b/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M.yml new file mode 100644 index 0000000000..18f796a20a --- /dev/null +++ b/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M.yml @@ -0,0 +1,37 @@ +h_elem: 12 +z_max: 55000.0 +z_elem: 35 +dz_bottom: 50.0 +dz_top: 3000.0 +moist: "equil" +precip_model: "0M" +override_τ_precip: false +rad: "allskywithclear" +dt_rad: "6hours" +surface_setup: "DefaultMoninObukhov" +turbconv: "prognostic_edmfx" +implicit_sgs_advection: true +implicit_diffusion: true +approximate_linear_solve_iters: 2 +max_newton_iters_ode: 3 +prognostic_tke: true +edmfx_upwinding: "first_order" +edmfx_entr_model: "Generalized" +edmfx_detr_model: "Generalized" +edmfx_nh_pressure: true +edmfx_filter: true +edmfx_sgs_mass_flux: true +edmfx_sgs_diffusive_flux: true +rayleigh_sponge: true +dt_save_state_to_disk: "10days" +dt: "20secs" +t_end: "30days" +toml: [toml/longrun_aquaplanet_equil_helem12_clearsky_progedmf_0M.toml] +netcdf_output_at_levels: true +diagnostics: + - short_name: [ts, ta, thetaa, ha, pfull, rhoa, ua, va, wa, hur, hus, cl, clw, cli, hussfc, evspsbl] + period: 10days + - short_name: [arup, waup, rhoaup, taup, thetaaup, haup, husup, hurup, clwup, cliup, waen, taen, thetaaen, haen, husen, huren, clwen, clien, tke] + period: 10days + - short_name: [entr, detr, lmix, bgrad, strain, edt, evu] + period: 10days diff --git a/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_asym.yml b/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_asym.yml new file mode 100644 index 0000000000..309aac6a50 --- /dev/null +++ b/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_asym.yml @@ -0,0 +1,38 @@ +h_elem: 12 +z_max: 55000.0 +z_elem: 35 +dz_bottom: 50.0 +dz_top: 3000.0 +moist: "equil" +precip_model: "0M" +override_τ_precip: false +surface_temperature: "ZonallyAsymmetric" +rad: "allskywithclear" +dt_rad: "6hours" +surface_setup: "DefaultMoninObukhov" +turbconv: "prognostic_edmfx" +implicit_sgs_advection: true +implicit_diffusion: true +approximate_linear_solve_iters: 2 +max_newton_iters_ode: 3 +prognostic_tke: true +edmfx_upwinding: "first_order" +edmfx_entr_model: "Generalized" +edmfx_detr_model: "Generalized" +edmfx_nh_pressure: true +edmfx_filter: true +edmfx_sgs_mass_flux: true +edmfx_sgs_diffusive_flux: true +rayleigh_sponge: true +dt_save_state_to_disk: "10days" +dt: "20secs" +t_end: "30days" +toml: [toml/longrun_aquaplanet_equil_helem12_clearsky_progedmf_0M.toml] +netcdf_output_at_levels: true +diagnostics: + - short_name: [ts, ta, thetaa, ha, pfull, rhoa, ua, va, wa, hur, hus, cl, clw, cli, hussfc, evspsbl] + period: 10days + - short_name: [arup, waup, rhoaup, taup, thetaaup, haup, husup, hurup, clwup, cliup, waen, taen, thetaaen, haen, husen, huren, clwen, clien, tke] + period: 10days + - short_name: [entr, detr, lmix, bgrad, strain, edt, evu] + period: 10days diff --git a/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_earth.yml b/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_earth.yml new file mode 100644 index 0000000000..dc473304ed --- /dev/null +++ b/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_earth.yml @@ -0,0 +1,44 @@ +h_elem: 12 +z_max: 55000.0 +z_elem: 30 +dz_bottom: 100.0 +dz_top: 3000.0 +moist: "equil" +precip_model: "0M" +override_τ_precip: false +rad: "allskywithclear" +dt_rad: "6hours" +surface_setup: "DefaultMoninObukhov" +turbconv: "prognostic_edmfx" +implicit_sgs_advection: true +implicit_diffusion: true +approximate_linear_solve_iters: 2 +max_newton_iters_ode: 3 +prognostic_tke: true +edmfx_upwinding: "first_order" +edmfx_entr_model: "Generalized" +edmfx_detr_model: "Generalized" +edmfx_nh_pressure: true +edmfx_filter: true +edmfx_sgs_mass_flux: true +edmfx_sgs_diffusive_flux: true +rayleigh_sponge: true +vorticity_hyperdiffusion_coefficient: 1.0 +divergence_damping_factor: 4.0 +scalar_hyperdiffusion_coefficient: 4.0 +smoothing_order: 2 +topo_smoothing: true +topography: "Earth" +dt_save_state_to_disk: "1days" +dt: "20secs" +t_end: "10days" +restart_file: "/central/groups/esm/zhaoyi/climaatmos/longrun_1582/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_earth/output_active/day2.0.hdf5" +toml: [toml/longrun_aquaplanet_equil_helem12_clearsky_progedmf_0M.toml] +netcdf_output_at_levels: true +diagnostics: + - short_name: [ts, ta, thetaa, ha, pfull, rhoa, ua, va, wa, hur, hus, cl, clw, cli, hussfc, evspsbl] + period: 1days + - short_name: [arup, waup, rhoaup, taup, thetaaup, haup, husup, hurup, clwup, cliup, waen, taen, thetaaen, haen, husen, huren, clwen, clien, tke] + period: 1days + - short_name: [entr, detr, lmix, bgrad, strain, edt, evu] + period: 1days diff --git a/config/longrun_configs/longrun_aquaplanet_equil_helem12_clearsky_0M.yml b/config/longrun_configs/longrun_aquaplanet_equil_helem12_clearsky_0M.yml new file mode 100644 index 0000000000..ad6b9145e2 --- /dev/null +++ b/config/longrun_configs/longrun_aquaplanet_equil_helem12_clearsky_0M.yml @@ -0,0 +1,23 @@ +h_elem: 12 +z_max: 55000.0 +z_elem: 30 +dz_bottom: 100.0 +dz_top: 3000.0 +moist: "equil" +precip_model: "0M" +override_τ_precip: false +rad: "clearsky" +dt_rad: "6hours" +surface_setup: "DefaultMoninObukhov" +vert_diff: "FriersonDiffusion" +rayleigh_sponge: true +dt_save_state_to_disk: "10days" +dt: "200secs" +t_end: "100days" +toml: [toml/longrun_aquaplanet_equil_helem12_clearsky_0M.toml] +netcdf_output_at_levels: true +diagnostics: + - short_name: [ts, ta, thetaa, ha, pfull, rhoa, ua, va, wa, hur, hus, cl, clw, cli, hussfc, evspsbl] + period: 10days + - short_name: [lmix, bgrad, strain, edt, evu] + period: 10days diff --git a/config/longrun_configs/longrun_aquaplanet_equil_helem12_clearsky_0M_viscous.yml b/config/longrun_configs/longrun_aquaplanet_equil_helem12_clearsky_0M_viscous.yml new file mode 100644 index 0000000000..c63e5a810a --- /dev/null +++ b/config/longrun_configs/longrun_aquaplanet_equil_helem12_clearsky_0M_viscous.yml @@ -0,0 +1,24 @@ +h_elem: 12 +z_max: 55000.0 +z_elem: 30 +dz_bottom: 100.0 +dz_top: 3000.0 +moist: "equil" +precip_model: "0M" +override_τ_precip: false +rad: "clearsky" +dt_rad: "6hours" +surface_setup: "DefaultMoninObukhov" +vert_diff: "FriersonDiffusion" +rayleigh_sponge: true +viscous_sponge: true +dt_save_state_to_disk: "10days" +dt: "200secs" +t_end: "100days" +toml: [toml/longrun_aquaplanet_equil_helem12_clearsky_0M_viscous.toml] +netcdf_output_at_levels: true +diagnostics: + - short_name: [ts, ta, thetaa, ha, pfull, rhoa, ua, va, wa, hur, hus, cl, clw, cli, hussfc, evspsbl] + period: 10days + - short_name: [lmix, bgrad, strain, edt, evu] + period: 10days diff --git a/config/longrun_configs/longrun_aquaplanet_equil_helem12_clearsky_progedmf_0M.yml b/config/longrun_configs/longrun_aquaplanet_equil_helem12_clearsky_progedmf_0M.yml new file mode 100644 index 0000000000..19300be151 --- /dev/null +++ b/config/longrun_configs/longrun_aquaplanet_equil_helem12_clearsky_progedmf_0M.yml @@ -0,0 +1,39 @@ +h_elem: 12 +z_max: 55000.0 +z_elem: 30 +dz_bottom: 100.0 +dz_top: 3000.0 +moist: "equil" +precip_model: "0M" +override_τ_precip: false +rad: "clearsky" +dt_rad: "6hours" +surface_setup: "DefaultMoninObukhov" +turbconv: "prognostic_edmfx" +implicit_sgs_advection: true +implicit_diffusion: true +approximate_linear_solve_iters: 2 +max_newton_iters_ode: 3 +prognostic_tke: true +edmfx_upwinding: "first_order" +edmfx_entr_model: "Generalized" +edmfx_detr_model: "Generalized" +edmfx_nh_pressure: true +edmfx_filter: true +edmfx_sgs_mass_flux: true +edmfx_sgs_diffusive_flux: true +rayleigh_sponge: true +viscous_sponge: true +restart_file: "/central/groups/esm/zhaoyi/climaatmos/longrun_1560/longrun_aquaplanet_equil_helem12_clearsky_progedmf_0M/output_active/day30.0.hdf5" +dt_save_state_to_disk: "10days" +dt: "20secs" +t_end: "32days" +toml: [toml/longrun_aquaplanet_equil_helem12_clearsky_progedmf_0M.toml] +netcdf_output_at_levels: true +diagnostics: + - short_name: [ts, ta, thetaa, ha, pfull, rhoa, ua, va, wa, hur, hus, cl, clw, cli, hussfc, evspsbl] + period: 1days + - short_name: [arup, waup, rhoaup, taup, thetaaup, haup, husup, hurup, clwup, cliup, waen, taen, thetaaen, haen, husen, huren, clwen, clien, tke] + period: 1days + - short_name: [entr, detr, lmix, bgrad, strain, edt, evu] + period: 1days diff --git a/config/longrun_configs/longrun_aquaplanet_equil_helem12_clearsky_progedmf_0M_asym.yml b/config/longrun_configs/longrun_aquaplanet_equil_helem12_clearsky_progedmf_0M_asym.yml new file mode 100644 index 0000000000..4c92e1e960 --- /dev/null +++ b/config/longrun_configs/longrun_aquaplanet_equil_helem12_clearsky_progedmf_0M_asym.yml @@ -0,0 +1,38 @@ +h_elem: 12 +z_max: 55000.0 +z_elem: 30 +dz_bottom: 100.0 +dz_top: 3000.0 +moist: "equil" +precip_model: "0M" +override_τ_precip: false +surface_temperature: "ZonallyAsymmetric" +rad: "clearsky" +dt_rad: "6hours" +surface_setup: "DefaultMoninObukhov" +turbconv: "prognostic_edmfx" +implicit_sgs_advection: true +implicit_diffusion: true +approximate_linear_solve_iters: 2 +max_newton_iters_ode: 3 +prognostic_tke: true +edmfx_upwinding: "first_order" +edmfx_entr_model: "Generalized" +edmfx_detr_model: "Generalized" +edmfx_nh_pressure: true +edmf_filter: true +edmfx_sgs_mass_flux: true +edmfx_sgs_diffusive_flux: true +rayleigh_sponge: true +dt_save_state_to_disk: "10days" +dt: "40secs" +t_end: "100days" +toml: [toml/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_progedmf_0M.toml] +netcdf_output_at_levels: true +diagnostics: + - short_name: [ts, ta, thetaa, ha, pfull, rhoa, ua, va, wa, hur, hus, cl, clw, cli, hussfc, evspsbl] + period: 10days + - short_name: [arup, waup, taup, thetaaup, haup, husup, hurup, clwup, cliup, waen, taen, thetaaen, haen, husen, huren, clwen, clien, tke] + period: 10days + - short_name: [entr, detr, lmix, bgrad, strain, edt, evu] + period: 10days diff --git a/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_progedmf_0M.yml b/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_progedmf_0M.yml new file mode 100644 index 0000000000..e9670daf50 --- /dev/null +++ b/config/longrun_configs/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_progedmf_0M.yml @@ -0,0 +1,37 @@ +h_elem: 16 +z_max: 55000.0 +z_elem: 63 +dz_bottom: 30.0 +dz_top: 3000.0 +moist: "equil" +precip_model: "0M" +override_τ_precip: false +rad: "clearsky" +dt_rad: "6hours" +surface_setup: "DefaultMoninObukhov" +turbconv: "prognostic_edmfx" +implicit_sgs_advection: true +implicit_diffusion: true +approximate_linear_solve_iters: 2 +max_newton_iters_ode: 3 +prognostic_tke: true +edmfx_upwinding: "first_order" +edmfx_entr_model: "Generalized" +edmfx_detr_model: "Generalized" +edmfx_nh_pressure: true +edmf_filter: true +edmfx_sgs_mass_flux: true +edmfx_sgs_diffusive_flux: true +rayleigh_sponge: true +dt_save_state_to_disk: "3hours" +dt: "40secs" +t_end: "10days" +toml: [toml/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_progedmf_0M.toml] +netcdf_output_at_levels: true +diagnostics: + - short_name: [ts, ta, thetaa, ha, pfull, rhoa, ua, va, wa, hur, hus, cl, clw, cli, hussfc, evspsbl] + period: 1days + - short_name: [arup, waup, taup, thetaaup, haup, husup, hurup, clwup, cliup, waen, taen, thetaaen, haen, husen, huren, clwen, clien, tke] + period: 1days + - short_name: [entr, detr, lmix, bgrad, strain, edt, evu] + period: 1days diff --git a/config/model_configs/prognostic_edmfx_adv_test_column.yml b/config/model_configs/prognostic_edmfx_adv_test_column.yml index a53d91d1a5..c4856c8277 100644 --- a/config/model_configs/prognostic_edmfx_adv_test_column.yml +++ b/config/model_configs/prognostic_edmfx_adv_test_column.yml @@ -20,5 +20,7 @@ netcdf_interpolation_num_points: [2, 2, 63] diagnostics: - short_name: [ts, ta, thetaa, ha, pfull, rhoa, ua, va, wa, hur, hus, cl, clw, cli, hussfc, evspsbl] period: 10mins - - short_name: [arup, waup, taup, thetaaup, haup, husup, hurup, clwup, cliup, waen, taen, thetaaen, haen, husen, huren, clwen, clien, tke, lmix] + - short_name: [arup, waup, taup, thetaaup, haup, rhoaup, husup, hurup, clwup, cliup, waen, taen, thetaaen, haen, husen, huren, clwen, clien, tke, lmix] + period: 10mins + - short_name: [entr, detr, lmix, bgrad, strain, edt, evu] period: 10mins diff --git a/config/model_configs/prognostic_edmfx_aquaplanet.yml b/config/model_configs/prognostic_edmfx_aquaplanet.yml index f9895b9a0a..f25d36bfdd 100644 --- a/config/model_configs/prognostic_edmfx_aquaplanet.yml +++ b/config/model_configs/prognostic_edmfx_aquaplanet.yml @@ -17,9 +17,12 @@ dt_save_state_to_disk: 600secs toml: [toml/prognostic_edmfx.toml] output_default_diagnostics: false diagnostics: - - short_name: [ts, ta, thetaa, ha, pfull, rhoa, ua, va, wa, hfes, hur, hus, cl, clw, cli, evspsbl, rsd, rsu, rld, rlu] + - short_name: [ts, ta, thetaa, ha, pfull, rhoa, ua, va, wa, hur, hus, cl, clw, cli, hussfc, evspsbl] reduction_time: average period: 1hours - - short_name: [arup, waup, taup, thetaaup, haup, husup, hurup, clwup, cliup, waen, tke, lmix] + - short_name: [arup, waup, taup, thetaaup, haup, rhoaup, husup, hurup, clwup, cliup, waen, taen, thetaaen, haen, husen, huren, clwen, clien, tke, lmix] + reduction_time: average + period: 1hours + - short_name: [entr, detr, lmix, bgrad, strain, edt, evu] reduction_time: average period: 1hours diff --git a/config/model_configs/prognostic_edmfx_trmm_column_0M.yml b/config/model_configs/prognostic_edmfx_trmm_column_0M.yml index 384b2df555..443b18c8e0 100644 --- a/config/model_configs/prognostic_edmfx_trmm_column_0M.yml +++ b/config/model_configs/prognostic_edmfx_trmm_column_0M.yml @@ -31,5 +31,7 @@ netcdf_interpolation_num_points: [8, 8, 82] diagnostics: - short_name: [ts, ta, thetaa, ha, pfull, rhoa, ua, va, wa, hur, hus, cl, clw, cli, hussfc, evspsbl] period: 10mins - - short_name: [arup, waup, taup, thetaaup, haup, husup, hurup, clwup, cliup, waen, taen, thetaaen, haen, husen, huren, clwen, clien, tke, lmix] + - short_name: [arup, waup, taup, thetaaup, haup, husup, hurup, clwup, cliup, waen, taen, thetaaen, haen, husen, huren, clwen, clien, tke] + period: 10mins + - short_name: [entr, detr, lmix, bgrad, strain, edt, evu] period: 10mins diff --git a/post_processing/ci_plots.jl b/post_processing/ci_plots.jl index d4f73b3bd2..e1d613cff6 100644 --- a/post_processing/ci_plots.jl +++ b/post_processing/ci_plots.jl @@ -1135,8 +1135,6 @@ function make_plots( "cl", "clw", "clwup", - "cli", - "cliup", precip_names..., ] reduction = "inst" @@ -1168,6 +1166,13 @@ function make_plots( ([slice(v, time = LAST_SNAP) for v in group]...,) for group in var_groups_zt ] + # var_groups_z = [ + # ( + # [ + # ClimaAnalysis.window(v, "time", left = 14400, right = 21600) |> ClimaAnalysis.average_time for v in group + # ]..., + # ) for group in var_groups_zt + # ] tmp_file = make_plots_generic( output_paths, diff --git a/src/initial_conditions/initial_conditions.jl b/src/initial_conditions/initial_conditions.jl index 87dced494b..94e30b861b 100644 --- a/src/initial_conditions/initial_conditions.jl +++ b/src/initial_conditions/initial_conditions.jl @@ -881,6 +881,13 @@ end The `InitialCondition` described in [Brown2002](@cite), but with a hydrostatically balanced pressure profile. """ + +bomex_tke(::Type{FT}) where {FT} = z -> if (z <= 2500.0) + FT(1) - z / 3000 +else + FT(0) +end + Base.@kwdef struct ARM_SGP <: InitialCondition prognostic_tke::Bool = false end @@ -918,7 +925,7 @@ for IC in (:Soares, :Bomex, :LifeCycleTan2018, :ARM_SGP) ), velocity = Geometry.UVector(u(z)), turbconv_state = EDMFState(; - tke = prognostic_tke ? FT(0) : tke(z), + tke = prognostic_tke ? bomex_tke(FT)(z) : tke(z), ), ) end diff --git a/src/prognostic_equations/edmfx_closures.jl b/src/prognostic_equations/edmfx_closures.jl index 707b6ef28f..07b050bde1 100644 --- a/src/prognostic_equations/edmfx_closures.jl +++ b/src/prognostic_equations/edmfx_closures.jl @@ -242,9 +242,15 @@ function mixing_length( l_TKE > l_z ? l_z : l_TKE, l_W > l_z ? l_z : l_W, ) + # l = SA.SVector( + # (l_N < eps(FT) || l_N > l_z) ? l_z : l_N, + # (l_TKE < eps(FT) || l_TKE > l_z) ? l_z : l_TKE, + # (l_W < eps(FT) || l_W > l_z) ? l_z : l_W, + # ) # get soft minimum l_smin = lamb_smooth_minimum(l, smin_ub, smin_rm) l_limited = max(l_smag, min(l_smin, l_z)) + #l_limited = min(200, l_z) return MixingLength{FT}(l_limited, l_W, l_TKE, l_N) end @@ -298,6 +304,8 @@ function edmfx_filter_tendency!(Yₜ, Y, p, t, turbconv_model::PrognosticEDMFX) n = n_mass_flux_subdomains(turbconv_model) (; dt) = p + (; ᶜK, ᶜh_tot, ᶜspecific, ᶜρa⁰, ᶜtke⁰) = p.precomputed + ᶜu₃ʲ = p.scratch.ᶜtemp_C3 if p.atmos.edmfx_filter for j in 1:n diff --git a/src/prognostic_equations/edmfx_sgs_flux.jl b/src/prognostic_equations/edmfx_sgs_flux.jl index 3b3c2472b8..3ddbdae1d0 100644 --- a/src/prognostic_equations/edmfx_sgs_flux.jl +++ b/src/prognostic_equations/edmfx_sgs_flux.jl @@ -13,12 +13,16 @@ function edmfx_sgs_mass_flux_tendency!( ) n = n_mass_flux_subdomains(turbconv_model) + turbconv_params = CAP.turbconv_params(p.params) + a_max = CAP.max_area(turbconv_params) (; edmfx_sgsflux_upwinding) = p.atmos.numerics (; ᶠu³, ᶜh_tot, ᶜspecific) = p.precomputed (; ᶠu³ʲs, ᶜKʲs, ᶜρʲs) = p.precomputed (; ᶜρa⁰, ᶜρ⁰, ᶠu³⁰, ᶜK⁰, ᶜmse⁰, ᶜq_tot⁰) = p.precomputed (; dt) = p ᶜJ = Fields.local_geometry_field(Y.c).J + FT = eltype(Y) + ᶜlg = Fields.local_geometry_field(Y.c) if p.atmos.edmfx_sgs_mass_flux # energy diff --git a/src/prognostic_equations/hyperdiffusion.jl b/src/prognostic_equations/hyperdiffusion.jl index cf046c05d9..e1d7d285bd 100644 --- a/src/prognostic_equations/hyperdiffusion.jl +++ b/src/prognostic_equations/hyperdiffusion.jl @@ -145,7 +145,7 @@ NVTX.@annotate function apply_hyperdiffusion_tendency!(Yₜ, Y, p, t) # Sub-grid scale hyperdiffusion continued if (turbconv_model isa PrognosticEDMFX) && diffuse_tke - @. Yₜ.c.sgs⁰.ρatke -= ν₄_vorticity * wdivₕ(ᶜρa⁰ * gradₕ(ᶜ∇²tke⁰)) + @. Yₜ.c.sgs⁰.ρatke -= 4 * ν₄_vorticity * wdivₕ(ᶜρa⁰ * gradₕ(ᶜ∇²tke⁰)) end if turbconv_model isa PrognosticEDMFX for j in 1:n diff --git a/toml/longrun_aquaplanet_equil_helem12_clearsky_0M.toml b/toml/longrun_aquaplanet_equil_helem12_clearsky_0M.toml new file mode 100644 index 0000000000..5697ca1f47 --- /dev/null +++ b/toml/longrun_aquaplanet_equil_helem12_clearsky_0M.toml @@ -0,0 +1,11 @@ +[zd_rayleigh] +value = 35000.0 + +[alpha_rayleigh_uh] +value = 0.0 + +[alpha_rayleigh_w] +value = 10.0 + +[precipitation_timescale] +value = 600 diff --git a/toml/longrun_aquaplanet_equil_helem12_clearsky_0M_viscous.toml b/toml/longrun_aquaplanet_equil_helem12_clearsky_0M_viscous.toml new file mode 100644 index 0000000000..76e5a39ca2 --- /dev/null +++ b/toml/longrun_aquaplanet_equil_helem12_clearsky_0M_viscous.toml @@ -0,0 +1,14 @@ +[zd_rayleigh] +value = 35000.0 + +[alpha_rayleigh_uh] +value = 0.0 + +[zd_viscous] +value = 35000.0 + +[kappa_2_sponge] +value = 4e6 + +[precipitation_timescale] +value = 600 diff --git a/toml/longrun_aquaplanet_equil_helem12_clearsky_diagedmf_0M.toml b/toml/longrun_aquaplanet_equil_helem12_clearsky_diagedmf_0M.toml new file mode 100644 index 0000000000..0151753122 --- /dev/null +++ b/toml/longrun_aquaplanet_equil_helem12_clearsky_diagedmf_0M.toml @@ -0,0 +1,32 @@ +[zd_rayleigh] +value = 35000.0 + +[alpha_rayleigh_uh] +value = 0.0 + +[alpha_rayleigh_w] +value = 10.0 + +[precipitation_timescale] +value = 600 + +[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 + +[min_area_limiter_scale] +value = 0 + +[max_area_limiter_scale] +value = 0 diff --git a/toml/longrun_aquaplanet_equil_helem12_clearsky_progedmf_0M.toml b/toml/longrun_aquaplanet_equil_helem12_clearsky_progedmf_0M.toml new file mode 100644 index 0000000000..37497a5404 --- /dev/null +++ b/toml/longrun_aquaplanet_equil_helem12_clearsky_progedmf_0M.toml @@ -0,0 +1,50 @@ +[zd_rayleigh] +value = 35000.0 + +[alpha_rayleigh_uh] +value = 0.0 + +[alpha_rayleigh_w] +value = 10.0 + +[precipitation_timescale] +value = 600 + +[EDMF_surface_area] +value = 0.1 + +[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/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_progedmf_0M.toml b/toml/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_progedmf_0M.toml index c78bc0e113..c76bd0e1e8 100644 --- a/toml/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_progedmf_0M.toml +++ b/toml/longrun_aquaplanet_rhoe_equil_55km_nz63_clearsky_progedmf_0M.toml @@ -8,7 +8,7 @@ value = 0.0 value = 600 [EDMF_surface_area] -value = 0 +value = 0.1 [EDMF_min_area] value = 1.0e-5 From 810184dace497d10eceac1ae395c694026ccd853 Mon Sep 17 00:00:00 2001 From: Zhaoyi Shen <11598433+szy21@users.noreply.github.com> Date: Mon, 20 May 2024 17:17:35 -0700 Subject: [PATCH 2/5] restart --- ...planet_equil_helem12_allsky_progedmf_0M_asym.yml | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_asym.yml b/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_asym.yml index 309aac6a50..3037e8c4a1 100644 --- a/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_asym.yml +++ b/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_asym.yml @@ -24,15 +24,12 @@ edmfx_filter: true edmfx_sgs_mass_flux: true edmfx_sgs_diffusive_flux: true rayleigh_sponge: true -dt_save_state_to_disk: "10days" +dt_save_state_to_disk: "30days" dt: "20secs" -t_end: "30days" +t_end: "180days" +restart_file: "/net/sampo/data1/zhaoyi/climaatmos/longrun_155/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_asym/output_active/day120.0.hdf5" toml: [toml/longrun_aquaplanet_equil_helem12_clearsky_progedmf_0M.toml] netcdf_output_at_levels: true diagnostics: - - short_name: [ts, ta, thetaa, ha, pfull, rhoa, ua, va, wa, hur, hus, cl, clw, cli, hussfc, evspsbl] - period: 10days - - short_name: [arup, waup, rhoaup, taup, thetaaup, haup, husup, hurup, clwup, cliup, waen, taen, thetaaen, haen, husen, huren, clwen, clien, tke] - period: 10days - - short_name: [entr, detr, lmix, bgrad, strain, edt, evu] - period: 10days + - short_name: [arup, waup, tke] + period: 30days From 7b8d3456e0ab49433f81b809f980a42643471ffa Mon Sep 17 00:00:00 2001 From: Zhaoyi Shen <11598433+szy21@users.noreply.github.com> Date: Mon, 27 May 2024 11:56:11 -0400 Subject: [PATCH 3/5] low res diagedmf --- .buildkite/longruns_gpu/pipeline.yml | 4 +-- ..._equil_helem12_allsky_diagedmf_0M_asym.yml | 32 +++++++++++++++++++ 2 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_diagedmf_0M_asym.yml diff --git a/.buildkite/longruns_gpu/pipeline.yml b/.buildkite/longruns_gpu/pipeline.yml index f981456ee5..a3703801ea 100644 --- a/.buildkite/longruns_gpu/pipeline.yml +++ b/.buildkite/longruns_gpu/pipeline.yml @@ -42,7 +42,7 @@ steps: - group: "helem 16 aquaplanet" steps: - - label: ":computer: aquaplanet equilmoist allsky radiation + prognostic edmf + 0M microphysics" + - label: ":computer: aquaplanet equilmoist allsky radiation + diagnostic edmf + 0M microphysics" command: - srun julia --project=examples examples/hybrid/driver.jl --config_file $CONFIG_PATH/$$JOB_NAME.yml --job_id $$JOB_NAME artifact_paths: "$$JOB_NAME/output_active/*" @@ -51,4 +51,4 @@ steps: slurm_time: 24:00:00 slurm_mem: 32GB env: - JOB_NAME: "longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_asym" + JOB_NAME: "longrun_aquaplanet_equil_helem12_allsky_diagedmf_0M_asym" diff --git a/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_diagedmf_0M_asym.yml b/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_diagedmf_0M_asym.yml new file mode 100644 index 0000000000..143cc7051f --- /dev/null +++ b/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_diagedmf_0M_asym.yml @@ -0,0 +1,32 @@ +h_elem: 12 +z_max: 55000.0 +z_elem: 35 +dz_bottom: 50.0 +dz_top: 3000.0 +moist: "equil" +precip_model: "0M" +override_τ_precip: false +surface_temperature: "ZonallyAsymmetric" +rad: "allskywithclear" +dt_rad: "6hours" +surface_setup: "DefaultMoninObukhov" +turbconv: "prognostic_edmfx" +turbconv: "diagnostic_edmfx" +implicit_diffusion: true +approximate_linear_solve_iters: 2 +prognostic_tke: true +edmfx_upwinding: "first_order" +edmfx_entr_model: "Generalized" +edmfx_detr_model: "Generalized" +edmfx_nh_pressure: true +edmfx_sgs_mass_flux: true +edmfx_sgs_diffusive_flux: true +rayleigh_sponge: true +dt_save_state_to_disk: "30days" +dt: "200secs" +t_end: "180days" +toml: [toml/longrun_aquaplanet_equil_helem12_clearsky_diagedmf_0M.toml] +netcdf_output_at_levels: true +diagnostics: + - short_name: [arup, waup, tke] + period: 30days From 17da77a5d4ff0796cbf03860938bbbefc52fc5eb Mon Sep 17 00:00:00 2001 From: Zhaoyi Shen <11598433+szy21@users.noreply.github.com> Date: Mon, 27 May 2024 15:19:52 -0400 Subject: [PATCH 4/5] restart progedmf --- .buildkite/longruns_gpu/pipeline.yml | 4 ++-- ...ngrun_aquaplanet_equil_helem12_allsky_progedmf_0M_asym.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.buildkite/longruns_gpu/pipeline.yml b/.buildkite/longruns_gpu/pipeline.yml index a3703801ea..f981456ee5 100644 --- a/.buildkite/longruns_gpu/pipeline.yml +++ b/.buildkite/longruns_gpu/pipeline.yml @@ -42,7 +42,7 @@ steps: - group: "helem 16 aquaplanet" steps: - - label: ":computer: aquaplanet equilmoist allsky radiation + diagnostic edmf + 0M microphysics" + - label: ":computer: aquaplanet equilmoist allsky radiation + prognostic edmf + 0M microphysics" command: - srun julia --project=examples examples/hybrid/driver.jl --config_file $CONFIG_PATH/$$JOB_NAME.yml --job_id $$JOB_NAME artifact_paths: "$$JOB_NAME/output_active/*" @@ -51,4 +51,4 @@ steps: slurm_time: 24:00:00 slurm_mem: 32GB env: - JOB_NAME: "longrun_aquaplanet_equil_helem12_allsky_diagedmf_0M_asym" + JOB_NAME: "longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_asym" diff --git a/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_asym.yml b/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_asym.yml index 3037e8c4a1..3b24915360 100644 --- a/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_asym.yml +++ b/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_asym.yml @@ -26,8 +26,8 @@ edmfx_sgs_diffusive_flux: true rayleigh_sponge: true dt_save_state_to_disk: "30days" dt: "20secs" -t_end: "180days" -restart_file: "/net/sampo/data1/zhaoyi/climaatmos/longrun_155/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_asym/output_active/day120.0.hdf5" +t_end: "270days" +restart_file: "/net/sampo/data1/zhaoyi/climaatmos/longrun_157/longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_asym/output_active/day180.0.hdf5" toml: [toml/longrun_aquaplanet_equil_helem12_clearsky_progedmf_0M.toml] netcdf_output_at_levels: true diagnostics: From 73cc90172d3617ec1702be2dde6a772cdd7130da Mon Sep 17 00:00:00 2001 From: Zhaoyi Shen <11598433+szy21@users.noreply.github.com> Date: Tue, 28 May 2024 16:57:48 -0400 Subject: [PATCH 5/5] restart diagedmf and change parameters --- .buildkite/longruns_gpu/pipeline.yml | 4 ++-- ...ngrun_aquaplanet_equil_helem12_allsky_diagedmf_0M_asym.yml | 3 ++- post_processing/ci_plots.jl | 3 +++ toml/diagnostic_edmfx.toml | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.buildkite/longruns_gpu/pipeline.yml b/.buildkite/longruns_gpu/pipeline.yml index f981456ee5..a3703801ea 100644 --- a/.buildkite/longruns_gpu/pipeline.yml +++ b/.buildkite/longruns_gpu/pipeline.yml @@ -42,7 +42,7 @@ steps: - group: "helem 16 aquaplanet" steps: - - label: ":computer: aquaplanet equilmoist allsky radiation + prognostic edmf + 0M microphysics" + - label: ":computer: aquaplanet equilmoist allsky radiation + diagnostic edmf + 0M microphysics" command: - srun julia --project=examples examples/hybrid/driver.jl --config_file $CONFIG_PATH/$$JOB_NAME.yml --job_id $$JOB_NAME artifact_paths: "$$JOB_NAME/output_active/*" @@ -51,4 +51,4 @@ steps: slurm_time: 24:00:00 slurm_mem: 32GB env: - JOB_NAME: "longrun_aquaplanet_equil_helem12_allsky_progedmf_0M_asym" + JOB_NAME: "longrun_aquaplanet_equil_helem12_allsky_diagedmf_0M_asym" diff --git a/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_diagedmf_0M_asym.yml b/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_diagedmf_0M_asym.yml index 143cc7051f..6c003e8059 100644 --- a/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_diagedmf_0M_asym.yml +++ b/config/longrun_configs/longrun_aquaplanet_equil_helem12_allsky_diagedmf_0M_asym.yml @@ -24,7 +24,8 @@ edmfx_sgs_diffusive_flux: true rayleigh_sponge: true dt_save_state_to_disk: "30days" dt: "200secs" -t_end: "180days" +t_end: "270days" +restart_file: "/net/sampo/data1/zhaoyi/climaatmos/longrun_160/longrun_aquaplanet_equil_helem12_allsky_diagedmf_0M_asym/output_active/day180.0.hdf5" toml: [toml/longrun_aquaplanet_equil_helem12_clearsky_diagedmf_0M.toml] netcdf_output_at_levels: true diagnostics: diff --git a/post_processing/ci_plots.jl b/post_processing/ci_plots.jl index e1d613cff6..2bba9f2326 100644 --- a/post_processing/ci_plots.jl +++ b/post_processing/ci_plots.jl @@ -1007,8 +1007,10 @@ end EDMFBoxPlots = Union{ Val{:diagnostic_edmfx_gabls_box}, Val{:diagnostic_edmfx_bomex_box}, + Val{:diagnostic_edmfx_bomex_column}, Val{:diagnostic_edmfx_bomex_stretched_box}, Val{:diagnostic_edmfx_dycoms_rf01_box}, + Val{:diagnostic_edmfx_dycoms_rf01_column}, Val{:diagnostic_edmfx_trmm_box_0M}, Val{:diagnostic_edmfx_dycoms_rf01_explicit_box}, Val{:prognostic_edmfx_adv_test_column}, @@ -1030,6 +1032,7 @@ EDMFBoxPlotsWithPrecip = Union{ Val{:prognostic_edmfx_trmm_column}, Val{:diagnostic_edmfx_rico_box}, Val{:diagnostic_edmfx_trmm_box}, + Val{:diagnostic_edmfx_trmm_column}, Val{:diagnostic_edmfx_trmm_stretched_box}, } diff --git a/toml/diagnostic_edmfx.toml b/toml/diagnostic_edmfx.toml index 41c7c57094..860aec81e9 100644 --- a/toml/diagnostic_edmfx.toml +++ b/toml/diagnostic_edmfx.toml @@ -1,5 +1,5 @@ [entr_inv_tau] -value = 0.002 +value = 0.0015 [entr_coeff] value = 0