How to Underestimate Geothermal

Many people believe that because the geothermal heat flux is ~91 milliwatts/m², this would imply that, without the sun, the Earth’s surface would be ~36 Kelvin. This is calculated the following way:

The math is correct, but there are two problems. First, this is for the top-of-the-atmosphere, not for the surface. But I will not address this today. The second problem, I will address today, is that this flux is wrong for this type of calculation.

Imagine an internally heated object is radiating to space. It’s very warm on the inside, but it very rapidly cools as you approach the exterior surface. Then a much hotter object joins in and starts to heat the exterior surface. What happens? The surface is now much warmer then it would be, and the flux going from inside to outside is … reduced!

The famous [small] geothermal heat flux is already a product of this reduction! The question now becomes … what would the flux be without the sun?

This question is extremely difficult to answer given all the variable parameters, and as far as I can tell … NO ONE has attempted it. But I’ll give it a small shot 🙂

I made a very simplistic 1-dimensional heat transfer program (code below) to help me out. First let me tell you its shortcomings:

No Albedo. No emissivity. No seasons. One latitude. No accounting of variation of specific heat or k-value as a function of depth. m*Cp = 222 and k=1, for all depths.

The sun simulation: Sun rises at 6am and goes to a full 1360 W/m² (no albedo) at high noon and disappears again at 6pm (like equator on equinox). This is repeated for 10 years (3650 days).

Despite these limitations, my central point is correct and will become obvious.

Not knowing where to start, I chose 273.15 K (0 °C) as the inherent geothermal temperature at 200m depth. The result becomes:

T @ depth of 200m = 273.15 K
$ cat plot.csv

  0 253.63
  2 253.82
  4 254.02 ...
196 272.76
198 272.95
200 273.15

The geothermal flux here is:

Geothermal Heat Flux if T @ depth 200m = 273.15K

That is very close to the measured geothermal flux. Now let’s see what happens when we turn off the solar influence:

No Sun

This result can also be achieved via a simple equation:

The geothermal heat flux now is 0.9462 W/m². That is … nearly 10 TIMES the flux when the sun is included. 9.695x to be more exact.

So the actual geothermal flux without the sun is very different than the flux with the sun. And this is not surprising.

Before my critics complain that I arbitrarily kept the temperature at 200m depth constant, they should be reminded that this doesn’t matter to my central point. The top (surface) cools much faster than the interior, and that this immediately raises the flux. Either way, the famous geothermal heat flux is irrelevant for no-sun calculations as the REAL “steady state” tendency [without the sun] is to cool from top to bottom to the external temperature from distant space objects (2.725K). Given infinite time … the heat flux goes to ZERO, and the surface temperature is obviously driven much colder than the 35.65 K figure calculated simply from today’s current geothermal heat flux with solar influence.

The 91 milliWatts/m² geothermal heat flux is worthless for no-sun predictions of surface termperature. QED

Enjoy 🙂 -Zoe


# Zoe Phin, 2022/05/06
# File:
# Run: source; heat; plot

heat() {
    awk 'func show(s,t,T,x) {
            if (x=="AVG") printf "%*s AVG   ",12," "
            else printf "d%03d %02d:%02d |%04dW| ",t/1440+1,t%1440/60,t%60,s
            for (i=0;i<=L/2;i++) { printf "%06.2f ",T[i]; A[i]+=T[i]/24 }; print ""
        func reset(s,t,T) {
            for (i=0;i<=L/2;i++) { A[i]=0 }
        BEGIN { C=222; d=3650; L=200 
        for (t=0;t<d*1440;t++) {
            T[L/2] = 273.15	# Geothermal Base Temperature
            if ((S=1360*cos(atan2(0,-1)*(t-720)/720))<0) S=0
            if (t/1440>0&&t%1440==0) reset(S,0,A)
            if (t%60==0) show(S,t,T,"")	
            for (i=0;i<L/2;i++) {
                D = (T[i]-T[i+1])/2
                T[i]-=D/C; T[i+1]+=D/C 
            T[0] += (S-5.67e-8*T[0]^4)/C
    }' > data

plot() {
    tail -1 data | tr -s ' ' '\n' | sed 1,2d | awk '{print (NR-1)*2" "$1}' > plot.csv
    echo "set term png size 740,540; set nokey
        set title 'Depth (m) vs Temperature(K)'
        set yrange [200:0]
        set xrange [240:290]
        set ytics 20; set mytics 4
        set xtics 5; set mxtics 5
        set grid ytics xtics
        plot 'plot.csv' u 2:1 w lines lw 2 lc rgb 'red'
    " | gnuplot > plot.png

Published by Zoe Phin

7 thoughts on “How to Underestimate Geothermal

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: