Skip to content

Commit

Permalink
Merge pull request #979 from CliMA/js/bucket-diags2
Browse files Browse the repository at this point in the history
include bucket diagnostics
  • Loading branch information
juliasloan25 authored Oct 3, 2024
2 parents f90cf2b + bf0ddfe commit 279b95b
Show file tree
Hide file tree
Showing 7 changed files with 36 additions and 13 deletions.
8 changes: 4 additions & 4 deletions experiments/ClimaEarth/Manifest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

julia_version = "1.10.5"
manifest_format = "2.0"
project_hash = "3f041ae318abcda7361d1017b4769284277fd054"
project_hash = "068d169322176676d4a2ff1e87cafb47cc58b76b"

[[deps.ADTypes]]
git-tree-sha1 = "5a5eafb8344b81b8c2237f8a6f6b3602b3f6180e"
Expand Down Expand Up @@ -334,16 +334,16 @@ uuid = "d934ef94-cdd4-4710-83d6-720549644b70"
version = "0.3.17"

[[deps.ClimaCoupler]]
deps = ["ClimaComms", "ClimaCore", "ClimaCoreTempestRemap", "Dates", "JLD2", "NCDatasets", "SciMLBase", "StaticArrays", "SurfaceFluxes", "Thermodynamics"]
deps = ["Artifacts", "ClimaComms", "ClimaCore", "ClimaCoreTempestRemap", "Dates", "JLD2", "Logging", "NCDatasets", "SciMLBase", "StaticArrays", "SurfaceFluxes", "Thermodynamics"]
path = "../.."
uuid = "4ade58fe-a8da-486c-bd89-46df092ec0c7"
version = "0.1.1"

[[deps.ClimaDiagnostics]]
deps = ["Accessors", "ClimaComms", "ClimaCore", "Dates", "NCDatasets", "SciMLBase"]
git-tree-sha1 = "9526b91533254b043e860e17568555d21d1d041e"
git-tree-sha1 = "ae8854e55028856675294f744ca7a6a3a3bd75bc"
uuid = "1ecacbb8-0713-4841-9a07-eb5aa8a2d53f"
version = "0.2.6"
version = "0.2.7"

[[deps.ClimaLand]]
deps = ["ArtifactWrappers", "ClimaComms", "ClimaCore", "ClimaDiagnostics", "ClimaUtilities", "Dates", "DocStringExtensions", "Insolation", "Interpolations", "LazyArtifacts", "LinearAlgebra", "NCDatasets", "SciMLBase", "StaticArrays", "SurfaceFluxes", "Thermodynamics"]
Expand Down
2 changes: 2 additions & 0 deletions experiments/ClimaEarth/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ ClimaComms = "3a4d1b5c-c61d-41fd-a00a-5873ba7a1b0d"
ClimaCore = "d414da3d-4745-48bb-8d80-42e94e092884"
ClimaCorePlots = "cf7c7e5a-b407-4c48-9047-11a94a308626"
ClimaCoupler = "4ade58fe-a8da-486c-bd89-46df092ec0c7"
ClimaDiagnostics = "1ecacbb8-0713-4841-9a07-eb5aa8a2d53f"
ClimaLand = "08f4d4ce-cf43-44bb-ad95-9d2d5f413532"
ClimaParams = "5c42b081-d73a-476f-9059-fd94b934656c"
ClimaTimeSteppers = "595c0a79-7f3d-439a-bc5a-b232dc3bde79"
Expand Down Expand Up @@ -36,6 +37,7 @@ ArtifactWrappers = "0.2"
ClimaAnalysis = "0.5.4"
ClimaAtmos = "0.27"
ClimaCorePlots = "0.2"
ClimaDiagnostics = "0.2"
ClimaLand = "0.14, 0.15"
ClimaParams = "0.10"
ClimaTimeSteppers = "0.7"
Expand Down
23 changes: 21 additions & 2 deletions experiments/ClimaEarth/components/land/climaland_bucket.jl
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import ClimaParams
import Thermodynamics as TD
import ClimaLand as CL
import ClimaLand.Parameters as LP
import ClimaDiagnostics as CD
import ClimaCoupler: Checkpointer, FluxCalculator, Interfacer

