Skip to content

Commit

Permalink
prescribe clouds in radiation
Browse files Browse the repository at this point in the history
  • Loading branch information
szy21 committed Oct 30, 2024
1 parent b9511aa commit 140c75d
Show file tree
Hide file tree
Showing 12 changed files with 301 additions and 170 deletions.
312 changes: 156 additions & 156 deletions .buildkite/longruns_gpu/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,180 +38,180 @@ steps:

- wait

- group: "helem 30 dycore"
steps:
# - 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:
CLIMACOMMS_DEVICE: "CUDA"
JOB_NAME: "longrun_sphere_hydrostatic_balance_rhoe"
# - 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:
# CLIMACOMMS_DEVICE: "CUDA"
# 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:
CLIMACOMMS_DEVICE: "CUDA"
JOB_NAME: "longrun_dry_baroclinic_wave"
# - 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:
# CLIMACOMMS_DEVICE: "CUDA"
# JOB_NAME: "longrun_dry_baroclinic_wave"

- label: ":computer: dry baroclinic wave high res"
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:
CLIMACOMMS_DEVICE: "CUDA"
JOB_NAME: "longrun_dry_baroclinic_wave_he60"
# - label: ":computer: dry baroclinic wave high res"
# 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:
# CLIMACOMMS_DEVICE: "CUDA"
# JOB_NAME: "longrun_dry_baroclinic_wave_he60"

- 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:
CLIMACOMMS_DEVICE: "CUDA"
JOB_NAME: "longrun_moist_baroclinic_wave"
# - 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:
# CLIMACOMMS_DEVICE: "CUDA"
# JOB_NAME: "longrun_moist_baroclinic_wave"

- label: ":computer: baroclinic wave equilmoist high res"
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:
CLIMACOMMS_DEVICE: "CUDA"
JOB_NAME: "longrun_moist_baroclinic_wave_he60"
# - label: ":computer: baroclinic wave equilmoist high res"
# 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:
# CLIMACOMMS_DEVICE: "CUDA"
# JOB_NAME: "longrun_moist_baroclinic_wave_he60"

- 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:
CLIMACOMMS_DEVICE: "CUDA"
JOB_NAME: "longrun_dry_held_suarez"
# - 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:
# CLIMACOMMS_DEVICE: "CUDA"
# JOB_NAME: "longrun_dry_held_suarez"

- 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:
CLIMACOMMS_DEVICE: "CUDA"
JOB_NAME: "longrun_moist_held_suarez"
# - 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:
# CLIMACOMMS_DEVICE: "CUDA"
# JOB_NAME: "longrun_moist_held_suarez"

- 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:
CLIMACOMMS_DEVICE: "CUDA"
JOB_NAME: "longrun_moist_held_suarez_deepatmos"
agents:
slurm_gpus: 1
slurm_time: 12:00:00
# - 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:
# CLIMACOMMS_DEVICE: "CUDA"
# JOB_NAME: "longrun_moist_held_suarez_deepatmos"
# agents:
# slurm_gpus: 1
# slurm_time: 12:00:00

- group: "helem 16 aquaplanet"
steps:
# - group: "helem 16 aquaplanet"
# steps:

- label: ":computer: aquaplanet equilmoist allsky 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: 24:00:00
env:
CLIMACOMMS_DEVICE: "CUDA"
JOB_NAME: "longrun_aquaplanet_allsky_0M"
# - label: ":computer: aquaplanet equilmoist allsky 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: 24:00:00
# env:
# CLIMACOMMS_DEVICE: "CUDA"
# JOB_NAME: "longrun_aquaplanet_allsky_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: 24:00:00
env:
CLIMACOMMS_DEVICE: "CUDA"
JOB_NAME: "longrun_aquaplanet_allsky_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: 24:00:00
# env:
# CLIMACOMMS_DEVICE: "CUDA"
# JOB_NAME: "longrun_aquaplanet_allsky_diagedmf_0M"

- label: ":computer: aquaplanet equilmoist allsky radiation + prognostic edmf diffusion only + 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: 24:00:00
env:
CLIMACOMMS_DEVICE: "CUDA"
JOB_NAME: "longrun_aquaplanet_allsky_progedmf_diffonly_0M"
# - label: ":computer: aquaplanet equilmoist allsky radiation + prognostic edmf diffusion only + 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: 24:00:00
# env:
# CLIMACOMMS_DEVICE: "CUDA"
# JOB_NAME: "longrun_aquaplanet_allsky_progedmf_diffonly_0M"

- label: ":computer: aquaplanet equilmoist allsky 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: 24:00:00
env:
CLIMACOMMS_DEVICE: "CUDA"
JOB_NAME: "longrun_aquaplanet_allsky_0M_earth"
# - label: ":computer: aquaplanet equilmoist allsky 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: 24:00:00
# env:
# CLIMACOMMS_DEVICE: "CUDA"
# JOB_NAME: "longrun_aquaplanet_allsky_0M_earth"

- label: ":umbrella: aquaplanet equilmoist allsky 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: 24:00:00
env:
CLIMACOMMS_DEVICE: "CUDA"
JOB_NAME: "longrun_aquaplanet_allsky_1M"
# - label: ":umbrella: aquaplanet equilmoist allsky 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: 24:00:00
# env:
# CLIMACOMMS_DEVICE: "CUDA"
# JOB_NAME: "longrun_aquaplanet_allsky_1M"

- label: ":computer: aquaplanet equilmoist allsky 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: 24:00:00
env:
CLIMACOMMS_DEVICE: "CUDA"
JOB_NAME: "longrun_aquaplanet_allsky_tvinsol_0M_slabocean"
# - label: ":computer: aquaplanet equilmoist allsky 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: 24:00:00
# env:
# CLIMACOMMS_DEVICE: "CUDA"
# JOB_NAME: "longrun_aquaplanet_allsky_tvinsol_0M_slabocean"

- group: "DYAMOND"
# - group: "DYAMOND"

steps:
# 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: 24:00:00
env:
CLIMACOMMS_DEVICE: "CUDA"
JOB_NAME: "longrun_aquaplanet_dyamond"
# - 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: 24:00:00
# env:
# CLIMACOMMS_DEVICE: "CUDA"
# JOB_NAME: "longrun_aquaplanet_dyamond"

- group: "atmos-only coupler runs"

Expand Down
6 changes: 6 additions & 0 deletions Artifacts.toml
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,9 @@ lazy = true
[[earth_orography_60arcseconds.download]]
sha256 = "eca66c0701d1c2b9e271742314915ffbf4a0fae92709df611c323f38e019966e"
url = "https://caltech.box.com/shared/static/4asrxcgl6xsgenfcug9p0wkkyhtqilgk.gz"
[era5_cloud]
git-tree-sha1 = "10742e0a2e343d13bb04df379e300a83402d4106"

[[era5_cloud.download]]
sha256 = "bb51e2f2d315b487e05a8d38944d4ad937ee4a40c43b68541220c5d54425e24a"
url = "https://caltech.box.com/shared/static/b6ur4ap4vo04j09vdulem96z9fxqlgyn.gz"
3 changes: 3 additions & 0 deletions config/default_configs/default_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,9 @@ dt_rad:
idealized_clouds:
help: "Use idealized clouds in radiation model [`false` (default), `true`]"
value: false
prescribe_clouds_in_radiation:
help: "Use prescribed clouds in radiation model. Clouds are read from ERA5 data and updated every time radiation is called. The year 2021 is used and continuously repeated. This mode only affect radiation and is only relevant for the RRTGMP mode. [`false` (default), `true`]"
value: false
insolation:
help: "Insolation used in radiation model [`idealized` (default), `timevarying`, `rcemipii`]"
value: "idealized"
Expand Down
1 change: 1 addition & 0 deletions config/longrun_configs/amip_target_diagedmf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ insolation: "timevarying"
prescribe_ozone: true
aerosol_radiation: true
prescribed_aerosols: ["CB1", "CB2", "DST01", "OC1", "OC2", "SO4", "SSLT01"]
prescribe_clouds_in_radiation: true
surface_setup: "DefaultMoninObukhov"
turbconv: "diagnostic_edmfx"
ode_algo: ARS343
Expand Down
1 change: 1 addition & 0 deletions config/model_configs/gpu_aquaplanet_dyamond.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,5 @@ t_end: "8hours"
prescribe_ozone: true
aerosol_radiation: true
prescribed_aerosols: ["CB1", "CB2", "DST01", "DST02", "DST03", "DST04", "OC1", "OC2", "SO4", "SOA", "SSLT01", "SSLT02", "SSLT03", "SSLT04"]
prescribe_clouds_in_radiation: true
toml: [toml/longrun_aquaplanet.toml]
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ z_elem: 31
dz_bottom: 50.0
rayleigh_sponge: true
dt: "400secs"
t_end: "1days"
t_end: "1hours"
dt_save_state_to_disk: "24hours"
vert_diff: "FriersonDiffusion"
implicit_diffusion: true
Expand All @@ -12,6 +12,7 @@ moist: "equil"
precip_model: "1M"
rad: "allskywithclear"
aerosol_radiation: true
prescribe_clouds_in_radiation: true
insolation: "timevarying"
non_orographic_gravity_wave: true
orographic_gravity_wave: "gfdl_restart"
Expand Down
2 changes: 1 addition & 1 deletion src/cache/cache.jl
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ function build_cache(Y, atmos, params, surface_setup, sim_info, aerosol_names)

radiation_args =
atmos.radiation_mode isa RRTMGPI.AbstractRRTMGPMode ?
(params, atmos.ozone, aerosol_names, atmos.insolation) : ()
(start_date, params, atmos.ozone, aerosol_names, atmos.insolation) : ()

hyperdiff = hyperdiffusion_cache(Y, atmos)
rayleigh_sponge = rayleigh_sponge_cache(Y, atmos)
Expand Down
Loading

0 comments on commit 140c75d

Please sign in to comment.