The THIN AIR model

  1. Running the model
  2. Plotting the output
  3. List of pre-configured model runs
  4. Model details.

§ I. Running the model

§ I.1 Running a pre-configured run

If you want run a pre-configured model run, this consists of simply typing
cd /home/jsk/Models
(to get to the right directory, if you're not there already), and then
runmod N
where N is the number of the model run - see below for a description of the pre-configured model runs. This will start a background job called 'chemob' which will appear in the process list (type 'ps aux' to see all the current processes).

The model writes its status output to a file called 'chemop' which you can look at to see how many days it has run - when it has finished successfully it will write 'RUN COMPLETED' at the end of the file.

§ I.2 Configuring a run

To configure a run you must create a new file in the directory
/home/jsk/Models/Thinair2/setups/
with a name in the format 'In' (where n is an integer, preferably higher than any of the existing run numbers, which currently go up to 307 - eg. 'I308').

The easiest way to make a new file is to copy an existing file and then change the options listed in the file. As an example, this is a listing of the file

/home/jsk/Models/Thinair2/setups/I304

      fstr='I304'
      issh=0
C issh<>0: symmetrise solar heating within 9*issh degrees of equator
      isday=15
C if isday<>0 position of sun determined by isday (day of year)
      iqbo=0
C iqbo=0: no QBO, iqbo=1: RQBO2 called
      isetchem=0
C isetchem<>0: chemicals specified within 9*isetchem degrees of equator
      ispoz=1
C ispoz=0: specify all gases (if isetchem<>0) except ozone
      irepchem=0
C irepchem=1: chemistry specified from single year
      isage=0
C isage<>0: Ozone specified from SAGE data
      ctkzz=1.0
c      ctkzz=0.0
C ctkzz<>0: include cross-tropopause diffusion with value ctkzz (in m2/s)
c      trdmp=100000
      trdmp=1.5
C trdmp=tropical planetary-wave damping time in days
C (large value (>1000) implies no damping
      iwpvfop=0
      if(fstr.eq.'I200') iwpvfop=1
C iwpvfop=1: write pvf to file pvfop
      irpvfop=1
C irpvfop=1: read in pvf from file pvfop
      ipwrpt=1
C ipwrpt=1: specify an annually-periodic PVF
      ikyy=1
C ikyy=0: kyy set to zero (if irpvfop<>0)
      ifg=1
C ifg<>0: Kyy calculated from flux-gradient (otherwise Kyy=0)
      iprather=1
C for Prather advection, iprather=1
      istr=0
C istr determines the calculation of the output streamfunction
C (see Vsub4zc for details)
      inl=1
C inl=1 gives non-linear meridional stream function
      irpt=0
C irpt=1 gives annually repeating forcing of pws
      ifr=1
c frictional gravity waves, ifr=1

The setup files are sections of FORTRAN code which are included in the model before it is re-compiled. It is therefore important that you do not alter the lines apart from changing the values which the variables are assigned.

The most important of these is 'fstr' which must have the same value as the name of the file - this will ensure that the files to which the model outputs its data are '/bulk/jsk/dynamopI304' and '/home/jsk/Models/op/out70I304', for the case of run 304. If you do not change 'fstr' you will over-write data from a different run.

§ II. Plotting the output

There are some Unix shell scripts which will read the files stored in the bulk space and produce ASCII files in a format which Plotter can read.

Normally (when you have run the model on the same machine - I used stehekin) you just need to type

cd /home/jsk/Models (this is where the scripts live)
and then, eg.
mku 305
which will produce a plottable data file of the zonal winds (u) from run 305. The file will be called 'u305'.

You have a choice of the following 'mkX N' commands, which all produce plottable files called XN (In the above example, X=u and N=305, so eg. 'mkhadv 296' will produce the file 'hadv296');

mku     -  zonal winds
mkv 	-  meridional winds - in degrees latitude/day
mkw 	-  vertical winds - in km/day
mkozcol -  ozone column in DU
mkoz 	-  ozone in ppbv
mkt 	-  temperature in K
mkhadv	-  dU/dt due to horizontal advection of angular momentum
mkvadv	-  dU/dt due to vertical advection of angular momentum
mkpvf	-  PV flux (or dU/dt due to all zonal body forces in the model)
	   ie. hadv + vadv + pvf = total dU/dt
To actually produce plots of the files, type
jplotter
in this same directory. This will fire up Plotter, and you can use it to plot out the data in the file 'u305'.

Please refer to the Plotter page for instructions on how to use Plotter.

§ III. List of pre-configured model runs

RUNS

§ IV. Model Details

The model code is contained in the directory
/home/jsk/Models/Thinair2
in the following files
Vchempr2.f    - the main program file
sub1.f	      - most of the general heating subs
sub2y.f	      - miscellaneous subs
wmo91.f	      - the chemistry subs
Vsub4zc.f     - the general dynamic subs
Vpwmodel.f    - the planetary-wave model
emissions.f   - an old file used for adding in aircraft emissions
Vsubgw6c.f    - the gravity wave subs
qborelax2.f   - the subs for producing the observed QBO
qbopar3.f     - subs for producing a simulated QBO
Vsolar.f      - solar heating subs
Vsubgwalex.f  - Joan Alexander's gw parametrisation
Vprather.f    - implementation of Michael Prather's advection scheme
qbopar4.f     - another QBO parametrisation
Makefile      - contains all the information to automatically compile the code
param	      - values for a number of model parameters (number of
		grid boxes, number of gases...)
Another important file is
/home/jsk/Models/data/in
which determines the start and end days of the run.