Skip to content

Commit 6fa6e06

Browse files
committed
Update weatherquest configs. Clip bucket fields.
diable O3 timevarying, land periodic cal LAI Use MODIS LAI climatology (land) and albedo from era5 (bucket) for historical runs. Initialize sea ice with sea ice temperatures from era5. Fix sea ice (use surface temp for init). Use config outputs consistent with era5 val comparison. lower ice min temp and revert CL grid update config Remove oceananigans and climaocean. Pin GPU compilers. Add subseasonal calibration pipeline Update calibration pipeline for weatherquest weekly calibrations on derecho Add and use 1 day calibration. Fix some bugs in observations map and daily data handling. add data normalizations and modify noise. Add land mask, modify noise, add land parameter, write to scratch and deal with HDF errs Add support and functionality for TransformInversion, Inversion. Precompute large matrices on cpu as inital step add gravity wave to calibration, move to copies3 add options, add more parameters, log top level run script fix normalization bug for multi variable option. Add ice albedo to toml. fix precip units, add logging, start trying 7 day weekly runs Add NH average option, remove precip, all specifically of noise by var for NH option, add ensemble spatial plotting update plots Add script for analyzing parameters
1 parent 440957c commit 6fa6e06

37 files changed

Lines changed: 3755 additions & 519 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ docs/src/generated/
3030
# Experiments
3131
!experiments/ClimaEarth/**/Manifest.toml
3232
!experiments/ClimaCore/**/Manifest.toml
33+
experiments/calibration/coarse_amip/output*/
3334

3435
# Output
3536
*output*

Project.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,13 @@ CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0"
2929
ClimaCoreMakie = "908f55d8-4145-4867-9c14-5dad1a479e4d"
3030
GeoMakie = "db073c08-6b98-4ee5-b6a4-5efafb3259c6"
3131
Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a"
32-
Oceananigans = "9e8cae18-63c1-5223-a75c-80ca9d6e9a09"
3332
Poppler_jll = "759029c8-65f6-5f13-b93f-2d7e0a4cb77c"
3433
Printf = "366bfd08-7218-5ad0-9036-d27ba1f5fe54"
3534
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
3635

3736
[extensions]
3837
ClimaCouplerMakieExt = ["CairoMakie", "ClimaCoreMakie", "GeoMakie", "Makie", "Poppler_jll", "Printf"]
39-
ClimaCouplerOceananigansMakieExt = ["CairoMakie", "ClimaCoreMakie", "GeoMakie", "Makie", "Oceananigans", "Poppler_jll", "Printf"]
38+
# ClimaCouplerOceananigansMakieExt = ["CairoMakie", "ClimaCoreMakie", "GeoMakie", "Makie", "Oceananigans", "Poppler_jll", "Printf"] # Removed
4039

4140
[compat]
4241
ArgParse = "1"

config/atmos_configs/climaatmos_wx_diagedmf.yml

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,25 @@ topography: "Earth"
88
rayleigh_sponge: true
99
viscous_sponge: true
1010
hyperdiff: ClimaHyperdiffusion
11-
divergence_damping_factor: 50.0
11+
divergence_damping_factor: 20.0
1212
scalar_hyperdiffusion_coefficient: 0.929738
1313
vorticity_hyperdiffusion_coefficient: 0.1857
1414
insolation: "timevarying"
1515
rad: allskywithclear
1616
dt_cloud_fraction: "1hours"
1717
dt_rad: "1hours"
18-
aerosol_radiation: true
19-
time_varying_trace_gases: ["CO2", "O3"]
20-
prescribed_aerosols: ["CB1", "CB2", "DST01", "DST02", "DST03", "DST04", "DST05", "OC1", "OC2", "SO4", "SSLT01", "SSLT02", "SSLT03", "SSLT04", "SSLT05"]
18+
# time_varying_trace_gases: ["O3"]
19+
co2_model: fixed
20+
prescribe_ozone: true
21+
# prescribed_aerosols: ["CB1", "CB2", "DST01", "OC1", "OC2", "SO4", "SSLT01"]
2122
turbconv: diagnostic_edmfx
2223
implicit_diffusion: true
2324
approximate_linear_solve_iters: 2
2425
prognostic_tke: true
2526
edmfx_upwinding: first_order
26-
h_elem: 16
27-
z_max: 60000.0
28-
z_elem: 63
27+
h_elem: 15
28+
z_max: 70000.0
29+
z_elem: 70
2930
dz_bottom: 30.0
3031
edmfx_entr_model: "Generalized"
3132
edmfx_detr_model: "Generalized"
@@ -38,11 +39,12 @@ precip_model: 0M
3839
moist: equil
3940
toml: [toml/diagnostic_edmfx_era5_ic.toml]
4041

