Greenhouse Gases as Coolants

There, I said it. Don’t believe me? I will show you …

NASA offers an online tool for measuring the effects of clouds, aerosols, and greenhouse gases.

Set Output to OUTPUT_details. Note the CO2 (ppmv) setting in the bottom left. Click Compute button to express form changes. Output comes below the form, so scroll down. Result:

Purple Ellipse = LWUP @ one meter above surface

I wrote a program to see changes to Upwelling Longwave Radiation (LWUP) at 1 meter above surface under different CO2 ppmv settings and zones. Here is the result:

PPM  Trop   MLS    MLW    SAS    SAW
 15 456.36 421.41 309.39 382.31 246.71 
 30 456.35 421.41 309.41 382.31 246.75 
 60 456.34 421.41 309.43 382.31 246.80 
120 456.33 421.40 309.46 382.31 246.87 
180 456.32 421.40 309.47 382.31 246.91 
240 456.32 421.40 309.49 382.31 246.95 
300 456.31 421.40 309.50 382.31 246.97 
360 456.31 421.40 309.50 382.31 246.99 
420 456.30 421.40 309.51 382.31 247.01 
480 456.30 421.39 309.51 382.31 247.02 
540 456.29 421.39 309.52 382.30 247.03 
600 456.29 421.39 309.52 382.30 247.04 

Units are in W/m²

(Trop=Tropics, MLS=Mid-Latitude Summer, MLW=Mid-Latitude Winter, SAS=Subarctic Summer, SAW=Subarctic Winter)

You see it ? ? ?

NASA’s tool also allows you to edit the atmospheric composition of water vapor, by setting Atmosphere EDIT to Detail.

I automated changes to sea level water vapor content while maintaining same CO2 level (410 ppm) and same zone (Mid-Latitude Summer). Result:

0.001 423.39 
0.002 423.39 
0.004 423.39 
0.010 423.39 
0.020 422.07 
0.040 421.78 
0.100 421.31 
0.200 421.13 
0.400 421.24

Anyway, that’s all the time I have for now. -Zoe

Update 02/08

While my analysis for CO2 is correct, it appears my H2O analysis was too simplistic. I have re-written the code. What I do use is use all 5 climate zones and change water vapor content in the whole atmospheric column, not just near the surface. I divide original content by 2, 4, 8, 16 and then multiply by same.

New Result:

  WV-X   Trop   MLS    MLW    SAS    SAW
0.0625X 455.63 420.61 308.94 381.72 246.23 
 0.125X 455.73 420.76 309.09 381.86 246.42 
  0.25X 455.83 420.91 309.24 381.98 246.61 
   0.5X 456.01 421.09 309.37 382.11 246.80 
     1X 456.30 421.40 309.51 382.31 247.01 
     2X 456.40 421.70 309.70 382.59 247.22 
     4X 456.02 421.64 309.95 382.65 247.48 
     8X 455.53 421.31 310.08 382.33 247.82 
    16X 455.41 421.12 309.91 381.96 248.11  

There is now warming in every zone but the tropics. No problem … The extra energy needed to raise water vapor content is exactly what these calculations perform. What you’re seeing is new raised fluxes needed to raise WV content.

Apologies if you feel the title of this article is now misleading. I strive for truth and accuracy.

Another Update 02/08 🙂

