-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
I am trying to run a 5-year control experiment that is the default PrimitiveWetModel
, and two perturbed experiments with axial tilt 0 and 90°.
Here is my code :
# Import SpeedyWeather
using SpeedyWeather
using GeoMakie, CairoMakie
## Control
spectral_grid = SpectralGrid()
# Output
output_writer = NetCDFOutput(spectral_grid, id = "control") # Define writer with experiment name
output_writer.output_dt = Day(1) # Define output frequency
add!(output_writer, SpeedyWeather.TemperatureOutput(), SpeedyWeather.RadiationOutput()...)
delete!(output_writer, :u, :v, :vor)
@show output_writer
model = PrimitiveWetModel(spectral_grid, output = output_writer)
@show simulation = initialize!(model)
run!(simulation, period=Day(365*5+1), output = true) # Set output=true to activate NetCDF output
## tilt 0
tilt = 0
spectral_grid = SpectralGrid()
# Output
output_writer = NetCDFOutput(spectral_grid, id = "tilt_$tilt") # Define writer with experiment name
output_writer.output_dt = Day(1) # Define output frequency
add!(output_writer, SpeedyWeather.TemperatureOutput(), SpeedyWeather.RadiationOutput()...)
delete!(output_writer, :u, :v, :vor)
@show output_writer
model = PrimitiveWetModel(spectral_grid, output = output_writer, planet=Earth(spectral_grid, axial_tilt = tilt))
@show simulation = initialize!(model)
run!(simulation, period=Day(365*5+1), output = true) # Set output=true to activate NetCDF output
## tilt 90
tilt = 90
spectral_grid = SpectralGrid()
# Output
output_writer = NetCDFOutput(spectral_grid, id = "tilt_$tilt") # Define writer with experiment name
output_writer.output_dt = Day(1) # Define output frequency
add!(output_writer, SpeedyWeather.TemperatureOutput(), SpeedyWeather.RadiationOutput()...)
delete!(output_writer, :u, :v, :vor)
@show output_writer
model = PrimitiveWetModel(spectral_grid, output = output_writer, planet=Earth(spectral_grid, axial_tilt = tilt))
@show simulation = initialize!(model)
run!(simulation, period=Day(365*5+1), output = true) # Set output=true to activate NetCDF output
From looking at the simulation.model.planet
and simulation.model.solar_zenith
, the change in axial tilt is taken into account in both.
The downward surface radiation also looks good:



But the temperature is exactly the same in all experiments: np.abs(control.temp - tilt_0.temp).max() = 0
(whereas np.abs(control.srd - tilt_0.srd).max() = 542.25
)
I am confused... Any idea why that is, and how to fix it @milankl ?
Metadata
Metadata
Assignees
Labels
No labels