Skip to content

Commit

Permalink
add functions for config/arg parsing
Browse files Browse the repository at this point in the history
This commit isolates the argument and configuration file parsing to functions. Since we have one configuration file each for the coupled simulation and for the atmosphere, we end up with the following functions, as well as smaller helper functions. These are located in the new `experiments/ClimaEarth/arg_parsing.jl file`.
- `get_coupler_config`, `get_coupler_args`, `get_atmos_args`

These functions are called from the driver `run_amip.jl`, where the returned arguments are unpacked. After that point, the config files are not accessed further down in the driver, so we have isolated the config file access to the initial step.
  • Loading branch information
juliasloan25 committed Dec 2, 2024
1 parent d9156a6 commit 73cccba
Show file tree
Hide file tree
Showing 57 changed files with 551 additions and 327 deletions.
8 changes: 8 additions & 0 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,14 @@ steps:

# AMIP EXPERIMENTS

# Test default behavior with no config file or job ID provided
- label: "AMIP: default"
key: "amip_default"
command: "julia --color=yes --project=experiments/ClimaEarth/ experiments/ClimaEarth/run_amip.jl"
artifact_paths: "experiments/ClimaEarth/output/amip_default/artifacts/*"
agents:
slurm_mem: 20GB

- label: "AMIP target: albedo from function"
key: "target_amip_albedo_function"
command: "julia --color=yes --project=experiments/ClimaEarth/ experiments/ClimaEarth/run_amip.jl --config_file $CONFIG_PATH/amip_albedo_function.yml --job_id target_amip_albedo_function"
Expand Down
2 changes: 1 addition & 1 deletion config/amip_configs/amip.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ albedo_model: "CouplerAlbedo"
atmos_config_file: "config/longrun_configs/amip_target_diagedmf.yml"
coupler_toml_file: "toml/amip.toml"
dt: "120secs"
dt_cpl: 120
dt_cpl: "120secs"
dt_save_state_to_disk: "30days"
dt_save_to_sol: "30days"
dz_bottom: 30.0
Expand Down
2 changes: 1 addition & 1 deletion config/benchmark_configs/amip_diagedmf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ FLOAT_TYPE: "Float32"
atmos_config_file: "config/benchmark_configs/climaatmos_diagedmf.yml"
atmos_config_repo: "ClimaCoupler"
dt: "120secs"
dt_cpl: 120
dt_cpl: "120secs"
dt_save_state_to_disk: "Inf"
dt_save_to_sol: "Inf"
energy_check: false
Expand Down
2 changes: 1 addition & 1 deletion config/benchmark_configs/amip_diagedmf_io.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ FLOAT_TYPE: "Float32"
atmos_config_file: "config/benchmark_configs/climaatmos_diagedmf_io.yml"
atmos_config_repo: "ClimaCoupler"
dt: "120secs"
dt_cpl: 120
dt_cpl: "120secs"
dt_save_state_to_disk: "12hours"
dt_save_to_sol: "12hours"
energy_check: false
Expand Down
2 changes: 1 addition & 1 deletion config/benchmark_configs/climaatmos_diagedmf_io.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,6 @@ output_default_diagnostics: false
prescribe_ozone: true
aerosol_radiation: true
prescribed_aerosols: ["CB1", "CB2", "DST01", "OC1", "OC2", "SO4", "SSLT01"]
diagnostics:
extra_atmos_diagnostics:
- short_name: [pfull, rsut, rlut, pr, hus, rv]
period: 10hours
2 changes: 1 addition & 1 deletion config/ci_configs/amip_albedo_function.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apply_limiter: false
dt: "150secs"
dt_cpl: 150
dt_cpl: "150secs"
dt_rad: "1hours"
dt_save_to_sol: "1days"
dz_bottom: 30
Expand Down
2 changes: 1 addition & 1 deletion config/ci_configs/amip_albedo_temporal_map.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apply_limiter: false
dt: "150secs"
dt_cpl: 150
dt_cpl: "150secs"
dt_rad: "1hours"
dt_save_to_sol: "1days"
dz_bottom: 30
Expand Down
2 changes: 1 addition & 1 deletion config/ci_configs/amip_albedo_temporal_map_1M.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apply_limiter: false
dt: "150secs"
dt_cpl: 150
dt_cpl: "150secs"
dt_rad: "1hours"
dt_save_to_sol: "1days"
dz_bottom: 30
Expand Down
2 changes: 0 additions & 2 deletions config/ci_configs/amip_coarse_ft32.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
FLOAT_TYPE: "Float32"
apply_limiter: false
dt: "400secs"
dt_cpl: 400
dt_save_to_sol: "100days"
energy_check: false
h_elem: 6
Expand Down
2 changes: 0 additions & 2 deletions config/ci_configs/amip_coarse_ft64_hourly_checkpoints.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
apply_limiter: false
dt: "400secs"
dt_cpl: 400
dt_save_to_sol: "1days"
energy_check: false
h_elem: 6
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
apply_limiter: false
dt: "400secs"
dt_cpl: 400
dt_save_restart: "10days"
dt_save_to_sol: "1days"
energy_check: false
Expand Down
2 changes: 0 additions & 2 deletions config/ci_configs/amip_coarse_mpi.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
apply_limiter: false
dt: "400secs"
dt_cpl: 400
dt_save_to_sol: "1days"
energy_check: false
h_elem: 6
Expand Down
2 changes: 1 addition & 1 deletion config/ci_configs/amip_component_dts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ dt_atmos: "150secs"
dt_land: "50secs"
dt_ocean: "30secs"
dt_seaice: "75secs"
dt_cpl: 150
dt_cpl: "150secs"
dt_rad: "1hours"
dt_save_to_sol: "1days"
dz_bottom: 30
Expand Down
2 changes: 1 addition & 1 deletion config/ci_configs/amip_default.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apply_limiter: false
dt: "150secs"
dt_cpl: 150
dt_cpl: "150secs"
dt_rad: "1hours"
dt_save_to_sol: "1days"
dz_bottom: 30
Expand Down
2 changes: 1 addition & 1 deletion config/ci_configs/amip_n1_shortrun.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apply_limiter: false
dt: "150secs"
dt_cpl: 150
dt_cpl: "150secs"
dt_rad: "1hours"
dt_save_to_sol: "1days"
dz_bottom: 30
Expand Down
2 changes: 1 addition & 1 deletion config/ci_configs/amip_target_topo_diagedmf_shortrun.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apply_limiter: false
atmos_config_file: "config/longrun_configs/longrun_aquaplanet_allsky_diagedmf_0M.yml"
dt: "100secs"
dt_cloud_fraction: "1hours"
dt_cpl: 100
dt_cpl: "100secs"
dt_rad: "1hours"
dt_save_state_to_disk: "1days"
dt_save_to_sol: "1days"
Expand Down
19 changes: 0 additions & 19 deletions config/ci_configs/interactive_debug.yml