I updated the code to check every spectral type, not just the Ocean. The function h2o_diff tracks changes of the effects of multiplying water vapor by 256 times. Here is the result:

   Type  Trop   MLS    MLW    SAS    SAW
    01  -1.31  -0.59  -0.22  -0.93  +0.82
    02  -1.31  -0.59  -0.22  -0.93  +0.82
    03  +0.28  +0.85  +0.80  +0.39  +1.52
    04  +0.28  +0.85  +0.80  +0.39  +1.52
    05  -0.54  +0.10  +0.27  -0.29  +1.15
    06  +2.59  +2.98  +2.45  +2.42  +2.75
    07  +8.74  +8.61  +6.77  +7.76  +5.92
    08  -0.45  +0.17  +0.30  -0.24  +1.15
    09  -0.45  +0.17  +0.30  -0.24  +1.15
    10  -0.45  +0.17  +0.30  -0.24  +1.15
    11  -0.32  +0.36  +0.64  +0.01  +1.52
    12  -0.45  +0.17  +0.30  -0.24  +1.15
    13  -2.47  -1.63  -0.94  -1.90  +0.32
    14  -0.47  +0.16  +0.30  -0.24  +1.17
    15  -2.44  -1.60  -0.91  -1.86  +0.35
    16 +11.84 +11.45  +8.95 +10.45  +7.52
    17  -0.22  +0.51  +0.97  +0.24  +1.88

 1 Evergreen Needle Forest   11 Wetlands
 2 Evergreen Broad Forest    12 Crops
 3 Deciduous Needle Forest   13 Urban
 4 Deciduous Broad Forest    14 Crop/Mosaic
 5 Mixed Forest              15 Permanent Snow
 6 Closed Shrub              16 Barren / Desert
 7 Open Shrub                17 Ocean
 8 Woody Savanna             18 Tundra
 9 Savanna                   19 Fresh Snow
10 Grassland                 20 Sea Ice

I did the same for CO2 (co2_diff):

   Type  Trop   MLS    MLW    SAS    SAW
    01  -0.09  -0.06  -0.06  -0.09  +0.10
    02  -0.09  -0.06  -0.06  -0.09  +0.10
    03  -0.07  -0.03  +0.00  -0.05  +0.15
    04  -0.07  -0.03  +0.00  -0.05  +0.15
    05  -0.07  -0.04  -0.03  -0.07  +0.13
    06  -0.04  +0.01  +0.11  +0.01  +0.30
    07  +0.02  +0.11  +0.41  +0.17  +0.63
    08  -0.08  -0.04  -0.05  -0.07  +0.11
    09  -0.08  -0.04  -0.05  -0.07  +0.11
    10  -0.08  -0.04  -0.05  -0.07  +0.11
    11  -0.07  -0.03  +0.05  -0.04  +0.23
    12  -0.08  -0.04  -0.05  -0.07  +0.11
    13  -0.10  -0.07  -0.10  -0.12  +0.06
    14  -0.07  -0.04  -0.03  -0.07  +0.12
    15  -0.10  -0.08  -0.09  -0.11  +0.07
    16  +0.06  +0.16  +0.55  +0.25  +0.80
    17  -0.07  -0.02  +0.13  -0.01  +0.33

 1 Evergreen Needle Forest   11 Wetlands
 2 Evergreen Broad Forest    12 Crops
 3 Deciduous Needle Forest   13 Urban
 4 Deciduous Broad Forest    14 Crop/Mosaic
 5 Mixed Forest              15 Permanent Snow
 6 Closed Shrub              16 Barren / Desert
 7 Open Shrub                17 Ocean
 8 Woody Savanna             18 Tundra
 9 Savanna                   19 Fresh Snow
10 Grassland                 20 Sea Ice


# Zoe Phin, v2.2: 2021/02/08


