diff --git a/experiments/ClimaEarth/components/atmosphere/climaatmos.jl b/experiments/ClimaEarth/components/atmosphere/climaatmos.jl index 51fc558292..e8461feaea 100644 --- a/experiments/ClimaEarth/components/atmosphere/climaatmos.jl +++ b/experiments/ClimaEarth/components/atmosphere/climaatmos.jl @@ -236,6 +236,11 @@ function Interfacer.update_field!(atmos_sim::ClimaAtmosSimulation, ::Val{:co2}, end end # extensions required by the Interfacer +function Interfacer.update_field!(sim::ClimaAtmosSimulation, ::Val{:emissivity}, field) + # sets all 16 bands (rows) to the same values + sim.integrator.p.radiation.rrtmgp_model.surface_emissivity .= + reshape(CC.Fields.field2array(field), 1, length(parent(field))) +end function Interfacer.update_field!(sim::ClimaAtmosSimulation, ::Val{:surface_direct_albedo}, field) sim.integrator.p.radiation.rrtmgp_model.direct_sw_surface_albedo .= reshape(CC.Fields.field2array(field), 1, length(parent(field))) diff --git a/src/Interfacer.jl b/src/Interfacer.jl index b5073ce471..47d42d9c4d 100644 --- a/src/Interfacer.jl +++ b/src/Interfacer.jl @@ -179,6 +179,7 @@ update_field!( sim::AtmosModelSimulation, val::Union{ Val{:co2}, + Val{:emissivity}, Val{:surface_direct_albedo}, Val{:surface_diffuse_albedo}, Val{:surface_temperature},