41-
### 1M Microphysics ###
42+
# ### 1M Microphysics ###
4243
# precip_model: "1M"
4344
# moist: "nonequil"
44-
# toml: [toml/diagnostic_edmfx_1M.toml]
45+
# # toml: [toml/diagnostic_edmfx_1M.toml]
46+
# toml: [toml/longrun_aquaplanet_diagedmf.toml]
4547

4648
cloud_model: "quadrature"
4749
use_itime: true
48-
deep_atmosphere: false
50+
deep_atmosphere: true

config/atmos_configs/climaatmos_wx_progedmf.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,16 @@ topography: "Earth"
88
rayleigh_sponge: true
99
viscous_sponge: true
1010
hyperdiff: ClimaHyperdiffusion
11-
divergence_damping_factor: 50.0
11+
divergence_damping_factor: 20.0
1212
scalar_hyperdiffusion_coefficient: 0.929738
1313
vorticity_hyperdiffusion_coefficient: 0.1857
1414
insolation: "timevarying"
1515
rad: allskywithclear
1616
dt_cloud_fraction: "1hours"
1717
dt_rad: "1hours"
1818
# time_varying_trace_gases: ["O3"]
19+
co2_model: fixed
20+
prescribe_ozone: true
1921
# prescribed_aerosols: ["CB1", "CB2", "DST01", "OC1", "OC2", "SO4", "SSLT01"]
2022
turbconv: "prognostic_edmfx"
2123
implicit_diffusion: true
@@ -28,8 +30,8 @@ approximate_linear_solve_iters: 2
2830
prognostic_tke: true
2931
edmfx_upwinding: first_order
3032
h_elem: 15
31-
z_max: 48000.0
32-
z_elem: 63
33+
z_max: 70000.0
34+
z_elem: 70
3335
dz_bottom: 30.0
3436
edmfx_entr_model: "Generalized"
3537
edmfx_detr_model: "Generalized"
@@ -50,4 +52,4 @@ moist: equil
5052

