Skip to content

Changing tilt does not modify climate #9

@stella-bourdin

Description

@stella-bourdin

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:

Image Image Image

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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions