This documentation covers the namelist for model II with the new 8X10 that has 2 degree polar grid boxes. Many of the comments touch upon other version of the model. I've also noted where variables have been removed in some newer versions of model II. There is also a description of the new namelist inputforcings.

var,description,default value
*=obsolete variable that should be removed from inputz
o*=variable that should be removed from namelist, but printed out at end of INPUT
+=added from base version of the namelist
-=removed from base version of the namelist


o*IM, longitude resolution , but im,jm,lm cannot be set to values that are different from the array dimensions im0,jm0,lm0. (not really namelist parameters), 36

o*JM, latitude resolution (see IM), 24

o*LM, vertical resolution (see JM), 9

LS1, is the lowest stratospheric level for all diagnostics that are divided into a tropospheric and stratospheric part; so for those diagnostics 'troposphere' means 'levels 1->LS1-1' 'stratosphere' means 'levels LS1->LM'. There is nothing wrong with using sigma coordinates throughout the atmosphere; however, if ptop is raised too high (1mb or higher) switching to a constant pressure coordinate system from a certain pressure level on becomes a necessity. (We switched later to a hybrid system also when the model top was 10mb, ONLY in order to minimize the difference between regular and stratospheric code, not because one method is more correct than the other)

LBLM, is still used in model II; it is the top layer of the planetary boundary layer. (In Greg Hartke's 2nd order closure scheme it is no longer used.), 2

LMCM, highest layer from which moist convection can start. LMCM can be at most LM-1, LS1-1

*LSSM, highest layer with large scale clouds. This should always be LM, LM

KOCEAN, kind of ocean to use: 0=fixed sst 1=qflux 2=deep ocean, 0

ISTART, way to start/restart the model:

  1-9 (except 4) - initial starts
  4,9-infinity   - restarts

  1=start from uniform conditions
  2=start from observed conditions
  3=start from end-of-month restart file(rsf) of some previous run
          whose rsf matches the rsf of the current run
  5-9=start from end-of-month rsf of some previous run whose rsf is
          structured differently (missing arrays etc), often INPUT
          has to be changed appropriately
  4=restart from own end-of-month rsf (in order to rerun a period 
    or to extend the run after fort.1/fort.2 are no longer present);
    occasionally ISTART=4 is also used to start a variation of a run to
    minimize the differences between the orig. run and the variation;
    sometimes TAUI is reset to the TAU at the start of the variation
    which defeats that purpose unless the new TAUI differs from the
    orig. TAUI by a multiple of 5, e.g. if it starts at the same day
    of the year as the original run, then there is no problem.
  10=restart from later of the rsfs fort.1 fort.2           (default)
  11=restart from fort.1
  12=restart from fort.2
  13-??=restart from earlier of the rsfs fort.1 fort.2

o*KDISK, KDISK need not be a namelist parameter; ISTART controls from which file we start up; setting KDISK would control whether the first writing goes to fort.1 or fort.2 which is hardly relevant. ISTART=10 starts from the later of the two, ISTART=11 starts from fort.1, ISTART=12 from fort.2, ISTART>12 from earlier of the 2 files, 1

-TAUP, hour of initial conditions file. was later replaced by a test that checks whether the model time of the ICfile and TAUI differ by a multiple of 8760 (mod(tau-taui,8760)=0). TAUP is a leftover from old times: a time series of ICs was saved on a tape, each record starting with a TAU; when TAU was TAUP, the correct IC was found. Later (but still in an earlier era) TAUP also came into play on restarts: restart was allowed only if TAU was at least TAUP (this made sense, when the rundecks were still card decks read in by operators: if the rundeck had to be changed in the middle of a run, e.g. to stop or start saving something, both versions were given to the operators and the TAUP prevented him to successfully use the later rundeck too soon), -1

TAUI, hour to start at. TAUI and TAUE have to be specified in the rundeck, -1

TAUE, hour to end at. TAUI and TAUE have to be specified in the rundeck, -1

TAUT, hourly interval to write out fort.1 and fort.2. The model assumes that TAUT is 24 in some places so don't change this, TAUT '.AND.TAUT.LT.TAU+1000.' should be eliminated from the code (also .OR.TAUT.GE.TAU+1000. ), both lines are in Main. They were needed because on the main frame the restart files were pre-created and sometimes when no such pair was free and you wanted to test a run you could run without overwriting any CLIM.RUN.Axx|Bxx by setting TAUT=99999. But this is obviously no longer needed. Once that is done, changing TAUT should have no unexpected effects., 24

TAUO, is used to check when to collect ocean flux (unit 20). TAUO is not used correctly in the model and may be set to TAUP. MP008macC9 version of model II does check TAUO. The standard version of the model does not check TAUO so ocean flux collection can only be turned on at the start of a run, TAUP*

NDYN, number of dynamics time steps per physics time step. So DT*NDYN = 1 hour since that is the physics time step. However the model leapfrogs so it does 2 dynamics time steps and then goes back 1 time step and goes forward again. See the model paper for a full explanation of how the time steps work. Remember that because of the leapfrog method 4 time steps take 5 steps, 4

NCNDS, has never been different from NDYN (i.e. moist convection and large scale precip were always performed in each physics time step), NDYN

NRAD, radiation time step, however here longer is bigger not smaller time steps (multiple of NDYN), NDYN*5

NSURF, number of iterations we use for surface computations, 2

NGRND, number of iterations we use for ground computations. Thus must be 1, 1

NFILTR, how often to run filter, however here longer is bigger not smaller time steps (multiple of NDYN), NDYN*2

NDAA, how often diagnostics are accumulated. Strange time steps are used to not sample at the same time of day. Checked after forward time step. Use 7 because 7 is not a factor of 24, For NDAA,....,NDASF an increase means increasing the time step, NDYN*7 + 2




NDA4, see NDAA, NDYN*24

NDASF, see NDAA, NSURF*2 - 1

DT, number of seconds in the dynamics time step of the model. See the comments with NDYN about how the time steps work in the model, 900

TAU, current hour of the model, 0

XINT, Since DT is in seconds, XINT*(DT/3600.) has to be an integer. However, since DTphysics=DT*NDYN has always been 1hr (i.e. 3600.) so far, DT/3600. has always been 1/NDYN and the condition is then: XINT/NDYN is a whole number. Consequently, XINT=float(NDYN) will always work (as long as the physics time step is 1hr), and XINT=120 works as long as NDYN divides 120 (most - but not all - reasonable NDYN do), 120

IYEAR, base year for the model used to name files and generate prt files. The old ktrend and volcanic aerosol code was dependent on years to change the forcing. However the new forcings make the relationship between years and the changes explicit, 1976

o*LHE, latent heat of evaporation, 2500000

o*LHM, latent heat of melting, 334000

o*LHS, latent heat of sublimation, 2834000

RADIUS, radius of planet in meters (defaults to Earth), 6375000

GRAV, gravity of planet in meters/second2 (defaults to Earth), 9.81

RGAS, gas constant of planet. Despite the word constant the gas constant varies from planet to planet, 287

KAPA, ratio of two quantities, .286

o*OMEGA, is angular velocity of planet around its axis. OMEGA only for output purposes (see DLAT remarks) (setting it has no effect since it is recomputed), TWOPI*(EDPERD+EDPERY)/(EDPERD*EDPERY*SDAY)

CCMCX, tunes moist convective cloud cover. It is used in model II but not in Yao's newer schemes, 50000

*ETA, should not be in namelist. Used in RFRC but reset to 1.5, 0

S0X, solar flux value is 1367 W/m2. You can set the trend information for S0X in the FORCINGS namelist, 1367

CO2, CO2 is 315 ppm. You can set the trend information for CO2 in the FORCINGS namelist. In old versions of the code negative values triggered trends, 315

SRCOR, solar correction factor for qflux and deep ocean runs. Gone from model e because Jim doesn't like it, 1

PTOP, is top of atmosphere in millibars in model II. Top of sigma coordinate system in model II', 10

PSF, mean surface pressure. Air mass is constant so if you change the topography 984 may be wrong. If the value of PSF is wrong then in the 1st hour there is a huge pressure adjustment and there may be too little air. If starting from analyzed obs. data (e.g. NCAR tapes), data may be read in for all points for pressure levels starting at 1000mb (some of them are of course extrapolated, if using model data, they would have to be extrapolated below the ground also). Using the new topography, the mean surface pressure may be found and used instead of 984, 984

*PSL, sea level pressure, but PSL is not used at all, 1000

*PTRUNC, mainframe setting to remove truncation errors (obsolete), 0

o*DLAT, were added to the namelist parameters only so they would appear automatically in the printout (originally there were 2 namelists: INPUTZ and OUTPUTZ, one made use of the fact that parameters could easily be read in using a namelist, the other that they could easily be written out without using format statements. Eventually they were merged into a single namelist since they were almost identical. Only the parameters in INPUTZ could be controlled via the rundeck, obviously DLAT,DLON,AREAG were not among them) It might be a good idea to remove them from INPUTZ so nobody will be tempted to change them on the fly ! This is the latitude width of a non-polar box in radians. This calculation works with both the old and the new 8X10 resolution, NINT(180./(JM-1))*TWOPI/360

o*DLON, see comments for DLAT, longitude width of a box in radians, TWOPI/IM

o*AREAG, see comments for DLAT, area of the globe, summation 1-JM of DYXP(y)*IM, DXYP(1)+DXYP(JM)

IRAND, random number seed value or place in random number sequence with IBM/Mac code, 123456789

IJRA, radiation averaging code. Only compute every 2nd or 4th box in longitude and interpolate to get the boxes in between. This code makes sense in model II where radiation is a large fraction of the total time. Later in model II' this was set to 1 because Jim became more interested in radiation and the radiation code took less of the total model time. The averaging code is complex so it was not included in model e. The possible values are do: 1,2,4, saves time by a factor of 2 or 4 versus full radiation, 2

MFILTR, what is being filtered, arguments to filter, 1 means sea level pressure, 2 means temperature, 3 filters both, 1

*NDIFS, prescribed diffusion (obsolete), 0

KACC, size of acc file which is set to constant in BA94C9.COM, KACC0

*KEYCT, position of net set of key #s in arrays. These are the key values printed at the end of the prt file. 1 at start of run and increased per month and then cycles, 1

*SKIPSE, used to save memory on the mainframe (obsolete), 0

USESLP, collect sea level pressure data (unit 16) every so many hours where 0 means never collect, 0

*USEP, automatically generate plots with Wolfplot on the mainframe (obsolete), 0

USET, hour to start collecting ocean flux data (unit 20) where 0 means never collect, 0

KCOPY, how much data to collect: 0=no data saved, 1=acc files, 2=rsf and acc files, 3=rsf and oda and acc files. The oda files are used to collect data for deep ocean runs. KCOPY=2 is a typical value and KCOPY=0 should only be used to spin up runs. Maybe the default value should be changed to 2 from the bogus value of 30,30

XCDNST(2), constants for sdrag, the stratospheric drag value, /.0005,.00005/

o*IDACC, keeps track of the number of times various diagnostics are sampled (added into the acc-files). IDACC(11) turns on the DEBUG DIAGNOSTICS for a run. The default for every element of the array is, 0

KDIAG(9), turns on or off diagnostics 0-8=on 9=off. Intermediate options only work for budget pages:
                   2 GLOBAL AND LAND BUDGETS ONLY
                   3 GLOBAL AND ICE-FREE OCEAN ONLY
                   4 GLOBAL BUDGETS ONLY
                   5 LAND BUDGETS ONLY
                   6 ICE-FREE OCEAN BUDGETS ONLY
                   7 OCEAN-ICE BUDGETS ONLY
                   8 REGIONAL BUDGETS ONLY
and for lat-lon maps(3) and for diurnal cycles(6)
                  -N  ONLY PAGE N IS PRINTED OUT
, 0

NDZERO(13), zero day of the month for Jan-Jan based on the Julian day from IDAYS0. Zeros out accumulated arrays at the start of the day that is set, /0,1,32,60,91,121,152,182,213,244,274,305,335/

NDPRNT(13), days to produce prt file on. At the start of the run NDPRNT=-1 gives the first hour printout. Don't set NDPRNT=-1 after the first hour or the model may crash. The diagnostics use accumulated arrays and if the model stopped at the end of the month the arrays will be empty when NDPRNT=-1 forces them to run. The prt file is produced at the start of the day that is set, before NDZERO wipes out the accumulated data. If NDPRNT(1) is negative then prt files will be produced for every hour that NDPRNT was set, eg NDPRNT=-2 would be 2 hours, /0,1,32,60,91,121,152,182,213,244,274,305,335/

IJD6(2,4), diurnal diagnostics. The names of the diagnostic routines reflected in what order they were put into the model. Diag1-3 were later renamed as diagj,jl,ij, the others kept their names. Diagjk was added and diag8 was dropped (wolf plots). This diagnostic is for 4 points over 24 hours. The array contains the ij locations of the four points, /32,9,19,7,9,18,14,12/

NAMD6, names the 4 points specified by IJD6. There is only space for 4 characters in the prt file. The standard 4 points are: AUstralian South Desert, MidWeST, SAHara desert, Eastern PACific, /'AUSD','MWST','SAHL','EPAC'/

SIG(L), is correct in model II; in model II' the vertical differencing was changed and SIG should have been changed simultaneously to .5*(SIGE(L)+SIGE(L+1)), but that happened only much later, ? SIGE, 1. at the surface and changes linearly with pressure to 0. at PTOP. This was kept true even in the hybrid (post-model II) case where PTOP was set to 150mb and was no longer the model top. In that case, SIGE has to go negative between PTOP and the model top (PMTOP).

additions to the INPUTZ namelist

+KCHECKTAUX, check that taux in the restart file is close to the current month. This allows you to override the check that the month of the restart file matches the month in the model. 1 does the check and 0 does not, 1

+GEOMETRY, allows you to change the geometry of the model from the rundeck instead of recompiling. Currently 8x10 and 7.826x10 are supported. GEOMETRY='8x10' uses the true 8x10 grid while no flag uses the older 7.826x10 grid, 7.826x10

+ocean_input, allows you to switch between observed and climatlogical sst files. Currently 'climatological' and 'observed' are the two allowd values. In climatological mode a single averaged ocean file is looped over a year so every January is the same. In observed mode the ocean file contains a number of years of ocean data starting from Febuary of the first year. TAUI is matched to the start of the first year of the ocean file so that the model can advanced the file to the correct month. In both cases the ocean files contain an averaged value for the middle of each month and days are linearly interpolated between the two nearest monthly values, 'climatological'

+OMEGT, angle from vernal equinox to perihelion in degrees, this changes the calendar to match the precession of the orbit, 282.9

+OBLIQ, latitude of tropics in degrees, changes the axial tilt of the planet, 23.44

+ECCN, eccentricity of the orbital ellipse, .0167


This is the new forcings namelist to standardize how all the radiative forcings are handled by the model. This namelist supersedes the old ktrend code that was in RFRC. Unlike the old ktrend code each forcing is independent so there is a long list of settings.

KTRENDEXT, trend to use in the model. 1 is the new style data trend. 2-5 are the classic Jim Hansen trend (a trend , b trend, c trend, d trend, y trend, z trend). A trend is inaccessible because 1 has been reused for the new trend. Negative numbers deactive trends, -1

There are 2 kinds of forcing functions:

Constant, use the initial value of the variable times the 1958 reference value

Data, read values from a data file. The model will use the constant value for the gas before the data trend starts. After the last year in the data file the model will continue to use the last value in the file.

There are seven different kinds of forcings. Each forcing has a default 1958 value that will be used if nothing is specified. The units for the forcings are in scaled model units, which are ppm for the gases, but in ?? for the sun:

CO2, carbon dioxide primary greenhouse gas, 315

ZN2O, Nitrous oxide, 0.295

CH4, Methane, another greenhouse gas, mm yummy cows, 1.400

F11, Stratospheric aerosols, 8.00E-6

F12, Stratospheric aerosols, 25.0E-6

S0X, Solar radiance, fractional increase or decrease of luminosity

Since each forcing is similar I will document the forcing for CO2:

CO2, constant value for CO2 in ppm, the 1958 value for CO2 is 315 ppm. Both CO2 and S0X are set in inputz and only the trend information is in forcings, 315

CO2DATA, data file to read in years from. 0 means no data file, otherwise the number is the unit number of the fortran file to open. The files are formatted text files with the year and scaled data on each line. The code will automatically synchronize the file with the model year, 0

CO2DATASTART, year to start reading data file, -1

CO2DATAEND, year to stop reading data file, when the file runs out the model stops, -1


IDACC(11) turns on the DEBUG DIAGNOSTICS for a run. The default for every element of the array is, 0