types() { echo '
     1 Evergreen Needle Forest   11 Wetlands
     2 Evergreen Broad Forest    12 Crops
     3 Deciduous Needle Forest   13 Urban
     4 Deciduous Broad Forest    14 Crop/Mosaic
     5 Mixed Forest              15 Permanent Snow
     6 Closed Shrub              16 Barren / Desert
     7 Open Shrub                17 Ocean
     8 Woody Savanna             18 Tundra
     9 Savanna                   19 Fresh Snow
    10 Grassland                 20 Sea Ice
    ' | tr -d '\t'

co2() {
    echo "PPM  Trop   MLS    MLW    SAS    SAW"
    for ppm in 15 30 60 120 180 240 300 360 420 480 540 600; do
        printf "%3d " $ppm
        for zone in trop mls mlw sas saw; do
            echo $url | sed "s/ //g; s/CO2=X/CO2=$ppm/; s/ATM=mls/ATM=$zone/" | wget -qO- -i- | awk '/SLW2 7-20/{printf "%s ", $6}'

co2_diff() {
    echo "   Type  Trop   MLS    MLW    SAS    SAW"
    for t in {1..17}; do
        T=$(printf "%02d" $t)
        sed -n "/Type $T/,/^$/p" co2.csv | sed -n '3,14p' | cut -c4- | awk -vt=$t '
            NR==1{A=$1;B=$2;C=$3;D=$4;E=$5}END{printf "    %02d %+6.2f %+6.2f %+6.2f %+6.2f %+6.2f\n",t,$1-A,$2-B,$3-C,$4-D,$5-E}'

h2o() {
	for atm in trop mls mlw sas saw; do
		echo $url | sed "s/ //g; s/EATM=No/EATM=Detail/; s/ATM=mls/ATM=$atm/" | wget -qO- -i- | sed -n '/<textarea /,/\/textarea>/p;' | sed '1d;$d' > $

    echo "  WV-X   Trop   MLS    MLW    SAS    SAW"
    for w in 0.0625 0.125 0.25 0.5 1 2 4 8 16; do
        printf "%6gX " $w
        for zone in trop mls mlw sas saw; do
            atmo=$(awk -vw=$w '{printf "%-7G %8.4f %13G %13G%0D%0A\n", $1, $2, $3*w, $4}' $ | tr ' ' '+')

            (echo $url | sed "s/ //g; s/CO2=X/CO2=410/; s/EATM=No/EATM=Detail/; s/ATM=mls/ATM=$atm/"; 
            echo "&ATMOSPHERE=$atmo") | tr -d '\n' | wget -qO- -i- | awk '/SLW2 7-20/{printf "%s ", $6}'
    done | tee h2o.csv

h2o_diff() {
    echo "   Type  Trop   MLS    MLW    SAS    SAW"
    for t in {1..17}; do
        sed -n "/Type $t/,/^$/p" h2o.csv | sed -n '3,11p' | cut -c9- | awk -vt=$t '
            NR==1{A=$1;B=$2;C=$3;D=$4;E=$5}END{printf "    %02d %+6.2f %+6.2f %+6.2f %+6.2f %+6.2f\n",t,$1-A,$2-B,$3-C,$4-D,$5-E}'

Run it:

$ .; co2
$ .; h2o

$ .; co2_diff  # (must be run after co2)
$ .; h2o_diff  # (must be run after h2o)

Published by Zoe Phin

38 thoughts on “Greenhouse Gases as Coolants

  1. So by continuing the process of exhalation humans are helping to stop the planet over-heating. I like it but I don’t think the people-hating pseudo-science of Climateers will.

    Liked by 2 people

  2. I’ve always taken the position that any “greenhouse gas” increase that mixes, certainly above the troposphere, but also probably above wherever the water vapour taps out … this will have a cooling effect. I can’t see how the lesser claim “above the troposphere could be refuted or even doubted. Except to the extent that CO2, being a heavier-than-air gas, could conceivably lead to greater air pressure.

    But take the more purist idea of methane getting above the troposphere? Of course that will have a cooling effect. How could it be otherwise?

    I think water vapour is schizophrenic in its cooling and heating effects but thats kind of involved. My conclusion would be to take the great good fortune of the hydrocarbon industry as an opportunity to build great soil and green the deserts, and then let our hearts not be troubled.

    Tell your CO2-bedwetting friends that the solution has already been found with cross-laminated timber. Turns out that modern materials are all pretty bogus and that exceptionally tall buildings represent a vertical cul de sac. But humanity never can have enough of these 5 storey buildings and this is the range at which cross laminated timber is the superior product.

    So tell these friends to dry their eyes and blow their nose and pat them on the back and say “there there …. there there” because we know how to build soil and make these buildings. So there is no need to worry any more. The problem has been solved. We know what to do, no matter what the science says.

    Liked by 1 person

  3. Here are a few references about CO2 cooling… in case anyone is interested.

    (1) “CO2-induced global warming: a skeptic’s view of potential climate change”,
    by Sherwood B Idso in: ”Climate Research” Vol 10: p.69-82 (1998) ….

    Click to access Idso_CR_1998.pdf

    8 natural experiments regarding sensitivity of surface air temperature to atmospheric CO2 concentration.
    Includes over 4 pages of references, listing most important papers up to 1998.
    Includes a section discussing processes of cooling by CO2.

    (2) Mlynczak, M. G. et al., “Observations of infrared radiative cooling in the thermosphere on daily to multiyear timescales from the TIMED/SABER instrument.” J. Geophys Res. 115, A03309 (2010). ….

    (3) Emmert, J., Stevens, M., Bernath, P. et al. “Observations of increasing carbon dioxide concentration in Earth’s thermosphere.” ”Nature Geosci 5, 868–871” (2012) doi:10.1038/ngeo1626
    Excerpts: “In the thermosphere, ”’CO2 is the primary radiative cooling agent”’ and fundamentally affects the energy balance and temperature of this high-altitude atmospheric layer 1,2. Anthropogenic CO2 increases are expected to propagate upward throughout the entire atmosphere, which should result in a cooler, more contracted thermosphere 3,4,5.” (Emmert et al. 2012) and … “thermal energy is transferred via collisions from other atmospheric constituents to CO2, which then emits the energy as heat that escapes to outer space.” ….

    (4) “Unmasking the negative greenhouse effect over the Antarctic Plateau” by Sergio A. Sejas, Patrick C. Taylor & Ming Cai, in: ”Climate and Atmospheric Science”, volume 1, Article number: 17 (11 July 2018) …..

    (5) H. W. Ellsaesser, “The Climate Effect of CO2: A Different View”, ”Atmos. Envir.” 18, 431-434 (1984) . . . ( related comment ….. )

    Liked by 1 person

  4. Having been forced to think about your ideas to do with the Arctic I can see how easily I can integrate this into my existing non-quant doctrines. Because I was taken a bit by surprise that its in the winter that the CO2 would have a warming effect in the arctic.

    I was going on the idea that:

    (a) the standard CO2 watts per square metre model was completely ridiculous but that

    (b) I could concede that in the long arctic summer that model started to look almost representative.

    But of course thats just me trying to be a good sport and over-concede a fair point every chance I could get. I can see that your idea makes sense. Because in arctic the tropopause is very low altitude and variable is that right from your general knowledge? And I think there are lot of “temperature inversions.” So you could get all these warm winds from the south that still had water vapour in them blowing over.

    And I can see also how the CO2 could have a slight “warming effect” (its so bloody freezing) in the arctic winter also. Because then there is definitely no water vapour, few “warm” winds coming over. And CO2 has to be the last game in town to retain just a joule or two here or there.

    But clearly that joule retention is no threat. Its not as if these joules are going to gather together and start hiding in the deep water only to make the oceans boil a thousand years hence.

    I may cross-post to Joannes place if you approve?

    Liked by 2 people

    1. I regard the average temperature of Earth as average temperature of all the ocean.
      The average temperature of entire ocean is about 3.5 C
      It commonly said that 90% of our ocean is 3 C or colder.
      And a reason I regard the average temperature of all the oceans as the global average temperature
      is that ocean determines polar regions average surface air temperature.
      Or what call global cooling or warming is largely about average surface air temperature of the polar
      regions. And measure global temperature history with polar ice core proxies.
      And interest in recent glaciation periods was “news” to idea or “theory” that Earth basically stayed to
      same since “beginning of creation”.
      Or one argue that tropics have basically stayed the same since the “beginning of creation” but things
      like polar amplification, wiki:
      “Polar amplification is the phenomenon that any change in the net radiation balance (for example greenhouse intensification) tends to produce a larger change in temperature near the poles than the planetary average.”

      Or Earth has had big changes in air temperatures in regions near and in the polar regions.
      And 67% of all land mases are in the northern hemisphere. And humans live on land.


  5. Don’t seem to get your exact results. E.g the output table doesn’t contain the number 308.88 for 600ppm at MidLatWinter. Is your screenshot of the inputs representative for the output?


        1. Hmm, odd. How can my script be wrong?

          Let’s say the script is wrong, and that all winters are negative and all summers are positive, which gives a NET of zero … which is what I really think anyway.

          What we definitely don’t see is any serious warming!


        2. Uh oh, I see the problem! The pressure levels are different for winter!

          My whole analysis may be compromised!

          How can I compare different P levels?


  6. I posted this over at
    –gbaikie says:
    February 7, 2021 at 3:27 PM
    A new thought, Willis Eschenbach, basically puts steel greenhouse high enough to avoid mountains {and he doesn’t even know what mountains would like in his mythical world.
    Instead cover a planet with ocean, making the surface level.
    Then put steel greenhouse 5 feet above the ocean {and you could keep there by floating above the ocean- but don’t need to do that, but start it that way].

    What happens?–

    But then I thought I would give it Zoe so she might provide an answer.

    Liked by 1 person

  7. Sorry, still not able to reproduce decreasing “SFC-1up” as CO2 goes up for MLW. Please provide the details necessary to reproduce.


  8. Hi Zoe. I think there is a problem with your script. The h2o function is looking at lines starting with FPR2129 (FPR2, line 129). But these are not necessary the correct entries as the model generates 129 or 130 lines. So you readout the LWUP for different elevations. The higher you get the lower the LWUP – quelle surprise!

    Liked by 1 person

      1. Just look at the data your script downloads. Some responses contain 130 lines of data in the FPR2 section. So awk should look for /FRP2.*1013/ and not /FPR2129/ as it does.


        1. Their SSL certificate expired 15 minutes ago. lol.

          Are you saying that there’s different output within same climate zone?

          Did you find water vapor warming, and where?


        2. Yes, it is a different output for the same climate zone.

          The LWUP stays constant. But what did you expect to happen when you add random amounts of water at the bottom layer of the atmosphere?

          Liked by 1 person

        3. Well rewrite / extension of your script. Unfortunately it does not run on my computer as there are files missing…

          Anyhow, how do you justify that this extra energy should be used to evaporate water? It is already in the atmosphere!

          Looking at co2_diff I don’t see an (obvious) overall cooling?


        4. Jarle has already pointed out the flaw with these models. We don’t get enough coverage. The sun is set to be 60 degrees in the sky. Changing to all types of angles bloats this code to oblivion.

          Safe to say the there is both waming and cooling but in extremely neglible amount. Not enough to justify political action. Especially by people who live in cities, as all Urban shows COOLING.


  9. I see that you have changed the spectral shape from Ocean (default) to Urban. I now get the same results as you do.
    Why choose Urban when it is representative for only a very small fraction of the surface area?


  10. I don’t quite get it. You have changed the spectral shape back to ocean in the code, but you have kept the CO2-results unchanged from when you used the urban spectral shape?


    1. I don’t know what’s wrong with me. I think I made too many mistakes in giving myself too little time to write this article. I got input errors and I played with the parameters, but forgot to account for other changes. Now I’m screwed, right? 😦


      1. Not screwed, but maybe the real world complexity is not captured very well in your code. For instance the angle of incoming radiation varies with both season and latitude. 60 degree angle from zenith for SW and straight downward LW might not be a valid assumption for what you wish to model. I suppose the tool is intended for modelling a local area at a given time. So if your statement is that this tool verifies cooling effect of more CO2, then I think it would be very hard to verify with your current code. I guess code which captures integration over both time and location gets big, even if coarse. It would be fantastic if achievable 🙂

        Liked by 1 person

    1. Yeah I noticed that too. This is a huge deal. I think it completely ruined my analysis. Water vapor has a HUGE albedo effect. You can easily see by the SWDN reaching the surface. But since LWUP is not affected, it’s all useless. Oh well.


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 )

Google photo

You are commenting using your Google 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: