GCMs – Frost Feedback?

Watching birds and squirrels, on the ledge of my picture window, at the feeders each morning, is fun. They expect to be fed close to sun-up, though. That has me changing out the Raccoon feeders for seeds at about sunrise. (We get the ‘Possum & Raccoon show between about 2 hours after sunset and an hour before sunrise, most nights)

This lets me see the status of “Frost On The Roof” each morning, and preps the spouse for how much to scape the car window and how early to depart…

That is also time for pondering over the first hot beverage of the day.

So the last few weeks I’ve been pondering frost.

Every night when it gets cold, a BUNCH of water vapor gets sucked out of the air and deposited on roofs, grass, cars, etc. When the sun rises, it melts and much of it runs off into the soil. Some of it does evaporate back to vapor, but most of it seems to just stay liquid and run off somewhere.

Now this sure looks to me like a “Water Vapor Pump” pumping water vapor out of the air. We are all familiar with “crisp winter nights”. They can be very dry.

Now as that water vapor is pumped out of the air mass, the next night it is dryer, and ought to cool faster, and frost earlier and more easily. Repeat until the air is very dry or spring arrives… This is a “frost feedback cycle”, IMHO. Being near the ocean, we get a fresh batch of air most evenings, with moisture to some extent restored (but while leaving the ocean that vapor took more heat with it out of the ocean, cooling it more) This is a classical heat pipe in effect. Vapor leaves the ocean taking heat, comes ashore and condenses, then runs back to the ocean as cold water. The heat radiating away through that cold clear water vapor deficient frosty night air.

Then that dry air goes more inland and the cycle repeats, especially at any rises like the Sierra Nevada mountains. Thus the Great Southwest Deserts and the cold deserts even up into Canada. (The Canadians are very proud of their desert – more than one Canadian told me so ;-) It is a nice trip to look at it. Just over the border from Washington State and inland from the coast; rather like the desert areas of Washington, Oregon, Nevada, California… )

So it sure looks like there is a Frost Feedback with positive being to the cold side (or a negative feedback on warming). The more the air dries from frost, the more it gets cold, the more the frost dries the air, the colder it gets, repeat until a cold dry winter desert in Nevada…

The Models

As a quick first look, we can just search for “frost” in the source code of the models. If it is discussed, there ought to be a comment or keyword for it. At least in comments.

The Linux commands I’ll be using are “ls” to “LiSt” the files in a directory, and “grep” or “Global Regular Expression and Print” that looks for a pattern and prints what matches. The “*” means “match any character”, so “*ohn” would match John Bohn and Rohn but not Johan.

First well look at Model II. I do a ‘cd’ Change Directory into where it is stored, then list the files so you can see this is where the source code is listed. After that, I search for “FROST” as all caps, then for “rost” to find “frost” or “Frost” (and anything odd like grost…). Similarly, using ‘*’ in a file name like “*.f” says to find any file ending in “.f” and look in it. When if finds nothing, it prints nothing.

Model II:

chiefio@Headend:/Climate/GCM/modelII/trunk$ ls
B83XXDBL.COM     FORCINGSmac.COM    Makefile.win      R83ZAmacDBL.o  RFRCmacDBL.o         pd_COMMON
BA94jalC9.COM    Info.plist         Makefile.win.gui  RANVAX.f       UTILmacDBL.f         setpath.f
DB11pdC9.f       Makefile           Mjal2cpdC9.f      RANVAX.o       UTILmacDBL.o         setpath.o
DB11pdC9.o       Makefile.Mac.PPC   Mjal2cpdC9.o      RANVAXxlf.f    UTILwinDBL.f
FFT36macDBL.f    Makefile.README    Pjal0C9.f         README.f       commandlinetest.gui
FFT36macDBL.o    Makefile.gfortran  Pjal0C9.o         README.f.in    model.command
FORCINGSjalC9.f  Makefile.ifort     PostBuild.sh      README.o       modelF.r
FORCINGSjalC9.o  Makefile.pi        R83ZAmacDBL.f     RFRCmacDBL.f   mrweprefs.r

chiefio@Headend:/Climate/GCM/modelII/trunk$ grep FROST *.f
chiefio@Headend:/Climate/GCM/modelII/trunk$ grep rost *.f
chiefio@Headend:/Climate/GCM/modelII/trunk$ grep rost *.COM
chiefio@Headend:/Climate/GCM/modelII/trunk$ grep FROST *.COM
chiefio@Headend:/Climate/GCM/modelII/trunk$ grep rost *.sh
chiefio@Headend:/Climate/GCM/modelII/trunk$ grep FROST *.sh

It just isn’t in there. Now maybe it is hiding in the watervapor calcuations somewhere as a ‘what happens at 0C’ term, but not named Frost… but it isn’t looking good.

How about the “way more advanced” Model E?

ModelE AR5:

Here the source code is in three directories. The model itself is in ‘model’ while auxiliary programs are in ‘aux’ and initializations are in ‘init’. We can search them all by saying */*.f that means ‘search all directories for any file ending in “.f” and grep it’.

chiefio@Headend:/Climate/modelE2_AR5_branch$ grep FROST */*.f
chiefio@Headend:/Climate/modelE2_AR5_branch$ grep rost */*.f 

model/BLK_DRV.f:c khvorostyanov and curry, 2005
model/DIAG.f:     *     ,j_rictr,j_rostr,j_ltro,j_ricst,j_rosst,j_lstr,j_gamm,j_gam
model/DIAG.f:          call inc_aj(i,j,it,j_rostr,rossn*ftype(it,i,j))
model/ENT_DRV.f:      integer :: do_frost_hardiness,do_patchdynamics
model/ENT_DRV.f:      do_frost_hardiness = 1 !true
model/ENT_DRV.f:      call sync_param( "do_frost_hardiness",do_frost_hardiness)
model/ENT_DRV.f:     &     ,do_frost_hardiness=(do_frost_hardiness==1) !.true. !.false.
model/ENT_DRV_devel.f:      integer :: do_frost_hardiness,do_patchdynamics
model/ENT_DRV_devel.f:      do_frost_hardiness = 1 !true
model/ENT_DRV_devel.f:      call sync_param( "do_frost_hardiness",do_frost_hardiness)
model/ENT_DRV_devel.f:     &     ,do_frost_hardiness=(do_frost_hardiness==1) !.true. !.false.
model/TRAMP_setup.f:      REAL,PARAMETER:: GMR = 34.163195                 ! hydrostatic constant
model/TRDRYDEP.f:C     Walcek, C.J., R.A. Brost, J.S. Chang, and M.L. Wesely, SO2,
model/momtum.f:c --- hydrostatic equation
chiefio@Headend:/Climate/modelE2_AR5_branch$ 

Well, the first line is an example of a ‘false hit’ in that khvorostyanov contains ‘rost’ but isn’t Frost or frost. (There is a more complicated way to phrase the search to fix that, but I wanted this to be a more attainable and broad search).

Then we find a variable name ‘rostr’. Nice, but not frost… Skipping over ENV_DRV.f for now, down at the bottom we find that “hydrostatic” contains ‘rost’ as well as does “Brost”. OK, we know our search is looking very broadly.

Hey, it even found “frost_hardiness” in ENT_DRV.f (!), so wonder what that is?

#include "rundeck_opts.h"

      module ent_drv
!@sum ent_drv contains variables and routines for vegetation driver
!@auth I. Alienov, N. Kiang, Y. Kim

Oh. The “frost kills the plants” and how frost resistant is any given vegetation type. Nice to know they do that, but what about the negative feedback on water vapor?

Crickets…

Model E has clouds and particulate and aerosols, it has icedynamics:

ICEDYN.f
ICEDYN_DRV.f
ICEDYN_DUM.f
ICEDYNo_DUM.f
LANDICE.f
LANDICE_DRV.f

it even has sea ice and snow:

SEAICE.f
SEAICE_DRV.f
SNOW.f
SNOW_DRV.f

Even something called eice:

eice.f

even irrigation and lightning:

irrigation.f
lightning.f

But not a peep about frost…

Makes a fella go “HHmmmmm….”

Clearly this is a “Dig Here!”. It might be hiding in the relative humidity calculaitons as implicit, or maybe in the ‘ice’ as a class of ‘ice’? or ??

Or it might just be politely ignored as it is a feedback “the wrong way” for the narrative…

In Conclusion

So that is an example of how you can do a bit of archeology on a package at a very top level just to see if there’s a potential issue to explore. Didn’t have to read any FORTRAN, nor compile and run anything. Just some interesting text searching.

The next step would be to actually dig into the bits of code that are tangentially related to frost and see if it is handled implicitly via a physics dependency on cold… but there is a difference between freezing water our of air (snow, hail, sleet, and several other varieties) and having it condense out as frost. For one thing, frost forms above freezing…

So I’m really wondering how they handle this, or if they just ignore it.

As a comparison benchmark, searching on “snow” then counting the lines finds:

chiefio@Headend:/Climate/modelE2_AR5_branch$ grep snow */*.f | wc -l
1215