5153
cloud_model: "quadrature"
5254
use_itime: true
53-
deep_atmosphere: false
55+
deep_atmosphere: true
Lines changed: 49 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,71 @@
11
FLOAT_TYPE: "Float32"
22
albedo_model: "CouplerAlbedo"
33
atmos_config_file: "config/atmos_configs/climaatmos_wx_diagedmf.yml"
4-
coupler_toml: ["toml/amip_diagedmf.toml"]
4+
coupler_toml: ["toml/wxquest_diagedmf.toml"]
5+
strict_params: false
6+
mode_name: "subseasonal"
7+
era5_initial_condition_dir: "/glade/campaign/univ/ucit0011/cchristo/wxquest_data/initial_conditions/initial_conditions_v1_dev"
8+
# era5_initial_condition_dir: "/net/sampo/data1/wxquest_data/initial_conditions/initial_conditions_v1_dev2"
59
initial_condition: "WeatherModel"
610
checkpoint_dt: "7days"
711
dt: "120secs"
812
dt_cpl: "120secs"
9-
dt_cloud_fraction: "1hours"
10-
dt_rad: "1hours"
13+
dt_seaice: "120secs"
1114
energy_check: false
12-
h_elem: 16
15+
h_elem: 32
1316
land_fraction_source: "era5"
1417
binary_area_fraction: false
15-
mode_name: "subseasonal"
16-
era5_initial_condition_dir: "/net/sampo/data1/wxquest_data/initial_conditions"
17-
land_model: "bucket"
18-
bucket_albedo_type: "map_temporal"
18+
19+
### gravity waves
20+
orographic_gravity_wave: "raw_topo"
21+
non_orographic_gravity_wave: true
22+
23+
### integrated land ###
24+
land_model: "integrated"
25+
26+
### bucket land ###
27+
# land_model: "bucket"
28+
# bucket_albedo_type: "map_temporal"
29+
# bucket_albedo_type: "era5"
30+
# bucket_initial_condition: "/net/sampo/data1/cchristo/WeatherQuest_data/archive_dev4/era5_bucket_processed_20250831_0000.nc"
31+
1932
land_spun_up_ic: false
2033
land_temperature_anomaly: "nothing"
2134
radiation_reset_rng_seed: true
22-
start_date: "20180901"
35+
# start_date: "19750101"
36+
start_date: "20230115"
2337
surface_setup: "PrescribedSurface"
2438
topo_smoothing: true
2539
topography: "Earth"
40+
t_end: "8days"
2641
netcdf_output_at_levels: true
2742
output_default_diagnostics: false
2843
use_coupler_diagnostics: false
2944
use_land_diagnostics: false
30-
strict_params: false
31-
insolation: "timevarying"
3245
extra_atmos_diagnostics:
33-
- short_name: [hfls, hfss, rsus, rlus]
34-
period: 1months
46+
- short_name: [tas, pr, mslp]
47+
period: 1days
3548
reduction_time: average
49+
# - short_name: [tas, ts, pr, mslp, ta, hus, hur, zg, orog, pfull, ua, va, wa, waup]
50+
# period: 1days
51+
# reduction_time: average
52+
# - short_name: [hfss, hfls, evspsbl]
53+
# period: 1days
54+
# reduction_time: average
55+
###############
56+
# - short_name: [tas, ts, pr, mslp, ta, hus, hur, zg, orog, pfull, ua, va, wa, waup]
57+
# period: 24hours
58+
# reduction_time: average
59+
# - short_name: [hfss, hfls, evspsbl]
60+
# period: 24hours
61+
# reduction_time: average
62+
# - short_name: [tas, ts, pr, mslp, ta, hus, hur, zg, orog, pfull, ua, va, wa, waup]
63+
# period: 24hours
64+
# reduction_time: average
65+
# - short_name: [zg, orog, tas, ta, mslp, pr, ua, va, ts, rhoa, pfull, hur, hus, clw, cl, hfss, hfls, evspsbl, hussfc, rsds, rlds, rlus, rsus, rld, wa, waup]
66+
# period: 24hours
67+
# reduction_time: inst
68+
# extra_atmos_diagnostics:
69+
# - short_name: [zg, orog, tas, ta, mslp, pr, ua, va, ts, rhoa, pfull, hur, hus, clw, cli, clivi, clwvi, cl, arup, tke, hfss, hfls, evspsbl, hussfc, rsds, rlds, rlus, rsus, rld, wa, waup]
70+
# period: 3hours
71+
# reduction_time: average