###
Expand Down Expand Up @@ -52,7 +53,7 @@ function bucket_init(
config::String,
albedo_type::String,
land_temperature_anomaly::String,
regrid_dirpath::String;
dir_paths::NamedTuple;
space,
dt::Float64,
saveat::Float64,
Expand All @@ -70,6 +71,9 @@ function bucket_init(
@assert config == "sphere"
end

regrid_dirpath = dir_paths.regrid
artifacts_dir = dir_paths.artifacts

α_snow = FT(0.8) # snow albedo
if albedo_type == "map_static" # Read in albedo from static data file (default type)
# By default, this uses a file containing bareground albedo without a time component. Snow albedo is specified separately.
Expand Down Expand Up @@ -144,7 +148,22 @@ function bucket_init(
ode_algo = CTS.ExplicitAlgorithm(stepper)
bucket_ode_function = CTS.ClimaODEFunction(T_exp! = exp_tendency!, dss! = CL.dss!)
prob = SciMLBase.ODEProblem(bucket_ode_function, Y, tspan, p)
integrator = SciMLBase.init(prob, ode_algo; dt = dt, saveat = saveat, adaptive = false)

# Add diagnostics
netcdf_writer = CD.Writers.NetCDFWriter(domain.space.subsurface, artifacts_dir)
scheduled_diagnostics = CL.default_diagnostics(model, date_ref, output_writer = netcdf_writer)

diagnostic_handler = CD.DiagnosticsHandler(scheduled_diagnostics, Y, p, t_start; dt = dt)
diag_cb = CD.DiagnosticsCallback(diagnostic_handler)

integrator = SciMLBase.init(
prob,
ode_algo;
dt = dt,
saveat = saveat,
adaptive = false,
callback = SciMLBase.CallbackSet(diag_cb),
)

sim = BucketSimulation(model, Y, (; domain = domain, soil_depth = d_soil), integrator, area_fraction)

Expand Down
6 changes: 3 additions & 3 deletions experiments/ClimaEarth/run_amip.jl
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ if mode_name == "amip"
config_dict["land_domain_type"],
config_dict["land_albedo_type"],
config_dict["land_temperature_anomaly"],
dir_paths.regrid;
dir_paths;
dt = Δt_cpl,
space = boundary_space,
saveat = saveat,
Expand Down Expand Up @@ -359,7 +359,7 @@ elseif mode_name in ("slabplanet", "slabplanet_aqua", "slabplanet_terra")
config_dict["land_domain_type"],
config_dict["land_albedo_type"],
config_dict["land_temperature_anomaly"],
dir_paths.regrid;
dir_paths;
dt = Δt_cpl,
space = boundary_space,
saveat = saveat,
Expand Down Expand Up @@ -408,7 +408,7 @@ elseif mode_name == "slabplanet_eisenman"
config_dict["land_domain_type"],
config_dict["land_albedo_type"],
config_dict["land_temperature_anomaly"],
dir_paths.regrid;
dir_paths;
dt = Δt_cpl,
space = boundary_space,
saveat = saveat,
Expand Down
2 changes: 1 addition & 1 deletion experiments/ClimaEarth/run_cloudy_slabplanet.jl
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ land_sim = bucket_init(
"sphere",
"map_static",
"aquaplanet",
dir_paths.regrid;
dir_paths;
dt = Δt_cpl,
space = boundary_space,
saveat = saveat,
Expand Down
6 changes: 3 additions & 3 deletions perf/Manifest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

julia_version = "1.10.5"
manifest_format = "2.0"
project_hash = "2d4125716dea3150eddd43267d6e205b8d4cd41f"
project_hash = "c46d21317c946ec9f0ded6af1ab8d6a481f84053"

[[deps.ADTypes]]
git-tree-sha1 = "5a5eafb8344b81b8c2237f8a6f6b3602b3f6180e"
Expand Down Expand Up @@ -374,9 +374,9 @@ version = "0.1.1"

[[deps.ClimaDiagnostics]]
deps = ["Accessors", "ClimaComms", "ClimaCore", "Dates", "NCDatasets", "SciMLBase"]
git-tree-sha1 = "9526b91533254b043e860e17568555d21d1d041e"
git-tree-sha1 = "205961865d827825c2f5da0a18a605245cfec95e"
uuid = "1ecacbb8-0713-4841-9a07-eb5aa8a2d53f"
version = "0.2.6"
version = "0.2.8"

[[deps.ClimaLand]]
deps = ["ArtifactWrappers", "ClimaComms", "ClimaCore", "ClimaDiagnostics", "ClimaUtilities", "Dates", "DocStringExtensions", "Insolation", "Interpolations", "LazyArtifacts", "LinearAlgebra", "NCDatasets", "SciMLBase", "StaticArrays", "SurfaceFluxes", "Thermodynamics"]
Expand Down
2 changes: 2 additions & 0 deletions perf/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ ClimaComms = "3a4d1b5c-c61d-41fd-a00a-5873ba7a1b0d"
ClimaCore = "d414da3d-4745-48bb-8d80-42e94e092884"
ClimaCorePlots = "cf7c7e5a-b407-4c48-9047-11a94a308626"
ClimaCoupler = "4ade58fe-a8da-486c-bd89-46df092ec0c7"
ClimaDiagnostics = "1ecacbb8-0713-4841-9a07-eb5aa8a2d53f"
ClimaLand = "08f4d4ce-cf43-44bb-ad95-9d2d5f413532"
ClimaParams = "5c42b081-d73a-476f-9059-fd94b934656c"
ClimaTimeSteppers = "595c0a79-7f3d-439a-bc5a-b232dc3bde79"
Expand Down Expand Up @@ -39,6 +40,7 @@ ArtifactWrappers = "0.2"
ClimaAnalysis = "0.5.4"
ClimaAtmos = "0.27"
ClimaCorePlots = "0.2"
ClimaDiagnostics = "0.2"
ClimaLand = "0.14, 0.15"
ClimaParams = "0.10"
ClimaTimeSteppers = "0.7"
Expand Down

0 comments on commit 279b95b

Please sign in to comment.