Yup. 1215 lines have some reference to “snow” in them.

A sample:

model/RAD_DRV.f:      zsnwoi=snowoi/rhos
model/RAD_DRV.f:     &     ,wmag,snowoi,snowli,snowe                   ! 1+1+1+1+
model/RAD_DRV.f:     &     ,snow_frac,zlake,plake                      ! 2+1+1+
model/RAD_UTILS.f:!@sum RXSNOW calculate zenith angle dependence for snow/ice albedo
model/RAD_UTILS.f:!@var GGSNO Asymmetry parameter for snow
model/SEAICE.f:C**** snow/ice thermal diffusivity (Pringle et al, 2007)
model/SEAICE.f:!@param alami0,alams lambda coefficient for ice/snow J/(m*degC*sec)
model/SEAICE.f:!@param RHOS density of snow (kg/m^3)
model/SEAICE.f:!@param BYRLS reciprical of snow density*lambda
model/SEAICE.f:!@dbparam snow_ice =1 to allow for snow ice formation (default=1)
model/SEAICE.f:      INTEGER :: snow_ice = 1
model/SEAICE.f:!@param SNOMAX maximum allowed snowdepth (1m equivalent) (kg/m^2)
model/SEAICE.f:!@param dSNdRN rate of conversion of snow to ice as a function of rain
model/SEAICE.f:!@var SNOW snow mass (kg/m^2)
[...]
model/TRDUST.f:      snowe=pbl_args%snow
model/TRDUST.f:      IF (pmei .AND. snowe  0.D0 .AND. wsgcm > vtrsh)
model/TRDUST.f:      IF (itype == 4 .AND. snowe <= 1.D0) THEN
model/VEG_DRV.f:      use sle001, only : shw !,pres,ts !fr,snowm, ws,shc,
model/VEG_DRV.f:      vegcell%snowm=vegcell%vh*spgsn
model/regridinput.f:      real*8, allocatable :: snowe(:,:),Te(:,:),WTRe(:,:),ICEe(:,:),
model/regridinput.f:      real*8, allocatable :: snowe_out(:,:,:),Te_out(:,:,:),
model/regridinput.f:     &     snowe(ims,jms),Te(ims,jms),WTRe(ims,jms),ICEe(ims,jms), 
model/regridinput.f:     &     snowe_out(imt,jmt,ntt),Te_out(imt,jmt,ntt),
model/regridinput.f:      read(iu_GIC) TITLEEARTH01, snowe,Te,WTRe, ICEe, SNOage,evmax,
model/regridinput.f:      tsource(:,:,1)=snowe(:,:)
model/regridinput.f:      snowe_out(:,:,:)=ttargglob(:,:,:)
model/regridinput.f:     &     snowe,Te,WTRe,ICEe, 
model/regridinput.f:      call defvar(dd2d,fid,snw_out,'snowi(im,jm,tile)')
model/regridinput.f:      call defvar(dd2d,fid,snowe_out,'snowe(im,jm,tile)')
model/regridinput.f:     &     'snowbv(ls_nfrac,im,jm,tile)')
model/regridinput.f:      call defvar(dd2d,fid,SNOW_out,'snowli(im,jm,tile)')
model/regridinput.f:      call write_data(dd2d,fid,'snowi',snw_out)
model/regridinput.f:      call write_data(dd2d,fid,'snowe',snowe_out)
model/regridinput.f:      call write_data(dd2d,fid,'snowbv',SNWbv_out)
model/regridinput.f:      call write_data(dd2d,fid,'snowli',SNOW_out)
model/regridinput.f:     &     flag_dsws_out,snowe_out,Te_out,

You would think frost, being far more common than snow (we get frost here, but not snow) would deserve at least one little line… But then again, you would think.

Subscribe to feed

Advertisement

About E.M.Smith

A technical managerial sort interested in things from Stonehenge to computer science. My present "hot buttons' are the mythology of Climate Change and ancient metrology; but things change...
This entry was posted in AGW Science and Background, GCM and tagged , , . Bookmark the permalink.