config/subseasonal_configs/wxquest_progedmf.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@ FLOAT_TYPE: "Float32"
22
albedo_model: "CouplerAlbedo"
33
atmos_config_file: "config/atmos_configs/climaatmos_wx_progedmf.yml"
44
coupler_toml: ["toml/amip_progedmf.toml"]
5+
strict_params: false
56
mode_name: "subseasonal"
67
era5_initial_condition_dir: "/net/sampo/data1/wxquest_data/initial_conditions"
78
initial_condition: "WeatherModel"
89
checkpoint_dt: "7days"
910
dt: "10secs"
1011
dt_cpl: "10secs"
12+
dt_seaice: "10secs"
1113
energy_check: false
1214
h_elem: 32
1315
land_fraction_source: "era5"
@@ -19,19 +21,20 @@ binary_area_fraction: false
1921
### bucket land ###
2022
land_model: "bucket"
2123
bucket_albedo_type: "map_temporal"
22-
bucket_initial_condition: "/net/sampo/data1/wxquest_data/initial_conditions/era5_bucket_processed_20250907_0000.nc"
24+
bucket_initial_condition: "/net/sampo/data1/wxquest_data/initial_conditions/era5_bucket_processed_20250831_0000.nc"
2325

2426
land_spun_up_ic: false
2527
land_temperature_anomaly: "nothing"
2628
use_land_diagnostics: true
2729
radiation_reset_rng_seed: true
28-
start_date: "20250907"
30+
start_date: "20250831"
2931
surface_setup: "PrescribedSurface"
3032
topo_smoothing: true
3133
topography: "Earth"
3234
t_end: "7days"
3335
netcdf_output_at_levels: true
36+
use_coupler_diagnostics: true
3437
extra_atmos_diagnostics:
35-
- short_name: [tas, mslp, pr, ua, va, rhoa, pfull, hur, hus, clw, cli, clivi, clwvi, cl, arup, tke]
36-
period: 1hours
38+
- short_name: [zg, orog, tas, ta, mslp, pr, ua, va, ts, rhoa, pfull, hur, hus, clw, cli, clivi, clwvi, cl, arup, tke, hfss, hfls, evspsbl, hussfc, rsds, rlds, rlus, rsus, rld, wa, waup]
39+
period: 3hours
3740
reduction_time: average

docs/src/input.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,8 @@ specific timesteps should be specified, rather than only `dt`.
163163
| `--land_temperature_anomaly` | String | `"aquaplanet"` | `amip`, `aquaplanet`, `nothing` | Type of temperature anomaly for land model |
164164
| `--use_land_diagnostics` | Bool | `true` | `true`, `false` | Whether to compute and output land model diagnostics |
165165
| `--land_spun_up_ic` | Bool | `true` | `true`, `false` | Whether to use integrated land initial conditions from spun up state |
166-
| `--bucket_albedo_type` | String | `"map_static"` | `map_static`, `function`, `map_temporal` | Access bucket surface albedo information from data file |
167-
| `--bucket_initial_condition` | String | `""` | Any valid file path | File path for a NetCDF file (read documentation about requirements) |
166+
| `--bucket_albedo_type` | String | `"map_static"` | `map_static`, `function`, `map_temporal`, `era5` | Access bucket surface albedo information from data file. Use `era5` for ERA5-derived processed albedo files (requires `era5_initial_condition_dir`) |
167+
| `--bucket_initial_condition` | String | `""` | Any valid file path | File path for a NetCDF file (read documentation about requirements). In subseasonal mode, automatically inferred from `era5_initial_condition_dir` if not specified |
168168
| `--era5_initial_condition_dir` | String | `nothing` | Any valid directory path | Directory containing ERA5 initial condition files (subseasonal mode). Filenames inferred from `start_date`. Generated with `https://github.com/CliMA/WeatherQuest` |
169169
| `--land_fraction_source` | String | `"etopo"` | `etopo`, `era5` | Source for land fraction data. `etopo` uses ETOPO-derived landsea_mask artifact (binary), `era5` uses ERA5/IFS land fraction artifact (0.0 - 1.0), which includes large inland seas and lakes. |
170170
| `--binary_area_fraction` | Bool | `true` | `true`, `false` | Whether to use binary (thresholded) area fractions for land and ice. When true, land fraction > eps becomes 1, and ice fraction > 0.5 becomes 1 |

0 commit comments

Comments
 (0)