This file was deleted.

2 changes: 1 addition & 1 deletion config/ci_configs/slabplanet_albedo_function.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apply_limiter: false
dt: "200secs"
dt_cpl: 200
dt_cpl: "200secs"
dt_save_to_sol: "3600secs"
energy_check: true
h_elem: 4
Expand Down
2 changes: 1 addition & 1 deletion config/ci_configs/slabplanet_albedo_temporal_map.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apply_limiter: false
dt: "200secs"
dt_cpl: 200
dt_cpl: "200secs"
dt_save_to_sol: "3600secs"
energy_check: true
h_elem: 4
Expand Down
6 changes: 3 additions & 3 deletions config/ci_configs/slabplanet_atmos_diags.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apply_limiter: false
ci_plots: true
plot_diagnostics: true
dt: "200secs"
dt_cpl: 200
dt_cpl: "200secs"
dt_save_to_sol: "9days"
energy_check: true
h_elem: 4
Expand All @@ -12,7 +12,7 @@ precip_model: "0M"
rad: "gray"
t_end: "10days"
vert_diff: "true"
diagnostics:
extra_atmos_diagnostics:
- short_name: [mse, lr, edt, evu, ts, mass_strf, stab, vt, egr, toa_fluxes_net]
reduction_time: average
period: 1days
4 changes: 2 additions & 2 deletions config/ci_configs/slabplanet_default.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apply_limiter: false
dt: "200secs"
dt_cpl: 200
dt_cpl: "200secs"
dt_save_to_sol: "9days"
energy_check: true
h_elem: 4
Expand All @@ -12,6 +12,6 @@ rad: "gray"
t_end: "10days"
vert_diff: "true"
output_default_diagnostics: false
diagnostics:
extra_atmos_diagnostics:
- short_name: [mse, lr, edt, evu, hfes, evspsbl, ts]
period: 1days
2 changes: 1 addition & 1 deletion config/ci_configs/slabplanet_dry_norad.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apply_limiter: false
conservation_softfail: true
dt: "200secs"
dt_cpl: 200
dt_cpl: "200secs"
dt_save_to_sol: "9days"
energy_check: true
h_elem: 4
Expand Down
2 changes: 1 addition & 1 deletion config/ci_configs/slabplanet_eisenman.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apply_limiter: false
conservation_softfail: true
dt: "200secs"
dt_cpl: 200
dt_cpl: "200secs"
dt_save_to_sol: "9days"
energy_check: true
h_elem: 6
Expand Down
2 changes: 1 addition & 1 deletion config/ci_configs/slabplanet_ft32.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
FLOAT_TYPE: "Float32"
apply_limiter: false
dt: "200secs"
dt_cpl: 200
dt_cpl: "200secs"
dt_save_to_sol: "9days"
energy_check: true
h_elem: 4
Expand Down
2 changes: 1 addition & 1 deletion config/ci_configs/slabplanet_nonmono.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apply_limiter: false
dt: "200secs"
dt_cpl: 200
dt_cpl: "200secs"
dt_save_to_sol: "9days"
energy_check: true
h_elem: 4
Expand Down
2 changes: 1 addition & 1 deletion config/ci_configs/slabplanet_partitioned_fluxes.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apply_limiter: false
dt: "200secs"
dt_cpl: 200
dt_cpl: "200secs"
dt_save_to_sol: "9days"
energy_check: true
h_elem: 4
Expand Down
2 changes: 1 addition & 1 deletion config/ci_configs/slabplanet_realinsol_rayleigh.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apply_limiter: false
conservation_softfail: true
dt: "200secs"
dt_cpl: 3600
dt_cpl: "3600secs"
dt_rad: "6hours"
dt_save_to_sol: "3600secs"
energy_check: true
Expand Down
2 changes: 1 addition & 1 deletion config/longrun_configs/amip_target.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ FLOAT_TYPE: "Float32"
atmos_config_file: "config/longrun_configs/longrun_aquaplanet_allsky_0M.yml"
dt: "120secs"
dt_cloud_fraction: "1hours"
dt_cpl: 120
dt_cpl: "120secs"
dt_rad: "1hours"
dt_save_state_to_disk: "20days"
energy_check: false
Expand Down
2 changes: 1 addition & 1 deletion config/longrun_configs/amip_target_topo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ albedo_model: "CouplerAlbedo"
atmos_config_file: "config/longrun_configs/longrun_aquaplanet_allsky_0M_earth.yml"
dt: "120secs"
dt_cloud_fraction: "1hours"
dt_cpl: 120
dt_cpl: "120secs"
dt_rad: "1hours"
dt_save_state_to_disk: "20days"
energy_check: false
Expand Down
2 changes: 1 addition & 1 deletion config/longrun_configs/amip_target_topo_diagedmf_cpu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ albedo_model: "CouplerAlbedo"
atmos_config_file: "config/longrun_configs/longrun_aquaplanet_allsky_diagedmf_0M.yml"
dt: "120secs"
dt_cloud_fraction: "1hours"
dt_cpl: 120
dt_cpl: "120secs"
dt_rad: "1hours"
dt_save_state_to_disk: "20days"
energy_check: false
Expand Down
2 changes: 1 addition & 1 deletion config/longrun_configs/amip_target_topo_diagedmf_gpu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ albedo_model: "CouplerAlbedo"
atmos_config_file: "config/longrun_configs/longrun_aquaplanet_allsky_diagedmf_0M.yml"
dt: "120secs"
dt_cloud_fraction: "1hours"
dt_cpl: 120
dt_cpl: "120secs"
dt_rad: "1hours"
dt_save_state_to_disk: "20days"
energy_check: false
Expand Down
2 changes: 1 addition & 1 deletion config/longrun_configs/longrun_amip_dyamond.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
atmos_config_file: "config/longrun_configs/longrun_aquaplanet_dyamond.yml"
dt: "30secs"
dt_cpl: 30
dt_cpl: "30secs"
dt_save_state_to_disk: "0.5days"
dt_save_to_sol: "0.5days"
energy_check: false
Expand Down
2 changes: 1 addition & 1 deletion config/longrun_configs/slabplanet_aqua_atmos_sf_couple.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
conservation_softfail: true
dt: "200secs"
dt_cpl: 200
dt_cpl: "200secs"
dt_save_to_sol: "10days"
energy_check: true
evolving_ocean: false
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
conservation_softfail: true
dt: "200secs"
dt_cpl: 1728000
dt_cpl: "1728000secs"
dt_save_to_sol: "10days"
energy_check: true
evolving_ocean: false
Expand Down
2 changes: 1 addition & 1 deletion config/longrun_configs/slabplanet_aqua_coupler_sf.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
conservation_softfail: true
dt: "200secs"
dt_cpl: 200
dt_cpl: "200secs"
dt_save_to_sol: "10days"
energy_check: true
evolving_ocean: false
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
dt: "200secs"
dt_cpl: 200
dt_cpl: "200secs"
dt_save_to_sol: "10days"
energy_check: true
evolving_ocean: true
Expand Down
2 changes: 1 addition & 1 deletion config/longrun_configs/slabplanet_aqua_target.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
atmos_config_file: "config/longrun_configs/longrun_aquaplanet_allsky_0M.yml"
dt: "120secs"
dt_cloud_fraction: "1hours"
dt_cpl: 120
dt_cpl: "120secs"
dt_rad: "1hours"
dt_save_state_to_disk: "20days"
dt_save_to_sol: "10days"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
atmos_config_file: "config/longrun_configs/longrun_aquaplanet_allsky_0M.yml"
dt: "120secs"
dt_cloud_fraction: "1hours"
dt_cpl: 120
dt_cpl: "120secs"
dt_rad: "1hours"
dt_save_state_to_disk: "20days"
dt_save_to_sol: "10days"
Expand Down
2 changes: 1 addition & 1 deletion config/longrun_configs/slabplanet_aqua_target_nocouple.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
atmos_config_file: "config/longrun_configs/longrun_aquaplanet_allsky_0M.yml"
dt: "120secs"
dt_cloud_fraction: "1hours"
dt_cpl: 10368000
dt_cpl: "10368000secs"
dt_rad: "1hours"
dt_save_state_to_disk: "20days"
dt_save_to_sol: "10days"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
dt: "200secs"
dt_cpl: 200
dt_cpl: "200secs"
dt_save_to_sol: "10days"
energy_check: true
evolving_ocean: true
Expand Down
2 changes: 1 addition & 1 deletion config/longrun_configs/slabplanet_target.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
atmos_config_file: "config/longrun_configs/longrun_aquaplanet_allsky_0M.yml"
dt: "120secs"
dt_cloud_fraction: "1hours"
dt_cpl: 120
dt_cpl: "120secs"
dt_rad: "1hours"
dt_save_state_to_disk: "20days"
dt_save_to_sol: "10days"
Expand Down
2 changes: 1 addition & 1 deletion config/longrun_configs/slabplanet_target_evolve_ocn.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
atmos_config_file: "config/longrun_configs/longrun_aquaplanet_allsky_0M.yml"
dt: "120secs"
dt_cloud_fraction: "1hours"
dt_cpl: 120
dt_cpl: "120secs"
dt_rad: "1hours"
dt_save_state_to_disk: "20days"
dt_save_to_sol: "10days"
Expand Down
2 changes: 1 addition & 1 deletion config/longrun_configs/slabplanet_terra.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
conservation_softfail: true
dt: "200secs"
dt_cpl: 200
dt_cpl: "200secs"
dt_save_to_sol: "10days"
energy_check: true
h_elem: 4
Expand Down
Loading

0 comments on commit 73cccba

Please sign in to comment.