25 Responses to GCMs – Frost Feedback?

  1. Lynn Clark says:

    Does the version of grep that you’re using not support the -i option? (–ignore-case)

  2. Lynn Clark says:

    BTW, that should be two consecutive dashes at the beginning of the ignore-case form of the grep -i option. MacOS combines two consecutive dashes into a longer “em” dash. Don’t know how they’ll display when you read the comment on your machine/OS.

  3. Lynn Clark says:

    BTW2, your greps are not finding rosst. They are finding ‘rost’ on the same line.

    [Reply: Fixed. But what do you think of the whole “Frost” thing… -E.M.Smith ]

  4. E.M.Smith says:

    @Lynn:

    The gnu grep has more options than I care to think about, along with the ignore case.

    I chose to use a trivial complexity search so as to be obvious what is happening and to make it un-intimidating to all the non-Unix folks. I also could have done [fF]rost just to search for the first leading char as lower or uppercase. But then I end up explaining Regular Expressions and bracket syntax and lose about 1/2 the folks who really don’t care and will not be doing Linux… or talking about single vs double leading dashes…

    So yeah, I “dumb it down” on the Unix / Linux magic-foo for broad audience postings.

    What do you think about the “frost” question?…

  5. Larry Ledwick says:

    Perhaps it would be worth looking for a few other terms like:
    dew
    condensation
    evapotranspiration
    latent heat of condensation (not sure how they would abbreviate that)

    A lot of that water vapor (especially far from the ocean) that appears as dew is moisture cooked out of the plants during the day as they exhale water vapor to control their leaf temperatures and just simple water loss through the stomata as they resperate (just like mammals lose water in their breath from evaporation in the lungs).

    You are right that is essentially a huge water vapor heat pump that moves massive amounts of heat invisibly and as insensible heat (latent heat of evaporation/condensation and fusion).

    An air mass that achieves condensing conditions near the ground would gain a lot of heat energy as that water condensed out, and following dry parcels of air would lose a lot of heat as they reevaporate that moisture as the first sun hits the dew wet vegetation.

    Out on the eastern plains of Colorado in summer the prairie grass will get so wet in the morning from dew that your pants legs will get soaking wet just walking a few feet before the sun comes up. An hour or so later most of that moisture is all gone driven back into the air by the warm sun or run down the grass stems to the ground as drops.

  6. tom0mason says:

    Frost missing, ummm.
    As Larry Ledwick says above some condensation variant, or yet more TLAs.
    As frosts come in different types from differing circumstances I would expect a few entries for frost (see https://en.wikipedia.org/wiki/Frost )

    Do they have mist, fog, smog? Or is that again some form of condensation and possibly another set of obscure TLAs?

  7. bruce says:

    just for fun
    Having spent most of my life near sea level and now residing at 5400 ‘ above sea level I am in awe of the differences.
    It appears 60 degrees at sea level is not the same as 60 degrees at 5400’. Last year, in the spring, I’d see meager snow levels last for weeks on the shady sides of hills, at temperatures that would have made creeks swell and snow defrost in short order towards sea level.
    Conversely, snow dissolves much quicker given the least provocation of direct sunlight. Add an inch of bare pavement and the street is well on its way to bare and wet despite sub freezing temps. Well, upon thinking, I can’t justify that last sentence, The relative frequency of sunlight in Seattle foils my data. So saying that same level of sun time at sea level would do little against snow melting is an iffy statement for me.
    Which goes to say there is heat and there is heat. We all experience the influence of humidity on how we interpret heat. But there is another factor, the density of temperature, 60 degrees at x density of air verses 60 degrees at y density of air. Where y equals thinner air than x.

    At the end of the day
    sorry had to say it, everyone seems to.

  8. Larry Ledwick says:

    At higher altitudes ( I live at about 6000 ft ) the dynamics of snow melt change substantially. First you have less atmospheric absorption of the sun ( ie UV and IR is more intense at altitude than at sea level due to lower humidity and less atmospheric absorption ). Up here you can get a serious sun burn in just a few minutes of early summer sun that at sea level would just make you a bit red and scratchy.

    Also due to the lower vapor pressure of the atmosphere, a great deal of snow sublimates directly to water vapor without ever turning into running water in the streets. It is very common here at altitude on the first sunny day after a snow fall to see all the streets covered with a few inches of ground fog from all the water vapor being cooked out of the snow as it sublimates. 2-3 sometimes 6 inches of snow can just evaporate in a single day even without warm down slope winds. If there is a Chinook wind (down slope westerly in Colorado, Wyoming and Montana – similar to the Santa Anna winds on the west coast) it can make a foot of snow disappear in just a few hours.

    Likewise due to the lower humidity, the heat capacity of the atmosphere is much lower up here, it is very common to see folks shoveling snow on a calm day in shirt sleeves at near 0 deg F temps as the sun comes out. The combination of the lack of moisture in the air, and higher radiant energy in the sun light at altitude makes it comfortable.

  9. Svend Ferdinandsen says:

    From time to time i have heard that GCM’s are very poor to do absolute temperature.
    If that is true it explains their problems with the freezing point of water, wich by nature is very absolute.
    I believe it would also give problems with clouds, because the thermodynamics changes a lot dependent on the water being gas, liquid or solid.

  10. E.M.Smith says:

    @Larry:

    I’ve read in detail about 1/2 of the Model II code now (again?) and so far it is just “forced” by gasses and radiative physics. The rest is a heat distribution vs oceans and air calculation.

    Not found much of anything I’d call phase change physics nor solar variation beyond the yearly “where is the sun and what is the angle at this latitude”. (i.e. TSI at the sun is a constant).

    Still have some more to go, but most of it is the diagnostics stuff…

    Model E will have to wait for the weekend… I’m getting a bit burned out on reading poorly commented FORTRAN… (yeah, going beyond the text word search is an exponential load increase…)

    @TomOMason:

    So far all I’ve found is snow and ice formation changing radiative surfaces. Still have some code to do through for Model II, but it isn’t very complex…

    @Bruce:

    Altitude effects are largely ignored in the model as near as I can tell ( for Model II – it has a couple of altitude slices but not much changes… and nearly nothing about water… Model E looks better, but not enough better.)

    @Larry:

    I have been skiing a fair amount in my life. Once wandered the parking lot in slacks and a business shirt (no T) at about 10 F… Yeah, it is very different at 6000+ feet…

    @Svend:

    Interesting point… I’ll need to look at how the freezing point is handled. IMHO they do a poor job of anything having to do with waterer phase change. But detail on that will have to wait for a while… more reading to do and FORTRAN is slow to read…

  11. Soronel Haetir says:

    I didn’t think their grid sizes were small enough to allow elevation to matter (except perhaps for Antarctica).

    And micro-climate is hugely important in describing what happens on the real Earth. For example I live in a rain forest basically at sea level, it is amazing just how much rainfall varies over just a few miles, even though all of the involved locations are within 10m of mean sea level.

    Even with the computers available now I don’t see them getting to grid sizes of 2.5km on a side. (Ignoring, of course, the fact that even if they did use that large a grid that their models have enough holes that it would still be an exercise in GIGO).

    Anyway, at the grid sizes the GCMs use talking about frost feedback would be fairly pointless. Maybe regional models (I haven’t seen much discussion about those, TBH).

  12. E.M.Smith says:

    No frost at the surface:

          SUBROUTINE SURFCE                                                 4801.
    C****                                                                   4802.
    C**** THIS SUBROUTINE CALCULATES THE SURFACE FLUXES WHICH INCLUDE       4803.
    C**** SENSIBLE HEAT, EVAPORATION, THERMAL RADIATION, AND MOMENTUM       4804.
    C**** DRAG.  IT ALSO CALCULATES INSTANTANEOUSLY SURFACE TEMPERATURE,    4805.
    C**** SURFACE SPECIFIC HUMIDITY, AND SURFACE WIND COMPONENTS.           4806.
    C****                                                                   4807.
    

    They do cover surface evaporation… but not frost…

  13. E.M.Smith says:

    Odd…. There is a comment mentioning DEW, no obvious variable for it…

    ****                                                                   6402.
    C**** EARTH, DETERMINE EVAPORATION AND DIFFUSION OF WATER               6403.
    C****                                                                   6404.
          ENRG1=0.                                                          6405.
          IF(SNOW.LE.0.) GO TO 625                                          6406.
          IF(EVAP.GT.SNOW) GO TO 620                                        6407.
    C**** SOME SNOW EVAPORATES                                              6408.
      610 ENRG1=EVAP*(TG1*SHI-LHM)                                          6409.
          SNOW=SNOW-EVAP                                                    6410.
          GO TO 660                                                         6411.
    C**** ALL SNOW EVAPORATES                                               6412.
      620 EVAP=EVAP-SNOW                                                    6413.
          ENRG1=SNOW*(TG1*SHI-LHM)                                          6414.
          SNOW=0.                                                           6415.
          GO TO 630                                                         6416.
      625 IF(WTR1+ACE1-EVAP.LE.WFC1) GO TO 630                              6417.
    C**** DEW+WTR+ACE EXCEEDS WFC, DO NOT BOTHER TO CORRECT ALL DIAGNOSTICS 6418.
          IF(TG1.LE.0.) GO TO 610                                           6419.
          RUN0=WTR1+ACE1-EVAP-WFC1                                          6419.1
          ERUN0=RUN0*TG1*SHW                                                6419.2
          WTR1=WFC1-ACE1                                                    6419.3
          ENRG1=-ERUN0                                                      6419.4
          GO TO 660                                                         6420.
      630 IF(EVAP.LE.WTR1+ACE1) GO TO 640                                   6421.
    C**** ALL WATER AND ICE EVAPORATES,RECOMPUTE EVHDT AND EVAP             6422.
          DEVAP=EVAP-(WTR1+ACE1)                                            6423.
          DEVHDT=-DEVAP*(LHE+TG1*SHV)                                       6424.
          ENRG1=ENRG1+WTR1*TG1*SHW+ACE1*(TG1*SHI-LHM)                       6425.
    

    Unclear what ACE1 is at this time, though…

  14. E.M.Smith says:

    Interesting list from the diagnostics programs. It dumps the “key” parameters. No frost in it though…

          SUBROUTINE DIAGKS
    c  **
    c  ** THIS SUBROUTINE PRODUCES A SUMMARY OF KEY NUMBERS CALCULATED IN
    c  ** OTHER DIAGNOSTIC SUBROUTINES
    c  **
    c  ** CONTENTS OF KEYNR
    c  **
    c   K   N
    c  **
    c  *1  1 MONTH
    c  *2  2 TOTAL CLOUD COVER (PERCENT)
    c  **  3 SNOW COVER--NORTHERN HEMSIPHERE (PERCENT)
    c  **  4 ICE COVER--NORTHERN HEMISPHERE (PERCENT)
    c  **  5 PLANETARY ALBEDO (PERCENT)
    c  **  6 SOLAR RADIATION ABSORBED BY ATMOSPHERE (WT/M**2)
    c  **  7 SOLAR RADIATION ABSORBED BY PLANET (WT/M**2)
    c  **  8 NET HEAT AT GROUND (WT/M**2)
    c  **  8 ANGULAR MOMENTUM PER UNIT AREA (10**10 J*SEC/M**2)
    c  **  9 EVAPORATION (.1 MM/DAY)
    c  **  9 PRECIPITATION (.1 MM/DAY)
    c  ** 10 SENSIBLE HEAT FLUX INTO GROUND (ABS.VALUE)
    c  ** 11 LATENT HEAT FLUX INTO GROUND (ABS.VALUE)
    c  ** 12 MEAN GROUND TEMPERATURE (DEGREES K)
    c  ** 13 MEAN GLOBAL ATMOSPHERIC TEMPERATURE (DEGREES K)
    c  ** 14 MERID. TEMPERATURE GRADIENT (N.HEMISPHERE)
    c  ** 15 MERID. TEMPERATURE GRADIENT (S.HEMISPHERE)
    c  ** 16 MEAN TROPOSPHERIC EKE-NORTHERN HEMISPHERE
    c  ** 17 MEAN TROPOSPHERIC EKE-SOUTHERNN HEMISPHERE
    c  ** 18 MEAN TROPOSPHERIC ZKE-NORTHERN HEMISPHERE
    c  ** 19 MEAN TROPOSPHERIC ZKE-SOUTHERN HEMISPHERE
    c  ** 20 MEAN TROPOSPHERIC EPE-NORTHERN HEMISPHERE
    c  ** 21 MEAN TROPOSPHERIC ZPE-NORTHERN HEMISPHERE
    c  ** 22 MEAN EDDY KINETIC ENERGY AT EQUATOR
    c  ** 23 MAX. MEAN EDDY KINETIC ENERGY IN MID NORTH LATITUDES
    c  ** 24 MAX. ZONAL WIND (U COMPONENT) IN TROPOSPHERE (NH), M/SEC
    c  ** 25 LATITUDE CORRESPONDING TO 24
    c  ** 26 MAX. ZONAL WIND (U COMPONENT) IN TROPOSPHERE (SH), M/SEC
    c  ** 27 LATITUDE CORRESPONDING TO 26
    c  ** 28-30: 29 IS LARGEST VALUE OF STREAM FUNCTION, POSITIVE OR
    c  **    NEGATIVE; 28 AND 30 ARE THE MAGNITUDES OF THE LARGEST VALUES OF
    c  **    OPPOSITE SIGN TO THE NORTH AND SOUTH RESPECTIVELY
    c  *3 31 SNOW AND ICE COVERAGE OF GLOBE (PERCENT)
    c  *4 32 SNOW AND ICE COVERAGE OF NORTHERN HEMISPHERE (PERCENT)
    c  **   33-39 REFER TO NORTHERN HEMISPHERE ONLY
    c  ** 33 MAX.NORTHWARD TRANS. OF DRY STATIC ENERGY BY STANDING EDDIES
    c  ** 34 MAX.NORTHWARD TRANS. OF DRY STATIC ENERGY BY EDDIES
    c  ** 35 MAX. TOTAL NORTH. TRANS. OF DRY STATIC ENERGY
    c  ** 36 MAX.NORTHWARD TRANS. OF STATIC ENERGY BY EDDIES
    c  ** 37 MAX.TOTAL NORTH. TRANS. OF STATIC ENERGY
    c  ** 38 LATITUDE CORRESPONDING TO 37
    c  ** 39 MAX. NORTH. TRANS. OF ANGULAR MOMENTUM BY STANDING EDDIES
    c  ** 40 MAX. NORTH. TRANS. OF ANGULAR MOMENTUM BY EDDIES
    c  ** 41 MAX. TOTAL NORTH. TRANS. OF ANGULAR MOMENTUM
    c  ** 42 LATITUDE CORRESPONDING TO 41
    c  **

    Nice list of what the model does / what it considers important.

  15. E.M.Smith says:

    OK I’ve looked at all of the Model II code again. Not seeing frost handled anywhere. The have ‘land ice’ and I suppose one could try to think of frost as dinky ice, but that code is unlikely to handle those small values right and the fact that frost happens with air above 0C.

  16. Soronel Haetir says:

    They sure are hemisphereist.

  17. E.M.Smith says:

    Hmmmm…. Good point… Not seeing much of Southern Snow in those variables… I think I’ll need to look at the code from a Southern POV…

  18. kneel63 says:

    Once you get your cluster sorted and actually run the code, something to put on your to-do list (if I may be so bold) is grid size – does it show evidence of convergence to a single solution? That is, as the grid size goes down, does the output look like a sharper version of the same “answer” and what is the break-point grid size (going up in size) where this fails. Heck, you could actually publish on this if you wanted to – AFAIK, it’s never been done.

  19. cdquarles says:

    @Svend, the freezing point and boiling point of water is a function of pressure, which in turn is a function of mass and energy contained in the mass. Adding solutes effectively lower the fugacity of water, lowering the freezing point and raising the boiling point, at a given overall gas pressure. In addition, in the atmosphere, there are other chemical processes going on, such as adsorption, desorption and surface chemical reactions on the various aerosols.

  20. Another Ian says:

    E.M.

    “David Maddison
    January 28, 2017 at 10:53 am · Reply

    NASAGISS software has word “fudge” in its trillion dollar software.

    See picture of code at https://mobile.twitter.com/tan123/status/824697456478875648

    From

    http://joannenova.com.au/2017/01/trump-to-sack-climate-change-scientists-and-slash-epa-unskeptical-scientists-are-terrified/#comment-1884337

  21. Soronel Haetir says:

    kneel63,

    Whether any given configuration converges as the grid boxes shrink might be interesting but I don’t see it being a particularly relevant question. There is simply too much ability to change what code is run and how the code runs and and and.

    Even if the grid boxes shrink I am not sure there is enough real-world data to populate them in a meaningful way. For elevation, sure, but not for plant and ice cover, and all the other things that can be tracked. (I’m talking about with grid boxes small enough that micro-climate starts to matter).

  22. E.M.Smith says:

    @Soronel:

    Everything you said is “exactly right”.

    Yet kneel63 asks an interesting question…

    (One I was going to address in a posting, but I’m coping with disk issues instead. A 2 TB disk is sporadically remounting read only after intense activity, then fsck fixes it without apparent changes… disk issue or PiM3 / Devuan not behaving when I/O driven extremely? So I’m slowly moving about a TB of data to another disk… Oddly, problem showed up during faster data move on that disk with swap with… All now on other disks…)

    For Modell II there is a Hansen paper linked at the site claiming it shows the model reproduces expected flow patterns despite very low res. Yet there was clearly a lot of tuning done to get it to work, and indications from comments are that it (and even Model E) can go unstable if parms are not set right.

    So the question becomes:

    For what quality of tuning parameters does a given grid scale go unstable?

    I find that an intriguing question… as both interact and both speak to a fundamental instability issue.

  23. E.M.Smith says:

    @Another Ian:

    What an interesting idea…

    Sidebar: In programming, the word “fudge” is often used for a legitimate method of adjusting something, but one where there is some underlying “issue”. For example, in the ntp Network Time Protocol daemon processes, when your clock is “off” from the real standard time clock, it can be ‘jarring’ to some processes to suddenly have the clock jump a day or three… so it is slowly drifted into the correct time. This process “fudges” the clock a little with each step until it is correct. So “fudge” isn’t necessarily a bad thing… But it is a place to look for why errors accumulated and needed to be fudged…

    From the Model E AR5 code (normal complaints about searchning for text in directory binary contents removed):

    chiefio@Headend:/Climate/modelE2_AR5_branch$ grep -i fudge */* 
    model/BLK_DRV.f:      real*8  :: dum,fudgef,sum_dep
    model/BLK_DRV.f:           fudgef = 0.9999
    model/BLK_DRV.f:           IF( (dum.GT.0. .AND. SUM_DEP.GT.dum*FUDGEF) . 
    model/BLK_DRV.f:     +      OR. (dum.LT.0. .AND. SUM_DEP.LT.dum*FUDGEF) ) THEN
    model/BLK_DRV.f:               mnuccd(K) = FUDGEF*mnuccd(K)*dum/SUM_DEP
    model/BLK_DRV.f:               mcondi(K) = FUDGEF*mcondi(K)*dum/SUM_DEP
    model/BLK_DRV.f:               mconds(K) = FUDGEF*mconds(K)*dum/SUM_DEP
    [...]
    model/TRCHEM_master.f:        PFASTJ2(LM+2)=PFASTJ2(LM+1)*0.2816 ! 0.00058d0/0.00206d0 ! fudge
    model/TRCHEM_master.f:        PFASTJ2(LM+3)=PFASTJ2(LM+2)*0.4828 ! 0.00028d0/0.00058d0 ! fudge
    model/TRCHEM_master.f:C       This is a fudge, so that we don't have to get mesosphere data:
    grep: model/dd2d: Is a directory
    [...]
    model/thermf.f:      if (glue(i,j).gt.1. .and. saln(i,j,kn).gt.40.)                !  Med fudge
    

    Gee, we have “fudge” and “Med fudge”… wonder if there are “small” and “giant” fudge too? ;-)

    So the “fudge” looks to be in the “bulk clouds” module(from: BLK_DRV.f):

    !@sum 2-moment bulk cloud microphysics scheme
    !@contains routines to calculate cloud and ice crystal number, autoconversion, phase-interactions
    !@auth Surabi Menon and Igor Sednev ; based on Morrison's 2008 scheme in CCSM
    !@as in Morrison and Gettelman, 2008, J Clim 21, 15, 3642-3659 and Gettelman et al. 2008, J Clim,21,3660-3679
    

    and the “master chemistry” section(from TRCHEM_master.f):

          SUBROUTINE masterchem
    !@sum masterchem main chemistry routine
    !@auth Drew Shindell (modelEifications by Greg Faluvegi)
    !@ver  1.0 (based on masterchem000_M23p)
    !@calls photoj,checktracer,Crates,Oxinit,HOxfam,NOxfam,chemstep
    C
    C IF ALTERING THIS ROUTINE, PLEASE SEE THE WARNING ABOUT THE CHANGEL
    C VARIABLE IN THE STRATOSPHERIC OVERWRITE SECTION.
    

    Well, I’m sure a little fudge in the chemistry and clouds can’t be all that important to the global energy balance based on clouds and atmospheric chemistry… Oh, wait!
    /sarc;

  24. p.g.sharrow says:

    Climate Science they are called Fudge factors?
    In physics they are called Constants!
    In engineering it is called a WAG, er Wild Ass Guess…pg

  25. p.g.sharrow says:

    Forgot to add, In GOD’s Universal Law it is the Music of the Sphere, Frequencies within a spherical volume…pg

Comments are closed.