From aea83a8a3987873b4de42dd789f551c29a606a02 Mon Sep 17 00:00:00 2001 From: Sajjad Azimi Date: Tue, 23 Sep 2025 14:25:25 -0700 Subject: [PATCH 01/10] Use fixed entrainment/detrainment value at small area fractions to maintain consistency with GS variables --- .../prognostic_edmfx_rico_column.yml | 2 +- reproducibility_tests/ref_counter.jl | 5 ++- src/prognostic_equations/edmfx_entr_detr.jl | 33 +++++++++++-------- 3 files changed, 25 insertions(+), 15 deletions(-) diff --git a/config/model_configs/prognostic_edmfx_rico_column.yml b/config/model_configs/prognostic_edmfx_rico_column.yml index 70e319689c..37fad8f343 100644 --- a/config/model_configs/prognostic_edmfx_rico_column.yml +++ b/config/model_configs/prognostic_edmfx_rico_column.yml @@ -27,7 +27,7 @@ z_elem: 100 z_stretch: false perturb_initstate: false dt: "5secs" -t_end: "12hours" +t_end: "24hours" dt_save_state_to_disk: "60mins" toml: [toml/prognostic_edmfx_1M.toml] netcdf_interpolation_num_points: [8, 8, 100] diff --git a/reproducibility_tests/ref_counter.jl b/reproducibility_tests/ref_counter.jl index 48237c89b4..7e5151dfc2 100644 --- a/reproducibility_tests/ref_counter.jl +++ b/reproducibility_tests/ref_counter.jl @@ -1,4 +1,4 @@ -263 +264 # **README** # @@ -20,6 +20,9 @@ #= +264 +- Allow entrainment and detrainment when updraft area fraction is negligible + 263 - Make vertical diffusion of updrafts implicit diff --git a/src/prognostic_equations/edmfx_entr_detr.jl b/src/prognostic_equations/edmfx_entr_detr.jl index 353432947e..af66a28515 100644 --- a/src/prognostic_equations/edmfx_entr_detr.jl +++ b/src/prognostic_equations/edmfx_entr_detr.jl @@ -139,9 +139,11 @@ function entrainment( ::PiGroupsEntrainment, ) FT = eltype(thermo_params) - # Entrainment is not well-defined or should be zero if updraft area is negligible. + entr_inv_tau = CAP.entr_inv_tau(turbconv_params) + # Entrainment is not well-defined if updraft area is negligible. + # Fix at entr_inv_tau to ensure some mixing with the environment. if ᶜaʲ <= eps(FT) - return 0 + return entr_inv_tau end elev_above_sfc = ᶜz - z_sfc @@ -168,7 +170,6 @@ function entrainment( ) entr_param_vec = CAP.entr_param_vec(turbconv_params) - entr_inv_tau = CAP.entr_inv_tau(turbconv_params) pi_sum = entr_param_vec[1] * abs(Π₁) + entr_param_vec[2] * abs(Π₂) + @@ -212,10 +213,10 @@ function entrainment( min_area_limiter_power = CAP.min_area_limiter_power(turbconv_params) a_min = CAP.min_area(turbconv_params) - # Entrainment is not well-defined or should be zero if updraft area is negligible, + # Entrainment is not well-defined if updraft area is negligible, # as some limiters depend on ᶜaʲ. if ᶜaʲ <= eps(FT) && min_area_limiter_scale == FT(0) # If no area and no base min_area_limiter - return 0 + return entr_inv_tau end min_area_limiter = @@ -386,12 +387,13 @@ function detrainment( ::PiGroupsDetrainment, ) FT = eltype(thermo_params) + detr_inv_tau = CAP.detr_inv_tau(turbconv_params) - # If ᶜρaʲ (updraft effective density) is zero or negligible, - # detrainment is considered zero. This also protects division by ᶜρaʲ later. + # If ᶜρaʲ (updraft effective density) is zero or negligible, detrainment is + # considered to be fixed at detr_inv_tau. This also protects division by ᶜρaʲ later. # This condition implies the updraft area (ᶜaʲ) is also likely negligible. if ᶜρaʲ <= eps(FT) - return 0 + return detr_inv_tau end elev_above_sfc = ᶜz - z_sfc @@ -466,9 +468,10 @@ function detrainment( max_area_limiter_power = CAP.max_area_limiter_power(turbconv_params) a_max = CAP.max_area(turbconv_params) - # If ᶜρaʲ (updraft effective density) is zero or negligible, detrainment is zero. - if ᶜρaʲ <= eps(FT) # Consistent check - return 0 + # If ᶜρaʲ (updraft effective density) is zero or negligible, detrainment is not well defined. + # Fix at detr_inv_tau to ensure some mixing with the environment. + if ᶜρaʲ <= eps(FT) + return detr_inv_tau end max_area_limiter = @@ -508,8 +511,12 @@ function detrainment( ::SmoothAreaDetrainment, ) FT = eltype(thermo_params) - # If ᶜρaʲ is negligible or vertical velocity divergence term is non-negative, detrainment is zero. - if (ᶜρaʲ <= eps(FT)) || (ᶜw_vert_div >= 0) # Consistent check for ᶜρaʲ + detr_inv_tau = CAP.detr_inv_tau(turbconv_params) + # If ᶜρaʲ is negligible detrainment is fixed at detr_inv_tau. + if (ᶜρaʲ <= eps(FT)) # Consistent check for ᶜρaʲ + detr = detr_inv_tau + # If vertical velocity divergence term is non-negative detrainment is zero. + elseif (ᶜw_vert_div >= 0) detr = FT(0) else detr = ᶜentr - ᶜw_vert_div From 47302eb709d230f42ac22ce5c190214a76b6273e Mon Sep 17 00:00:00 2001 From: costachris Date: Sat, 9 Aug 2025 20:18:34 -0700 Subject: [PATCH 02/10] Add WeatherModel initial conditions for prognostic EDMF with support for water species. Interpolate IC to arbitrary vertical grid. Generalize paths for IC. --- config/default_configs/default_config.yml | 3 + ...iagnostic_edmfx_era5_initial_condition.yml | 7 +- src/initial_conditions/initial_conditions.jl | 150 +++++++++++++++--- src/solver/type_getters.jl | 5 +- src/utils/weather_model.jl | 77 ++++++--- 5 files changed, 196 insertions(+), 46 deletions(-) diff --git a/config/default_configs/default_config.yml b/config/default_configs/default_config.yml index a949ca83a2..5f9561ead4 100644 --- a/config/default_configs/default_config.yml +++ b/config/default_configs/default_config.yml @@ -172,6 +172,9 @@ bubble: start_date: help: "Start date and time of the simulation. Specified as either yyyymmdd (defaults to midnight) or yyyymmdd-HHMM. Examples: [`20100101`, `20100101-0000`]" value: "20100101" +era5_initial_condition_dir: + help: "Directory containing ERA5 initial condition files. Filenames inferred from start_date [none (default)]. Generated with `https://github.com/CliMA/WeatherQuest`." + value: ~ forcing: help: "Forcing [`nothing` (default), `held_suarez`]" value: ~ diff --git a/config/model_configs/diagnostic_edmfx_era5_initial_condition.yml b/config/model_configs/diagnostic_edmfx_era5_initial_condition.yml index b99d7815fd..350175bfa6 100644 --- a/config/model_configs/diagnostic_edmfx_era5_initial_condition.yml +++ b/config/model_configs/diagnostic_edmfx_era5_initial_condition.yml @@ -15,7 +15,6 @@ hyperdiff: ClimaHyperdiffusion divergence_damping_factor: 50.0 # large value to damp IC waves scalar_hyperdiffusion_coefficient: 0.929738 vorticity_hyperdiffusion_coefficient: 0.1857 - insolation: "timevarying" surface_setup: DefaultMoninObukhov rad: allskywithclear @@ -30,14 +29,14 @@ edmfx_detr_model: "Generalized" edmfx_nh_pressure: true edmfx_sgs_mass_flux: true edmfx_sgs_diffusive_flux: true -moist: equil -cloud_model: "grid_scale" +cloud_model: "quadrature_sgs" precip_model: 0M +moist: equil toml: [toml/diagnostic_edmfx_era5_ic.toml] use_itime: true output_default_diagnostics: false diagnostics: - - short_name: [ta, ua, wa, va, rhoa, hur, hus, clw, cli] + - short_name: [ts, ta, thetaa, ha, pfull, rhoa, ua, va, wa, hur, hus, cl, clw, cli, hussfc, evspsbl, pr] period: 60mins - short_name: [rsut, rlut, ts, pr, mslp] period: 60mins diff --git a/src/initial_conditions/initial_conditions.jl b/src/initial_conditions/initial_conditions.jl index fb4f4138a7..e92a1eff54 100644 --- a/src/initial_conditions/initial_conditions.jl +++ b/src/initial_conditions/initial_conditions.jl @@ -206,6 +206,7 @@ the artifact path. """ struct WeatherModel <: InitialCondition start_date::String + era5_initial_condition_dir::Union{Nothing, String} end function (initial_condition::Union{MoistFromFile, WeatherModel})(params) @@ -214,7 +215,9 @@ function (initial_condition::Union{MoistFromFile, WeatherModel})(params) grav = CAP.grav(params) thermo_params = CAP.thermodynamics_params(params) - T, p = FT(NaN), FT(NaN) # placeholder values + # Use safe defaults to avoid transient NaNs before overwrite + T = FT(CAP.T_0(params)) + p = FT(CAP.MSLP(params)) return LocalState(; params, @@ -377,7 +380,24 @@ function overwrite_initial_conditions!( thermo_params, ) extrapolation_bc = (Intp.Periodic(), Intp.Flat(), Intp.Flat()) - file_path = weather_model_data_path(initial_condition.start_date) + + # Extract face coordinates and compute center midpoints + z_coords = Fields.axes(Y.c).grid.vertical_grid.topology.mesh.faces + + # Compute center coordinates as midpoints between faces + face_z_values = [z.z for z in z_coords] + center_z_values = [ + (face_z_values[i] + face_z_values[i + 1]) / 2 for + i in 1:(length(face_z_values) - 1) + ] + + target_levels = Array(center_z_values) + + file_path = weather_model_data_path( + initial_condition.start_date, + target_levels, + initial_condition.era5_initial_condition_dir, + ) return _overwrite_initial_conditions_from_file!( file_path, extrapolation_bc, @@ -454,10 +474,9 @@ function _overwrite_initial_conditions_from_file!( ᶠlnp_over_psfc = zeros(face_space) Operators.column_integral_indefinite!(ᶠlnp_over_psfc, ᶜ∂lnp∂z) ᶠp = p_sfc .* exp.(ᶠlnp_over_psfc) - ᶜts = TD.PhaseEquil_pTq.(thermo_params, ᶜinterp.(ᶠp), ᶜT, ᶜq_tot) + # Compute center pressure for thermodynamic state construction + ᶜp = ᶜinterp.(ᶠp) - # Assign prognostic variables from equilibrium moisture models - Y.c.ρ .= TD.air_density.(thermo_params, ᶜts) # Velocity is first assigned on cell-centers and then interpolated onto # cell faces. vel = @@ -483,36 +502,125 @@ function _overwrite_initial_conditions_from_file!( ) Y.c.uₕ .= C12.(Geometry.UVVector.(vel)) Y.f.u₃ .= ᶠinterp.(C3.(Geometry.WVector.(vel))) + + # Load cloud/precip water fields if present (fallback to zeros) + has_liq_ice = hasproperty(Y.c, :ρq_liq) && hasproperty(Y.c, :ρq_ice) + has_precip = hasproperty(Y.c, :ρq_rai) && hasproperty(Y.c, :ρq_sno) + # TEMP: diagnose 1M condensed/precip species at runtime (initialize to zero here) + diagnose_1m = true + + ᶜq_liq = zeros(center_space) + ᶜq_ice = zeros(center_space) + ᶜq_rai = zeros(center_space) + ᶜq_sno = zeros(center_space) + + if has_liq_ice && !diagnose_1m + try + ᶜq_liq = SpaceVaryingInputs.SpaceVaryingInput( + file_path, + "clwc", + center_space, + regridder_kwargs = regridder_kwargs, + ) + catch + @info "Variable clwc not found in $(file_path); initializing liquid cloud to zero" + end + try + ᶜq_ice = SpaceVaryingInputs.SpaceVaryingInput( + file_path, + "ciwc", + center_space, + regridder_kwargs = regridder_kwargs, + ) + catch + @info "Variable ciwc not found in $(file_path); initializing ice cloud to zero" + end + end + if has_precip && !diagnose_1m + try + ᶜq_rai = SpaceVaryingInputs.SpaceVaryingInput( + file_path, + "crwc", + center_space, + regridder_kwargs = regridder_kwargs, + ) + catch + @info "Variable crwc not found in $(file_path); initializing rain water to zero" + end + try + ᶜq_sno = SpaceVaryingInputs.SpaceVaryingInput( + file_path, + "cswc", + center_space, + regridder_kwargs = regridder_kwargs, + ) + catch + @info "Variable cswc not found in $(file_path); initializing snow water to zero" + end + end + + # Build thermodynamic state consistently with moisture partition + is_nonequil = hasproperty(Y.c, :ρq_liq) || hasproperty(Y.c, :ρq_ice) + # Use vapor from ERA5 q as first component; add cloud+precip to condensed partitions (zeros if not provided) + ᶜq_vap = max.(ᶜq_tot, zero.(ᶜq_tot)) + ᶜq_liq .= ifelse.(isfinite.(ᶜq_liq), ᶜq_liq, zero.(ᶜq_liq)) + ᶜq_liq .= max.(ᶜq_liq, zero.(ᶜq_liq)) + ᶜq_ice .= ifelse.(isfinite.(ᶜq_ice), ᶜq_ice, zero.(ᶜq_ice)) + ᶜq_ice .= max.(ᶜq_ice, zero.(ᶜq_ice)) + ᶜq_rai .= ifelse.(isfinite.(ᶜq_rai), ᶜq_rai, zero.(ᶜq_rai)) + ᶜq_rai .= max.(ᶜq_rai, zero.(ᶜq_rai)) + ᶜq_sno .= ifelse.(isfinite.(ᶜq_sno), ᶜq_sno, zero.(ᶜq_sno)) + ᶜq_sno .= max.(ᶜq_sno, zero.(ᶜq_sno)) + ᶜpartition = TD.PhasePartition.(ᶜq_vap, ᶜq_liq .+ ᶜq_rai, ᶜq_ice .+ ᶜq_sno) + if is_nonequil + ᶜts = TD.PhaseNonEquil_pTq.(thermo_params, ᶜp, ᶜT, ᶜpartition) + else + ᶜts = TD.PhaseEquil_pTq.(thermo_params, ᶜp, ᶜT, ᶜq_tot) + end + + # Density + Y.c.ρ .= TD.air_density.(thermo_params, ᶜts) + + # Kinetic and potential energy e_kin = similar(ᶜT) e_kin .= compute_kinetic(Y.c.uₕ, Y.f.u₃) e_pot = Fields.coordinate_field(Y.c).z .* thermo_params.grav + + # Total energy Y.c.ρe_tot .= TD.total_energy.(thermo_params, ᶜts, e_kin, e_pot) .* Y.c.ρ + + # Moisture mass densities if hasproperty(Y.c, :ρq_tot) + # Keep ρq_tot equal to ERA5 vapor (do not add precipitating species) Y.c.ρq_tot .= ᶜq_tot .* Y.c.ρ else error( "`dry` configurations are incompatible with the interpolated initial conditions.", ) end - if hasproperty(Y.c, :ρq_sno) && hasproperty(Y.c, :ρq_rai) - Y.c.ρq_sno .= - SpaceVaryingInputs.SpaceVaryingInput( - file_path, - "cswc", - center_space, - regridder_kwargs = regridder_kwargs, - ) .* Y.c.ρ - Y.c.ρq_rai .= - SpaceVaryingInputs.SpaceVaryingInput( - file_path, - "crwc", - center_space, - regridder_kwargs = regridder_kwargs, - ) .* Y.c.ρ + + if hasproperty(Y.c, :ρq_rai) + Y.c.ρq_rai .= ᶜq_rai .* Y.c.ρ + Y.c.ρq_sno .= ᶜq_sno .* Y.c.ρ + end + if hasproperty(Y.c, :ρq_liq) + Y.c.ρq_liq .= ᶜq_liq .* Y.c.ρ + Y.c.ρq_ice .= ᶜq_ice .* Y.c.ρ + end + + # Set prognostic EDMF draft subdomains to consistent values + if hasproperty(Y.c, :sgsʲs) # if prognostic EDMF + ᶜmse = TD.specific_enthalpy.(thermo_params, ᶜts) .+ e_pot + for name in propertynames(Y.c.sgsʲs) + s = getproperty(Y.c.sgsʲs, name) + hasproperty(s, :ρa) && fill!(s.ρa, 0) + hasproperty(s, :mse) && (s.mse .= ᶜmse) + hasproperty(s, :q_tot) && (s.q_tot .= ᶜq_vap) + end end + # NOTE: This is not the most consistent, but it is better than NaNs if hasproperty(Y.c, :sgs⁰) && hasproperty(Y.c.sgs⁰, :ρatke) - # NOTE: This is not the most consistent, but it is better than NaNs fill!(Y.c.sgs⁰.ρatke, 0) end diff --git a/src/solver/type_getters.jl b/src/solver/type_getters.jl index e23e46c129..5dbbc14e56 100644 --- a/src/solver/type_getters.jl +++ b/src/solver/type_getters.jl @@ -423,7 +423,10 @@ function get_initial_condition(parsed_args, atmos) parsed_args["start_date"], ) elseif parsed_args["initial_condition"] == "WeatherModel" - return ICs.WeatherModel(parsed_args["start_date"]) + return ICs.WeatherModel( + parsed_args["start_date"], + parsed_args["era5_initial_condition_dir"], + ) else error( "Unknown `initial_condition`: $(parsed_args["initial_condition"])", diff --git a/src/utils/weather_model.jl b/src/utils/weather_model.jl index 10c2e2ebcd..37576ab903 100644 --- a/src/utils/weather_model.jl +++ b/src/utils/weather_model.jl @@ -3,8 +3,9 @@ using Dates import ClimaInterpolations.Interpolation1D: interpolate1d!, Linear, Flat import ..parse_date + """ - weather_model_data_path(start_date) + weather_model_data_path(start_date, target_levels, era5_initial_condition_dir]) Get the path to the weather model data for a given start date and time. If the data is not found, will attempt to generate it from raw data. If @@ -12,14 +13,50 @@ the raw data is not found, throw an error # Arguments - `start_date`: Start date as string yyyymmdd or yyyymmdd-HHMM +- `target_levels`: Vector of target altitude levels (in meters) to interpolate to +- `era5_initial_condition_dir`: Optional directory containing preprocessed ERA5 + +- If `era5_initial_condition_dir` is provided, use + `era5_init_processed_internal_YYYYMMDD_0000.nc` from that directory. +- Otherwise, use the `weather_model_ic` artifact. """ -function weather_model_data_path(start_date) +function weather_model_data_path( + start_date, + target_levels, + era5_initial_condition_dir = nothing, +) # Parse the date using the existing parse_date function dt = parse_date(start_date) # Extract components for filename generation start_date_str = Dates.format(dt, "yyyymmdd") - start_time = Dates.format(dt, "HHMM") + start_time = Dates.format(dt, "HHMM") # Note: this is not the same as `start_time` in the coupler! + + # If user provided a directory with preprocessed initial conditions, use it + if !isnothing(era5_initial_condition_dir) + ic_data_path = joinpath( + era5_initial_condition_dir, + "era5_init_processed_internal_$(start_date_str)_0000.nc", # TODO: generalize for all times once Coupler supports HHMM specification + ) + raw_data_path = joinpath( + era5_initial_condition_dir, + "era5_raw_$(start_date_str)_0000.nc", + ) + if !isfile(ic_data_path) + if !isfile(raw_data_path) + error( + "Neither preprocessed nor raw initial condition file exist in $(era5_initial_condition_dir). Please run `python get_initial_conditions.py` in the WeatherQuest repository to download the data.", + ) + end + @info "Interpolating raw weather model data onto z-levels from user-provided directory" + to_z_levels(raw_data_path, ic_data_path, target_levels, Float32) + else + @info "Using existing interpolated IC file: $ic_data_path" + end + return ic_data_path + end + + # Otherwise, use artifact-based paths and generate if needed ic_data_path = joinpath( @clima_artifact("weather_model_ic"), "init", @@ -31,23 +68,6 @@ function weather_model_data_path(start_date) "era5_raw_$(start_date_str)_$(start_time).nc", ) - if !isfile(ic_data_path) - @info "Initial condition file $ic_data_path does not exist. Attempting to generate it now..." - if !isfile(raw_data_path) - day = Dates.format(dt, "yyyy-mm-dd") - time = Dates.format(dt, "HH:MM") - error( - "Source file $(raw_data_path) does not exist. Please run `python get_initial_conditions.py --output-dir $(@clima_artifact("weather_model_ic"))/raw --date $(day) --time $(time)` to download the data.", - ) - end - # get target levels - TODO: make this more flexible - target_level_path = - joinpath(@clima_artifact("weather_model_ic"), "target_levels.txt") - target_levels = parse.(Float32, readlines(target_level_path)) - - @info "Interpolating raw weather model data onto z-levels" - to_z_levels(raw_data_path, ic_data_path, target_levels, Float32) - end return ic_data_path end @@ -74,6 +94,7 @@ function to_z_levels(source_file, target_file, target_levels, FT) # assert ncin has required variables req_vars = ["u", "v", "w", "t", "q", "skt", "sp"] + opt_vars = ["crwc", "cswc", "clwc", "ciwc"] @assert all(map(x -> x in (keys(ncin)), req_vars)) "Source file $source_file is missing subset of the required variables: $req_vars" # Read and cast coordinates to FT type @@ -168,6 +189,22 @@ function to_z_levels(source_file, target_file, target_levels, FT) sp_var[:, :, k] = FT.(ncin["sp"][:, :, 1]) end + # Interpolate optional cloud water content variables if available + for var_name in opt_vars + if haskey(ncin, var_name) + @info "Interpolating optional variable: $var_name" + var_data = ncin[var_name][:, :, :, 1] + var_var = defVar( + ncout, + var_name, + FT, + ("lon", "lat", "z"), + attrib = ncin[var_name].attrib, + ) + var_var[:, :, :] = interpz_3d(target_levels, source_z, FT.(var_data)) + end + end + # Close files close(ncin) close(ncout) From e2749be814240eca7ce2d18bd9e7b14141a8e6d4 Mon Sep 17 00:00:00 2001 From: costachris Date: Tue, 23 Sep 2025 15:19:10 -0700 Subject: [PATCH 03/10] Create unique overwrite for WeatherModel. --- ...iagnostic_edmfx_era5_initial_condition.yml | 8 +- src/initial_conditions/initial_conditions.jl | 263 ++++++++++-------- src/utils/weather_model.jl | 63 ++--- 3 files changed, 165 insertions(+), 169 deletions(-) diff --git a/config/model_configs/diagnostic_edmfx_era5_initial_condition.yml b/config/model_configs/diagnostic_edmfx_era5_initial_condition.yml index 350175bfa6..5bc593ab60 100644 --- a/config/model_configs/diagnostic_edmfx_era5_initial_condition.yml +++ b/config/model_configs/diagnostic_edmfx_era5_initial_condition.yml @@ -4,7 +4,9 @@ z_elem: 63 dz_bottom: 30.0 dt: 120secs t_end: 12hours -start_date: "20250627-0000" +# start_date: "20250627-0000" +start_date: "20250831" +era5_initial_condition_dir: "/net/sampo/data1/wxquest_data/initial_conditions" initial_condition: "WeatherModel" discrete_hydrostatic_balance: false # TODO: change to true once we fix discrete hydrostatic balance to work with orography topo_smoothing: true @@ -36,7 +38,7 @@ toml: [toml/diagnostic_edmfx_era5_ic.toml] use_itime: true output_default_diagnostics: false diagnostics: - - short_name: [ts, ta, thetaa, ha, pfull, rhoa, ua, va, wa, hur, hus, cl, clw, cli, hussfc, evspsbl, pr] + - short_name: [ts, ta, thetaa, ha, pfull, rhoa, ua, va, wa, hur, hus, cl, clw, cli, hussfc, evspsbl] period: 60mins - - short_name: [rsut, rlut, ts, pr, mslp] + - short_name: [rsut, rlut, tas, pr, mslp] period: 60mins diff --git a/src/initial_conditions/initial_conditions.jl b/src/initial_conditions/initial_conditions.jl index e92a1eff54..6ff6f5700f 100644 --- a/src/initial_conditions/initial_conditions.jl +++ b/src/initial_conditions/initial_conditions.jl @@ -215,9 +215,7 @@ function (initial_condition::Union{MoistFromFile, WeatherModel})(params) grav = CAP.grav(params) thermo_params = CAP.thermodynamics_params(params) - # Use safe defaults to avoid transient NaNs before overwrite - T = FT(CAP.T_0(params)) - p = FT(CAP.MSLP(params)) + T, p = FT(NaN), FT(NaN) # placeholder values return LocalState(; params, @@ -382,28 +380,135 @@ function overwrite_initial_conditions!( extrapolation_bc = (Intp.Periodic(), Intp.Flat(), Intp.Flat()) # Extract face coordinates and compute center midpoints - z_coords = Fields.axes(Y.c).grid.vertical_grid.topology.mesh.faces - # Compute center coordinates as midpoints between faces - face_z_values = [z.z for z in z_coords] - center_z_values = [ - (face_z_values[i] + face_z_values[i + 1]) / 2 for - i in 1:(length(face_z_values) - 1) - ] - - target_levels = Array(center_z_values) + target_levels = Fields.field2array(Fields.coordinate_field(Y.c).z)[:, argmin(Fields.field2array(Fields.coordinate_field(Y.c).z))[2]] file_path = weather_model_data_path( initial_condition.start_date, target_levels, initial_condition.era5_initial_condition_dir, ) - return _overwrite_initial_conditions_from_file!( + + regridder_kwargs = (; extrapolation_bc) + isfile(file_path) || error("$(file_path) is not a file") + @info "Overwriting initial conditions with data from file $(file_path)" + + center_space = Fields.axes(Y.c) + face_space = Fields.axes(Y.f) + + # Using surface pressure, air temperature and specific humidity + # from the dataset, compute air pressure. + p_sfc = Fields.level( + SpaceVaryingInputs.SpaceVaryingInput( + file_path, + "p", + face_space, + regridder_kwargs = regridder_kwargs, + ), + Fields.half, + ) + ᶜT = SpaceVaryingInputs.SpaceVaryingInput( file_path, - extrapolation_bc, - Y, - thermo_params, + "t", + center_space, + regridder_kwargs = regridder_kwargs, + ) + ᶜq_tot = SpaceVaryingInputs.SpaceVaryingInput( + file_path, + "q", + center_space, + regridder_kwargs = regridder_kwargs, ) + + # With the known temperature (ᶜT) and moisture (ᶜq_tot) profile, + # recompute the pressure levels assuming hydrostatic balance is maintained. + # Uses the ClimaCore `column_integral_indefinite!` function to solve + # ∂(ln𝑝)/∂z = -g/(Rₘ(q)T), where + # p is the local pressure + # g is the gravitational constant + # q is the specific humidity + # Rₘ is the gas constant for moist air + # T is the air temperature + # p is then updated with the integral result, given p_sfc, + # following which the thermodynamic state is constructed. + ᶜ∂lnp∂z = @. -thermo_params.grav / + (TD.gas_constant_air(thermo_params, TD.PhasePartition(ᶜq_tot)) * ᶜT) + ᶠlnp_over_psfc = zeros(face_space) + Operators.column_integral_indefinite!(ᶠlnp_over_psfc, ᶜ∂lnp∂z) + ᶠp = p_sfc .* exp.(ᶠlnp_over_psfc) + ᶜts = TD.PhaseEquil_pTq.(thermo_params, ᶜinterp.(ᶠp), ᶜT, ᶜq_tot) + + # Assign prognostic variables from equilibrium moisture models + Y.c.ρ .= TD.air_density.(thermo_params, ᶜts) + # Velocity is first assigned on cell-centers and then interpolated onto + # cell faces. + vel = + Geometry.UVWVector.( + SpaceVaryingInputs.SpaceVaryingInput( + file_path, + "u", + center_space, + regridder_kwargs = regridder_kwargs, + ), + SpaceVaryingInputs.SpaceVaryingInput( + file_path, + "v", + center_space, + regridder_kwargs = regridder_kwargs, + ), + SpaceVaryingInputs.SpaceVaryingInput( + file_path, + "w", + center_space, + regridder_kwargs = regridder_kwargs, + ), + ) + Y.c.uₕ .= C12.(Geometry.UVVector.(vel)) + Y.f.u₃ .= ᶠinterp.(C3.(Geometry.WVector.(vel))) + e_kin = similar(ᶜT) + e_kin .= compute_kinetic(Y.c.uₕ, Y.f.u₃) + e_pot = Fields.coordinate_field(Y.c).z .* thermo_params.grav + Y.c.ρe_tot .= TD.total_energy.(thermo_params, ᶜts, e_kin, e_pot) .* Y.c.ρ + # Initialize prognostic EDMF 0M subdomains if present + if hasproperty(Y.c, :sgsʲs) + ᶜmse = TD.specific_enthalpy.(thermo_params, ᶜts) .+ e_pot + for name in propertynames(Y.c.sgsʲs) + s = getproperty(Y.c.sgsʲs, name) + hasproperty(s, :ρa) && fill!(s.ρa, 0) + hasproperty(s, :mse) && (s.mse .= ᶜmse) + hasproperty(s, :q_tot) && (s.q_tot .= ᶜq_tot) + end + end + if hasproperty(Y.c, :ρq_tot) + Y.c.ρq_tot .= ᶜq_tot .* Y.c.ρ + else + error( + "`dry` configurations are incompatible with the interpolated initial conditions.", + ) + end + if hasproperty(Y.c, :ρq_sno) && hasproperty(Y.c, :ρq_rai) + Y.c.ρq_sno .= + SpaceVaryingInputs.SpaceVaryingInput( + file_path, + "cswc", + center_space, + regridder_kwargs = regridder_kwargs, + ) .* Y.c.ρ + Y.c.ρq_rai .= + SpaceVaryingInputs.SpaceVaryingInput( + file_path, + "crwc", + center_space, + regridder_kwargs = regridder_kwargs, + ) .* Y.c.ρ + end + + if hasproperty(Y.c, :sgs⁰) && hasproperty(Y.c.sgs⁰, :ρatke) + # NOTE: This is not the most consistent, but it is better than NaNs + fill!(Y.c.sgs⁰.ρatke, 0) + end + + return nothing end """ @@ -474,9 +579,10 @@ function _overwrite_initial_conditions_from_file!( ᶠlnp_over_psfc = zeros(face_space) Operators.column_integral_indefinite!(ᶠlnp_over_psfc, ᶜ∂lnp∂z) ᶠp = p_sfc .* exp.(ᶠlnp_over_psfc) - # Compute center pressure for thermodynamic state construction - ᶜp = ᶜinterp.(ᶠp) + ᶜts = TD.PhaseEquil_pTq.(thermo_params, ᶜinterp.(ᶠp), ᶜT, ᶜq_tot) + # Assign prognostic variables from equilibrium moisture models + Y.c.ρ .= TD.air_density.(thermo_params, ᶜts) # Velocity is first assigned on cell-centers and then interpolated onto # cell faces. vel = @@ -502,125 +608,36 @@ function _overwrite_initial_conditions_from_file!( ) Y.c.uₕ .= C12.(Geometry.UVVector.(vel)) Y.f.u₃ .= ᶠinterp.(C3.(Geometry.WVector.(vel))) - - # Load cloud/precip water fields if present (fallback to zeros) - has_liq_ice = hasproperty(Y.c, :ρq_liq) && hasproperty(Y.c, :ρq_ice) - has_precip = hasproperty(Y.c, :ρq_rai) && hasproperty(Y.c, :ρq_sno) - # TEMP: diagnose 1M condensed/precip species at runtime (initialize to zero here) - diagnose_1m = true - - ᶜq_liq = zeros(center_space) - ᶜq_ice = zeros(center_space) - ᶜq_rai = zeros(center_space) - ᶜq_sno = zeros(center_space) - - if has_liq_ice && !diagnose_1m - try - ᶜq_liq = SpaceVaryingInputs.SpaceVaryingInput( - file_path, - "clwc", - center_space, - regridder_kwargs = regridder_kwargs, - ) - catch - @info "Variable clwc not found in $(file_path); initializing liquid cloud to zero" - end - try - ᶜq_ice = SpaceVaryingInputs.SpaceVaryingInput( - file_path, - "ciwc", - center_space, - regridder_kwargs = regridder_kwargs, - ) - catch - @info "Variable ciwc not found in $(file_path); initializing ice cloud to zero" - end - end - if has_precip && !diagnose_1m - try - ᶜq_rai = SpaceVaryingInputs.SpaceVaryingInput( - file_path, - "crwc", - center_space, - regridder_kwargs = regridder_kwargs, - ) - catch - @info "Variable crwc not found in $(file_path); initializing rain water to zero" - end - try - ᶜq_sno = SpaceVaryingInputs.SpaceVaryingInput( - file_path, - "cswc", - center_space, - regridder_kwargs = regridder_kwargs, - ) - catch - @info "Variable cswc not found in $(file_path); initializing snow water to zero" - end - end - - # Build thermodynamic state consistently with moisture partition - is_nonequil = hasproperty(Y.c, :ρq_liq) || hasproperty(Y.c, :ρq_ice) - # Use vapor from ERA5 q as first component; add cloud+precip to condensed partitions (zeros if not provided) - ᶜq_vap = max.(ᶜq_tot, zero.(ᶜq_tot)) - ᶜq_liq .= ifelse.(isfinite.(ᶜq_liq), ᶜq_liq, zero.(ᶜq_liq)) - ᶜq_liq .= max.(ᶜq_liq, zero.(ᶜq_liq)) - ᶜq_ice .= ifelse.(isfinite.(ᶜq_ice), ᶜq_ice, zero.(ᶜq_ice)) - ᶜq_ice .= max.(ᶜq_ice, zero.(ᶜq_ice)) - ᶜq_rai .= ifelse.(isfinite.(ᶜq_rai), ᶜq_rai, zero.(ᶜq_rai)) - ᶜq_rai .= max.(ᶜq_rai, zero.(ᶜq_rai)) - ᶜq_sno .= ifelse.(isfinite.(ᶜq_sno), ᶜq_sno, zero.(ᶜq_sno)) - ᶜq_sno .= max.(ᶜq_sno, zero.(ᶜq_sno)) - ᶜpartition = TD.PhasePartition.(ᶜq_vap, ᶜq_liq .+ ᶜq_rai, ᶜq_ice .+ ᶜq_sno) - if is_nonequil - ᶜts = TD.PhaseNonEquil_pTq.(thermo_params, ᶜp, ᶜT, ᶜpartition) - else - ᶜts = TD.PhaseEquil_pTq.(thermo_params, ᶜp, ᶜT, ᶜq_tot) - end - - # Density - Y.c.ρ .= TD.air_density.(thermo_params, ᶜts) - - # Kinetic and potential energy e_kin = similar(ᶜT) e_kin .= compute_kinetic(Y.c.uₕ, Y.f.u₃) e_pot = Fields.coordinate_field(Y.c).z .* thermo_params.grav - - # Total energy Y.c.ρe_tot .= TD.total_energy.(thermo_params, ᶜts, e_kin, e_pot) .* Y.c.ρ - - # Moisture mass densities if hasproperty(Y.c, :ρq_tot) - # Keep ρq_tot equal to ERA5 vapor (do not add precipitating species) Y.c.ρq_tot .= ᶜq_tot .* Y.c.ρ else error( "`dry` configurations are incompatible with the interpolated initial conditions.", ) end - - if hasproperty(Y.c, :ρq_rai) - Y.c.ρq_rai .= ᶜq_rai .* Y.c.ρ - Y.c.ρq_sno .= ᶜq_sno .* Y.c.ρ - end - if hasproperty(Y.c, :ρq_liq) - Y.c.ρq_liq .= ᶜq_liq .* Y.c.ρ - Y.c.ρq_ice .= ᶜq_ice .* Y.c.ρ - end - - # Set prognostic EDMF draft subdomains to consistent values - if hasproperty(Y.c, :sgsʲs) # if prognostic EDMF - ᶜmse = TD.specific_enthalpy.(thermo_params, ᶜts) .+ e_pot - for name in propertynames(Y.c.sgsʲs) - s = getproperty(Y.c.sgsʲs, name) - hasproperty(s, :ρa) && fill!(s.ρa, 0) - hasproperty(s, :mse) && (s.mse .= ᶜmse) - hasproperty(s, :q_tot) && (s.q_tot .= ᶜq_vap) - end + if hasproperty(Y.c, :ρq_sno) && hasproperty(Y.c, :ρq_rai) + Y.c.ρq_sno .= + SpaceVaryingInputs.SpaceVaryingInput( + file_path, + "cswc", + center_space, + regridder_kwargs = regridder_kwargs, + ) .* Y.c.ρ + Y.c.ρq_rai .= + SpaceVaryingInputs.SpaceVaryingInput( + file_path, + "crwc", + center_space, + regridder_kwargs = regridder_kwargs, + ) .* Y.c.ρ end - # NOTE: This is not the most consistent, but it is better than NaNs if hasproperty(Y.c, :sgs⁰) && hasproperty(Y.c.sgs⁰, :ρatke) + # NOTE: This is not the most consistent, but it is better than NaNs fill!(Y.c.sgs⁰.ρatke, 0) end diff --git a/src/utils/weather_model.jl b/src/utils/weather_model.jl index 37576ab903..8b26558c15 100644 --- a/src/utils/weather_model.jl +++ b/src/utils/weather_model.jl @@ -139,54 +139,31 @@ function to_z_levels(source_file, target_file, target_levels, FT) z_var = defVar(ncout, "z", FT, ("z",), attrib = z_attrib) z_var[:] = target_levels - # Interpolate and write 3D variables - u_var = - defVar(ncout, "u", FT, ("lon", "lat", "z"), attrib = ncin["u"].attrib) - u_var[:, :, :] = - interpz_3d(target_levels, source_z, FT.(ncin["u"][:, :, :, 1])) - - v_var = - defVar(ncout, "v", FT, ("lon", "lat", "z"), attrib = ncin["v"].attrib) - v_var[:, :, :] = - interpz_3d(target_levels, source_z, FT.(ncin["v"][:, :, :, 1])) - + # Interpolate and write required 3D variables via loop # ERA5 w is from a hydrostatic model and so isn't meaningful for ClimaAtmos # See https://agupubs.onlinelibrary.wiley.com/doi/full/10.1002/2017MS001059 - w_var = - defVar(ncout, "w", FT, ("lon", "lat", "z"), attrib = ncin["w"].attrib) - w_var[:, :, :] = zeros(FT, length(lon), length(lat), length(target_levels)) - - t_var = - defVar(ncout, "t", FT, ("lon", "lat", "z"), attrib = ncin["t"].attrib) - t_var[:, :, :] = - interpz_3d(target_levels, source_z, FT.(ncin["t"][:, :, :, 1])) - - q_var = - defVar(ncout, "q", FT, ("lon", "lat", "z"), attrib = ncin["q"].attrib) - q_var[:, :, :] = - max.( - interpz_3d(target_levels, source_z, FT.(ncin["q"][:, :, :, 1])), - FT(0), - ) + req3d = ["u", "v", "t", "q", "w"] + for var_name in req3d + var_obj = defVar(ncout, var_name, FT, ("lon", "lat", "z"), attrib = ncin[var_name].attrib) + if var_name == "w" + var_obj[:, :, :] = zeros(FT, length(lon), length(lat), length(target_levels)) + else + data = interpz_3d(target_levels, source_z, FT.(ncin[var_name][:, :, :, 1])) + if var_name == "q" + data = max.(data, FT(0)) + end + var_obj[:, :, :] = data + end + end # Write 2D surface variables - extend to all levels (TODO: accept 2D variables in atmos) # Simply repeat the surface values for all levels - skt_var = defVar( - ncout, - "skt", - FT, - ("lon", "lat", "z"), - attrib = ncin["skt"].attrib, - ) - for k in 1:length(target_levels) - skt_var[:, :, k] = FT.(ncin["skt"][:, :, 1]) - end - - # TODO: rename p to sp in MoistFromFile for consistency - sp_var = - defVar(ncout, "p", FT, ("lon", "lat", "z"), attrib = ncin["sp"].attrib) - for k in 1:length(target_levels) - sp_var[:, :, k] = FT.(ncin["sp"][:, :, 1]) + surf_map = Dict("skt" => "skt", "sp" => "p") + for (src_name, dst_name) in surf_map + var_obj = defVar(ncout, dst_name, FT, ("lon", "lat", "z"), attrib = ncin[src_name].attrib) + for k in 1:length(target_levels) + var_obj[:, :, k] = FT.(ncin[src_name][:, :, 1]) + end end # Interpolate optional cloud water content variables if available From 6a40b11ade283b9e510c61ceadd103573d32b509 Mon Sep 17 00:00:00 2001 From: costachris Date: Wed, 24 Sep 2025 12:51:03 -0700 Subject: [PATCH 04/10] modify target_levels --- .../diagnostic_edmfx_era5_initial_condition.yml | 4 +--- src/initial_conditions/initial_conditions.jl | 6 ++++-- src/utils/weather_model.jl | 6 ++++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/config/model_configs/diagnostic_edmfx_era5_initial_condition.yml b/config/model_configs/diagnostic_edmfx_era5_initial_condition.yml index 5bc593ab60..7b757b9592 100644 --- a/config/model_configs/diagnostic_edmfx_era5_initial_condition.yml +++ b/config/model_configs/diagnostic_edmfx_era5_initial_condition.yml @@ -4,9 +4,7 @@ z_elem: 63 dz_bottom: 30.0 dt: 120secs t_end: 12hours -# start_date: "20250627-0000" -start_date: "20250831" -era5_initial_condition_dir: "/net/sampo/data1/wxquest_data/initial_conditions" +start_date: "20250627-0000" initial_condition: "WeatherModel" discrete_hydrostatic_balance: false # TODO: change to true once we fix discrete hydrostatic balance to work with orography topo_smoothing: true diff --git a/src/initial_conditions/initial_conditions.jl b/src/initial_conditions/initial_conditions.jl index 6ff6f5700f..dc4fe668c8 100644 --- a/src/initial_conditions/initial_conditions.jl +++ b/src/initial_conditions/initial_conditions.jl @@ -380,8 +380,10 @@ function overwrite_initial_conditions!( extrapolation_bc = (Intp.Periodic(), Intp.Flat(), Intp.Flat()) # Extract face coordinates and compute center midpoints - - target_levels = Fields.field2array(Fields.coordinate_field(Y.c).z)[:, argmin(Fields.field2array(Fields.coordinate_field(Y.c).z))[2]] + # Compute target levels on CPU to avoid GPU reductions + z_arr_cpu = Array(Fields.field2array(Fields.coordinate_field(Y.c).z)) + icol = argmin(z_arr_cpu[1, :]) + target_levels = z_arr_cpu[:, icol] file_path = weather_model_data_path( initial_condition.start_date, diff --git a/src/utils/weather_model.jl b/src/utils/weather_model.jl index 8b26558c15..b783fa6e91 100644 --- a/src/utils/weather_model.jl +++ b/src/utils/weather_model.jl @@ -144,7 +144,8 @@ function to_z_levels(source_file, target_file, target_levels, FT) # See https://agupubs.onlinelibrary.wiley.com/doi/full/10.1002/2017MS001059 req3d = ["u", "v", "t", "q", "w"] for var_name in req3d - var_obj = defVar(ncout, var_name, FT, ("lon", "lat", "z"), attrib = ncin[var_name].attrib) + var_obj = + defVar(ncout, var_name, FT, ("lon", "lat", "z"), attrib = ncin[var_name].attrib) if var_name == "w" var_obj[:, :, :] = zeros(FT, length(lon), length(lat), length(target_levels)) else @@ -160,7 +161,8 @@ function to_z_levels(source_file, target_file, target_levels, FT) # Simply repeat the surface values for all levels surf_map = Dict("skt" => "skt", "sp" => "p") for (src_name, dst_name) in surf_map - var_obj = defVar(ncout, dst_name, FT, ("lon", "lat", "z"), attrib = ncin[src_name].attrib) + var_obj = + defVar(ncout, dst_name, FT, ("lon", "lat", "z"), attrib = ncin[src_name].attrib) for k in 1:length(target_levels) var_obj[:, :, k] = FT.(ncin[src_name][:, :, 1]) end From dfe1ba81aa5c353f750d29d11da1f8bbf4d9645a Mon Sep 17 00:00:00 2001 From: ray-chew Date: Thu, 25 Sep 2025 21:48:57 -0700 Subject: [PATCH 05/10] Update pressure gradient computation Co-authored-by: akshaysridhar Co-authored-by: dennisYatunin Co-authored-by: ray-chew --- src/ClimaAtmos.jl | 1 + src/cache/cache.jl | 37 ------------- src/prognostic_equations/advection.jl | 8 ++- src/prognostic_equations/hyperdiffusion.jl | 8 ++- .../implicit/implicit_tendency.jl | 15 +++-- .../implicit/manual_sparse_jacobian.jl | 5 +- src/utils/thermodynamics_overrides.jl | 55 +++++++++++++++++++ 7 files changed, 85 insertions(+), 44 deletions(-) create mode 100644 src/utils/thermodynamics_overrides.jl diff --git a/src/ClimaAtmos.jl b/src/ClimaAtmos.jl index a6e3b8837a..cc2b80801f 100644 --- a/src/ClimaAtmos.jl +++ b/src/ClimaAtmos.jl @@ -47,6 +47,7 @@ include(joinpath("cache", "surface_albedo.jl")) include(joinpath("initial_conditions", "InitialConditions.jl")) include(joinpath("surface_conditions", "SurfaceConditions.jl")) include(joinpath("utils", "discrete_hydrostatic_balance.jl")) +include(joinpath("utils", "thermodynamics_overrides.jl")) include(joinpath("prognostic_equations", "pressure_work.jl")) include(joinpath("prognostic_equations", "zero_velocity.jl")) diff --git a/src/cache/cache.jl b/src/cache/cache.jl index 05aa578af5..1e495c458e 100644 --- a/src/cache/cache.jl +++ b/src/cache/cache.jl @@ -129,42 +129,6 @@ function build_cache( sfc_local_geometry = Fields.level(Fields.local_geometry_field(Y.f), Fields.half) - # Reference enthalpy for hyperdiffusion computation - ᶜz = Fields.coordinate_field(Y.c).z - T_ref = similar(ᶜz) - p_ref = similar(ᶜz) - q_tot_ref = similar(ᶜz) - cv_m = similar(ᶜz) - thermo_params = CAP.thermodynamics_params(params) - decay_scale_height = FT(8000) - - # Reference State - temp_profile = TD.TemperatureProfiles.DecayingTemperatureProfile{FT}( - thermo_params, - FT(300), # surface temperature - FT(220), # top temperature - decay_scale_height, # decay height scale - ) - - rel_hum_ref = - atmos.moisture_model isa DryModel ? FT(0) : - @. FT(0.5) * exp(- ᶜz / decay_scale_height) - - T_0 = CAP.T_0(params) - grav = CAP.grav(params) - @. T_ref = first(temp_profile(thermo_params, ᶜz)) - @. p_ref = last(temp_profile(thermo_params, ᶜz)) - @. q_tot_ref = - TD.q_vap_from_RH_liquid(thermo_params, p_ref, T_ref, rel_hum_ref) - @. cv_m = TD.cv_m(thermo_params, TD.PhasePartition(q_tot_ref, FT(0), FT(0))) - - ᶜh_ref = @. TD.total_specific_enthalpy( - thermo_params, - cv_m * (T_ref - T_0) + grav * ᶜz, - T_ref, - TD.PhasePartition(q_tot_ref, FT(0), FT(0)), - ) - core = ( ᶜΦ, ᶠgradᵥ_ᶜΦ = ᶠgradᵥ.(ᶜΦ), @@ -175,7 +139,6 @@ function build_cache( surface_ct3_unit = CT3.( unit_basis_vector_data.(CT3, sfc_local_geometry) ), - ᶜh_ref, ) external_forcing = external_forcing_cache(Y, atmos, params, start_date) sfc_setup = surface_setup(params) diff --git a/src/prognostic_equations/advection.jl b/src/prognostic_equations/advection.jl index 8a8b40ffe8..de41650fea 100644 --- a/src/prognostic_equations/advection.jl +++ b/src/prognostic_equations/advection.jl @@ -39,6 +39,7 @@ NVTX.@annotate function horizontal_dynamics_tendency!(Yₜ, Y, p, t) (; ᶜu, ᶜK, ᶜp, ᶜts) = p.precomputed (; params) = p thermo_params = CAP.thermodynamics_params(params) + cp_d = thermo_params.cp_d if p.atmos.turbconv_model isa PrognosticEDMFX (; ᶜuʲs) = p.precomputed @@ -82,7 +83,12 @@ NVTX.@annotate function horizontal_dynamics_tendency!(Yₜ, Y, p, t) end - @. Yₜ.c.uₕ -= C12(gradₕ(ᶜp) / Y.c.ρ + gradₕ(ᶜK + ᶜΦ)) + ᶜΦ_r = @. lazy(phi_r(thermo_params, ᶜts)) + ᶜθ_v = @. lazy(theta_v(thermo_params, ᶜts)) + ᶜθ_vr = @. lazy(theta_vr(thermo_params, ᶜts)) + ᶜΠ = @. lazy(exner_function(thermo_params, ᶜts)) + + @. Yₜ.c.uₕ -= C12(gradₕ(ᶜK + ᶜΦ - ᶜΦ_r) + cp_d * (ᶜθ_v - ᶜθ_vr) * gradₕ(ᶜΠ)) # Without the C12(), the right-hand side would be a C1 or C2 in 2D space. return nothing end diff --git a/src/prognostic_equations/hyperdiffusion.jl b/src/prognostic_equations/hyperdiffusion.jl index df5bf5ea20..ed6851b3c5 100644 --- a/src/prognostic_equations/hyperdiffusion.jl +++ b/src/prognostic_equations/hyperdiffusion.jl @@ -106,12 +106,16 @@ end # dss_hyperdiffusion_tendency_pairs NVTX.@annotate function prep_hyperdiffusion_tendency!(Yₜ, Y, p, t) (; hyperdiff, turbconv_model) = p.atmos + (; params) = p + (; ᶜΦ) = p.core + (; ᶜts) = p.precomputed + thermo_params = CAP.thermodynamics_params(params) + isnothing(hyperdiff) && return nothing n = n_mass_flux_subdomains(turbconv_model) diffuse_tke = use_prognostic_tke(turbconv_model) (; ᶜp) = p.precomputed - (; ᶜh_ref) = p.core (; ᶜ∇²u, ᶜ∇²specific_energy) = p.hyperdiff if turbconv_model isa PrognosticEDMFX (; ᶜ∇²uₕʲs, ᶜ∇²uᵥʲs, ᶜ∇²uʲs, ᶜ∇²mseʲs) = p.hyperdiff @@ -122,6 +126,8 @@ NVTX.@annotate function prep_hyperdiffusion_tendency!(Yₜ, Y, p, t) C123(wgradₕ(divₕ(p.precomputed.ᶜu))) - C123(wcurlₕ(C123(curlₕ(p.precomputed.ᶜu)))) + ᶜh_ref = @. lazy(h_dr(thermo_params, ᶜts, ᶜΦ)) + @. ᶜ∇²specific_energy = wdivₕ(gradₕ(specific(Y.c.ρe_tot, Y.c.ρ) + ᶜp / Y.c.ρ - ᶜh_ref)) diff --git a/src/prognostic_equations/implicit/implicit_tendency.jl b/src/prognostic_equations/implicit/implicit_tendency.jl index 5be714c756..a69245b659 100644 --- a/src/prognostic_equations/implicit/implicit_tendency.jl +++ b/src/prognostic_equations/implicit/implicit_tendency.jl @@ -151,13 +151,14 @@ vertical_advection(ᶠu³, ᶜχ, ::Val{:third_order}) = function implicit_vertical_advection_tendency!(Yₜ, Y, p, t) (; moisture_model, turbconv_model, rayleigh_sponge, microphysics_model) = p.atmos - (; dt) = p + (; params, dt) = p n = n_mass_flux_subdomains(turbconv_model) ᶜJ = Fields.local_geometry_field(axes(Y.c)).J ᶠJ = Fields.local_geometry_field(axes(Y.f)).J (; ᶠgradᵥ_ᶜΦ) = p.core (; ᶠu³, ᶜp, ᶜts) = p.precomputed - thermo_params = CAP.thermodynamics_params(p.params) + thermo_params = CAP.thermodynamics_params(params) + cp_d = CAP.cp_d(params) ᶜh_tot = @. lazy( TD.total_specific_enthalpy( thermo_params, @@ -243,9 +244,15 @@ function implicit_vertical_advection_tendency!(Yₜ, Y, p, t) end # TODO - decide if this needs to be explicit or implicit - #vertical_advection_of_water_tendency!(Yₜ, Y, p, t) + #vertical_advection_of_water_tendency!(Yₜ, Y, p, t)\ - @. Yₜ.f.u₃ -= ᶠgradᵥ(ᶜp) / ᶠinterp(Y.c.ρ) + ᶠgradᵥ_ᶜΦ + ᶜΦ_r = @. lazy(phi_r(thermo_params, ᶜts)) + ᶜθ_v = @. lazy(theta_v(thermo_params, ᶜts)) + ᶜθ_vr = @. lazy(theta_vr(thermo_params, ᶜts)) + ᶜΠ = @. lazy(exner_function(thermo_params, ᶜts)) + + @. Yₜ.f.u₃ -= ᶠgradᵥ_ᶜΦ - ᶠgradᵥ(ᶜΦ_r) + + cp_d * (ᶠinterp(ᶜθ_v - ᶜθ_vr)) * ᶠgradᵥ(ᶜΠ) if rayleigh_sponge isa RayleighSponge ᶠz = Fields.coordinate_field(Y.f).z diff --git a/src/prognostic_equations/implicit/manual_sparse_jacobian.jl b/src/prognostic_equations/implicit/manual_sparse_jacobian.jl index d0777fa031..c5c7d8a040 100644 --- a/src/prognostic_equations/implicit/manual_sparse_jacobian.jl +++ b/src/prognostic_equations/implicit/manual_sparse_jacobian.jl @@ -462,11 +462,14 @@ function update_jacobian!(alg::ManualSparseJacobian, cache, Y, p, dtγ, t) ∂ᶠu₃_err_∂ᶜρ = matrix[@name(f.u₃), @name(c.ρ)] ∂ᶠu₃_err_∂ᶜρe_tot = matrix[@name(f.u₃), @name(c.ρe_tot)] + + ᶜθ_v = @. lazy(theta_v(thermo_params, ᶜts)) + ᶜΠ = @. lazy(exner_function(thermo_params, ᶜts)) @. ∂ᶠu₃_err_∂ᶜρ = dtγ * ( ᶠp_grad_matrix ⋅ DiagonalMatrixRow(ᶜkappa_m * (T_0 * cp_d - ᶜK - ᶜΦ)) + - DiagonalMatrixRow(ᶠgradᵥ(ᶜp) / abs2(ᶠinterp(ᶜρ))) ⋅ + DiagonalMatrixRow(cp_d * ᶠinterp(ᶜθ_v) * ᶠgradᵥ(ᶜΠ) / ᶠinterp(ᶜρ)) ⋅ ᶠinterp_matrix() ) @. ∂ᶠu₃_err_∂ᶜρe_tot = dtγ * ᶠp_grad_matrix ⋅ DiagonalMatrixRow(ᶜkappa_m) diff --git a/src/utils/thermodynamics_overrides.jl b/src/utils/thermodynamics_overrides.jl new file mode 100644 index 0000000000..224984fda6 --- /dev/null +++ b/src/utils/thermodynamics_overrides.jl @@ -0,0 +1,55 @@ +""" + TODO: Make sure this is consistent with the function in Thermodynamics.jl. +""" +# Once PR is merged in ClimaParams, import from there. +# https://github.com/CliMA/ClimaParams.jl/pull/253 +const s_ref = 7 + +function exner_function(thermo_params, ts) + R_d = TD.TP.R_d(thermo_params) + cp_d = TD.TP.cp_d(thermo_params) + p_0 = TD.TP.p_ref_theta(thermo_params) + p = TD.air_pressure(thermo_params, ts) + return (p / p_0)^(R_d / cp_d) +end + +function theta_v(thermo_params, ts) + R_d = TD.TP.R_d(thermo_params) + T = TD.air_temperature(thermo_params, ts) + R_m = TD.gas_constant_air(thermo_params, ts) + Π = exner_function(thermo_params, ts) + return T * R_m / (Π * R_d) +end + +function air_temperature_reference(thermo_params, ts) + T_min = TD.TP.T_min_ref(thermo_params) + T_sfc = TD.TP.T_surf_ref(thermo_params) + + Π = exner_function(thermo_params, ts) + + return T_min + (T_sfc - T_min) * Π^(s_ref) +end + +function theta_vr(thermo_params, ts) + T_r = air_temperature_reference(thermo_params, ts) + Π = exner_function(thermo_params, ts) + return T_r / Π +end + +function phi_r(thermo_params, ts) + cp_d = TD.TP.cp_d(thermo_params) + T_min = TD.TP.T_min_ref(thermo_params) + T_sfc = TD.TP.T_surf_ref(thermo_params) + + Π = exner_function(thermo_params, ts) + + return -cp_d * (T_min * log(Π) + (T_sfc - T_min) / (s_ref) * (Π^(s_ref) - 1)) +end + +function h_dr(thermo_params, ts, Φ) + T_0 = TD.TP.T_0(thermo_params) + cp_d = TD.TP.cp_d(thermo_params) + + T_r = air_temperature_reference(thermo_params, ts) + return cp_d * (T_r - T_0) + Φ +end From 53db6c601984db0f0f31f944abb8e3e12678173a Mon Sep 17 00:00:00 2001 From: Akshay Sridhar Date: Fri, 26 Sep 2025 11:14:58 -0700 Subject: [PATCH 06/10] Update to include pressure gradient and weak curl branches --- .../longrun_moist_baroclinic_wave_1M.yml | 17 +++++++++++ ...run_moist_baroclinic_wave_he120_hughes.yml | 27 +++++++++++++++++ ..._moist_baroclinic_wave_he120_hughes_1M.yml | 30 +++++++++++++++++++ src/diagnostics/conservation_diagnostics.jl | 18 +++++++++-- 4 files changed, 90 insertions(+), 2 deletions(-) create mode 100644 config/longrun_configs/longrun_moist_baroclinic_wave_1M.yml create mode 100644 config/longrun_configs/longrun_moist_baroclinic_wave_he120_hughes.yml create mode 100644 config/longrun_configs/longrun_moist_baroclinic_wave_he120_hughes_1M.yml diff --git a/config/longrun_configs/longrun_moist_baroclinic_wave_1M.yml b/config/longrun_configs/longrun_moist_baroclinic_wave_1M.yml new file mode 100644 index 0000000000..6ed8d4732c --- /dev/null +++ b/config/longrun_configs/longrun_moist_baroclinic_wave_1M.yml @@ -0,0 +1,17 @@ +h_elem: 120 +z_elem: 43 +dz_bottom: 30.0 +dt: "40secs" +approximate_linear_solve_iters: 3 +max_newton_iters_ode: 1 +rayleigh_sponge: true +t_end: "15days" +initial_condition: "MoistBaroclinicWave" +moist: "nonequil" +precip_model: "1M" +dt_save_state_to_disk: "15days" +disable_surface_flux_tendency: true +toml: [toml/longrun_baroclinic_wave_1M.toml] +diagnostics: + - short_name: [pfull, wa, va, ua, ta, rhoa, rv, hus, ke, clw, cli, husra, hussn] + period: 2days diff --git a/config/longrun_configs/longrun_moist_baroclinic_wave_he120_hughes.yml b/config/longrun_configs/longrun_moist_baroclinic_wave_he120_hughes.yml new file mode 100644 index 0000000000..bec94aee20 --- /dev/null +++ b/config/longrun_configs/longrun_moist_baroclinic_wave_he120_hughes.yml @@ -0,0 +1,27 @@ +h_elem: 120 +z_elem: 43 +dz_bottom: 30.0 +dt: "40secs" +t_end: "60days" +ode_algo: ARS343 +topography: "Hughes2023" +initial_condition: "MoistBaroclinicWave" +perturb_initstate: false +rayleigh_sponge: true +moist: "equil" +precip_model: "0M" +mesh_warp_type: SLEVE +prognostic_surface: PrognosticSurfaceTemperature +deep_atmosphere: true +disable_surface_flux_tendency: true +dt_save_state_to_disk: "10days" +netcdf_interpolation_num_points: [1440, 720, 43] +output_dir: "/glade/derecho/scratch/asridhar/moist_bw_hughes_0M_exner_pg/" +toml: [toml/longrun_bw.toml] +output_default_diagnostics: false +diagnostics: + - short_name: [ts, ta, thetaa, ha, pfull, rhoa, ua, va, wa, hur, hus, cl, clw, cli, hussfc, evspsbl, pr, rhoa, rv, ke] + period: 1days + - short_name: [massa, energya, watera, energyo, watero] + period: 6hours + writer: dict diff --git a/config/longrun_configs/longrun_moist_baroclinic_wave_he120_hughes_1M.yml b/config/longrun_configs/longrun_moist_baroclinic_wave_he120_hughes_1M.yml new file mode 100644 index 0000000000..ad2bc7b820 --- /dev/null +++ b/config/longrun_configs/longrun_moist_baroclinic_wave_he120_hughes_1M.yml @@ -0,0 +1,30 @@ +h_elem: 120 +z_elem: 43 +dz_bottom: 30.0 +deep_atmosphere: true +dt: "40secs" +t_end: "60days" +topography: "Hughes2023" +initial_condition: "MoistBaroclinicWave" +perturb_initstate: false +mesh_warp_type: "SLEVE" +rayleigh_sponge: true +moist: "nonequil" +precip_model: "1M" +dt_save_state_to_disk: "1days" +disable_surface_flux_tendency: true +vert_diff: "DecayWithHeightDiffusion" +implicit_diffusion: true +approximate_linear_solve_iters: 4 +prognostic_surface: PrognosticSurfaceTemperature +output_dir: "/glade/derecho/scratch/asridhar/moist_bw_hughes_he120_1M_40s_dwhd_pst/" +netcdf_interpolation_num_points: [1440, 720, 43] +toml: [toml/longrun_baroclinic_wave_1M.toml] +#toml: [toml/clima_1M.toml] +diagnostics: + - short_name: [pfull, ua, va, ta, ts, wa, va, ke, hus, clw, cli, pr, hussn, husra] + reduction: inst + period: 6hours + - short_name: [massa, energya, watera, watero, energyo, kenergya] + period: 6hours + writer: dict diff --git a/src/diagnostics/conservation_diagnostics.jl b/src/diagnostics/conservation_diagnostics.jl index af871273e6..7cfbe94a0c 100644 --- a/src/diagnostics/conservation_diagnostics.jl +++ b/src/diagnostics/conservation_diagnostics.jl @@ -37,6 +37,19 @@ add_diagnostic_variable!( end, ) +add_diagnostic_variable!( + short_name = "kenergya", + long_name = "Total Kinetic Energy of the Air", + units = "J", + compute! = (out, state, cache, time) -> begin + if isnothing(out) + return [sum(cache.precomputed.ᶜK)] + else + out .= [sum(cache.precomputed.ᶜK)] + end + end, +) + ### # Total water of the air (scalar) ### @@ -85,10 +98,11 @@ function compute_energyo!( surface_model.ρ_ocean * surface_model.cp_ocean * surface_model.depth_ocean + initial_temperature = (state.sfc.T .- state.sfc.T) .+ eltype(state.sfc.T)(273.16) if isnothing(out) - return [horizontal_integral_at_boundary(state.sfc.T .* sfc_cρh)] + return [horizontal_integral_at_boundary(initial_temperature .* sfc_cρh)] else - out .= [horizontal_integral_at_boundary(state.sfc.T .* sfc_cρh)] + out .= [horizontal_integral_at_boundary(initial_temperature .* sfc_cρh)] end end From 7323dfab49999fb0288c517bd9c725deeb04d6f2 Mon Sep 17 00:00:00 2001 From: Dennis Yatunin Date: Wed, 24 Sep 2025 20:27:55 -0700 Subject: [PATCH 07/10] Try running Schar mountain test with different values of h_max --- .buildkite/ci_driver.jl | 10 +- .buildkite/pipeline.yml | 2175 ++++++++--------- config/default_configs/default_config.yml | 3 + ...000000001m_schar_mountain_float32_test.yml | 21 + ...000000001m_schar_mountain_float64_test.yml | 21 + ...000000002m_schar_mountain_float32_test.yml | 21 + ...000000002m_schar_mountain_float64_test.yml | 21 + ...000000004m_schar_mountain_float32_test.yml | 21 + ...000000004m_schar_mountain_float64_test.yml | 21 + ...000000008m_schar_mountain_float32_test.yml | 21 + ...000000008m_schar_mountain_float64_test.yml | 21 + ...000000016m_schar_mountain_float32_test.yml | 21 + ...000000016m_schar_mountain_float64_test.yml | 21 + ...000000032m_schar_mountain_float32_test.yml | 21 + ...000000032m_schar_mountain_float64_test.yml | 21 + ...000000064m_schar_mountain_float32_test.yml | 21 + ...000000064m_schar_mountain_float64_test.yml | 21 + ...000000128m_schar_mountain_float32_test.yml | 21 + ...000000128m_schar_mountain_float64_test.yml | 21 + ...000000160m_schar_mountain_float32_test.yml | 21 + ...000000160m_schar_mountain_float64_test.yml | 21 + ...000000192m_schar_mountain_float32_test.yml | 21 + ...000000192m_schar_mountain_float64_test.yml | 21 + ...000000224m_schar_mountain_float32_test.yml | 21 + ...000000224m_schar_mountain_float64_test.yml | 21 + ...000000228m_schar_mountain_float32_test.yml | 21 + ...000000228m_schar_mountain_float64_test.yml | 21 + ...000000232m_schar_mountain_float32_test.yml | 21 + ...000000232m_schar_mountain_float64_test.yml | 21 + ...000000236m_schar_mountain_float32_test.yml | 21 + ...000000236m_schar_mountain_float64_test.yml | 21 + ...000000240m_schar_mountain_float32_test.yml | 21 + ...000000240m_schar_mountain_float64_test.yml | 21 + ...000000244m_schar_mountain_float32_test.yml | 21 + ...000000244m_schar_mountain_float64_test.yml | 21 + ...000000248m_schar_mountain_float32_test.yml | 21 + ...000000248m_schar_mountain_float64_test.yml | 21 + ...000000252m_schar_mountain_float32_test.yml | 21 + ...000000252m_schar_mountain_float64_test.yml | 21 + ...000000256m_schar_mountain_float32_test.yml | 21 + ...000000256m_schar_mountain_float64_test.yml | 21 + ...000000512m_schar_mountain_float32_test.yml | 21 + ...000000512m_schar_mountain_float64_test.yml | 21 + ...000001024m_schar_mountain_float32_test.yml | 21 + ...000001024m_schar_mountain_float64_test.yml | 21 + ...e_0.00001m_schar_mountain_float32_test.yml | 21 + ...e_0.00001m_schar_mountain_float64_test.yml | 21 + ...ne_0.0001m_schar_mountain_float32_test.yml | 21 + ...ne_0.0001m_schar_mountain_float64_test.yml | 21 + ...ane_0.001m_schar_mountain_float32_test.yml | 21 + ...ane_0.001m_schar_mountain_float64_test.yml | 21 + ...lane_0.01m_schar_mountain_float32_test.yml | 21 + ...lane_0.01m_schar_mountain_float64_test.yml | 21 + ...plane_0.1m_schar_mountain_float32_test.yml | 21 + ...plane_0.1m_schar_mountain_float64_test.yml | 21 + ...lane_1000m_schar_mountain_float32_test.yml | 21 + ...lane_1000m_schar_mountain_float64_test.yml | 21 + ...plane_100m_schar_mountain_float32_test.yml | 21 + ...plane_100m_schar_mountain_float64_test.yml | 21 + ...plane_125m_schar_mountain_float32_test.yml | 21 + ...plane_125m_schar_mountain_float64_test.yml | 21 + .../plane_12m_schar_mountain_float32_test.yml | 21 + .../plane_12m_schar_mountain_float64_test.yml | 21 + ...plane_150m_schar_mountain_float32_test.yml | 21 + ...plane_150m_schar_mountain_float64_test.yml | 21 + ...plane_175m_schar_mountain_float32_test.yml | 21 + ...plane_175m_schar_mountain_float64_test.yml | 21 + ... plane_1m_schar_mountain_float32_test.yml} | 1 + ... plane_1m_schar_mountain_float64_test.yml} | 1 + ...plane_200m_schar_mountain_float32_test.yml | 21 + ...plane_200m_schar_mountain_float64_test.yml | 21 + ...plane_225m_schar_mountain_float32_test.yml | 21 + ...plane_225m_schar_mountain_float64_test.yml | 21 + ...plane_250m_schar_mountain_float32_test.yml | 21 + ...plane_250m_schar_mountain_float64_test.yml | 21 + .../plane_25m_schar_mountain_float32_test.yml | 21 + .../plane_25m_schar_mountain_float64_test.yml | 21 + ...plane_300m_schar_mountain_float32_test.yml | 21 + ...plane_300m_schar_mountain_float64_test.yml | 21 + ...plane_350m_schar_mountain_float32_test.yml | 21 + ...plane_350m_schar_mountain_float64_test.yml | 21 + .../plane_3m_schar_mountain_float32_test.yml | 21 + .../plane_3m_schar_mountain_float64_test.yml | 21 + ...plane_400m_schar_mountain_float32_test.yml | 21 + ...plane_400m_schar_mountain_float64_test.yml | 21 + ...plane_450m_schar_mountain_float32_test.yml | 21 + ...plane_450m_schar_mountain_float64_test.yml | 21 + ...plane_500m_schar_mountain_float32_test.yml | 21 + ...plane_500m_schar_mountain_float64_test.yml | 21 + .../plane_50m_schar_mountain_float32_test.yml | 21 + .../plane_50m_schar_mountain_float64_test.yml | 21 + ...plane_550m_schar_mountain_float32_test.yml | 21 + ...plane_550m_schar_mountain_float64_test.yml | 21 + ...plane_600m_schar_mountain_float32_test.yml | 21 + ...plane_600m_schar_mountain_float64_test.yml | 21 + ...plane_650m_schar_mountain_float32_test.yml | 21 + ...plane_650m_schar_mountain_float64_test.yml | 21 + .../plane_6m_schar_mountain_float32_test.yml | 21 + .../plane_6m_schar_mountain_float64_test.yml | 21 + ...plane_700m_schar_mountain_float32_test.yml | 21 + ...plane_700m_schar_mountain_float64_test.yml | 21 + ...plane_750m_schar_mountain_float32_test.yml | 21 + ...plane_750m_schar_mountain_float64_test.yml | 21 + .../plane_75m_schar_mountain_float32_test.yml | 21 + .../plane_75m_schar_mountain_float64_test.yml | 21 + ...plane_800m_schar_mountain_float32_test.yml | 21 + ...plane_800m_schar_mountain_float64_test.yml | 21 + ...plane_850m_schar_mountain_float32_test.yml | 21 + ...plane_850m_schar_mountain_float64_test.yml | 21 + ...plane_900m_schar_mountain_float32_test.yml | 21 + ...plane_900m_schar_mountain_float64_test.yml | 21 + ...plane_950m_schar_mountain_float32_test.yml | 21 + ...plane_950m_schar_mountain_float64_test.yml | 21 + post_processing/ci_plots.jl | 112 +- src/solver/type_getters.jl | 24 +- src/topography/topography.jl | 4 +- 116 files changed, 3380 insertions(+), 1218 deletions(-) create mode 100644 config/model_configs/plane_0.000000001m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.000000001m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.000000002m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.000000002m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.000000004m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.000000004m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.000000008m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.000000008m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.000000016m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.000000016m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.000000032m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.000000032m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.000000064m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.000000064m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.000000128m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.000000128m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.000000160m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.000000160m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.000000192m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.000000192m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.000000224m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.000000224m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.000000228m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.000000228m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.000000232m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.000000232m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.000000236m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.000000236m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.000000240m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.000000240m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.000000244m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.000000244m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.000000248m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.000000248m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.000000252m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.000000252m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.000000256m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.000000256m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.000000512m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.000000512m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.000001024m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.000001024m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.00001m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.00001m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.0001m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.0001m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.001m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.001m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.01m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.01m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_0.1m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_0.1m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_1000m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_1000m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_100m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_100m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_125m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_125m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_12m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_12m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_150m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_150m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_175m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_175m_schar_mountain_float64_test.yml rename config/model_configs/{plane_schar_mountain_float32_test.yml => plane_1m_schar_mountain_float32_test.yml} (95%) rename config/model_configs/{plane_schar_mountain_float64_test.yml => plane_1m_schar_mountain_float64_test.yml} (95%) create mode 100644 config/model_configs/plane_200m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_200m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_225m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_225m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_250m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_250m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_25m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_25m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_300m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_300m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_350m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_350m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_3m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_3m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_400m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_400m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_450m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_450m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_500m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_500m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_50m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_50m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_550m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_550m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_600m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_600m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_650m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_650m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_6m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_6m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_700m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_700m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_750m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_750m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_75m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_75m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_800m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_800m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_850m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_850m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_900m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_900m_schar_mountain_float64_test.yml create mode 100644 config/model_configs/plane_950m_schar_mountain_float32_test.yml create mode 100644 config/model_configs/plane_950m_schar_mountain_float64_test.yml diff --git a/.buildkite/ci_driver.jl b/.buildkite/ci_driver.jl index 60205812b0..33ea36ce1c 100644 --- a/.buildkite/ci_driver.jl +++ b/.buildkite/ci_driver.jl @@ -165,11 +165,11 @@ if config.parsed_args["check_steady_state"] @info " Relative RMSE of u₃ on $n_levels levels closest to the surface:" @info " $level_u₃_rel_errs" - if t_end > 24 * 60 * 60 - # TODO: Float32 simulations currently show significant divergence of uₕ. - @test ᶜuₕ_rel_err < (FT == Float32 ? 0.05 : 0.005) - @test ᶠu₃_rel_err < 0.0005 - end + # if t_end > 24 * 60 * 60 + # # TODO: Float32 simulations currently show significant divergence of uₕ. + # @test ᶜuₕ_rel_err < (FT == Float32 ? 0.05 : 0.005) + # @test ᶠu₃_rel_err < 0.0005 + # end end # Conservation checks diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index af3f9af5f5..82548adbda 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -39,1437 +39,1218 @@ steps: - wait - - group: "Reproducibility infrastructure" + - group: "Float64 Schar Mountain Tests" steps: - - label: ":computer: Test reproducibility infrastructure" - command: "julia --color=yes --project=.buildkite test/unit_reproducibility_infra.jl" - - - group: "Radiation" - steps: - - - label: ":computer: single column radiative equilibrium gray" + - label: "h_max = 0.000000001 m with Float64" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_column_ze63.yml - --config_file $CONFIG_PATH/single_column_radiative_equilibrium_gray.yml - --job_id single_column_radiative_equilibrium_gray - artifact_paths: "single_column_radiative_equilibrium_gray/output_active/*" - - - label: ":computer: single column radiative equilibrium clearsky" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_column_ze63.yml - --config_file $CONFIG_PATH/single_column_radiative_equilibrium_clearsky.yml - --job_id single_column_radiative_equilibrium_clearsky - artifact_paths: "single_column_radiative_equilibrium_clearsky/output_active/*" - - - label: ":computer: single column radiative equilibrium clearsky prognostic surface temperature" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_column_ze63.yml - --config_file $CONFIG_PATH/single_column_radiative_equilibrium_clearsky_prognostic_surface_temp.yml - --job_id single_column_radiative_equilibrium_clearsky_prognostic_surface_temp - artifact_paths: "single_column_radiative_equilibrium_clearsky_prognostic_surface_temp/output_active/*" - - - label: ":computer: single column radiative equilibrium allsky idealized clouds varying insolation" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_column_ze63.yml - --config_file $CONFIG_PATH/single_column_radiative_equilibrium_allsky_idealized_clouds.yml - --job_id single_column_radiative_equilibrium_allsky_idealized_clouds - artifact_paths: "single_column_radiative_equilibrium_allsky_idealized_clouds/output_active/*" - - - group: "Precipitation" - steps: - - label: ":umbrella: 1-moment precipitation sanity test single column" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/single_column_precipitation_test.yml - --job_id single_column_precipitation_test - artifact_paths: "single_column_precipitation_test/output_active/*" - - - label: ":umbrella: 2-moment precipitation sanity test single column" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/single_column_precipitation_2M_test.yml - --job_id single_column_precipitation_2M_test - artifact_paths: "single_column_precipitation_2M_test/output_active/*" - - - group: "Gravity wave" - steps: - - - label: ":computer: non-orographic gravity wave parameterization unit test 3d" - command: "julia --color=yes --project=.buildkite test/parameterized_tendencies/gravity_wave/non_orographic_gravity_wave/nogw_test_3d.jl" - artifact_paths: "nonorographic_gravity_wave_test_3d/*" - agents: - slurm_mem: 20GB - - - label: ":computer: non-orographic gravity wave parameterization test with MiMA output" - command: "julia --color=yes --project=.buildkite test/parameterized_tendencies/gravity_wave/non_orographic_gravity_wave/nogw_test_mima.jl" - artifact_paths: "nonorographic_gravity_wave_test_mima/*" - agents: - slurm_mem: 20GB - - - label: ":computer: non-orographic gravity wave parameterization unit test single column" - command: "julia --color=yes --project=.buildkite test/parameterized_tendencies/gravity_wave/non_orographic_gravity_wave/nogw_test_single_column.jl" - artifact_paths: "nonorographic_gravity_wave_test_single_column/*" - - - label: ":computer: orographic gravity wave parameterization unit test for base flux calculation" - command: "julia --color=yes --project=.buildkite test/parameterized_tendencies/gravity_wave/orographic_gravity_wave/ogwd_baseflux.jl" - artifact_paths: "orographic_gravity_wave_test_baseflux/*" - - - label: ":computer: orographic gravity wave parameterization unit test for 3d calculation" - command: "julia --color=yes --project=.buildkite test/parameterized_tendencies/gravity_wave/orographic_gravity_wave/ogwd_3d.jl" - artifact_paths: "orographic_gravity_wave_test_3d/*" - - - label: ":computer: single column non-orographic gravity wave parameterization" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/single_column_nonorographic_gravity_wave.yml - --job_id single_column_nonorographic_gravity_wave - artifact_paths: "single_column_nonorographic_gravity_wave/*" - - - group: "Column Examples" - steps: - - - label: ":computer: single column hydrostatic balance float64" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze10.yml - --config_file $CONFIG_PATH/single_column_hydrostatic_balance_ft64.yml - --job_id single_column_hydrostatic_balance_ft64 - - julia --color=yes --project=.buildkite reproducibility_tests/test_mse.jl - --job_id single_column_hydrostatic_balance_ft64 - --out_dir single_column_hydrostatic_balance_ft64/output_active - artifact_paths: "single_column_hydrostatic_balance_ft64/output_active/*" - agents: - slurm_constraint: icelake|cascadelake|skylake|epyc - - - group: "Box Examples" - steps: - - - label: ":computer: Box hydrostatic balance" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/box_hydrostatic_balance.yml - --job_id box_hydrostatic_balance - artifact_paths: "box_hydrostatic_balance/output_active/*" - - - label: ":computer: 3D density current" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/box_density_current_test.yml - --job_id box_density_current_test - artifact_paths: "box_density_current_test/output_active/*" - - - label: ":computer: Box rcemipii with diagnostic edmf" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/rcemipii_box_diagnostic_edmfx.yml - --job_id rcemipii_box_diagnostic_edmfx - artifact_paths: "rcemipii_box_diagnostic_edmfx/output_active/*" + --config_file $CONFIG_PATH/plane_0.000000001m_schar_mountain_float64_test.yml + --job_id gpu_plane_0.000000001m_schar_mountain_float64_test + artifact_paths: "gpu_plane_0.000000001m_schar_mountain_float64_test/output_active/*" + env: + CLIMACOMMS_DEVICE: "CUDA" agents: - slurm_mem: 20GB + slurm_gpus: 1 - - label: ":genie: LES ISDAC in a box" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/les_isdac_box.yml - --job_id les_isdac_box - artifact_paths: "les_isdac_box/*" + # - label: "h_max = 0.000000002 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000002m_schar_mountain_float64_test.yml + # --job_id gpu_plane_0.000000002m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_0.000000002m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000004 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000004m_schar_mountain_float64_test.yml + # --job_id gpu_plane_0.000000004m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_0.000000004m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000008 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000008m_schar_mountain_float64_test.yml + # --job_id gpu_plane_0.000000008m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_0.000000008m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000016 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000016m_schar_mountain_float64_test.yml + # --job_id gpu_plane_0.000000016m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_0.000000016m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000032 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000032m_schar_mountain_float64_test.yml + # --job_id gpu_plane_0.000000032m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_0.000000032m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000064 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000064m_schar_mountain_float64_test.yml + # --job_id gpu_plane_0.000000064m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_0.000000064m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000128 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000128m_schar_mountain_float64_test.yml + # --job_id gpu_plane_0.000000128m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_0.000000128m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000160 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000160m_schar_mountain_float64_test.yml + # --job_id gpu_plane_0.000000160m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_0.000000160m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000192 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000192m_schar_mountain_float64_test.yml + # --job_id gpu_plane_0.000000192m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_0.000000192m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000224 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000224m_schar_mountain_float64_test.yml + # --job_id gpu_plane_0.000000224m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_0.000000224m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000228 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000228m_schar_mountain_float64_test.yml + # --job_id gpu_plane_0.000000228m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_0.000000228m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000232 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000232m_schar_mountain_float64_test.yml + # --job_id gpu_plane_0.000000232m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_0.000000232m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000236 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000236m_schar_mountain_float64_test.yml + # --job_id gpu_plane_0.000000236m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_0.000000236m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000240 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000240m_schar_mountain_float64_test.yml + # --job_id gpu_plane_0.000000240m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_0.000000240m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000244 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000244m_schar_mountain_float64_test.yml + # --job_id gpu_plane_0.000000244m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_0.000000244m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000248 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000248m_schar_mountain_float64_test.yml + # --job_id gpu_plane_0.000000248m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_0.000000248m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000252 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000252m_schar_mountain_float64_test.yml + # --job_id gpu_plane_0.000000252m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_0.000000252m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000256 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000256m_schar_mountain_float64_test.yml + # --job_id gpu_plane_0.000000256m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_0.000000256m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000512 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000512m_schar_mountain_float64_test.yml + # --job_id gpu_plane_0.000000512m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_0.000000512m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000001024 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000001024m_schar_mountain_float64_test.yml + # --job_id gpu_plane_0.000001024m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_0.000001024m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + - label: "h_max = 0.00001 m with Float64" + command: > + julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + --config_file $CONFIG_PATH/plane_0.00001m_schar_mountain_float64_test.yml + --job_id gpu_plane_0.00001m_schar_mountain_float64_test + artifact_paths: "gpu_plane_0.00001m_schar_mountain_float64_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: - slurm_mem: 16G slurm_gpus: 1 - soft_fail: true - - group: "Plane Examples" - steps: + # - label: "h_max = 0.0001 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.0001m_schar_mountain_float64_test.yml + # --job_id gpu_plane_0.0001m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_0.0001m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 - - label: ":computer: Density current experiment" + - label: "h_max = 0.001 m with Float64" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/plane_density_current_test.yml - --job_id plane_density_current_test - artifact_paths: "plane_density_current_test/output_active/*" - - - group: "Analytic Tests" - steps: - - label: "GPU: No Topography Test (2D, Float64, Discrete Balance)" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/plane_no_topography_float64_test.yml - --job_id gpu_plane_no_topography_float64_test - artifact_paths: "gpu_plane_no_topography_float64_test/output_active/*" + --config_file $CONFIG_PATH/plane_0.001m_schar_mountain_float64_test.yml + --job_id gpu_plane_0.001m_schar_mountain_float64_test + artifact_paths: "gpu_plane_0.001m_schar_mountain_float64_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: slurm_gpus: 1 - - label: "GPU: Cosine Hills Test (2D, Float64)" + - label: "h_max = 0.01 m with Float64" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/plane_cosine_hills_float64_test.yml - --job_id gpu_plane_cosine_hills_float64_test - artifact_paths: "gpu_plane_cosine_hills_float64_test/output_active/*" + --config_file $CONFIG_PATH/plane_0.01m_schar_mountain_float64_test.yml + --job_id gpu_plane_0.01m_schar_mountain_float64_test + artifact_paths: "gpu_plane_0.01m_schar_mountain_float64_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: slurm_gpus: 1 - - label: "GPU: Cosine Hills Test (Extruded 2D, Float64)" + - label: "h_max = 0.1 m with Float64" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/extruded_plane_cosine_hills_float64_test.yml - --job_id gpu_extruded_plane_cosine_hills_float64_test - artifact_paths: "gpu_extruded_plane_cosine_hills_float64_test/output_active/*" + --config_file $CONFIG_PATH/plane_0.1m_schar_mountain_float64_test.yml + --job_id gpu_plane_0.1m_schar_mountain_float64_test + artifact_paths: "gpu_plane_0.1m_schar_mountain_float64_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: slurm_gpus: 1 - slurm_mem: 48GB - - label: "GPU: Cosine Hills Test (3D, Float64)" + - label: "h_max = 1 m with Float64" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/box_cosine_hills_float64_test.yml - --job_id gpu_box_cosine_hills_float64_test - artifact_paths: "gpu_box_cosine_hills_float64_test/output_active/*" + --config_file $CONFIG_PATH/plane_1m_schar_mountain_float64_test.yml + --job_id gpu_plane_1m_schar_mountain_float64_test + artifact_paths: "gpu_plane_1m_schar_mountain_float64_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: slurm_gpus: 1 - slurm_mem: 48GB - - label: "GPU: Agnesi Mountain Test (2D, Float64)" + - label: "h_max = 3 m with Float64" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/plane_agnesi_mountain_float64_test.yml - --job_id gpu_plane_agnesi_mountain_float64_test - artifact_paths: "gpu_plane_agnesi_mountain_float64_test/output_active/*" + --config_file $CONFIG_PATH/plane_3m_schar_mountain_float64_test.yml + --job_id gpu_plane_3m_schar_mountain_float64_test + artifact_paths: "gpu_plane_3m_schar_mountain_float64_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: slurm_gpus: 1 - - label: "GPU: Schar Mountain Test (2D, Float64)" + - label: "h_max = 6 m with Float64" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/plane_schar_mountain_float64_test.yml - --job_id gpu_plane_schar_mountain_float64_test - artifact_paths: "gpu_plane_schar_mountain_float64_test/output_active/*" + --config_file $CONFIG_PATH/plane_6m_schar_mountain_float64_test.yml + --job_id gpu_plane_6m_schar_mountain_float64_test + artifact_paths: "gpu_plane_6m_schar_mountain_float64_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: slurm_gpus: 1 - - label: "GPU: Schar Mountain Test (2D, Float32)" + - label: "h_max = 12 m with Float64" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/plane_schar_mountain_float32_test.yml - --job_id gpu_plane_schar_mountain_float32_test - artifact_paths: "gpu_plane_schar_mountain_float32_test/output_active/*" + --config_file $CONFIG_PATH/plane_12m_schar_mountain_float64_test.yml + --job_id gpu_plane_12m_schar_mountain_float64_test + artifact_paths: "gpu_plane_12m_schar_mountain_float64_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: slurm_gpus: 1 - - group: "Conservation check" - steps: - - - label: ":computer: baroclinic wave check conservation" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl --config_file $CONFIG_PATH/baroclinic_wave_conservation.yml - --job_id baroclinic_wave_conservation - artifact_paths: "baroclinic_wave_conservation/output_active/*" - - - label: ":computer: baroclinic wave moist check conservation" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl --config_file $CONFIG_PATH/baroclinic_wave_equil_conservation.yml - --job_id baroclinic_wave_equil_conservation - artifact_paths: "baroclinic_wave_equil_conservation/output_active/*" - - - label: ":computer: baroclinic wave moist check conservation float64" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl --config_file $CONFIG_PATH/baroclinic_wave_equil_conservation_ft64.yml - --job_id baroclinic_wave_equil_conservation_ft64 - artifact_paths: "baroclinic_wave_equil_conservation_ft64/output_active/*" - - - label: ":computer: baroclinic wave moist check conservation with sources" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl --config_file $CONFIG_PATH/baroclinic_wave_equil_conservation_source.yml - --job_id baroclinic_wave_equil_conservation_source - artifact_paths: "baroclinic_wave_equil_conservation_source/output_active/*" - agents: - slurm_mem: 16GB - - - label: ":computer: baroclinic wave nonequil moist check conservation with sources" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl --config_file $CONFIG_PATH/baroclinic_wave_nonequil_conservation_source.yml - --job_id baroclinic_wave_nonequil_conservation_source - artifact_paths: "baroclinic_wave_nonequil_conservation_source/output_active/*" - agents: - slurm_mem: 16GB - - - group: "Sphere Examples (Dycore)" - steps: - - - label: ":computer: hydrostatic balance float64" + - label: "h_max = 25 m with Float64" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/hydrostatic_balance_ft64.yml - --job_id hydrostatic_balance_ft64 - artifact_paths: "hydrostatic_balance_ft64/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":computer: baroclinic wave" - key: baroclinic_wave - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze10.yml - --config_file $CONFIG_PATH/baroclinic_wave.yml - --job_id baroclinic_wave - artifact_paths: "baroclinic_wave/output_active/*" - - - label: ":computer: no lim baroclinic wave equilmoist" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze10.yml - --config_file $CONFIG_PATH/baroclinic_wave_equil.yml - --job_id baroclinic_wave_equil - - julia --color=yes --project=.buildkite reproducibility_tests/test_mse.jl - --job_id baroclinic_wave_equil - --out_dir baroclinic_wave_equil/output_active - artifact_paths: "baroclinic_wave_equil/output_active/*" + --config_file $CONFIG_PATH/plane_25m_schar_mountain_float64_test.yml + --job_id gpu_plane_25m_schar_mountain_float64_test + artifact_paths: "gpu_plane_25m_schar_mountain_float64_test/output_active/*" + env: + CLIMACOMMS_DEVICE: "CUDA" agents: - slurm_constraint: icelake|cascadelake|skylake|epyc - - - label: ":computer: held suarez" - key: held_suarez - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze31.yml - --config_file $CONFIG_PATH/held_suarez.yml - --job_id held_suarez - artifact_paths: "held_suarez/output_active/*" + slurm_gpus: 1 - - label: ":computer: no lim held suarez equilmoist" + - label: "h_max = 50 m with Float64" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze31.yml - --config_file $CONFIG_PATH/held_suarez_equil.yml - --job_id held_suarez_equil - - julia --color=yes --project=.buildkite reproducibility_tests/test_mse.jl - --job_id held_suarez_equil - --out_dir held_suarez_equil/output_active - artifact_paths: "held_suarez_equil/output_active/*" + --config_file $CONFIG_PATH/plane_50m_schar_mountain_float64_test.yml + --job_id gpu_plane_50m_schar_mountain_float64_test + artifact_paths: "gpu_plane_50m_schar_mountain_float64_test/output_active/*" + env: + CLIMACOMMS_DEVICE: "CUDA" agents: - slurm_constraint: icelake|cascadelake|skylake|epyc - - - group: "Sphere Examples (Aquaplanet)" - steps: + slurm_gpus: 1 - - label: ":umbrella: aquaplanet nonequil allsky monin_obukhov varying insol gravity wave (gfdl_restart) high top 1-moment" + - label: "h_max = 75 m with Float64" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze31.yml - --config_file $CONFIG_PATH/aquaplanet_nonequil_allsky_gw_res.yml - --job_id aquaplanet_nonequil_allsky_gw_res - - julia --color=yes --project=.buildkite reproducibility_tests/test_mse.jl - --job_id aquaplanet_nonequil_allsky_gw_res - --out_dir aquaplanet_nonequil_allsky_gw_res/output_active - artifact_paths: "aquaplanet_nonequil_allsky_gw_res/output_active/*" + --config_file $CONFIG_PATH/plane_75m_schar_mountain_float64_test.yml + --job_id gpu_plane_75m_schar_mountain_float64_test + artifact_paths: "gpu_plane_75m_schar_mountain_float64_test/output_active/*" + env: + CLIMACOMMS_DEVICE: "CUDA" agents: - slurm_mem: 20GB - slurm_constraint: icelake|cascadelake|skylake|epyc + slurm_gpus: 1 - - label: ":umbrella: aquaplanet nonequil allsky monin_obukhov varying insol gravity wave (gfdl_restart) high top 2-moment" + - label: "h_max = 100 m with Float64" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze31.yml - --config_file $CONFIG_PATH/aquaplanet_nonequil_allsky_gw_res_2M.yml - --job_id aquaplanet_nonequil_allsky_gw_res_2M - - julia --color=yes --project=.buildkite reproducibility_tests/test_mse.jl - --job_id aquaplanet_nonequil_allsky_gw_res_2M - --out_dir aquaplanet_nonequil_allsky_gw_res_2M/output_active - artifact_paths: "aquaplanet_nonequil_allsky_gw_res_2M/output_active/*" + --config_file $CONFIG_PATH/plane_100m_schar_mountain_float64_test.yml + --job_id gpu_plane_100m_schar_mountain_float64_test + artifact_paths: "gpu_plane_100m_schar_mountain_float64_test/output_active/*" + env: + CLIMACOMMS_DEVICE: "CUDA" agents: - slurm_mem: 20GB - slurm_constraint: icelake|cascadelake|skylake|epyc + slurm_gpus: 1 - - label: ":computer: aquaplanet equil allsky monin_obukhov varying insol gravity wave (raw_topo) high top zonally asymmetric" + - label: "h_max = 125 m with Float64" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze31.yml - --config_file $CONFIG_PATH/aquaplanet_equil_allsky_gw_raw_zonalasym.yml - --job_id aquaplanet_equil_allsky_gw_raw_zonalasym - - julia --color=yes --project=.buildkite reproducibility_tests/test_mse.jl - --job_id aquaplanet_equil_allsky_gw_raw_zonalasym - --out_dir aquaplanet_equil_allsky_gw_raw_zonalasym/output_active - artifact_paths: "aquaplanet_equil_allsky_gw_raw_zonalasym/output_active/*" + --config_file $CONFIG_PATH/plane_125m_schar_mountain_float64_test.yml + --job_id gpu_plane_125m_schar_mountain_float64_test + artifact_paths: "gpu_plane_125m_schar_mountain_float64_test/output_active/*" + env: + CLIMACOMMS_DEVICE: "CUDA" agents: - slurm_mem: 20GB - slurm_constraint: icelake|cascadelake|skylake|epyc + slurm_gpus: 1 - - label: ":computer: aquaplanet for coupler" + - label: "h_max = 150 m with Float64" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze31.yml - --config_file $CONFIG_PATH/aquaplanet_for_coupler.yml - --job_id aquaplanet_for_coupler - artifact_paths: "aquaplanet_for_coupler/output_active/*" + --config_file $CONFIG_PATH/plane_150m_schar_mountain_float64_test.yml + --job_id gpu_plane_150m_schar_mountain_float64_test + artifact_paths: "gpu_plane_150m_schar_mountain_float64_test/output_active/*" + env: + CLIMACOMMS_DEVICE: "CUDA" agents: - slurm_mem: 20GB + slurm_gpus: 1 - - label: ":computer: aquaplanet rcemipii with diagnostic edmf" + - label: "h_max = 175 m with Float64" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze31.yml - --config_file $CONFIG_PATH/rcemipii_sphere_diagnostic_edmfx.yml - --job_id rcemipii_sphere_diagnostic_edmfx - artifact_paths: "rcemipii_sphere_diagnostic_edmfx/output_active/*" + --config_file $CONFIG_PATH/plane_175m_schar_mountain_float64_test.yml + --job_id gpu_plane_175m_schar_mountain_float64_test + artifact_paths: "gpu_plane_175m_schar_mountain_float64_test/output_active/*" + env: + CLIMACOMMS_DEVICE: "CUDA" agents: - slurm_mem: 20GB - - - group: "Sphere Examples (Topography)" - steps: - - - label: ":computer: baroclinic wave topography (dcmip)" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze10.yml - --config_file $CONFIG_PATH/baroclinic_wave_topography_dcmip_rs.yml - --job_id baroclinic_wave_topography_dcmip_rs - artifact_paths: "baroclinic_wave_topography_dcmip_rs/output_active/*" - - - label: ":computer: Diagnostic Earth surface elevation spectra" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze10.yml - --config_file $CONFIG_PATH/baroclinic_wave_equil_earth.yml - --job_id baroclinic_wave_equil_earth - artifact_paths: "baroclinic_wave_equil_earth/output_active/*" + slurm_gpus: 1 - - label: ":computer: Baroclinic wave equilmoist (Hughes2023 double mountain config)" + - label: "h_max = 200 m with Float64" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze10.yml - --config_file $CONFIG_PATH/baroclinic_wave_hughes2023.yml - --job_id baroclinic_wave_hughes2023 - artifact_paths: "baroclinic_wave_hughes2023/output_active/*" - - - group: "Restarting" - steps: - - - label: ":computer: test restart" - command: > - julia --color=yes --project=.buildkite test/restart.jl - agents: - slurm_mem: 16GB - - - label: ":computer: test restart GPU" - command: > - julia --color=yes --project=.buildkite test/restart.jl + --config_file $CONFIG_PATH/plane_200m_schar_mountain_float64_test.yml + --job_id gpu_plane_200m_schar_mountain_float64_test + artifact_paths: "gpu_plane_200m_schar_mountain_float64_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: slurm_gpus: 1 - slurm_mem: 16G - - label: ":computer: test restart" + - label: "h_max = 225 m with Float64" command: > - julia --color=yes --project=.buildkite test/restart.jl --manytests true - agents: - slurm_mem: 16GB - - - label: ":computer: test restart GPU" - command: > - julia --color=yes --project=.buildkite test/restart.jl --manytests true + julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + --config_file $CONFIG_PATH/plane_225m_schar_mountain_float64_test.yml + --job_id gpu_plane_225m_schar_mountain_float64_test + artifact_paths: "gpu_plane_225m_schar_mountain_float64_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: slurm_gpus: 1 - slurm_mem: 16G - # This job occasionally times out. We add a soft file when the agent is - # lost because of timeout - - label: ":computer: test restart MPI" + - label: "h_max = 250 m with Float64" command: > - srun julia --color=yes --project=.buildkite test/restart.jl + julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + --config_file $CONFIG_PATH/plane_250m_schar_mountain_float64_test.yml + --job_id gpu_plane_250m_schar_mountain_float64_test + artifact_paths: "gpu_plane_250m_schar_mountain_float64_test/output_active/*" env: - CLIMACOMMS_CONTEXT: "MPI" - timeout_in_minutes: 20 - soft_fail: - - exit_status: -1 - - exit_status: 255 + CLIMACOMMS_DEVICE: "CUDA" agents: - slurm_ntasks: 2 - slurm_mem: 24G + slurm_gpus: 1 - # This job occasionally times out. We add a soft file when the agent is - # lost because of timeout - - label: ":computer: test restart GPU MPI" + - label: "h_max = 300 m with Float64" command: > - srun julia --color=yes --project=.buildkite test/restart.jl + julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + --config_file $CONFIG_PATH/plane_300m_schar_mountain_float64_test.yml + --job_id gpu_plane_300m_schar_mountain_float64_test + artifact_paths: "gpu_plane_300m_schar_mountain_float64_test/output_active/*" env: - CLIMACOMMS_CONTEXT: "MPI" CLIMACOMMS_DEVICE: "CUDA" - timeout_in_minutes: 20 - soft_fail: - - exit_status: -1 - - exit_status: 255 agents: - slurm_gpus_per_task: 1 - slurm_ntasks: 2 - slurm_mem: 24G + slurm_gpus: 1 - - group: "MPI Examples" + # - label: "h_max = 350 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_350m_schar_mountain_float64_test.yml + # --job_id gpu_plane_350m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_350m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 400 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_400m_schar_mountain_float64_test.yml + # --job_id gpu_plane_400m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_400m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 450 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_450m_schar_mountain_float64_test.yml + # --job_id gpu_plane_450m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_450m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 500 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_500m_schar_mountain_float64_test.yml + # --job_id gpu_plane_500m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_500m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 550 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_550m_schar_mountain_float64_test.yml + # --job_id gpu_plane_550m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_550m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 600 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_600m_schar_mountain_float64_test.yml + # --job_id gpu_plane_600m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_600m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 650 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_650m_schar_mountain_float64_test.yml + # --job_id gpu_plane_650m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_650m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 700 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_700m_schar_mountain_float64_test.yml + # --job_id gpu_plane_700m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_700m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 750 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_750m_schar_mountain_float64_test.yml + # --job_id gpu_plane_750m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_750m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 800 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_800m_schar_mountain_float64_test.yml + # --job_id gpu_plane_800m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_800m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 850 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_850m_schar_mountain_float64_test.yml + # --job_id gpu_plane_850m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_850m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 900 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_900m_schar_mountain_float64_test.yml + # --job_id gpu_plane_900m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_900m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 950 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_950m_schar_mountain_float64_test.yml + # --job_id gpu_plane_950m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_950m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 1000 m with Float64" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_1000m_schar_mountain_float64_test.yml + # --job_id gpu_plane_1000m_schar_mountain_float64_test + # artifact_paths: "gpu_plane_1000m_schar_mountain_float64_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + - group: "Float32 Schar Mountain Tests" steps: - - label: ":computer: Prep restart for MPI" - key: "mpi_baro_wave_make_restart" - command: > - srun julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $MPI_CONFIG_PATH/mpi_make_restart.yml - --job_id mpi_make_restart - artifact_paths: "mpi_make_restart/output_active/*" - env: - CLIMACOMMS_CONTEXT: "MPI" - agents: - slurm_ntasks: 2 - slurm_mem: 16G - - - label: ":computer: Test restart for MPI baroclinic wave" - key: "restart_mpi_baro_wave" - depends_on: "mpi_baro_wave_make_restart" - command: > - tar xvf mpi_make_restart/output_active/hdf5_files.tar -C mpi_make_restart/output_active - - srun julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $MPI_CONFIG_PATH/restart_mpi_baroclinic_wave.yml - --job_id restart_mpi_baroclinic_wave - artifact_paths: "restart_mpi_baroclinic_wave/output_active/*" - env: - CLIMACOMMS_CONTEXT: "MPI" - agents: - slurm_ntasks: 2 - slurm_mem: 16G - timeout_in_minutes: 20 - soft_fail: true - #retry: - # automatic: true - - - label: ":computer: MPI no lim aquaplanet equilmoist clearsky radiation" + - label: "h_max = 0.000000001 m with Float32" command: > - srun julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $MPI_CONFIG_PATH/mpi_aquaplanet_equil_clearsky.yml - --job_id mpi_aquaplanet_equil_clearsky - artifact_paths: "mpi_aquaplanet_equil_clearsky/output_active/*" + julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + --config_file $CONFIG_PATH/plane_0.000000001m_schar_mountain_float32_test.yml + --job_id gpu_plane_0.000000001m_schar_mountain_float32_test + artifact_paths: "gpu_plane_0.000000001m_schar_mountain_float32_test/output_active/*" env: - CLIMACOMMS_CONTEXT: "MPI" + CLIMACOMMS_DEVICE: "CUDA" agents: - slurm_ntasks: 2 - slurm_mem: 16GB + slurm_gpus: 1 - - label: ":computer: Prep for calling remap pipeline" - key: "prep_remap" - command: > - srun julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $MPI_CONFIG_PATH/prep_remap.yml - --job_id prep_remap - artifact_paths: "prep_remap/output_active/*" + # - label: "h_max = 0.000000002 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000002m_schar_mountain_float32_test.yml + # --job_id gpu_plane_0.000000002m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_0.000000002m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000004 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000004m_schar_mountain_float32_test.yml + # --job_id gpu_plane_0.000000004m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_0.000000004m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000008 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000008m_schar_mountain_float32_test.yml + # --job_id gpu_plane_0.000000008m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_0.000000008m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000016 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000016m_schar_mountain_float32_test.yml + # --job_id gpu_plane_0.000000016m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_0.000000016m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000032 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000032m_schar_mountain_float32_test.yml + # --job_id gpu_plane_0.000000032m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_0.000000032m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000064 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000064m_schar_mountain_float32_test.yml + # --job_id gpu_plane_0.000000064m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_0.000000064m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000128 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000128m_schar_mountain_float32_test.yml + # --job_id gpu_plane_0.000000128m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_0.000000128m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000160 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000160m_schar_mountain_float32_test.yml + # --job_id gpu_plane_0.000000160m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_0.000000160m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000192 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000192m_schar_mountain_float32_test.yml + # --job_id gpu_plane_0.000000192m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_0.000000192m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000224 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000224m_schar_mountain_float32_test.yml + # --job_id gpu_plane_0.000000224m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_0.000000224m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000228 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000228m_schar_mountain_float32_test.yml + # --job_id gpu_plane_0.000000228m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_0.000000228m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000232 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000232m_schar_mountain_float32_test.yml + # --job_id gpu_plane_0.000000232m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_0.000000232m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000236 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000236m_schar_mountain_float32_test.yml + # --job_id gpu_plane_0.000000236m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_0.000000236m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000240 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000240m_schar_mountain_float32_test.yml + # --job_id gpu_plane_0.000000240m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_0.000000240m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000244 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000244m_schar_mountain_float32_test.yml + # --job_id gpu_plane_0.000000244m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_0.000000244m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000248 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000248m_schar_mountain_float32_test.yml + # --job_id gpu_plane_0.000000248m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_0.000000248m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000252 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000252m_schar_mountain_float32_test.yml + # --job_id gpu_plane_0.000000252m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_0.000000252m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000256 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000256m_schar_mountain_float32_test.yml + # --job_id gpu_plane_0.000000256m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_0.000000256m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000000512 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000000512m_schar_mountain_float32_test.yml + # --job_id gpu_plane_0.000000512m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_0.000000512m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 0.000001024 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.000001024m_schar_mountain_float32_test.yml + # --job_id gpu_plane_0.000001024m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_0.000001024m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + - label: "h_max = 0.00001 m with Float32" + command: > + julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + --config_file $CONFIG_PATH/plane_0.00001m_schar_mountain_float32_test.yml + --job_id gpu_plane_0.00001m_schar_mountain_float32_test + artifact_paths: "gpu_plane_0.00001m_schar_mountain_float32_test/output_active/*" env: - CLIMACOMMS_CONTEXT: "MPI" - agents: - slurm_ntasks: 2 - slurm_mem: 16G - - - label: ":computer: Exercise remap pipeline" - depends_on: "prep_remap" - command: > - tar xvf prep_remap/output_active/hdf5_files.tar -C prep_remap/output_active - - julia --color=yes --project=.buildkite post_processing/remap/remap_pipeline.jl - --data_dir prep_remap/output_active --out_dir remap_pipeline_output - artifact_paths: "remap_pipeline_output/*" - - - group: "EDOnlyEDMFX" - steps: - - - label: ":man_in_business_suit_levitating: EDOnly EDMFX aquaplanet" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze31.yml - --config_file $CONFIG_PATH/edonly_edmfx_aquaplanet.yml - --job_id edonly_edmfx_aquaplanet - artifact_paths: "edonly_edmfx_aquaplanet/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":man_in_business_suit_levitating: AMIP Target EDOnly nonequil" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he16ze63.yml - --config_file $CONFIG_PATH/amip_target_edonly_nonequil.yml - --job_id amip_target_edonly_nonequil - artifact_paths: "amip_target_edonly_nonequil/output_active/*" - agents: - slurm_mem: 20GB - - - group: "Diagnostic EDMFX" - steps: - - - label: ":genie: Diagnostic EDMFX test in a box" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/diagnostic_edmfx_test_box.yml - --job_id diagnostic_edmfx_test_box - artifact_paths: "diagnostic_edmfx_test_box/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":genie: Diagnostic EDMFX GABLS in a box" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/diagnostic_edmfx_gabls_box.yml - --job_id diagnostic_edmfx_gabls_box - artifact_paths: "diagnostic_edmfx_gabls_box/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":genie: Diagnostic EDMFX Bomex in a box" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/diagnostic_edmfx_bomex_box.yml - --job_id diagnostic_edmfx_bomex_box - artifact_paths: "diagnostic_edmfx_bomex_box/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":genie: Diagnostic EDMFX Bomex stretched grid in a box" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/diagnostic_edmfx_bomex_stretched_box.yml - --job_id diagnostic_edmfx_bomex_stretched_box - artifact_paths: "diagnostic_edmfx_bomex_stretched_box/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":genie: Diagnostic EDMFX DYCOMS_RF01 in a box (explicit)" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/diagnostic_edmfx_dycoms_rf01_explicit_box.yml - --job_id diagnostic_edmfx_dycoms_rf01_explicit_box - artifact_paths: "diagnostic_edmfx_dycoms_rf01_explicit_box/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":genie: Diagnostic EDMFX DYCOMS_RF01 in a box" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/diagnostic_edmfx_dycoms_rf01_box.yml - --job_id diagnostic_edmfx_dycoms_rf01_box - artifact_paths: "diagnostic_edmfx_dycoms_rf01_box/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":umbrella: Diagnostic EDMFX DYCOMS_RF02 in a box" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/diagnostic_edmfx_dycoms_rf02_box.yml - --job_id diagnostic_edmfx_dycoms_rf02_box - artifact_paths: "diagnostic_edmfx_dycoms_rf02_box/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":umbrella: Diagnostic EDMFX Rico in a box" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/diagnostic_edmfx_rico_box.yml - --job_id diagnostic_edmfx_rico_box - artifact_paths: "diagnostic_edmfx_rico_box/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":umbrella: Diagnostic EDMFX TRMM in a box" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/diagnostic_edmfx_trmm_box.yml - --job_id diagnostic_edmfx_trmm_box - artifact_paths: "diagnostic_edmfx_trmm_box/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":umbrella: Diagnostic EDMFX TRMM stretched grid in a box" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/diagnostic_edmfx_trmm_stretched_box.yml - --job_id diagnostic_edmfx_trmm_stretched_box - artifact_paths: "diagnostic_edmfx_trmm_stretched_box/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":genie: Diagnostic EDMFX TRMM 0M in a box" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/diagnostic_edmfx_trmm_box_0M.yml - --job_id diagnostic_edmfx_trmm_box_0M - artifact_paths: "diagnostic_edmfx_trmm_box_0M/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":genie: Diagnostic EDMFX aquaplanet" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze31.yml - --config_file $CONFIG_PATH/diagnostic_edmfx_aquaplanet.yml - --job_id diagnostic_edmfx_aquaplanet - - julia --color=yes --project=.buildkite reproducibility_tests/test_mse.jl - --job_id diagnostic_edmfx_aquaplanet - --out_dir diagnostic_edmfx_aquaplanet/output_active - artifact_paths: "diagnostic_edmfx_aquaplanet/output_active/*" - agents: - slurm_mem: 20GB - slurm_constraint: icelake|cascadelake|skylake|epyc - - - group: "Prognostic EDMFX" - steps: - - - label: ":genie: Prognostic EDMFX advection test in a column" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_adv_test_column.yml - --job_id prognostic_edmfx_adv_test_column - artifact_paths: "prognostic_edmfx_adv_test_column/output_active/*" - - agents: - slurm_mem: 20GB - - - label: ":genie: Prognostic EDMFX simple plume test in a column" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_simpleplume_column.yml - --job_id prognostic_edmfx_simpleplume_column - artifact_paths: "prognostic_edmfx_simpleplume_column/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":genie: Prognostic EDMFX Soares in a column" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_soares_column.yml - --job_id prognostic_edmfx_soares_column - artifact_paths: "prognostic_edmfx_soares_column/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":genie: Prognostic EDMFX GABLS in a column" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_gabls_column.yml - --job_id prognostic_edmfx_gabls_column - artifact_paths: "prognostic_edmfx_gabls_column/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":genie: Prognostic EDMFX Bomex in a column (pi group)" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_bomex_pigroup_column.yml - --job_id prognostic_edmfx_bomex_pigroup_column - artifact_paths: "prognostic_edmfx_bomex_pigroup_column/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":genie: Prognostic EDMFX Bomex with precribed TKE in a column" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_bomex_fixtke_column.yml - --job_id prognostic_edmfx_bomex_fixtke_column - artifact_paths: "prognostic_edmfx_bomex_fixtke_column/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":genie: Prognostic EDMFX Bomex stretched grid in a column" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_bomex_stretched_column.yml - --job_id prognostic_edmfx_bomex_stretched_column - artifact_paths: "prognostic_edmfx_bomex_stretched_column/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":genie: Prognostic EDMFX Bomex in a column" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_bomex_column.yml - --job_id prognostic_edmfx_bomex_column - artifact_paths: "prognostic_edmfx_bomex_column/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":genie: Prognostic EDMFX Bomex in a column (implicit)" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_bomex_implicit_column.yml - --job_id prognostic_edmfx_bomex_implicit_column - artifact_paths: "prognostic_edmfx_bomex_implicit_column/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":genie: Prognostic EDMFX Dycoms RF01 in a column" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_dycoms_rf01_column.yml - --job_id prognostic_edmfx_dycoms_rf01_column - artifact_paths: "prognostic_edmfx_dycoms_rf01_column/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":genie: Prognostic EDMFX Dycoms RF02 in a column" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_dycoms_rf02_column.yml - --job_id prognostic_edmfx_dycoms_rf02_column - artifact_paths: "prognostic_edmfx_dycoms_rf02_column/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":umbrella: Prognostic EDMFX Rico in a column" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_rico_column.yml - --job_id prognostic_edmfx_rico_column - artifact_paths: "prognostic_edmfx_rico_column/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":umbrella: Prognostic EDMFX Rico in a column (implicit)" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_rico_implicit_column.yml - --job_id prognostic_edmfx_rico_implicit_column - artifact_paths: "prognostic_edmfx_rico_implicit_column/output_active/*" - agents: - slurm_mem: 20GB - soft_fail: true - - - label: ":umbrella: Prognostic EDMFX Rico with 2-moment in a column" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_rico_column_2M.yml - --job_id prognostic_edmfx_rico_column_2M - artifact_paths: "prognostic_edmfx_rico_column_2M/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":umbrella: Prognostic EDMFX TRMM in a column" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_trmm_column.yml - --job_id prognostic_edmfx_trmm_column - artifact_paths: "prognostic_edmfx_trmm_column/output_active/*" - agents: - slurm_mem: 20GB - soft_fail: true - - - label: ":genie: Prognostic EDMFX TRMM with 0-moment in a column" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_trmm_column_0M.yml - --job_id prognostic_edmfx_trmm_column_0M - artifact_paths: "prognostic_edmfx_trmm_column_0M/output_active/*" - agents: - slurm_mem: 20GB - - - label: ":genie: Prognostic EDMFX GCM driven in a column" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_gcmdriven_column.yml - --job_id prognostic_edmfx_gcmdriven_column - artifact_paths: "prognostic_edmfx_gcmdriven_column/output_active/*" - agents: - slurm_mem: 20GB - soft_fail: true - - - label: ":genie: Prognostic EDMFX ERA5 Time Varying driven in a column" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_tv_era5driven_column.yml - --job_id prognostic_edmfx_tv_era5driven_column - artifact_paths: "prognostic_edmfx_tv_era5driven_column/output_active/*" - agents: - slurm_mem: 12GB - - - label: ":thunder_cloud_and_rain: Prognostic EDMFX ERA5 monthly averaged diurnal driven in a column" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_diurnal_scm_imp.yml - --job_id prognostic_edmfx_diurnal_scm_imp - artifact_paths: "prognostic_edmfx_diurnal_scm_imp/output_active/*" - agents: - slurm_mem: 12GB - - - label: ":genie: Prognostic EDMFX Bomex in a box" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_bomex_box.yml - --job_id prognostic_edmfx_bomex_box - artifact_paths: "prognostic_edmfx_bomex_box/*" - agents: - slurm_mem: 20GB - - - label: ":genie: Prognostic EDMFX aquaplanet" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze31.yml - --config_file $CONFIG_PATH/prognostic_edmfx_aquaplanet.yml - --job_id prognostic_edmfx_aquaplanet - - julia --color=yes --project=.buildkite reproducibility_tests/test_mse.jl - --job_id prognostic_edmfx_aquaplanet - --out_dir prognostic_edmfx_aquaplanet/output_active - artifact_paths: "prognostic_edmfx_aquaplanet/output_active/*" - agents: - slurm_mem: 20GB - slurm_constraint: icelake|cascadelake|skylake|epyc - - - group: "Autodiff" - steps: - - - label: "baroclinic wave moist check conservation float64 sparse autodiff" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl --config_file $CONFIG_PATH/baroclinic_wave_equil_conservation_ft64_sparse_autodiff.yml - --job_id baroclinic_wave_equil_conservation_ft64_sparse_autodiff - artifact_paths: "baroclinic_wave_equil_conservation_ft64_sparse_autodiff/output_active/*" - soft_fail: true - - - label: "baroclinic wave dense autodiff" - key: baroclinic_wave_dense_autodiff - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze10.yml - --config_file $CONFIG_PATH/baroclinic_wave_dense_autodiff.yml - --job_id baroclinic_wave_dense_autodiff - artifact_paths: "baroclinic_wave_dense_autodiff/output_active/*" - - - label: "baroclinic wave sparse autodiff" - key: baroclinic_wave_sparse_autodiff - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze10.yml - --config_file $CONFIG_PATH/baroclinic_wave_sparse_autodiff.yml - --job_id baroclinic_wave_sparse_autodiff - artifact_paths: "baroclinic_wave_sparse_autodiff/output_active/*" - - - label: "Prognostic EDMFX GABLS in a column sparse autodiff" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_gabls_column_sparse_autodiff.yml - --job_id prognostic_edmfx_gabls_column_sparse_autodiff - artifact_paths: "prognostic_edmfx_gabls_column_sparse_autodiff/output_active/*" + CLIMACOMMS_DEVICE: "CUDA" agents: - slurm_mem: 20GB + slurm_gpus: 1 - - label: "Prognostic EDMFX Bomex in a column sparse autodiff" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_bomex_column_sparse_autodiff.yml - --job_id prognostic_edmfx_bomex_column_sparse_autodiff - artifact_paths: "prognostic_edmfx_bomex_column_sparse_autodiff/output_active/*" - agents: - slurm_mem: 20GB - - - label: "Prognostic EDMFX Dycoms RF02 in a column sparse autodiff" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_dycoms_rf02_column_sparse_autodiff.yml - --job_id prognostic_edmfx_dycoms_rf02_column_sparse_autodiff - artifact_paths: "prognostic_edmfx_dycoms_rf02_column_sparse_autodiff/output_active/*" - agents: - slurm_mem: 20GB - soft_fail: true - - - label: "Prognostic EDMFX TRMM in a column sparse autodiff" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/prognostic_edmfx_trmm_column_sparse_autodiff.yml - --job_id prognostic_edmfx_trmm_column_sparse_autodiff - artifact_paths: "prognostic_edmfx_trmm_column_sparse_autodiff/output_active/*" - agents: - slurm_mem: 20GB - soft_fail: true + # - label: "h_max = 0.0001 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_0.0001m_schar_mountain_float32_test.yml + # --job_id gpu_plane_0.0001m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_0.0001m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 - - label: "Prognostic EDMFX aquaplanet dense autodiff" + - label: "h_max = 0.001 m with Float32" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze31.yml - --config_file $CONFIG_PATH/prognostic_edmfx_aquaplanet_dense_autodiff.yml - --job_id prognostic_edmfx_aquaplanet_dense_autodiff - artifact_paths: "prognostic_edmfx_aquaplanet_dense_autodiff/output_active/*" - agents: - slurm_mem: 20GB - - - label: "Prognostic EDMFX aquaplanet sparse autodiff" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze31.yml - --config_file $CONFIG_PATH/prognostic_edmfx_aquaplanet_sparse_autodiff.yml - --job_id prognostic_edmfx_aquaplanet_sparse_autodiff - artifact_paths: "prognostic_edmfx_aquaplanet_sparse_autodiff/output_active/*" - agents: - slurm_mem: 20GB - - - label: "AMIP Target EDOnly nonequil sparse autodiff" - command: > - julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he16ze63.yml - --config_file $CONFIG_PATH/amip_target_edonly_nonequil_sparse_autodiff.yml - --job_id amip_target_edonly_nonequil_sparse_autodiff - artifact_paths: "amip_target_edonly_nonequil_sparse_autodiff/output_active/*" + --config_file $CONFIG_PATH/plane_0.001m_schar_mountain_float32_test.yml + --job_id gpu_plane_0.001m_schar_mountain_float32_test + artifact_paths: "gpu_plane_0.001m_schar_mountain_float32_test/output_active/*" + env: + CLIMACOMMS_DEVICE: "CUDA" agents: - slurm_mem: 40GB - - - group: "GPU" - steps: + slurm_gpus: 1 - - label: "GPU: Gravity waves" + - label: "h_max = 0.01 m with Float32" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $CONFIG_PATH/sphere_nonorographic_gravity_wave.yml - --job_id sphere_nonorographic_gravity_wave - artifact_paths: "sphere_nonorographic_gravity_wave/*" + --config_file $CONFIG_PATH/plane_0.01m_schar_mountain_float32_test.yml + --job_id gpu_plane_0.01m_schar_mountain_float32_test + artifact_paths: "gpu_plane_0.01m_schar_mountain_float32_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: slurm_gpus: 1 - slurm_mem: 16GB - - label: "GPU: baroclinic wave" - key: "baroclinic_wave_gpu" + - label: "h_max = 0.1 m with Float32" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze10.yml - --config_file $CONFIG_PATH/baroclinic_wave.yml - --job_id baroclinic_wave_gpu - artifact_paths: "baroclinic_wave_gpu/output_active/*" + --config_file $CONFIG_PATH/plane_0.1m_schar_mountain_float32_test.yml + --job_id gpu_plane_0.1m_schar_mountain_float32_test + artifact_paths: "gpu_plane_0.1m_schar_mountain_float32_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: slurm_gpus: 1 - slurm_mem: 16GB - - label: "GPU: baroclinic wave dense autodiff" - key: "baroclinic_wave_gpu_dense_autodiff" + - label: "h_max = 1 m with Float32" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze10.yml - --config_file $CONFIG_PATH/baroclinic_wave_dense_autodiff.yml - --job_id baroclinic_wave_gpu_dense_autodiff - artifact_paths: "baroclinic_wave_gpu_dense_autodiff/output_active/*" + --config_file $CONFIG_PATH/plane_1m_schar_mountain_float32_test.yml + --job_id gpu_plane_1m_schar_mountain_float32_test + artifact_paths: "gpu_plane_1m_schar_mountain_float32_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: slurm_gpus: 1 - slurm_mem: 16GB - - label: "GPU: baroclinic wave sparse autodiff" - key: "baroclinic_wave_gpu_sparse_autodiff" + - label: "h_max = 3 m with Float32" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze10.yml - --config_file $CONFIG_PATH/baroclinic_wave_sparse_autodiff.yml - --job_id baroclinic_wave_gpu_sparse_autodiff - artifact_paths: "baroclinic_wave_gpu_sparse_autodiff/output_active/*" + --config_file $CONFIG_PATH/plane_3m_schar_mountain_float32_test.yml + --job_id gpu_plane_3m_schar_mountain_float32_test + artifact_paths: "gpu_plane_3m_schar_mountain_float32_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: slurm_gpus: 1 - slurm_mem: 16GB - - label: "GPU: compare BW with CPU" + - label: "h_max = 6 m with Float32" command: > - tar xvf baroclinic_wave/output_active/hdf5_files.tar -C baroclinic_wave - - tar xvf baroclinic_wave_gpu/output_active/hdf5_files.tar -C baroclinic_wave_gpu - - julia --color=yes --project=.buildkite post_processing/compare_outputs.jl - --output_folder_1 baroclinic_wave - --output_folder_2 baroclinic_wave_gpu --t_end 10days - --compare_state false - depends_on: - - "baroclinic_wave" - - "baroclinic_wave_gpu" - - - - label: "GPU: baroclinic wave - 2 gpus" - key: "baroclinic_wave_2gpu" - command: - - mkdir -p baroclinic_wave_2gpu - # - > - # srun --cpu-bind=threads --cpus-per-task=4 - # nsys profile --delay 100 --trace=nvtx,cuda,mpi --output=baroclinic_wave_2gpu/output_active/report-%q{PMI_RANK} - # julia --threads=3 --color=yes --project=.buildkite .buildkite/ci_driver.jl - # --config_file ${CONFIG_PATH}/baroclinic_wave.yml - # --job_id baroclinic_wave_2gpu - - > - srun --cpu-bind=threads --cpus-per-task=4 - julia --threads=3 --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze10.yml - --config_file ${CONFIG_PATH}/baroclinic_wave.yml - --job_id baroclinic_wave_2gpu - artifact_paths: "baroclinic_wave_2gpu/output_active/*" + julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + --config_file $CONFIG_PATH/plane_6m_schar_mountain_float32_test.yml + --job_id gpu_plane_6m_schar_mountain_float32_test + artifact_paths: "gpu_plane_6m_schar_mountain_float32_test/output_active/*" env: - CLIMACOMMS_CONTEXT: "MPI" CLIMACOMMS_DEVICE: "CUDA" agents: - slurm_gpus_per_task: 1 - slurm_cpus_per_task: 4 - slurm_ntasks: 2 - slurm_mem: 16GB + slurm_gpus: 1 - - label: "GPU: test DYAMOND interpolated initial conditions" + - label: "h_max = 12 m with Float32" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $GPU_CONFIG_PATH/gpu_aquaplanet_dyamond_summer.yml - --job_id gpu_aquaplanet_dyamond_summer - artifact_paths: "gpu_aquaplanet_dyamond_summer/output_active/*" + --config_file $CONFIG_PATH/plane_12m_schar_mountain_float32_test.yml + --job_id gpu_plane_12m_schar_mountain_float32_test + artifact_paths: "gpu_plane_12m_schar_mountain_float32_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: slurm_gpus: 1 - slurm_mem: 16GB - - label: ":earth_americas: GPU: Diagnostic EDMFX ERA5 Weather Model Initial Condition" + - label: "h_max = 25 m with Float32" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze31.yml - --config_file $CONFIG_PATH/diagnostic_edmfx_era5_initial_condition.yml - --job_id diagnostic_edmfx_era5_initial_condition - artifact_paths: "diagnostic_edmfx_era5_initial_condition/output_active/*" + --config_file $CONFIG_PATH/plane_25m_schar_mountain_float32_test.yml + --job_id gpu_plane_25m_schar_mountain_float32_test + artifact_paths: "gpu_plane_25m_schar_mountain_float32_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: slurm_gpus: 1 - slurm_mem: 16GB - - label: "GPU: EDOnly EDMFX aquaplanet" + - label: "h_max = 50 m with Float32" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze31.yml - --config_file $CONFIG_PATH/edonly_edmfx_aquaplanet.yml - --job_id edonly_edmfx_aquaplanet_gpu - artifact_paths: "edonly_edmfx_aquaplanet_gpu/output_active/*" + --config_file $CONFIG_PATH/plane_50m_schar_mountain_float32_test.yml + --job_id gpu_plane_50m_schar_mountain_float32_test + artifact_paths: "gpu_plane_50m_schar_mountain_float32_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: slurm_gpus: 1 - slurm_mem: 20GB - - label: "GPU: Diagnostic EDMFX aquaplanet" - key: "diagnostic_edmfx_aquaplanet_gpu" + - label: "h_max = 75 m with Float32" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze31.yml - --config_file $CONFIG_PATH/diagnostic_edmfx_aquaplanet_gpu.yml - --job_id diagnostic_edmfx_aquaplanet_gpu - artifact_paths: "diagnostic_edmfx_aquaplanet_gpu/output_active/*" + --config_file $CONFIG_PATH/plane_75m_schar_mountain_float32_test.yml + --job_id gpu_plane_75m_schar_mountain_float32_test + artifact_paths: "gpu_plane_75m_schar_mountain_float32_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: slurm_gpus: 1 - slurm_mem: 20GB - - label: "GPU: Prognostic EDMFX aquaplanet" + - label: "h_max = 100 m with Float32" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze31.yml - --config_file $CONFIG_PATH/prognostic_edmfx_aquaplanet_gpu.yml - --job_id prognostic_edmfx_aquaplanet_gpu - artifact_paths: "prognostic_edmfx_aquaplanet_gpu/output_active/*" + --config_file $CONFIG_PATH/plane_100m_schar_mountain_float32_test.yml + --job_id gpu_plane_100m_schar_mountain_float32_test + artifact_paths: "gpu_plane_100m_schar_mountain_float32_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: slurm_gpus: 1 - slurm_mem: 20GB - - label: "GPU: Prognostic EDMFX aquaplanet dense autodiff" + - label: "h_max = 125 m with Float32" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze31.yml - --config_file $CONFIG_PATH/prognostic_edmfx_aquaplanet_gpu_dense_autodiff.yml - --job_id prognostic_edmfx_aquaplanet_gpu_dense_autodiff - artifact_paths: "prognostic_edmfx_aquaplanet_gpu_dense_autodiff/output_active/*" + --config_file $CONFIG_PATH/plane_125m_schar_mountain_float32_test.yml + --job_id gpu_plane_125m_schar_mountain_float32_test + artifact_paths: "gpu_plane_125m_schar_mountain_float32_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: slurm_gpus: 1 - slurm_mem: 20GB - - label: "GPU: Prognostic EDMFX aquaplanet sparse autodiff" + - label: "h_max = 150 m with Float32" command: > julia --color=yes --project=.buildkite .buildkite/ci_driver.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze31.yml - --config_file $CONFIG_PATH/prognostic_edmfx_aquaplanet_gpu_sparse_autodiff.yml - --job_id prognostic_edmfx_aquaplanet_gpu_sparse_autodiff - artifact_paths: "prognostic_edmfx_aquaplanet_gpu_sparse_autodiff/output_active/*" + --config_file $CONFIG_PATH/plane_150m_schar_mountain_float32_test.yml + --job_id gpu_plane_150m_schar_mountain_float32_test + artifact_paths: "gpu_plane_150m_schar_mountain_float32_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: slurm_gpus: 1 - slurm_mem: 20GB - - - group: "Benchmarks" - steps: - - - label: ":computer: Benchmark: CPU baroclinic wave moist" - command: > - julia --color=yes --project=.buildkite perf/benchmark_step.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze10.yml - --config_file $PERF_CONFIG_PATH/bm_baroclinic_wave_moist.yml - --job_id bm_baroclinic_wave_moist - artifact_paths: "bm_baroclinic_wave_moist/output_active/*" - - label: ":computer: Benchmark: GPU baroclinic wave moist" + - label: "h_max = 175 m with Float32" command: > - julia --color=yes --project=.buildkite perf/benchmark_step.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze10.yml - --config_file $PERF_CONFIG_PATH/bm_baroclinic_wave_moist.yml - --job_id bm_baroclinic_wave_moist_gpu - artifact_paths: "bm_baroclinic_wave_moist_gpu/output_active/*" + julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + --config_file $CONFIG_PATH/plane_175m_schar_mountain_float32_test.yml + --job_id gpu_plane_175m_schar_mountain_float32_test + artifact_paths: "gpu_plane_175m_schar_mountain_float32_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: - slurm_mem: 16G slurm_gpus: 1 - - label: ":computer: Benchmark: CPU default" - command: > - julia --color=yes --project=.buildkite perf/benchmark.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he16ze63.yml - --config_file $PERF_CONFIG_PATH/bm_default.yml - --job_id bm_default - agents: - slurm_mem: 24GB - - - label: ":computer: Benchmark: GPU default" + - label: "h_max = 200 m with Float32" command: > - julia --color=yes --project=.buildkite perf/benchmark.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he16ze63.yml - --config_file $PERF_CONFIG_PATH/bm_default.yml - --job_id bm_default_gpu + julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + --config_file $CONFIG_PATH/plane_200m_schar_mountain_float32_test.yml + --job_id gpu_plane_200m_schar_mountain_float32_test + artifact_paths: "gpu_plane_200m_schar_mountain_float32_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: - slurm_mem: 24GB slurm_gpus: 1 - - label: ":computer: Benchmark: GPU diag edmf" + - label: "h_max = 225 m with Float32" command: > - julia --color=yes --project=.buildkite perf/benchmark.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze31.yml - --config_file $PERF_CONFIG_PATH/bm_aquaplanet_diagedmf.yml - --job_id bm_diag_edmf_gpu + julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + --config_file $CONFIG_PATH/plane_225m_schar_mountain_float32_test.yml + --job_id gpu_plane_225m_schar_mountain_float32_test + artifact_paths: "gpu_plane_225m_schar_mountain_float32_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: - slurm_mem: 24GB slurm_gpus: 1 - - label: ":computer: Benchmark: GPU prog edmf" + - label: "h_max = 250 m with Float32" command: > - julia --color=yes --project=.buildkite perf/benchmark.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze31.yml - --config_file $PERF_CONFIG_PATH/bm_aquaplanet_progedmf.yml - --job_id bm_prog_edmf_gpu + julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + --config_file $CONFIG_PATH/plane_250m_schar_mountain_float32_test.yml + --job_id gpu_plane_250m_schar_mountain_float32_test + artifact_paths: "gpu_plane_250m_schar_mountain_float32_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: - slurm_mem: 24GB slurm_gpus: 1 - - group: "Flame graphs" - steps: - - - label: ":fire: Flame graph: gpu job" + - label: "h_max = 300 m with Float32" command: > - julia --color=yes --project=.buildkite perf/flame.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he6ze10.yml - --config_file $PERF_CONFIG_PATH/bm_baroclinic_wave_moist.yml - --job_id flame_baroclinic_wave_moist_gpu - artifact_paths: "flame_baroclinic_wave_moist_gpu/*" + julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + --config_file $CONFIG_PATH/plane_300m_schar_mountain_float32_test.yml + --job_id gpu_plane_300m_schar_mountain_float32_test + artifact_paths: "gpu_plane_300m_schar_mountain_float32_test/output_active/*" env: CLIMACOMMS_DEVICE: "CUDA" agents: - slurm_mem: 48GB slurm_gpus: 1 - gres: "gpu:p100:1" - - - label: ":fire: Flame graph: perf target " - command: > - julia --color=yes --project=.buildkite perf/flame.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he16ze63.yml - --config_file $PERF_CONFIG_PATH/bm_default.yml - --job_id flame_default - artifact_paths: "flame_default/*" - agents: - slurm_mem: 24GB - - - label: ":fire: Flame graph: 1 moment" - command: > - julia --color=yes --project=.buildkite perf/flame.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he16ze63.yml - --config_file $PERF_CONFIG_PATH/bm_default_1m.yml - --job_id flame_default_1m - artifact_paths: "flame_default_1m/*" - agents: - slurm_mem: 24GB - - - label: ":fire: Flame graph: diagnostics" - command: > - julia --color=yes --project=.buildkite perf/flame.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he16ze63.yml - --config_file $PERF_CONFIG_PATH/bm_diagnostics.yml - --job_id flame_diagnostics - artifact_paths: "flame_diagnostics/*" - agents: - slurm_mem: 24GB - - - label: ":fire: Flame graph: diagnostics edmf" - command: > - julia --color=yes --project=.buildkite perf/flame.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he16ze63.yml - --config_file $PERF_CONFIG_PATH/bm_aquaplanet_diagedmf.yml - --job_id flame_aquaplanet_diagedmf - artifact_paths: "flame_aquaplanet_diagedmf/*" - agents: - slurm_mem: 24GB - - - label: ":fire: Flame graph: prognostic edmf" - command: > - julia --color=yes --project=.buildkite perf/flame.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he16ze63.yml - --config_file $PERF_CONFIG_PATH/bm_aquaplanet_progedmf.yml - --job_id flame_aquaplanet_progedmf - artifact_paths: "flame_aquaplanet_progedmf/*" - agents: - slurm_mem: 32GB - - - label: ":fire: Flame graph: prognostic edmf dense autodiff" - command: > - julia --color=yes --project=.buildkite perf/flame.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he16ze63.yml - --config_file $PERF_CONFIG_PATH/bm_aquaplanet_progedmf_dense_autodiff.yml - --job_id flame_aquaplanet_progedmf_dense_autodiff - artifact_paths: "flame_aquaplanet_progedmf_dense_autodiff/*" - agents: - slurm_mem: 32GB - soft_fail: true - - - label: ":fire: Flame graph: prognostic edmf sparse autodiff" - command: > - julia --color=yes --project=.buildkite perf/flame.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he16ze63.yml - --config_file $PERF_CONFIG_PATH/bm_aquaplanet_progedmf_sparse_autodiff.yml - --job_id flame_aquaplanet_progedmf_sparse_autodiff - artifact_paths: "flame_aquaplanet_progedmf_sparse_autodiff/*" - agents: - slurm_mem: 32GB - - - label: ":fire: Flame graph: diffusion" - command: > - julia --color=yes --project=.buildkite perf/flame.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he16ze63.yml - --config_file $PERF_CONFIG_PATH/bm_diffusion.yml - --job_id flame_diffusion - artifact_paths: "flame_diffusion/*" - agents: - slurm_mem: 24GB - - - label: ":fire: Flame graph: perf target (Callbacks)" - command: > - julia --color=yes --project=.buildkite perf/flame.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he16ze63.yml - --config_file $PERF_CONFIG_PATH/bm_callbacks.yml - --job_id flame_callbacks - artifact_paths: "flame_callbacks/*" - agents: - slurm_mem: 24GB - - - label: ":fire: Flame graph: gravity wave" - command: > - julia --color=yes --project=.buildkite perf/flame.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he16ze63.yml - --config_file $PERF_CONFIG_PATH/bm_gravity_wave.yml - --job_id flame_gravity_wave - artifact_paths: "flame_gravity_wave/*" - agents: - slurm_mem: 24GB - - - group: "Checkbounds/Inference/Invalidations" - steps: - - # TODO: we should somehow decouple this unit test from the perf env / scripts - # Checkbounds - - label: ":computer: checkbounds" - command: > - julia --color=yes --check-bounds=yes --project=.buildkite perf/benchmark.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he16ze63.yml - --config_file $PERF_CONFIG_PATH/bm_default.yml - --job_id checkbounds - artifact_paths: "checkbounds/output_active/*" - agents: - slurm_mem: 20GB - - # Inference - - label: ":rocket: JET n-failures (inference)" - command: > - julia --color=yes --project=.buildkite perf/jet_test_nfailures.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he16ze63.yml - --config_file $PERF_CONFIG_PATH/bm_default.yml - --job_id jet_n_failures - agents: - slurm_mem: 24GB - - # Latency - - label: ":mag::rocket: Invalidations" - command: > - julia --color=yes --project=.buildkite perf/invalidations.jl - --config_file $COMMON_CONFIG_PATH/numerics_sphere_he16ze63.yml - --config_file $PERF_CONFIG_PATH/bm_default.yml - artifact_paths: "invalidations/*" - agents: - slurm_mem: 24GB - - - wait: ~ - continue_on_failure: true - - - label: ":robot_face: Print new mse tables" - command: "julia --color=yes --project=.buildkite reproducibility_tests/mse_summary.jl" - - - label: ":robot_face: Print new reference counter" - command: "julia --color=yes --project=.buildkite reproducibility_tests/print_new_ref_counter.jl" - - - label: ":bar_chart: Tabulate performance summary" - command: "julia --color=yes --project=.buildkite perf/tabulate_perf_summary.jl" - - # - label: ":chart_with_downwards_trend: build history" - # command: - # - build_history main - # artifact_paths: - # - "build_history.html" - - - wait - - label: ":robot_face: Move main results" - command: "julia --color=yes --project=.buildkite reproducibility_tests/move_output.jl" + # - label: "h_max = 350 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_350m_schar_mountain_float32_test.yml + # --job_id gpu_plane_350m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_350m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 400 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_400m_schar_mountain_float32_test.yml + # --job_id gpu_plane_400m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_400m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 450 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_450m_schar_mountain_float32_test.yml + # --job_id gpu_plane_450m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_450m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 500 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_500m_schar_mountain_float32_test.yml + # --job_id gpu_plane_500m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_500m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 550 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_550m_schar_mountain_float32_test.yml + # --job_id gpu_plane_550m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_550m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 600 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_600m_schar_mountain_float32_test.yml + # --job_id gpu_plane_600m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_600m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 650 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_650m_schar_mountain_float32_test.yml + # --job_id gpu_plane_650m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_650m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 700 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_700m_schar_mountain_float32_test.yml + # --job_id gpu_plane_700m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_700m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 750 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_750m_schar_mountain_float32_test.yml + # --job_id gpu_plane_750m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_750m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 800 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_800m_schar_mountain_float32_test.yml + # --job_id gpu_plane_800m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_800m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 850 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_850m_schar_mountain_float32_test.yml + # --job_id gpu_plane_850m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_850m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 900 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_900m_schar_mountain_float32_test.yml + # --job_id gpu_plane_900m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_900m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 950 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_950m_schar_mountain_float32_test.yml + # --job_id gpu_plane_950m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_950m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 + + # - label: "h_max = 1000 m with Float32" + # command: > + # julia --color=yes --project=.buildkite .buildkite/ci_driver.jl + # --config_file $CONFIG_PATH/plane_1000m_schar_mountain_float32_test.yml + # --job_id gpu_plane_1000m_schar_mountain_float32_test + # artifact_paths: "gpu_plane_1000m_schar_mountain_float32_test/output_active/*" + # env: + # CLIMACOMMS_DEVICE: "CUDA" + # agents: + # slurm_gpus: 1 diff --git a/config/default_configs/default_config.yml b/config/default_configs/default_config.yml index 5f9561ead4..6e27516954 100644 --- a/config/default_configs/default_config.yml +++ b/config/default_configs/default_config.yml @@ -37,6 +37,9 @@ scalar_hyperdiffusion_coefficient: topography: help: "Define the surface elevation profile [`NoWarp` (default), `Earth`, `DCMIP200`, `Hughes2023`, `Agnesi`, `Schar`, `Cosine2D`, `Cosine3D`]" value: "NoWarp" +schar_mountain_height: + help: "Maximum height of mountain when using Schar topography (default is 25 m)" + value: 25.0 mesh_warp_type: help: "Sets the interior mesh warp method [`Linear`, `SLEVE`]" value: "SLEVE" diff --git a/config/model_configs/plane_0.000000001m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000001m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..93099060d4 --- /dev/null +++ b/config/model_configs/plane_0.000000001m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000001 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000001m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000001m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..6470e31b99 --- /dev/null +++ b/config/model_configs/plane_0.000000001m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000001 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000002m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000002m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..ec7be6282b --- /dev/null +++ b/config/model_configs/plane_0.000000002m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000002 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000002m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000002m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..988293d588 --- /dev/null +++ b/config/model_configs/plane_0.000000002m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000002 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000004m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000004m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..16621f9a00 --- /dev/null +++ b/config/model_configs/plane_0.000000004m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000004 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000004m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000004m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..93164f3a32 --- /dev/null +++ b/config/model_configs/plane_0.000000004m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000004 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000008m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000008m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..b3e1df222b --- /dev/null +++ b/config/model_configs/plane_0.000000008m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000008 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000008m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000008m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..dab4f72b0d --- /dev/null +++ b/config/model_configs/plane_0.000000008m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000008 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000016m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000016m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..d79921092c --- /dev/null +++ b/config/model_configs/plane_0.000000016m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000016 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000016m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000016m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..960980362e --- /dev/null +++ b/config/model_configs/plane_0.000000016m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000016 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000032m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000032m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..32f5c82146 --- /dev/null +++ b/config/model_configs/plane_0.000000032m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000032 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000032m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000032m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..a047353ca8 --- /dev/null +++ b/config/model_configs/plane_0.000000032m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000032 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000064m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000064m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..e517b80fe7 --- /dev/null +++ b/config/model_configs/plane_0.000000064m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000064 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000064m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000064m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..3a3b664d66 --- /dev/null +++ b/config/model_configs/plane_0.000000064m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000064 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000128m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000128m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..da37e208a6 --- /dev/null +++ b/config/model_configs/plane_0.000000128m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000128 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000128m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000128m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..4c667833b6 --- /dev/null +++ b/config/model_configs/plane_0.000000128m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000128 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000160m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000160m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..c545b72ee5 --- /dev/null +++ b/config/model_configs/plane_0.000000160m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000160 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000160m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000160m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..2610f9fd91 --- /dev/null +++ b/config/model_configs/plane_0.000000160m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000160 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000192m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000192m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..5a24b9ce48 --- /dev/null +++ b/config/model_configs/plane_0.000000192m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000192 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000192m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000192m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..4e97fb6a21 --- /dev/null +++ b/config/model_configs/plane_0.000000192m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000192 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000224m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000224m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..e798eb9e59 --- /dev/null +++ b/config/model_configs/plane_0.000000224m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000224 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000224m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000224m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..95807feebd --- /dev/null +++ b/config/model_configs/plane_0.000000224m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000224 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000228m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000228m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..156481b393 --- /dev/null +++ b/config/model_configs/plane_0.000000228m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000228 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000228m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000228m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..2cdd46d8ec --- /dev/null +++ b/config/model_configs/plane_0.000000228m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000228 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000232m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000232m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..0791c0c04f --- /dev/null +++ b/config/model_configs/plane_0.000000232m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000232 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000232m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000232m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..cf54a33635 --- /dev/null +++ b/config/model_configs/plane_0.000000232m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000232 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000236m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000236m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..baaf2ce03d --- /dev/null +++ b/config/model_configs/plane_0.000000236m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000236 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000236m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000236m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..c4caff5d90 --- /dev/null +++ b/config/model_configs/plane_0.000000236m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000236 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000240m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000240m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..e26c7c2b0f --- /dev/null +++ b/config/model_configs/plane_0.000000240m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000240 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000240m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000240m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..edac384d40 --- /dev/null +++ b/config/model_configs/plane_0.000000240m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000240 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000244m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000244m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..0086afa31c --- /dev/null +++ b/config/model_configs/plane_0.000000244m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000244 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000244m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000244m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..a5c659fbb0 --- /dev/null +++ b/config/model_configs/plane_0.000000244m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000244 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000248m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000248m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..19a91c5f4d --- /dev/null +++ b/config/model_configs/plane_0.000000248m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000248 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000248m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000248m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..943ee01457 --- /dev/null +++ b/config/model_configs/plane_0.000000248m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000248 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000252m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000252m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..e77e213cdb --- /dev/null +++ b/config/model_configs/plane_0.000000252m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000252 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000252m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000252m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..db46f0350e --- /dev/null +++ b/config/model_configs/plane_0.000000252m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000252 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000256m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000256m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..6951862c14 --- /dev/null +++ b/config/model_configs/plane_0.000000256m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000256 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000256m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000256m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..406997cf8a --- /dev/null +++ b/config/model_configs/plane_0.000000256m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000256 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000512m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000512m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..a7c14c3ee5 --- /dev/null +++ b/config/model_configs/plane_0.000000512m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000512 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000000512m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000512m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..e12f9b3df4 --- /dev/null +++ b/config/model_configs/plane_0.000000512m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000000512 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000001024m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000001024m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..7788128622 --- /dev/null +++ b/config/model_configs/plane_0.000001024m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000001024 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.000001024m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000001024m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..a16aef1319 --- /dev/null +++ b/config/model_configs/plane_0.000001024m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.000001024 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.00001m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.00001m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..15b6c9daff --- /dev/null +++ b/config/model_configs/plane_0.00001m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.00001 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.00001m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.00001m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..6061899312 --- /dev/null +++ b/config/model_configs/plane_0.00001m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.00001 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.0001m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.0001m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..6b8a69e448 --- /dev/null +++ b/config/model_configs/plane_0.0001m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.0001 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.0001m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.0001m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..f2101968f6 --- /dev/null +++ b/config/model_configs/plane_0.0001m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.0001 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.001m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.001m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..740e5a9b38 --- /dev/null +++ b/config/model_configs/plane_0.001m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.001 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.001m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.001m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..ab69b8d276 --- /dev/null +++ b/config/model_configs/plane_0.001m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.001 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.01m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.01m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..49cd851439 --- /dev/null +++ b/config/model_configs/plane_0.01m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.01 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.01m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.01m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..7fa4e2526e --- /dev/null +++ b/config/model_configs/plane_0.01m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.01 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.1m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.1m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..287deafd47 --- /dev/null +++ b/config/model_configs/plane_0.1m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.1 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_0.1m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.1m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..7ec1d6ef4f --- /dev/null +++ b/config/model_configs/plane_0.1m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 0.1 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_1000m_schar_mountain_float32_test.yml b/config/model_configs/plane_1000m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..ba3e06c8d0 --- /dev/null +++ b/config/model_configs/plane_1000m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 1000 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_1000m_schar_mountain_float64_test.yml b/config/model_configs/plane_1000m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..97d9674541 --- /dev/null +++ b/config/model_configs/plane_1000m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 1000 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_100m_schar_mountain_float32_test.yml b/config/model_configs/plane_100m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..01587733f4 --- /dev/null +++ b/config/model_configs/plane_100m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 100 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_100m_schar_mountain_float64_test.yml b/config/model_configs/plane_100m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..28cffb8538 --- /dev/null +++ b/config/model_configs/plane_100m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 100 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_125m_schar_mountain_float32_test.yml b/config/model_configs/plane_125m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..d992af5a04 --- /dev/null +++ b/config/model_configs/plane_125m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 125 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_125m_schar_mountain_float64_test.yml b/config/model_configs/plane_125m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..89a2146856 --- /dev/null +++ b/config/model_configs/plane_125m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 125 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_12m_schar_mountain_float32_test.yml b/config/model_configs/plane_12m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..c9bd8154d8 --- /dev/null +++ b/config/model_configs/plane_12m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 12 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_12m_schar_mountain_float64_test.yml b/config/model_configs/plane_12m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..86a7e1c279 --- /dev/null +++ b/config/model_configs/plane_12m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 12 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_150m_schar_mountain_float32_test.yml b/config/model_configs/plane_150m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..53570911f8 --- /dev/null +++ b/config/model_configs/plane_150m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 150 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_150m_schar_mountain_float64_test.yml b/config/model_configs/plane_150m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..bdde8fed33 --- /dev/null +++ b/config/model_configs/plane_150m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 150 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_175m_schar_mountain_float32_test.yml b/config/model_configs/plane_175m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..70f77b57e3 --- /dev/null +++ b/config/model_configs/plane_175m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 175 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_175m_schar_mountain_float64_test.yml b/config/model_configs/plane_175m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..9cdeb3c878 --- /dev/null +++ b/config/model_configs/plane_175m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 175 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_schar_mountain_float32_test.yml b/config/model_configs/plane_1m_schar_mountain_float32_test.yml similarity index 95% rename from config/model_configs/plane_schar_mountain_float32_test.yml rename to config/model_configs/plane_1m_schar_mountain_float32_test.yml index fffcd24175..44f4738798 100644 --- a/config/model_configs/plane_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_1m_schar_mountain_float32_test.yml @@ -8,6 +8,7 @@ z_max: 21e3 x_elem: 100 z_elem: 100 dz_bottom: 10 +schar_mountain_height: 1 dt: "0.7secs" t_end: "2days" rayleigh_sponge: true diff --git a/config/model_configs/plane_schar_mountain_float64_test.yml b/config/model_configs/plane_1m_schar_mountain_float64_test.yml similarity index 95% rename from config/model_configs/plane_schar_mountain_float64_test.yml rename to config/model_configs/plane_1m_schar_mountain_float64_test.yml index 07aeadb5c2..804adea7b9 100644 --- a/config/model_configs/plane_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_1m_schar_mountain_float64_test.yml @@ -8,6 +8,7 @@ z_max: 21e3 x_elem: 100 z_elem: 100 dz_bottom: 10 +schar_mountain_height: 1 dt: "0.7secs" t_end: "2days" rayleigh_sponge: true diff --git a/config/model_configs/plane_200m_schar_mountain_float32_test.yml b/config/model_configs/plane_200m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..afb91471b5 --- /dev/null +++ b/config/model_configs/plane_200m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 200 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_200m_schar_mountain_float64_test.yml b/config/model_configs/plane_200m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..f5d60ea95a --- /dev/null +++ b/config/model_configs/plane_200m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 200 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_225m_schar_mountain_float32_test.yml b/config/model_configs/plane_225m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..a499da73cc --- /dev/null +++ b/config/model_configs/plane_225m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 225 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_225m_schar_mountain_float64_test.yml b/config/model_configs/plane_225m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..44a6041d1c --- /dev/null +++ b/config/model_configs/plane_225m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 225 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_250m_schar_mountain_float32_test.yml b/config/model_configs/plane_250m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..c1406326ca --- /dev/null +++ b/config/model_configs/plane_250m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 250 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_250m_schar_mountain_float64_test.yml b/config/model_configs/plane_250m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..c64153d911 --- /dev/null +++ b/config/model_configs/plane_250m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 250 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_25m_schar_mountain_float32_test.yml b/config/model_configs/plane_25m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..8354ee489d --- /dev/null +++ b/config/model_configs/plane_25m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 25 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_25m_schar_mountain_float64_test.yml b/config/model_configs/plane_25m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..8890a9aaaa --- /dev/null +++ b/config/model_configs/plane_25m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 25 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_300m_schar_mountain_float32_test.yml b/config/model_configs/plane_300m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..d80708e58b --- /dev/null +++ b/config/model_configs/plane_300m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 300 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_300m_schar_mountain_float64_test.yml b/config/model_configs/plane_300m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..3d0bdfb825 --- /dev/null +++ b/config/model_configs/plane_300m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 300 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_350m_schar_mountain_float32_test.yml b/config/model_configs/plane_350m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..31c401efe0 --- /dev/null +++ b/config/model_configs/plane_350m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 350 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_350m_schar_mountain_float64_test.yml b/config/model_configs/plane_350m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..76a9b5dacd --- /dev/null +++ b/config/model_configs/plane_350m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 350 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_3m_schar_mountain_float32_test.yml b/config/model_configs/plane_3m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..15b3a8fc1e --- /dev/null +++ b/config/model_configs/plane_3m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 3 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_3m_schar_mountain_float64_test.yml b/config/model_configs/plane_3m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..627a2712e1 --- /dev/null +++ b/config/model_configs/plane_3m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 3 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_400m_schar_mountain_float32_test.yml b/config/model_configs/plane_400m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..00b0d19070 --- /dev/null +++ b/config/model_configs/plane_400m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 400 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_400m_schar_mountain_float64_test.yml b/config/model_configs/plane_400m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..d2dad3d4cc --- /dev/null +++ b/config/model_configs/plane_400m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 400 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_450m_schar_mountain_float32_test.yml b/config/model_configs/plane_450m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..6678fc86ff --- /dev/null +++ b/config/model_configs/plane_450m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 450 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_450m_schar_mountain_float64_test.yml b/config/model_configs/plane_450m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..25907ced43 --- /dev/null +++ b/config/model_configs/plane_450m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 450 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_500m_schar_mountain_float32_test.yml b/config/model_configs/plane_500m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..741488ddf2 --- /dev/null +++ b/config/model_configs/plane_500m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 500 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_500m_schar_mountain_float64_test.yml b/config/model_configs/plane_500m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..65e0749fcc --- /dev/null +++ b/config/model_configs/plane_500m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 500 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_50m_schar_mountain_float32_test.yml b/config/model_configs/plane_50m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..042e8d9ddb --- /dev/null +++ b/config/model_configs/plane_50m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 50 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_50m_schar_mountain_float64_test.yml b/config/model_configs/plane_50m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..e9092c630e --- /dev/null +++ b/config/model_configs/plane_50m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 50 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_550m_schar_mountain_float32_test.yml b/config/model_configs/plane_550m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..381e894912 --- /dev/null +++ b/config/model_configs/plane_550m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 550 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_550m_schar_mountain_float64_test.yml b/config/model_configs/plane_550m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..b557b58502 --- /dev/null +++ b/config/model_configs/plane_550m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 550 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_600m_schar_mountain_float32_test.yml b/config/model_configs/plane_600m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..673a390b22 --- /dev/null +++ b/config/model_configs/plane_600m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 600 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_600m_schar_mountain_float64_test.yml b/config/model_configs/plane_600m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..39e1f3fc7d --- /dev/null +++ b/config/model_configs/plane_600m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 600 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_650m_schar_mountain_float32_test.yml b/config/model_configs/plane_650m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..26ba5c9303 --- /dev/null +++ b/config/model_configs/plane_650m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 650 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_650m_schar_mountain_float64_test.yml b/config/model_configs/plane_650m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..bd38846716 --- /dev/null +++ b/config/model_configs/plane_650m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 650 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_6m_schar_mountain_float32_test.yml b/config/model_configs/plane_6m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..4590afa760 --- /dev/null +++ b/config/model_configs/plane_6m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 6 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_6m_schar_mountain_float64_test.yml b/config/model_configs/plane_6m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..2721e906d0 --- /dev/null +++ b/config/model_configs/plane_6m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 6 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_700m_schar_mountain_float32_test.yml b/config/model_configs/plane_700m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..6329c99922 --- /dev/null +++ b/config/model_configs/plane_700m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 700 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_700m_schar_mountain_float64_test.yml b/config/model_configs/plane_700m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..6a0568af2b --- /dev/null +++ b/config/model_configs/plane_700m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 700 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_750m_schar_mountain_float32_test.yml b/config/model_configs/plane_750m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..7ba14f07db --- /dev/null +++ b/config/model_configs/plane_750m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 750 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_750m_schar_mountain_float64_test.yml b/config/model_configs/plane_750m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..978244c5d2 --- /dev/null +++ b/config/model_configs/plane_750m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 750 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_75m_schar_mountain_float32_test.yml b/config/model_configs/plane_75m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..d4c4bd170c --- /dev/null +++ b/config/model_configs/plane_75m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 75 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_75m_schar_mountain_float64_test.yml b/config/model_configs/plane_75m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..1d5260d8b7 --- /dev/null +++ b/config/model_configs/plane_75m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 75 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_800m_schar_mountain_float32_test.yml b/config/model_configs/plane_800m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..1ed9ee48f4 --- /dev/null +++ b/config/model_configs/plane_800m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 800 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_800m_schar_mountain_float64_test.yml b/config/model_configs/plane_800m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..31fc5471c1 --- /dev/null +++ b/config/model_configs/plane_800m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 800 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_850m_schar_mountain_float32_test.yml b/config/model_configs/plane_850m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..5ca5ab1e9c --- /dev/null +++ b/config/model_configs/plane_850m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 850 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_850m_schar_mountain_float64_test.yml b/config/model_configs/plane_850m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..709ced4374 --- /dev/null +++ b/config/model_configs/plane_850m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 850 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_900m_schar_mountain_float32_test.yml b/config/model_configs/plane_900m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..e976c6be53 --- /dev/null +++ b/config/model_configs/plane_900m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 900 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_900m_schar_mountain_float64_test.yml b/config/model_configs/plane_900m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..dc37688e52 --- /dev/null +++ b/config/model_configs/plane_900m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 900 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_950m_schar_mountain_float32_test.yml b/config/model_configs/plane_950m_schar_mountain_float32_test.yml new file mode 100644 index 0000000000..0dafa05da4 --- /dev/null +++ b/config/model_configs/plane_950m_schar_mountain_float32_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float32" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 950 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/config/model_configs/plane_950m_schar_mountain_float64_test.yml b/config/model_configs/plane_950m_schar_mountain_float64_test.yml new file mode 100644 index 0000000000..fbad97bf6c --- /dev/null +++ b/config/model_configs/plane_950m_schar_mountain_float64_test.yml @@ -0,0 +1,21 @@ +config: "plane" +FLOAT_TYPE: "Float64" +initial_condition: "ConstantBuoyancyFrequencyProfile" +topography: "Schar" +mesh_warp_type: "Linear" +x_max: 100e3 +z_max: 21e3 +x_elem: 100 +z_elem: 100 +dz_bottom: 10 +schar_mountain_height: 950 +dt: "0.7secs" +t_end: "2days" +rayleigh_sponge: true +disable_surface_flux_tendency: true +toml: [toml/steady_state_test.toml] +check_steady_state: true +output_default_diagnostics: false +diagnostics: + - short_name: [orog, ua, wa, uapredicted, wapredicted, uaerror, waerror] + period: 1hours diff --git a/post_processing/ci_plots.jl b/post_processing/ci_plots.jl index 793136f46f..1f2e513b4b 100644 --- a/post_processing/ci_plots.jl +++ b/post_processing/ci_plots.jl @@ -722,8 +722,116 @@ const PeriodicTopographyTest3D = Union{ } const MountainTest2D = Union{ Val{:gpu_plane_agnesi_mountain_float64_test}, - Val{:gpu_plane_schar_mountain_float64_test}, - Val{:gpu_plane_schar_mountain_float32_test}, + Val{Symbol("gpu_plane_0.000000001m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.000000002m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.000000004m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.000000008m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.000000016m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.000000032m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.000000064m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.000000128m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.000000160m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.000000192m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.000000224m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.000000228m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.000000232m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.000000236m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.000000240m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.000000244m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.000000248m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.000000252m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.000000256m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.000000512m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.000001024m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.00001m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.0001m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.001m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.01m_schar_mountain_float64_test")}, + Val{Symbol("gpu_plane_0.1m_schar_mountain_float64_test")}, + Val{:gpu_plane_1m_schar_mountain_float64_test}, + Val{:gpu_plane_3m_schar_mountain_float64_test}, + Val{:gpu_plane_6m_schar_mountain_float64_test}, + Val{:gpu_plane_12m_schar_mountain_float64_test}, + Val{:gpu_plane_25m_schar_mountain_float64_test}, + Val{:gpu_plane_50m_schar_mountain_float64_test}, + Val{:gpu_plane_75m_schar_mountain_float64_test}, + Val{:gpu_plane_100m_schar_mountain_float64_test}, + Val{:gpu_plane_125m_schar_mountain_float64_test}, + Val{:gpu_plane_150m_schar_mountain_float64_test}, + Val{:gpu_plane_175m_schar_mountain_float64_test}, + Val{:gpu_plane_200m_schar_mountain_float64_test}, + Val{:gpu_plane_225m_schar_mountain_float64_test}, + Val{:gpu_plane_250m_schar_mountain_float64_test}, + Val{:gpu_plane_300m_schar_mountain_float64_test}, + Val{:gpu_plane_350m_schar_mountain_float64_test}, + Val{:gpu_plane_400m_schar_mountain_float64_test}, + Val{:gpu_plane_450m_schar_mountain_float64_test}, + Val{:gpu_plane_500m_schar_mountain_float64_test}, + Val{:gpu_plane_550m_schar_mountain_float64_test}, + Val{:gpu_plane_600m_schar_mountain_float64_test}, + Val{:gpu_plane_650m_schar_mountain_float64_test}, + Val{:gpu_plane_700m_schar_mountain_float64_test}, + Val{:gpu_plane_750m_schar_mountain_float64_test}, + Val{:gpu_plane_800m_schar_mountain_float64_test}, + Val{:gpu_plane_850m_schar_mountain_float64_test}, + Val{:gpu_plane_900m_schar_mountain_float64_test}, + Val{:gpu_plane_950m_schar_mountain_float64_test}, + Val{:gpu_plane_1000m_schar_mountain_float64_test}, + Val{Symbol("gpu_plane_0.000000001m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.000000002m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.000000004m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.000000008m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.000000016m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.000000032m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.000000064m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.000000128m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.000000160m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.000000192m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.000000224m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.000000228m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.000000232m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.000000236m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.000000240m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.000000244m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.000000248m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.000000252m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.000000256m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.000000512m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.000001024m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.00001m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.0001m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.001m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.01m_schar_mountain_float32_test")}, + Val{Symbol("gpu_plane_0.1m_schar_mountain_float32_test")}, + Val{:gpu_plane_1m_schar_mountain_float32_test}, + Val{:gpu_plane_3m_schar_mountain_float32_test}, + Val{:gpu_plane_6m_schar_mountain_float32_test}, + Val{:gpu_plane_12m_schar_mountain_float32_test}, + Val{:gpu_plane_25m_schar_mountain_float32_test}, + Val{:gpu_plane_50m_schar_mountain_float32_test}, + Val{:gpu_plane_75m_schar_mountain_float32_test}, + Val{:gpu_plane_100m_schar_mountain_float32_test}, + Val{:gpu_plane_125m_schar_mountain_float32_test}, + Val{:gpu_plane_150m_schar_mountain_float32_test}, + Val{:gpu_plane_175m_schar_mountain_float32_test}, + Val{:gpu_plane_200m_schar_mountain_float32_test}, + Val{:gpu_plane_225m_schar_mountain_float32_test}, + Val{:gpu_plane_250m_schar_mountain_float32_test}, + Val{:gpu_plane_300m_schar_mountain_float32_test}, + Val{:gpu_plane_350m_schar_mountain_float32_test}, + Val{:gpu_plane_400m_schar_mountain_float32_test}, + Val{:gpu_plane_450m_schar_mountain_float32_test}, + Val{:gpu_plane_500m_schar_mountain_float32_test}, + Val{:gpu_plane_550m_schar_mountain_float32_test}, + Val{:gpu_plane_600m_schar_mountain_float32_test}, + Val{:gpu_plane_650m_schar_mountain_float32_test}, + Val{:gpu_plane_700m_schar_mountain_float32_test}, + Val{:gpu_plane_750m_schar_mountain_float32_test}, + Val{:gpu_plane_800m_schar_mountain_float32_test}, + Val{:gpu_plane_850m_schar_mountain_float32_test}, + Val{:gpu_plane_900m_schar_mountain_float32_test}, + Val{:gpu_plane_950m_schar_mountain_float32_test}, + Val{:gpu_plane_1000m_schar_mountain_float32_test}, } const SteadyStateTest = Union{PeriodicTopographyTest2D, PeriodicTopographyTest3D, MountainTest2D} diff --git a/src/solver/type_getters.jl b/src/solver/type_getters.jl index 5dbbc14e56..93f1481270 100644 --- a/src/solver/type_getters.jl +++ b/src/solver/type_getters.jl @@ -436,18 +436,18 @@ end function get_topography(FT, parsed_args) topo_str = parsed_args["topography"] - topo_types = Dict("NoWarp" => NoTopography(), - "Cosine2D" => CosineTopography{2, FT}(), - "Cosine3D" => CosineTopography{3, FT}(), - "Agnesi" => AgnesiTopography{FT}(), - "Schar" => ScharTopography{FT}(), - "Earth" => EarthTopography(), - "Hughes2023" => Hughes2023Topography(), - "DCMIP200" => DCMIP200Topography(), - ) - - @assert topo_str in keys(topo_types) - return topo_types[topo_str] + return if topo_str == "Schar" + ScharTopography{FT}(; h_max = parsed_args["schar_mountain_height"]) + else + Dict("NoWarp" => NoTopography(), + "Cosine2D" => CosineTopography{2, FT}(), + "Cosine3D" => CosineTopography{3, FT}(), + "Agnesi" => AgnesiTopography{FT}(), + "Earth" => EarthTopography(), + "Hughes2023" => Hughes2023Topography(), + "DCMIP200" => DCMIP200Topography(), + )[topo_str] + end end function get_steady_state_velocity(params, Y, parsed_args) diff --git a/src/topography/topography.jl b/src/topography/topography.jl index 16a13fb78c..93aae2838c 100644 --- a/src/topography/topography.jl +++ b/src/topography/topography.jl @@ -58,7 +58,7 @@ topography_function((; h_max, x_center, a)::AgnesiTopography, (; x)) = h_max / (1 + ((x - x_center) / a)^2) """ - ScharTopography{FT}(; h_max = 25, x_center = 50e3, λ = 4e3, a = 5e3) + ScharTopography{FT}(; h_max, x_center = 50e3, λ = 4e3, a = 5e3) Schar mountain topography for 2D simulations. @@ -69,7 +69,7 @@ Schar mountain topography for 2D simulations. - `a`: Mountain width parameter (m) """ Base.@kwdef struct ScharTopography{FT} <: AbstractTopography - h_max::FT = 25.0 + h_max::FT x_center::FT = 50e3 λ::FT = 4e3 a::FT = 5e3 From 0252ad5b0892d8ade1a74c7dba23d1242ba0ff52 Mon Sep 17 00:00:00 2001 From: Dennis Yatunin Date: Fri, 3 Oct 2025 16:32:37 -0700 Subject: [PATCH 08/10] =?UTF-8?q?Subtract=20=E1=B6=9C=CE=B8=5Fvr=20from=20?= =?UTF-8?q?=E2=88=87p/=CF=81=C2=B2=20term=20in=20=E2=88=82u=E2=82=83?= =?UTF-8?q?=E2=82=9C/=E2=88=82=CF=81=20Jacobian=20block,=20subtract=20?= =?UTF-8?q?=E1=B6=9C=CE=A6=5Fr=20from=20other=20term?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../implicit/manual_sparse_jacobian.jl | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/prognostic_equations/implicit/manual_sparse_jacobian.jl b/src/prognostic_equations/implicit/manual_sparse_jacobian.jl index c5c7d8a040..67d7cb9d28 100644 --- a/src/prognostic_equations/implicit/manual_sparse_jacobian.jl +++ b/src/prognostic_equations/implicit/manual_sparse_jacobian.jl @@ -462,14 +462,17 @@ function update_jacobian!(alg::ManualSparseJacobian, cache, Y, p, dtγ, t) ∂ᶠu₃_err_∂ᶜρ = matrix[@name(f.u₃), @name(c.ρ)] ∂ᶠu₃_err_∂ᶜρe_tot = matrix[@name(f.u₃), @name(c.ρe_tot)] - + ᶜΦ_r = @. lazy(phi_r(thermo_params, ᶜts)) ᶜθ_v = @. lazy(theta_v(thermo_params, ᶜts)) + ᶜθ_vr = @. lazy(theta_vr(thermo_params, ᶜts)) ᶜΠ = @. lazy(exner_function(thermo_params, ᶜts)) @. ∂ᶠu₃_err_∂ᶜρ = dtγ * ( ᶠp_grad_matrix ⋅ - DiagonalMatrixRow(ᶜkappa_m * (T_0 * cp_d - ᶜK - ᶜΦ)) + - DiagonalMatrixRow(cp_d * ᶠinterp(ᶜθ_v) * ᶠgradᵥ(ᶜΠ) / ᶠinterp(ᶜρ)) ⋅ + DiagonalMatrixRow(ᶜkappa_m * (T_0 * cp_d - ᶜK - (ᶜΦ - ᶜΦ_r))) + + DiagonalMatrixRow( + cp_d * ᶠinterp(ᶜθ_v - ᶜθ_vr) * ᶠgradᵥ(ᶜΠ) / ᶠinterp(ᶜρ), + ) ⋅ ᶠinterp_matrix() ) @. ∂ᶠu₃_err_∂ᶜρe_tot = dtγ * ᶠp_grad_matrix ⋅ DiagonalMatrixRow(ᶜkappa_m) From 31c707d5ed1bf2a95d92ef684cf5898077144389 Mon Sep 17 00:00:00 2001 From: Dennis Yatunin Date: Mon, 6 Oct 2025 19:54:42 -0700 Subject: [PATCH 09/10] Run for 3 days and show sponge layer in plots --- .../plane_0.000000001m_schar_mountain_float32_test.yml | 2 +- .../plane_0.000000001m_schar_mountain_float64_test.yml | 2 +- .../plane_0.000000002m_schar_mountain_float32_test.yml | 2 +- .../plane_0.000000002m_schar_mountain_float64_test.yml | 2 +- .../plane_0.000000004m_schar_mountain_float32_test.yml | 2 +- .../plane_0.000000004m_schar_mountain_float64_test.yml | 2 +- .../plane_0.000000008m_schar_mountain_float32_test.yml | 2 +- .../plane_0.000000008m_schar_mountain_float64_test.yml | 2 +- .../plane_0.000000016m_schar_mountain_float32_test.yml | 2 +- .../plane_0.000000016m_schar_mountain_float64_test.yml | 2 +- .../plane_0.000000032m_schar_mountain_float32_test.yml | 2 +- .../plane_0.000000032m_schar_mountain_float64_test.yml | 2 +- .../plane_0.000000064m_schar_mountain_float32_test.yml | 2 +- .../plane_0.000000064m_schar_mountain_float64_test.yml | 2 +- .../plane_0.000000128m_schar_mountain_float32_test.yml | 2 +- .../plane_0.000000128m_schar_mountain_float64_test.yml | 2 +- .../plane_0.000000160m_schar_mountain_float32_test.yml | 2 +- .../plane_0.000000160m_schar_mountain_float64_test.yml | 2 +- .../plane_0.000000192m_schar_mountain_float32_test.yml | 2 +- .../plane_0.000000192m_schar_mountain_float64_test.yml | 2 +- .../plane_0.000000224m_schar_mountain_float32_test.yml | 2 +- .../plane_0.000000224m_schar_mountain_float64_test.yml | 2 +- .../plane_0.000000228m_schar_mountain_float32_test.yml | 2 +- .../plane_0.000000228m_schar_mountain_float64_test.yml | 2 +- .../plane_0.000000232m_schar_mountain_float32_test.yml | 2 +- .../plane_0.000000232m_schar_mountain_float64_test.yml | 2 +- .../plane_0.000000236m_schar_mountain_float32_test.yml | 2 +- .../plane_0.000000236m_schar_mountain_float64_test.yml | 2 +- .../plane_0.000000240m_schar_mountain_float32_test.yml | 2 +- .../plane_0.000000240m_schar_mountain_float64_test.yml | 2 +- .../plane_0.000000244m_schar_mountain_float32_test.yml | 2 +- .../plane_0.000000244m_schar_mountain_float64_test.yml | 2 +- .../plane_0.000000248m_schar_mountain_float32_test.yml | 2 +- .../plane_0.000000248m_schar_mountain_float64_test.yml | 2 +- .../plane_0.000000252m_schar_mountain_float32_test.yml | 2 +- .../plane_0.000000252m_schar_mountain_float64_test.yml | 2 +- .../plane_0.000000256m_schar_mountain_float32_test.yml | 2 +- .../plane_0.000000256m_schar_mountain_float64_test.yml | 2 +- .../plane_0.000000512m_schar_mountain_float32_test.yml | 2 +- .../plane_0.000000512m_schar_mountain_float64_test.yml | 2 +- .../plane_0.000001024m_schar_mountain_float32_test.yml | 2 +- .../plane_0.000001024m_schar_mountain_float64_test.yml | 2 +- .../plane_0.00001m_schar_mountain_float32_test.yml | 2 +- .../plane_0.00001m_schar_mountain_float64_test.yml | 2 +- .../model_configs/plane_0.0001m_schar_mountain_float32_test.yml | 2 +- .../model_configs/plane_0.0001m_schar_mountain_float64_test.yml | 2 +- .../model_configs/plane_0.001m_schar_mountain_float32_test.yml | 2 +- .../model_configs/plane_0.001m_schar_mountain_float64_test.yml | 2 +- .../model_configs/plane_0.01m_schar_mountain_float32_test.yml | 2 +- .../model_configs/plane_0.01m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_0.1m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_0.1m_schar_mountain_float64_test.yml | 2 +- .../model_configs/plane_1000m_schar_mountain_float32_test.yml | 2 +- .../model_configs/plane_1000m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_100m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_100m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_125m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_125m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_12m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_12m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_150m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_150m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_175m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_175m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_1m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_1m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_200m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_200m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_225m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_225m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_250m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_250m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_25m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_25m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_300m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_300m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_350m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_350m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_3m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_3m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_400m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_400m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_450m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_450m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_500m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_500m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_50m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_50m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_550m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_550m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_600m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_600m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_650m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_650m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_6m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_6m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_700m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_700m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_750m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_750m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_75m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_75m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_800m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_800m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_850m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_850m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_900m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_900m_schar_mountain_float64_test.yml | 2 +- config/model_configs/plane_950m_schar_mountain_float32_test.yml | 2 +- config/model_configs/plane_950m_schar_mountain_float64_test.yml | 2 +- post_processing/ci_plots.jl | 2 +- 111 files changed, 111 insertions(+), 111 deletions(-) diff --git a/config/model_configs/plane_0.000000001m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000001m_schar_mountain_float32_test.yml index 93099060d4..70421abe04 100644 --- a/config/model_configs/plane_0.000000001m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.000000001m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000001 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000001m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000001m_schar_mountain_float64_test.yml index 6470e31b99..86d0814219 100644 --- a/config/model_configs/plane_0.000000001m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.000000001m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000001 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000002m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000002m_schar_mountain_float32_test.yml index ec7be6282b..2c3c4965d7 100644 --- a/config/model_configs/plane_0.000000002m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.000000002m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000002 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000002m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000002m_schar_mountain_float64_test.yml index 988293d588..aa476343de 100644 --- a/config/model_configs/plane_0.000000002m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.000000002m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000002 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000004m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000004m_schar_mountain_float32_test.yml index 16621f9a00..f9a1e8b83d 100644 --- a/config/model_configs/plane_0.000000004m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.000000004m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000004 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000004m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000004m_schar_mountain_float64_test.yml index 93164f3a32..79be343928 100644 --- a/config/model_configs/plane_0.000000004m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.000000004m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000004 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000008m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000008m_schar_mountain_float32_test.yml index b3e1df222b..078a6d167d 100644 --- a/config/model_configs/plane_0.000000008m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.000000008m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000008 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000008m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000008m_schar_mountain_float64_test.yml index dab4f72b0d..11ebcff880 100644 --- a/config/model_configs/plane_0.000000008m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.000000008m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000008 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000016m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000016m_schar_mountain_float32_test.yml index d79921092c..875b447f0b 100644 --- a/config/model_configs/plane_0.000000016m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.000000016m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000016 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000016m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000016m_schar_mountain_float64_test.yml index 960980362e..1b83bc6eb3 100644 --- a/config/model_configs/plane_0.000000016m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.000000016m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000016 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000032m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000032m_schar_mountain_float32_test.yml index 32f5c82146..289a019bf4 100644 --- a/config/model_configs/plane_0.000000032m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.000000032m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000032 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000032m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000032m_schar_mountain_float64_test.yml index a047353ca8..42e9c771e6 100644 --- a/config/model_configs/plane_0.000000032m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.000000032m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000032 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000064m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000064m_schar_mountain_float32_test.yml index e517b80fe7..ada8cba5fa 100644 --- a/config/model_configs/plane_0.000000064m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.000000064m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000064 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000064m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000064m_schar_mountain_float64_test.yml index 3a3b664d66..cb120f6ecd 100644 --- a/config/model_configs/plane_0.000000064m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.000000064m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000064 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000128m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000128m_schar_mountain_float32_test.yml index da37e208a6..c817f6a1d8 100644 --- a/config/model_configs/plane_0.000000128m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.000000128m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000128 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000128m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000128m_schar_mountain_float64_test.yml index 4c667833b6..22ccf106b7 100644 --- a/config/model_configs/plane_0.000000128m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.000000128m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000128 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000160m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000160m_schar_mountain_float32_test.yml index c545b72ee5..8a48905bab 100644 --- a/config/model_configs/plane_0.000000160m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.000000160m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000160 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000160m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000160m_schar_mountain_float64_test.yml index 2610f9fd91..ee1bec6939 100644 --- a/config/model_configs/plane_0.000000160m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.000000160m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000160 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000192m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000192m_schar_mountain_float32_test.yml index 5a24b9ce48..286caecf29 100644 --- a/config/model_configs/plane_0.000000192m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.000000192m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000192 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000192m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000192m_schar_mountain_float64_test.yml index 4e97fb6a21..3f9d2226c2 100644 --- a/config/model_configs/plane_0.000000192m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.000000192m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000192 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000224m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000224m_schar_mountain_float32_test.yml index e798eb9e59..146042c816 100644 --- a/config/model_configs/plane_0.000000224m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.000000224m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000224 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000224m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000224m_schar_mountain_float64_test.yml index 95807feebd..51190f80d9 100644 --- a/config/model_configs/plane_0.000000224m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.000000224m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000224 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000228m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000228m_schar_mountain_float32_test.yml index 156481b393..3b5b815b6f 100644 --- a/config/model_configs/plane_0.000000228m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.000000228m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000228 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000228m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000228m_schar_mountain_float64_test.yml index 2cdd46d8ec..1cf9cabda4 100644 --- a/config/model_configs/plane_0.000000228m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.000000228m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000228 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000232m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000232m_schar_mountain_float32_test.yml index 0791c0c04f..586f270b91 100644 --- a/config/model_configs/plane_0.000000232m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.000000232m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000232 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000232m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000232m_schar_mountain_float64_test.yml index cf54a33635..14308701ab 100644 --- a/config/model_configs/plane_0.000000232m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.000000232m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000232 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000236m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000236m_schar_mountain_float32_test.yml index baaf2ce03d..59d904359a 100644 --- a/config/model_configs/plane_0.000000236m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.000000236m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000236 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000236m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000236m_schar_mountain_float64_test.yml index c4caff5d90..46d0811db3 100644 --- a/config/model_configs/plane_0.000000236m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.000000236m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000236 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000240m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000240m_schar_mountain_float32_test.yml index e26c7c2b0f..825cc851e8 100644 --- a/config/model_configs/plane_0.000000240m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.000000240m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000240 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000240m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000240m_schar_mountain_float64_test.yml index edac384d40..cef0f4fd46 100644 --- a/config/model_configs/plane_0.000000240m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.000000240m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000240 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000244m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000244m_schar_mountain_float32_test.yml index 0086afa31c..d65b67b983 100644 --- a/config/model_configs/plane_0.000000244m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.000000244m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000244 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000244m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000244m_schar_mountain_float64_test.yml index a5c659fbb0..6882214087 100644 --- a/config/model_configs/plane_0.000000244m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.000000244m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000244 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000248m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000248m_schar_mountain_float32_test.yml index 19a91c5f4d..7fd6374b5a 100644 --- a/config/model_configs/plane_0.000000248m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.000000248m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000248 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000248m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000248m_schar_mountain_float64_test.yml index 943ee01457..db71e24860 100644 --- a/config/model_configs/plane_0.000000248m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.000000248m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000248 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000252m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000252m_schar_mountain_float32_test.yml index e77e213cdb..76540be216 100644 --- a/config/model_configs/plane_0.000000252m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.000000252m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000252 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000252m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000252m_schar_mountain_float64_test.yml index db46f0350e..a604140722 100644 --- a/config/model_configs/plane_0.000000252m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.000000252m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000252 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000256m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000256m_schar_mountain_float32_test.yml index 6951862c14..c57bef05e9 100644 --- a/config/model_configs/plane_0.000000256m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.000000256m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000256 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000256m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000256m_schar_mountain_float64_test.yml index 406997cf8a..8534e2c0c6 100644 --- a/config/model_configs/plane_0.000000256m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.000000256m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000256 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000512m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000000512m_schar_mountain_float32_test.yml index a7c14c3ee5..b5e04b7ee9 100644 --- a/config/model_configs/plane_0.000000512m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.000000512m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000512 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000000512m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000000512m_schar_mountain_float64_test.yml index e12f9b3df4..d1c72c7ead 100644 --- a/config/model_configs/plane_0.000000512m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.000000512m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000000512 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000001024m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.000001024m_schar_mountain_float32_test.yml index 7788128622..9a0e5f8393 100644 --- a/config/model_configs/plane_0.000001024m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.000001024m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000001024 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.000001024m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.000001024m_schar_mountain_float64_test.yml index a16aef1319..0475400a0e 100644 --- a/config/model_configs/plane_0.000001024m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.000001024m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.000001024 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.00001m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.00001m_schar_mountain_float32_test.yml index 15b6c9daff..53d3d44a31 100644 --- a/config/model_configs/plane_0.00001m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.00001m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.00001 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.00001m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.00001m_schar_mountain_float64_test.yml index 6061899312..0192370728 100644 --- a/config/model_configs/plane_0.00001m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.00001m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.00001 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.0001m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.0001m_schar_mountain_float32_test.yml index 6b8a69e448..dc820b7587 100644 --- a/config/model_configs/plane_0.0001m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.0001m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.0001 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.0001m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.0001m_schar_mountain_float64_test.yml index f2101968f6..f1c17cc4c0 100644 --- a/config/model_configs/plane_0.0001m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.0001m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.0001 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.001m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.001m_schar_mountain_float32_test.yml index 740e5a9b38..e8a077f955 100644 --- a/config/model_configs/plane_0.001m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.001m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.001 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.001m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.001m_schar_mountain_float64_test.yml index ab69b8d276..7cde20e9c2 100644 --- a/config/model_configs/plane_0.001m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.001m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.001 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.01m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.01m_schar_mountain_float32_test.yml index 49cd851439..50239d337e 100644 --- a/config/model_configs/plane_0.01m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.01m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.01 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.01m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.01m_schar_mountain_float64_test.yml index 7fa4e2526e..3901828a3d 100644 --- a/config/model_configs/plane_0.01m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.01m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.01 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.1m_schar_mountain_float32_test.yml b/config/model_configs/plane_0.1m_schar_mountain_float32_test.yml index 287deafd47..923e19b736 100644 --- a/config/model_configs/plane_0.1m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_0.1m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.1 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_0.1m_schar_mountain_float64_test.yml b/config/model_configs/plane_0.1m_schar_mountain_float64_test.yml index 7ec1d6ef4f..4f022cdd67 100644 --- a/config/model_configs/plane_0.1m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_0.1m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 0.1 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_1000m_schar_mountain_float32_test.yml b/config/model_configs/plane_1000m_schar_mountain_float32_test.yml index ba3e06c8d0..45c67524d4 100644 --- a/config/model_configs/plane_1000m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_1000m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 1000 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_1000m_schar_mountain_float64_test.yml b/config/model_configs/plane_1000m_schar_mountain_float64_test.yml index 97d9674541..77504beb63 100644 --- a/config/model_configs/plane_1000m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_1000m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 1000 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_100m_schar_mountain_float32_test.yml b/config/model_configs/plane_100m_schar_mountain_float32_test.yml index 01587733f4..d05ed92ec6 100644 --- a/config/model_configs/plane_100m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_100m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 100 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_100m_schar_mountain_float64_test.yml b/config/model_configs/plane_100m_schar_mountain_float64_test.yml index 28cffb8538..2bfb16e373 100644 --- a/config/model_configs/plane_100m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_100m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 100 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_125m_schar_mountain_float32_test.yml b/config/model_configs/plane_125m_schar_mountain_float32_test.yml index d992af5a04..5678f9a1fc 100644 --- a/config/model_configs/plane_125m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_125m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 125 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_125m_schar_mountain_float64_test.yml b/config/model_configs/plane_125m_schar_mountain_float64_test.yml index 89a2146856..0d7286cebe 100644 --- a/config/model_configs/plane_125m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_125m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 125 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_12m_schar_mountain_float32_test.yml b/config/model_configs/plane_12m_schar_mountain_float32_test.yml index c9bd8154d8..d3f85c2cae 100644 --- a/config/model_configs/plane_12m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_12m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 12 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_12m_schar_mountain_float64_test.yml b/config/model_configs/plane_12m_schar_mountain_float64_test.yml index 86a7e1c279..569c249f3b 100644 --- a/config/model_configs/plane_12m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_12m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 12 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_150m_schar_mountain_float32_test.yml b/config/model_configs/plane_150m_schar_mountain_float32_test.yml index 53570911f8..00a9c20c7c 100644 --- a/config/model_configs/plane_150m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_150m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 150 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_150m_schar_mountain_float64_test.yml b/config/model_configs/plane_150m_schar_mountain_float64_test.yml index bdde8fed33..1a59cc2e10 100644 --- a/config/model_configs/plane_150m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_150m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 150 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_175m_schar_mountain_float32_test.yml b/config/model_configs/plane_175m_schar_mountain_float32_test.yml index 70f77b57e3..4f17414784 100644 --- a/config/model_configs/plane_175m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_175m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 175 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_175m_schar_mountain_float64_test.yml b/config/model_configs/plane_175m_schar_mountain_float64_test.yml index 9cdeb3c878..50433af338 100644 --- a/config/model_configs/plane_175m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_175m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 175 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_1m_schar_mountain_float32_test.yml b/config/model_configs/plane_1m_schar_mountain_float32_test.yml index 44f4738798..ddaaaf40ae 100644 --- a/config/model_configs/plane_1m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_1m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 1 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_1m_schar_mountain_float64_test.yml b/config/model_configs/plane_1m_schar_mountain_float64_test.yml index 804adea7b9..205465d6ad 100644 --- a/config/model_configs/plane_1m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_1m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 1 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_200m_schar_mountain_float32_test.yml b/config/model_configs/plane_200m_schar_mountain_float32_test.yml index afb91471b5..3abe756039 100644 --- a/config/model_configs/plane_200m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_200m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 200 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_200m_schar_mountain_float64_test.yml b/config/model_configs/plane_200m_schar_mountain_float64_test.yml index f5d60ea95a..f7065a9b26 100644 --- a/config/model_configs/plane_200m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_200m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 200 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_225m_schar_mountain_float32_test.yml b/config/model_configs/plane_225m_schar_mountain_float32_test.yml index a499da73cc..d8b65f0991 100644 --- a/config/model_configs/plane_225m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_225m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 225 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_225m_schar_mountain_float64_test.yml b/config/model_configs/plane_225m_schar_mountain_float64_test.yml index 44a6041d1c..61a2e5ed74 100644 --- a/config/model_configs/plane_225m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_225m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 225 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_250m_schar_mountain_float32_test.yml b/config/model_configs/plane_250m_schar_mountain_float32_test.yml index c1406326ca..7aa223fd1c 100644 --- a/config/model_configs/plane_250m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_250m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 250 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_250m_schar_mountain_float64_test.yml b/config/model_configs/plane_250m_schar_mountain_float64_test.yml index c64153d911..f60a61073c 100644 --- a/config/model_configs/plane_250m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_250m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 250 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_25m_schar_mountain_float32_test.yml b/config/model_configs/plane_25m_schar_mountain_float32_test.yml index 8354ee489d..9a056a68c6 100644 --- a/config/model_configs/plane_25m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_25m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 25 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_25m_schar_mountain_float64_test.yml b/config/model_configs/plane_25m_schar_mountain_float64_test.yml index 8890a9aaaa..d4fd4f6b78 100644 --- a/config/model_configs/plane_25m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_25m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 25 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_300m_schar_mountain_float32_test.yml b/config/model_configs/plane_300m_schar_mountain_float32_test.yml index d80708e58b..270261dd18 100644 --- a/config/model_configs/plane_300m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_300m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 300 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_300m_schar_mountain_float64_test.yml b/config/model_configs/plane_300m_schar_mountain_float64_test.yml index 3d0bdfb825..aae3fd0d4d 100644 --- a/config/model_configs/plane_300m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_300m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 300 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_350m_schar_mountain_float32_test.yml b/config/model_configs/plane_350m_schar_mountain_float32_test.yml index 31c401efe0..ffb3fb6469 100644 --- a/config/model_configs/plane_350m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_350m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 350 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_350m_schar_mountain_float64_test.yml b/config/model_configs/plane_350m_schar_mountain_float64_test.yml index 76a9b5dacd..00b2021bac 100644 --- a/config/model_configs/plane_350m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_350m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 350 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_3m_schar_mountain_float32_test.yml b/config/model_configs/plane_3m_schar_mountain_float32_test.yml index 15b3a8fc1e..b5a0add5e9 100644 --- a/config/model_configs/plane_3m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_3m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 3 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_3m_schar_mountain_float64_test.yml b/config/model_configs/plane_3m_schar_mountain_float64_test.yml index 627a2712e1..f654f21699 100644 --- a/config/model_configs/plane_3m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_3m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 3 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_400m_schar_mountain_float32_test.yml b/config/model_configs/plane_400m_schar_mountain_float32_test.yml index 00b0d19070..d755a54fb6 100644 --- a/config/model_configs/plane_400m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_400m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 400 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_400m_schar_mountain_float64_test.yml b/config/model_configs/plane_400m_schar_mountain_float64_test.yml index d2dad3d4cc..6718c01524 100644 --- a/config/model_configs/plane_400m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_400m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 400 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_450m_schar_mountain_float32_test.yml b/config/model_configs/plane_450m_schar_mountain_float32_test.yml index 6678fc86ff..5ba93b8b0c 100644 --- a/config/model_configs/plane_450m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_450m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 450 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_450m_schar_mountain_float64_test.yml b/config/model_configs/plane_450m_schar_mountain_float64_test.yml index 25907ced43..0783417d46 100644 --- a/config/model_configs/plane_450m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_450m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 450 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_500m_schar_mountain_float32_test.yml b/config/model_configs/plane_500m_schar_mountain_float32_test.yml index 741488ddf2..b63249964e 100644 --- a/config/model_configs/plane_500m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_500m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 500 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_500m_schar_mountain_float64_test.yml b/config/model_configs/plane_500m_schar_mountain_float64_test.yml index 65e0749fcc..0821fe5f0e 100644 --- a/config/model_configs/plane_500m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_500m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 500 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_50m_schar_mountain_float32_test.yml b/config/model_configs/plane_50m_schar_mountain_float32_test.yml index 042e8d9ddb..91dfb712b0 100644 --- a/config/model_configs/plane_50m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_50m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 50 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_50m_schar_mountain_float64_test.yml b/config/model_configs/plane_50m_schar_mountain_float64_test.yml index e9092c630e..023816646e 100644 --- a/config/model_configs/plane_50m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_50m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 50 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_550m_schar_mountain_float32_test.yml b/config/model_configs/plane_550m_schar_mountain_float32_test.yml index 381e894912..24b4ea60ec 100644 --- a/config/model_configs/plane_550m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_550m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 550 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_550m_schar_mountain_float64_test.yml b/config/model_configs/plane_550m_schar_mountain_float64_test.yml index b557b58502..e6c76d5d94 100644 --- a/config/model_configs/plane_550m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_550m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 550 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_600m_schar_mountain_float32_test.yml b/config/model_configs/plane_600m_schar_mountain_float32_test.yml index 673a390b22..201b9b7656 100644 --- a/config/model_configs/plane_600m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_600m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 600 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_600m_schar_mountain_float64_test.yml b/config/model_configs/plane_600m_schar_mountain_float64_test.yml index 39e1f3fc7d..34db6883fd 100644 --- a/config/model_configs/plane_600m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_600m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 600 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_650m_schar_mountain_float32_test.yml b/config/model_configs/plane_650m_schar_mountain_float32_test.yml index 26ba5c9303..bfc40faa22 100644 --- a/config/model_configs/plane_650m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_650m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 650 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_650m_schar_mountain_float64_test.yml b/config/model_configs/plane_650m_schar_mountain_float64_test.yml index bd38846716..91a5689e54 100644 --- a/config/model_configs/plane_650m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_650m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 650 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_6m_schar_mountain_float32_test.yml b/config/model_configs/plane_6m_schar_mountain_float32_test.yml index 4590afa760..a23ce6535c 100644 --- a/config/model_configs/plane_6m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_6m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 6 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_6m_schar_mountain_float64_test.yml b/config/model_configs/plane_6m_schar_mountain_float64_test.yml index 2721e906d0..b1280e6592 100644 --- a/config/model_configs/plane_6m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_6m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 6 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_700m_schar_mountain_float32_test.yml b/config/model_configs/plane_700m_schar_mountain_float32_test.yml index 6329c99922..728c56a3b9 100644 --- a/config/model_configs/plane_700m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_700m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 700 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_700m_schar_mountain_float64_test.yml b/config/model_configs/plane_700m_schar_mountain_float64_test.yml index 6a0568af2b..1188f26554 100644 --- a/config/model_configs/plane_700m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_700m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 700 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_750m_schar_mountain_float32_test.yml b/config/model_configs/plane_750m_schar_mountain_float32_test.yml index 7ba14f07db..d00b6acbb6 100644 --- a/config/model_configs/plane_750m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_750m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 750 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_750m_schar_mountain_float64_test.yml b/config/model_configs/plane_750m_schar_mountain_float64_test.yml index 978244c5d2..dc98c83fd6 100644 --- a/config/model_configs/plane_750m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_750m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 750 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_75m_schar_mountain_float32_test.yml b/config/model_configs/plane_75m_schar_mountain_float32_test.yml index d4c4bd170c..983ee0844b 100644 --- a/config/model_configs/plane_75m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_75m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 75 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_75m_schar_mountain_float64_test.yml b/config/model_configs/plane_75m_schar_mountain_float64_test.yml index 1d5260d8b7..45c0cecfe8 100644 --- a/config/model_configs/plane_75m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_75m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 75 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_800m_schar_mountain_float32_test.yml b/config/model_configs/plane_800m_schar_mountain_float32_test.yml index 1ed9ee48f4..a683bd1d8e 100644 --- a/config/model_configs/plane_800m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_800m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 800 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_800m_schar_mountain_float64_test.yml b/config/model_configs/plane_800m_schar_mountain_float64_test.yml index 31fc5471c1..cc5f094bfd 100644 --- a/config/model_configs/plane_800m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_800m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 800 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_850m_schar_mountain_float32_test.yml b/config/model_configs/plane_850m_schar_mountain_float32_test.yml index 5ca5ab1e9c..4ab45e7be3 100644 --- a/config/model_configs/plane_850m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_850m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 850 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_850m_schar_mountain_float64_test.yml b/config/model_configs/plane_850m_schar_mountain_float64_test.yml index 709ced4374..f6439ad2dc 100644 --- a/config/model_configs/plane_850m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_850m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 850 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_900m_schar_mountain_float32_test.yml b/config/model_configs/plane_900m_schar_mountain_float32_test.yml index e976c6be53..4eee6e6f29 100644 --- a/config/model_configs/plane_900m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_900m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 900 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_900m_schar_mountain_float64_test.yml b/config/model_configs/plane_900m_schar_mountain_float64_test.yml index dc37688e52..f057e18b78 100644 --- a/config/model_configs/plane_900m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_900m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 900 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_950m_schar_mountain_float32_test.yml b/config/model_configs/plane_950m_schar_mountain_float32_test.yml index 0dafa05da4..031445a1a2 100644 --- a/config/model_configs/plane_950m_schar_mountain_float32_test.yml +++ b/config/model_configs/plane_950m_schar_mountain_float32_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 950 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/config/model_configs/plane_950m_schar_mountain_float64_test.yml b/config/model_configs/plane_950m_schar_mountain_float64_test.yml index fbad97bf6c..2dfe6efae9 100644 --- a/config/model_configs/plane_950m_schar_mountain_float64_test.yml +++ b/config/model_configs/plane_950m_schar_mountain_float64_test.yml @@ -10,7 +10,7 @@ z_elem: 100 dz_bottom: 10 schar_mountain_height: 950 dt: "0.7secs" -t_end: "2days" +t_end: "3days" rayleigh_sponge: true disable_surface_flux_tendency: true toml: [toml/steady_state_test.toml] diff --git a/post_processing/ci_plots.jl b/post_processing/ci_plots.jl index 1f2e513b4b..24f44387de 100644 --- a/post_processing/ci_plots.jl +++ b/post_processing/ci_plots.jl @@ -894,7 +894,7 @@ function make_plots( make_contour_plots(short_names, time_series_output_name) do short_name Iterators.flatmap(simdirs) do simdir var = get(simdir; short_name) - var = window(var, z_dim_name(var); right = zd_rayleigh) + # var = window(var, z_dim_name(var); right = zd_rayleigh) var = is_3d ? slice(var; y = 0) : var time_values = if endswith(short_name, "predicted") (Inf,) # Predicted values are constant and only need 1 plot. From 9853019dec468cfad4be7350a6887dd3ee423647 Mon Sep 17 00:00:00 2001 From: Dennis Yatunin Date: Tue, 7 Oct 2025 02:44:19 -0700 Subject: [PATCH 10/10] =?UTF-8?q?Subtract=20=E1=B6=9C=CE=B8=5Fvr=20and=20?= =?UTF-8?q?=E1=B6=9C=CE=A6=5Fr=20from=20=E2=88=87p/=CF=81=C2=B2=20term,=20?= =?UTF-8?q?drop=20=E1=B6=9C=CE=A6=20from=20=E2=88=82p/=E2=88=82=CF=81=20te?= =?UTF-8?q?rm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/prognostic_equations/implicit/manual_sparse_jacobian.jl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/prognostic_equations/implicit/manual_sparse_jacobian.jl b/src/prognostic_equations/implicit/manual_sparse_jacobian.jl index 67d7cb9d28..8997e2d4cf 100644 --- a/src/prognostic_equations/implicit/manual_sparse_jacobian.jl +++ b/src/prognostic_equations/implicit/manual_sparse_jacobian.jl @@ -469,9 +469,10 @@ function update_jacobian!(alg::ManualSparseJacobian, cache, Y, p, dtγ, t) @. ∂ᶠu₃_err_∂ᶜρ = dtγ * ( ᶠp_grad_matrix ⋅ - DiagonalMatrixRow(ᶜkappa_m * (T_0 * cp_d - ᶜK - (ᶜΦ - ᶜΦ_r))) + + DiagonalMatrixRow(ᶜkappa_m * (T_0 * cp_d - ᶜK)) + DiagonalMatrixRow( - cp_d * ᶠinterp(ᶜθ_v - ᶜθ_vr) * ᶠgradᵥ(ᶜΠ) / ᶠinterp(ᶜρ), + (cp_d * ᶠinterp(ᶜθ_v - ᶜθ_vr) * ᶠgradᵥ(ᶜΠ) - ᶠgradᵥ(ᶜΦ_r)) / + ᶠinterp(ᶜρ), ) ⋅ ᶠinterp_matrix() )