Institute for Geography
University of Augsburg
Physical Geography and Quantitative Methods
Energy Balance Model

conceptual 0-dimensional energy balance model of the earth

number of years [a]
starting temperature [degC]
shortwave radiation input [W/m**2]
atmospheric transmissivity []
total earth heat capacity [J/(K*m**2)]
total earth standard albedo []
compute time step [days]
output time step [days]
noise amplitude factor (weather) []
ice-albedo-feedback factor (0 = switch off) []
plot energy balance plot albedo plot shortwave radiation output
plot longwave radiation output plot temperature change default run model

default noise: 0.15
default icealbedo: 0.05

final temperature = 16.5139
minumum temperature = 14.7405
maximum temperature = 16.5139
mean temperature = 16.4398

Data download
x <- read.table("20240004002601200004003600490695.out",header=F)
columns(x) <- c("year","temp","radbalance","albedo","swoutput","lwoutput","deltat")
plot(x$year,x$temp,type="l",col="blue",xlab="model year",ylab="temperature (degC)")

Starting with a given temperature value the temperature development of the earth is simulated by:
  albedo = stdalbedo * ( 1.D0 - icealbedo * tanh( 1.548D0 * (temp-288.D0) ) ! albedo depending on temp
  radiationoutput_shortwave = albedo * radiationinput_shortwave ! reflected short wave radiation
  noise = random_normal() * noisefactor ! simulating small weather disturbances
  radiationoutput_longwave = (emis * sigma * temp**4) * (transmiss + noise) ! long wave emission
  radiationbalance = radiationinput_shortwave - radiationoutput_shortwave - radiationoutput_longwave ! radiation balance
  delta_t = radiationbalance / heat_capacity ! temperature change
  temp = temp + delta_t * timestep ! new temperature