Notes: Index (Model)
Major Changes: Index
(Notes: Index)
Some of the major changes from the previous version:
Albedo: (Index)
Atmospheric or "cloud" albedo is now a two dimensional field derived from ERBE data.
Shortwave radiation is now absorbed in both directions by the atmosphere (in and out).
In general, energy budgets throughout the model have been improved.
Carbon: (Index)
A minor bug in the OCMIP air/sea carbon flux calculation (in co2calc) has been corrected.
The formulation of C14 in the model has been changed to follow the OCMIP guidelines.
The air/sea flux of carbon is used to calculate the air/sea flux of C14 and delta C14 is
now diagnosed from C14 and DIC. Prognostic C14 in the atmosphere has not been well tested.
C14 fluxes between the atmosphere and vegetation are just scaled by a standard ratio as is
transport of C14 by biology in the ocean. If using "uvic_carbon_co2_2d" and not using
"uvic_carbon_coupled" global average CO2 is now adjusted back to a data value but CO2 is
allowed to keep a spacial structure. This option is also not well tested.
Ocean Biology and Chemistry: (Index)
Ocean biology parameters have been tuned. Reasonable simulations of ocean carbon can be
obtained with the options "uvic_carbon" along with "uvic_npzd". For more complete ocean
chemistry you can also add "uvic_alk", "uvic_oxygen" and "uvic_nitrogen". Other
combinations of ocean biology/chemistry do not seem to work quite as well. Running with
ocean biology slows the model integration considerably but is essential in simulating the
carbon cycle well.
Atmospheric Transport: (Index)
Diffusivities of moisture now only vary with latitude and are no longer different over
land and ocean points. Moisture diffusion is still greater east-west compared to north-south
and reaches maximum values at 45N and 45S. Heat diffusion is now the same north-south
and east-west. The strength of moisture advection has been increased and weak temperature
advection has been added.
Outgoing Longwave: (Index)
The influence of orography on outgoing longwave has been greatly reduced.
Precipitation: (Index)
Precipitation is scaled differently with orography. Rather than scaling back the lapse rate
to reduce the precipitation over mountains, the amount of rain due to orography is scaled back.
The relative humidity is again checked at sea level to ensure that it is always below the
maximum allowable. The maximum allowable relative humidity is now back to 0.85.
Dalton Number: (Index)
The calculation of Dalton number over the ocean has been replaced by a constant.
Ocean Parameters: (Index)
Horizontal viscosity has been reduced and diffusivity increased from values used in 2.7. Values
have been chosen to give the best compromise in simulations of multiple ocean tracers.
Ice: (Index)
Filtering of ice velocities is done in a similar way as ocean velocities.
Vegetation: (Index)
Various vegetation parameters have changed. Soil carbon is now much higher and vegetation
distribution is improved.
Output: (Index)
Some additional variables have been added to output files. Time average files have been renamed
to start with "tavg", time step integral files with "tsi" and snapshot files with "snap". All
include a time stamp in the name.
Restarts: (Index)
All variables in restarts are now named rather than using tracer numbers as identifiers. This
allows you to change model options, which may change tracer ordering, and the model will still
read in the correct restart variables. As before any variables missing in the restart will be
set to their default values. The model can write restart files at various time intervals and
these are usually written into the main model (or executable) directory. A saved restart name
starts with "rest." and has a time stamp included in the name. The file that the model actually
uses to restart itself is called "restart.nc" and this is now located in the data directory. A
restart.nc file is included in the main model data directory and the default "control.in" no
longer starts from initial conditions but from the default "restart.nc" file. If you wish to
start from another restart file, make sure you copy it into your data directory as restart.nc.
Getting Started: (Notes: Index)
Instructions for setting up the model for the first time:
1) Set your PATH environment variable to include the UVic_ESCM directory.
For example: "set path = ($path /usr/local/models/UVic_ESCM)" if you are in
a csh or a tcsh and you have the UVic_ESCM directory in /usr/local/models.
Although not absolutely necessary this will do two things. It will allow you
to have access to the mk script, which is in UVic_ESCM, and it will allow
mk to find the version directory you want without having to specify the full
path. You may then need to re"source" your system variables for your system
to find mk. For example: "source ~/.cshrc" if you are in a csh or a tcsh.
2) Find where perl is located on your machine. The command "which perl" may
locate it. It is often located in /usr/bin or /usr/local/bin. If you can not
locate it, you will need to install it on your system. Almost all systems
have perl. Try http://www.perl.com for downloading perl. If perl is located
somewhere other than /usr/bin, you can edit the first line of the mk file
(which is in UVic_ESCM) to point to the right location (recommended if all
systems have it in the same location) or set up a link to perl in
/usr/bin (dangerous if you do it incorrectly).
3) The model also requires some form of preprocessing. This is usually done by
the c preprocessor cpp but the model can be set up to use the preprocessing
of many Fortran compilers. If you want to use cpp, you will need to make sure
it is installed on your system. Most systems have cpp but you may need to set
the location or options in your UVic_ESCM/2.8/run/mk.ver file later (see
step 6 below).
4) Look for the netcdf library file "libnetcdf.a". Try looking in /usr/lib/.
Some machines have a libnetcdf.a library that does not contain a Fortran
interface. If netcdf is not installed on your system or the Fortran
interface is missing, you will need to get a copy of libnetcdf.a and
netcdf.inc file for your system. You should be able to compile the library
from source code. Try: http://www.unidata.ucar.edu/packages/netcdf to
download netcdf source code or binaries. You may need to set some
environment variables to get the library to compile correctly. Once you have
located or created the libnetcdf.a file, either copy it to UVic_ESCM/2.8/lib
(or a subdirectory) or create a link to it in UVic_ESCM/2.8/lib (or a
subdirectory). You also need to copy the libraries netcdf.inc file to
UVic_ESCM/2.8/source/netcdf/netcdf.inc. The netcdf.inc file may be located in
/usr/include on your system. Most netcdf.inc files are very similar. If you
are using a file system that is shared by many different machines, you may
want to create directories of libraries for different machine types. For
example "lib/lib_aix" and "lib/lib_linux". You will need to make sure that
the "Libraries_Directory" variables in your mk.ver or mk.in file point to the
correct location (see step 6 below).
5) The mk script will also make use of a few system variables. You may want to
check if the environment variables $HOME, $PATH, $USER are defined. Also
check the results of the commands "uname -s" and "uname -n". These results
can be used to set operating system or machine name specific mk variables.
If the uname commands do not give reasonable values, you can set the
environment variables MK_OPERATING_SYSTEM and MK_MACHINE_NAME to override
the results from "uname -s" and "uname -n" respectively. The script will
work without these settings but you may find it more limited.
6) Edit the file "UVic_ESCM/2.8/run/mk.ver" to set the default options for your
system. There are many settings that are recognized by mk. It may help to
type "mk h" and read the resulting log file to understand what can be set in
"mk.in" or "mk.ver" files. If you have a system that is not set in the mk.ver
file, you can do the following: copy and/or edit an existing section of
definitions (eg. linux) making sure you change the identifier (eg. linux) to
the result of "uname -s" or "uname -n" (converted to lower case letters). If
you use the result of "uname -s" all machines that use the operating system
will use the definitions but if you use the result of "uname -n" only that
specific machine will use the definitions. Any settings that are in the
mk.ver file may also be set in your local mk.in file. Only settings from a
local mk.in file are read (if missing, a default one is copied) but settings
from all mk.ver files are read. The priority is for files in your: local
directory, your $HOME/.mk directory and then a UVic_ESCM installation
directory (see the UVic_ESCM.mk.tar.gz Read_me file for more details).
7) If you wish to run jobs from a queue, you can look at the example run files
and modify a copy of one for your system. The generic "run" file does not
actually queue a job but it does allow the model to be run in job steps. Run
files can also be set up to be operating system or machine dependent.
8) Try running the example provided. Create a new local example directory:
mkdir my_example
cp .../UVic_ESCM/2.8/example/*.in my_example
cd my_example
Edit the mk.in file so that the Version_Directory is set to the location of
2.8 on your machine (the default location is /usr/local/models/UVic_ESCM/2.8).
Compile and run the model with:
mk r
This should recreate the example directory. If you do not have the location
the UVic_ESCM directory in your PATH environment variable you would have to
specify that before the mk command (something like /usr/local/models/UVic_ESCM/mk r).
Look at the mk.log file and compare code and output files to make sure the
model was made, compiled and ran correctly.
UVic Options: Index
(Notes: Index)
A very quick description of available uvic options (for other options see the
mom manual available through the description link on the main model web page). Some options are considered to be sub-options
of other options. In general if an option is contained within a sub-option both should be specified. For example, to use
uvic_embm_solardata you should also specify uvic_embm. uvic_embm_solardata is a sub-option of uvic_embm.
Note: not all options or combinations of options are well tested!
General: (Index)
uvic_global_sums = calculate global conservation (see example)
uvic_min_window = use minimum memory window
uvic_sbc_in_memory = boundary conditions kept in memory
uvic_multiple_files = writes time slices to separate files
uvic_read_kmt_map = read kmt from a map file
uvic_read_rivers_map = read river definitions from a map file
uvic_save_flxadj = writes flux adjustment if coupled and using restorst
uvic_save_diff = save diffusion parameters
uvic_replacst = replaces ocean surface tracers with data
uvic_mk_out = incorporate mk settings into the executable
uvic_newflxref = calculates new references for virtual fluxes every segtim
Time Average Integral: (Index)
uvic_tai_ns = calculate north/south averages for some tsi variables
uvic_tai_otsf = calculate maximum and minimum overturning for a region
uvic_tai_slh = calculate sea level rise from thermal expansion
EMBM: (Index)
uvic_embm = main embm option
uvic_embm_even_fluxes = every other flux used for conservative coupling
uvic_embm_running_average = write annual average sat
uvic_embm_adv_q = advect moisture
uvic_embm_adv_t = advect temperature
uvic_embm_save_diff = write atmospheric diffusion
EMBM Forcing: (Index)
uvic_embm_orbit_user = user defined orbital parameters
uvic_embm_orbit_transient = changing orbital parameters
uvic_embm_solardata = interpolate solar constant from data
uvic_embm_solardata_transient = interpolate changing solar constant from data
uvic_embm_co2data = interpolate co2 from data
uvic_embm_co2data_transient = interpolate changing co2 from data
uvic_embm_c14data = interpolate c14 from data
uvic_embm_c14data_transient = interpolate changing c14 from data
uvic_embm_cropdata = interpolate crop area from data
uvic_embm_cropdata_transient = interpolate changing crop area from data
uvic_embm_icedata = interpolate land ice from data
uvic_embm_icedata_transient = interpolate changing land ice from data
uvic_embm_snow_transient = no limit on snow accumulation
uvic_embm_co2_exp = exponentially increasing co2
uvic_embm_co2_lin = linearly increasing co2
uvic_embm_annual = annual mean solar forcing
uvic_embm_awind = wind feedback
EMBM Solver: (Index)
uvic_embm_slap = slap atmospheric solver
uvic_embm_essl = essl atmospheric solver
uvic_embm_mgrid = mgrid atmospheric solver
EMBM Land: (Index)
uvic_embm_snow_transient = no limit on snow accumulation
uvic_embm_cropdata = interpolate crop area from data
uvic_embm_cropdata_transient = interpolate changing crop area from data
uvic_embm_icedata = interpolate land ice from data
uvic_embm_icedata_transient = interpolate changing land ice from data
Ice: (Index)
uvic_ice = main ice option
uvic_ice_evp = evp dynamics
uvic_ice_cpts = main cpts model option
uvic_ice_cpts1 = 1 category
uvic_ice_cpts3 = 3 categories
uvic_ice_cpts5 = 5 categories
uvic_ice_cpts10 = 10 categories
uvic_ice_cpts_roth_press = uses roth pressure
uvic_ice_cpts_simple_growth = not sure
uvic_ice_cpts_warnings = gives warnings
uvic_ice_firfil = filter ice velocities with firfil
uvic_ice_fourfil = filter ice velocities with fourfil
MOM: (Index)
uvic_mom = main mom option
uvic_tbt = netcdf tracer term balances
uvic_convect_brine = convect separately under ice categories
uvic_save_convection = save some convection diagnostics
uvic_read_my_stf = read ocean surface fluxes
uvic_kv_out = write out kv
uvic_tidal_kv = enhancement of kv through tidal dissipation
uvic_fwa = add fresh water flux anomalies
Carbon: (Index)
uvic_carbon = the main ocean carbon option
uvic_carbon_coupled = couples the atmosphere carbon to ocean and land models
uvic_carbon_14 = the main ocean carbon 14 option
uvic_carbon_14_coupled = couples the atmosphere carbon 14 to the ocean model
Ocean Chemistry: (Index)
uvic_alk = include ocean alkalinity
uvic_cfc = include cfc11 and cfc12
uvic_cfc11 = include cfc11
uvic_cfc12 = include cfc12
uvic_nitrogen = include ocean nitrogen
uvic_o2 = include ocean oxygen
Ocean Biology: (Index)
uvic_npzd = main ocean biology option
uvic_npzd_out = additional npzd output
uvic_npzd_no_calcite = turns off calcite pump
uvic_npzd_vflux = adds virtual fluxes to p, z and d
Dynamic Vegetation: (Index)
uvic_mtlm = main moses-triffid land model option
uvic_mtlm_pressure = pressure that changes with elevation
uvic_mtlm_segday = run mtlm for only one day every segtim
Experimental: (Index)
(use with caution or needs work)
uvic_embm_adi = adi atmospheric solver
uvic_embm_explicit = explicit atmospheric solver
uvic_embm_explicit_q = explicit solver just for q
uvic_embm_solve2x = half resolution solver in x
uvic_embm_solve2y = half resolution solver in y
uvic_embm_sparskit = sparskit atmospheric solver (not functional)
uvic_carbon_co2_2d = two dimensional field of carbon dioxide in the atmosphere
uvic_ism = dynamic ice sheet model (not functional)
mk: Index
(Notes: Index)
General Description: (Index)
mk is used to create, compile, link and run code. The program works in a
similar way to 'make' in that the minimum amount of code is recompiled
when changes are made. mk reads the model configuration from 'mk.in' and
'mk.ver' files. If important definitions are changed, mk will detect these
and 're-mk' the code.
mk looks for configuration definitions in the initial directory, then the
$HOME/.mk directory and finally in a UVic_ESCM installation subdirectory. Only
settings in a local mk.in file are used. If a local mk.in file is missing, the
model version must be specified after the mk command. A default version of
mk.in is then copied from the $HOME/.mk directory and if one is not found
there, from a UVic_ESCM installation subdirectory. The Version_Directory
variable is always set at the top of a copied default mk.in file so the
version only has to be specified once. mk.ver files are treated differently.
Settings in all mk.ver files are read but the priority for settings is from the
mk.ver files in the local directory, then the $HOME/.mk directory and then a
UVic_ESCM installation subdirectory.
mk uses 'Source_Directory' definitions as the basis for all other definitions.
Source directories may exist anywhere but usually are under a model
version directory. Multiple source directories are specified with a bracketed
index. If a variable does not specify a source directory index, then an index
of zero is assumed. Undefined variables will usually get their definitions
from lower numbered source directories so specifying a variable without an
index specifies that variable for all source directories (until a different
definition is specified). The version directory also usually contains a system
wide 'mk.ver' file which has the system default values. The version directory
may also contain input files, library files or run files.
An update level for source directories may be specified and mk will use files
in the update level source directories before other specified source
directories. The source directories must have the same name under the
'Updates_Level' directory for them to be recognized. The updates level source
directories must contain all code that has been changed from the original
version source directories. No earlier update level sources are used.
mk allows for multiple executables, executable directories, code directories
and data directories but only one per source directory. Usually an executable
directory contains the executable input and output files and code and data
directories. The code directory contains readable model code and an object and
dependency directory. It may also have a backup directory. The model is run in
the executable directory.
You may run executables on the local machine with 'mk r' but you can also
run multiple executables or queue the executables with 'mk q'. This copies a
specified perl script run file to 'Executable_File'.run in the executable
directory. The perl script run file usually exists under the version directory
and may be model or system specific. Some mk defined variables are suppled at
the beginning of the run file. See examples. The 'Executable_File'.run file
should be removed automatically when the executable finishes. If mk finds the
run file in the executable directory, it will not run another executable until
'Executable_File'.run is removed.
The command 'mk h' will print to a log file the commands that can be used,
this description and all available preprocessor options.
Commands: (Index)
mk [Command [[Path]Version] [String]]
Command:
'q' makes executable and submits to a queue (includes mk s)
'r' makes and runs an executable locally (includes mk e)
's' makes executable and submit scripts (includes mk e)
'e' makes an executable (includes mk o)
'o' makes all object files (includes mk f)
'f' makes all compilable files in code
'file' to make a file (eg. 'mk atmos.o' or 'mk atm.h')
'c' clears the code directory
'h' writes help to a log file
Path: model version directory path (default searches $PATH)
Version: model version directory (only used if not in mk.in or $HOME/.mk/mk.in)
String: help for mk.in variables containing string (only used if Command = 'h')
Any command will create a local, default mk.in file if one is not found.
Operating System Variables: (Index)
mk variables that are derived from the operating system or environment variables:
Home:
A directory used in searching for mk.in files in 'HOME/.mk'. It is derived
from the system variable 'HOME'.
Machine_Name:
This is added to various variables to make them machine dependent. Machine_Name
is derived from the system variable 'MK_MACHINE_NAME' or if this is not
defined, from the command 'uname -n'. Check that this gives the expected
response if you wish to use machine dependent variables. Machine_Name is
converted to all lower case for use in machine dependent variables. This
variable may also be specified in mk.in or mk.ver files.
Mk_Path:
Path that is used to search for Version_Directories. It is derived from the
system variable 'PATH'.
Operating_System:
This is added to various variables to make them operating system dependent.
Operating_System is derived from the system variable 'MK_OPERATING_SYSTEM' or
if this is not defined, from from the command 'uname -s'. Check that this gives
the expected response if you wish to use operating system dependent variables.
Operating_System is converted to all lower case for use in system dependent
variables. This variable may also be specified in mk.in or mk.ver files.
User:
Name used if an email address is requested by a run script. It is derived from
the system variable 'USER' or read from a mk.in or mk.ver file.
Equality_Character: (Index)
Character that separates a variable name from it's value or setting in a mk.in
file. It can be changed to any character sequence multiple times in the file.
Default is '='.
mk Settings: Index
(Notes: Index)
Alphabetical list of variables that may be set for each Source_Directory:
(see examples in mk.in or mk.ver files)
Auto_Update: (Index)
Flag to automatically update code. Default is 'false'. If true and source code
is newer than then the version in code, mk will ask if you want the code
updated. Be careful if using this with No_Warnings.
Backup_Directory: (Index)
Directory that exists under the code directory and contains backup files.
Optional. Files are copied from the Code_Directory when the code is cleared
with 'mk c'.If the directory does not exist, it will be created.
Change_Mount: (Index)
A list of old and new file system mount points separated by a space. Optional.
Only used if queueing on a distributed system where a common mount point is
required but not given by 'pwd'. Directories starting with the old mount point
are replaced by the new. For example, if 'Change_Mount = /u01 /u', the
'/u01/home/' directory would become '/u/home/'. Directories are only changed
if the new directory exists.
Code_Directory: (Index)
Directory which contains readable code files. It also usually contains the
Dependency_Directory, Object_Directory and Backup Directory. Default is
'code'.If the directory does not exist, it will be created.
Code_Extension: (Index)
Code extension after preprocessing (include files retain an Include_Extension).
Only the first in a list is used. Default is 'Code_Extension_is_undefined'.
Compiler_'Source_Extension': (Index)
See Machine_Name and Operating_System.
Compiler with options. Compiler may be set differently for each source code
extension. The last option flag should be set to create object code. The syntax
for compiling is: 'Compiler_Source_Extension file.Source_Extension'. Compilers
may also be set for parallel or specific operating systems or machines.
Compiler_Parallel definitions are only used if Number_Processors is greater
than one. Note: if Compiler_Source_Extension is defined, it will overrule other
definitions. The order of priority is:
Compiler_'Source_Extension'
Compiler_Parallel_'Source_Extension'_'Machine_Name'
Compiler_Parallel_'Source_Extension'_'Operating_System'
Compiler_Parallel_'Source_Extension'
Compiler_Parallel_'Machine_Name'
Compiler_Parallel_'Operating_System'
Compiler_Parallel
Compiler_'Source_Extension_Machine_Name'
Compiler_'Source_Extension_Operating_System'
Compiler_'Machine_Name'
Compiler_'Operating_System'
Compiler
Compiler_Default
Compress_Command: (Index)
Command for compressing or taring the code directory. Optional. Syntax is:
'Compress_Command Code_Directory.Compress_Extension Code_Directory'.
Code_Directory is removed after compression or tarring.
Compress_Extension: (Index)
Extension for a compressed or tarred Code_Directory.
Data_Directory: (Index)
Directory which will contain data files. Optional. Data files are copied from
Data_Source if any are missing. If the directory does not exist, it will be
created.
Data_Source: (Index)
Directory which will contain data source files. Optional. Default is
Version Directory/Data_Directory. If not found locally, mk will look in the
Version Directory.
Definitions_Down: (Index)
Flag to spread definitions downward through source directories. Any undefined
variable will get its value from from the next highest source directory that
has the variable defined. Default is true.
Definitions_Up: (Index)
Flag to spread definitions upward through source directories. Default is
false.
Dependency_Directory: (Index)
Directory that exists under the code directory and contains dependency files
for the mk program. Default is Code_Directory/D.If the directory does not
exist, it will be created.
End_String: (Index)
A string that is passed to a run file which can be checked to indicate the
successful completion of a run. This variable is not passed to the run file if
set to false or only spaces.
Executable_Directory: (Index)
The directory where the Executable_File will be run. Default is the directory
where mk was run.
Executable_File: (Index)
As it sounds. Optional (but recommended!)
Include_Extension: (Index)
Extensions for include files. May be a list separated by spaces. Default is
Include_Extension_is_undefined.
Input_File: (Index)
A file which is usually read by the Executable_File. Optional.
Libraries: (Index)
See Machine_Name and Operating_System.
Libraries which are used in linking code. Optional. The syntax for linking is:
Linker Executable_File Object_Directory/*.Object_Extension Libraries
Libraries may also be set for parallel or specific operating systems or
machines.Libraries_Parallel definitions are only used if Number_Processors is
greater than one. Note: if Libraries is defined, it will overrule other
definitions. The order of priority is:
Libraries
Libraries_Parallel_'Machine_Name'
Libraries_Parallel_'Operating_System'
Libraries_Parallel
Libraries_'Machine_Name'
Libraries_'Operating_System'
Libraries_Default
Libraries_Directory: (Index)
See Machine_Name and Operating_System.
Library paths which are used in linking code. Optional. These may be a list
which includes several paths. Libraries_Directory may also be set for parallel
or specific operating systems or machines. If a directory is not found, mk will
look in Version_Directory/lib. Library_Directory_Parallel definitions are only
used if Number_Processors is greater than one. Note: if Libraries_Directory is
defined, it will overrule other definitions. The order of priority is:
Libraries_Directory
Libraries_Directory_Parallel_'Machine_Name'
Libraries_Directory_Parallel_'Operating_System'
Libraries_Directory_Parallel
Libraries_Directory_Directory_'Machine_Name'
Libraries_Directory_'Operating_System'
Libraries_Directory_Default
Libraries_Directory_Prefix: (Index)
See Machine_Name and Operating_System.
Prefix for Libraries_Directory. Default is '-L'. Libraries_Directory_Prefix
may also be set for operating systems or machines. Note: if
Libraries_Directory_Prefix is defined, it will overrule other definitions. The
order of priority is:
Libraries_Directory_Prefix
Libraries_Directory_Prefix_'Machine_Name'
Libraries_Directory_Prefix_'Operating_System'
Libraries_Directory_Prefix_Default
Linker: (Index)
See Machine_Name and Operating_System.
Linker which is used in linking code. Optional. The syntax for linking is:
'Linker Executable_File Object_Directory/*.Object_Extension Libraries'
Linker may also be set for parallel or specific operating systems or machines.
Linker_Parallel definitions are only used if Number_Processors is greater
than one. Note: if Linker is defined, it will overrule other definitions.
The order of priority is:
Linker
Linker_Parallel_'Machine_Name'
Linker_Parallel_'Operating_System'
Linker_Parallel
Linker_'Machine_Name'
Linker_'Operating_System'
Linker_Default
Log_File: (Index)
Log file which contains output from mk. Default is log.
Machine_Name: (Index)
This is added to various variables to make them machine dependent. This
setting will overrule system definitions.
Mk_Include_File: (Index)
File which contains mk settings for including in code. Optional.
Mk_Include_Start: (Index)
Characters written before settings in Mk_Include_File (eg. print*,). Optional.
Mk_Include_Width: (Index)
Maximum length of settings written to Mk_Include_File. Optional.
Model_Options: (Index)
Model options for the Preprocessor or Compiler. Optional.
Module_Extension: (Index)
See Machine_Name and Operating_System.
Extension for modules files that need to be available for compiling. Optional.
Module_Extension may also be set for operating systems or machines. Note: if
Module_Extension is defined, it will overrule other definitions. The order of
priority is:
Module_Extension
Module_Extension_'Machine_Name'
Module_Extension_'Operating_System'
Module_Extension_Default
Nice: (Index)
Nice value sent to the Run_File so the Run_File can set the job priority.
Optional.
Notify_User: (Index)
Email address that can be used by the run scripts to notify a user when a job
has finished. If just the domain name is supplied (must start with the 'at'
symbol), the user name (see User) will be added. Lists of users will be passed
on but all spaces are removed. If set to false or only spaces, Notify_User is
not sent to the Run_File and automatic notification may not be done.
No_Warnings: (Index)
Flag that turns off all warnings from mk. Default is false. If true, code may
be deleted without warning. Be careful.
Number_Processors: (Index)
Number of processors. Default is 1. If greater than 1, it will indicate a
parallel run.
Operating_System: (Index)
This is added to various variables to make them operating system dependent.
This setting will overrule system definitions.
Object_Directory: (Index)
Directory that exists under the code directory and contains object files.
Default is Code_Directory/O. If the directory does not exist, it will be
created.
Object_Extension: (Index)
Object_Extension:
Extensions for object files. Only the first in a list is used. Default is
Object_Extension_is_undefined.
Option_Prefix: (Index)
See Machine_Name and Operating_System.
Prefix for Preprocessor options. Default is '-D'. Option_Prefix may also be set
for operating systems or machines. Note: if Option_Prefix is defined, it will
overrule other definitions. The order of priority is:
Option_Prefix
Option_Prefix_'Machine_Name'
Option_Prefix_'Operating_System'
Option_Prefix_Default
Output_File: (Index)
Standard output from the executable. Optional.
: (Index)
Preprocessor (see Machine_Name and Operating_System):
Preprocessor used to apply Model_Options. Optional. Preprocessor may also be
set for operating systems or machines. If Note: if Preprocessor is defined, it
will overrule other definitions. The order of priority is:
Preprocessor
Preprocessor_'Machine_Name'
Preprocessor_'Operating_System'
Preprocessor_Default
Preprocessor_Code: (Index)
Flag to leave code as preprocessed files. Default is false.
Preprocessor_Compile: (Index)
Flag to use the compiler for preprocessing. Default is false. If this option
is used the compiler definitions are modified. mk will look for the string
defined by Preprocessor in Compiler_Source_Extension and replace it with
Preprocessor followed by all Model_Options (with Option_Prefix included).
Preprocessor and Option_Prefix may have to be set differently than when not
using this option.
Remote_Directory: (Index)
Directory that triggers running on a remote machine. Optional. If
Executable_Directory starts with Remote_Directory then Machine_Name is set to
Remote_Machine.
Remote_Machine: (Index)
See Remote_Directory.
Machine_Name for running on a remote machine. Set to false to never run
remotely.
Run_Copy: (Index)
A space separated list of files or directories that are copied to the
Run_Directory. Optional.
Run_Directory: (Index)
A remote directory for running the Executable_File. Only used with a Run_File.
Run_Directory may be used to run the Executable_File on a local scratch
directory. Optional.
Run_File: (Index)
See Machine_Name and Operating_System.
Files used to submit Executable_File to a queue. Optional. Run_File may also
be set for operating systems or machines. Run_File_Parallel definitions are
only used if Number_Processors is greater than one. If Note: if Run_File is
defined, it will overrule other definitions. The order of priority is:
Run_File
Run_File_Parallel_'Machine_Name'
Run_File_Parallel_'Operating_System'
Run_File_Parallel
Run_File_'Machine_Name'
Run_File_'Operating_System'
Run_File_Default
Run_File_Local: (Index)
See Run_File.
Run_File to be used if running locally (with 'mk r'). Set to false to run
locally without a Run_File.
Search_Path: (Index)
Path that mk will search for a Version_Directory. Optional. May be a space
separated list.
Source_Comment_Character: (Index)
Unless set to false, mk will add the Source_Comment_Character followed by the
name of the source file to the beginning of code and include files. Optional.
Source_Directory: (Index)
Directories which contain source or include files. If not found locally, mk
will look in the Version Directory.
Source_Extension: (Index)
Extensions for source files. May be a list separated by spaces. Default is
Source_Extension_is_undefined.
Step_Start_File: (Index)
Unless undefined or set to false, an executable that will be run before each
step in a multi-step run. Optional.
Step_End_File: (Index)
Unless undefined or set to false, an executable that will be run after each
step in a multi-step run. Optional.
Uncompress_Command: (Index)
Command for uncompressing or untaring the code directory. Syntax is:
Compress_Command Code_Directory.Compress_Extension
Updates_Level: (Index)
Directory with updated source code. Optional. Default is latest. Often set
to a number which determines the updates level. If the directory is not found
under 'updates' locally it will be searched for in Version_Directory/updates.
If set to latest, Version_Directory/updates will be searched for the highest
number.
User: (Index)
Name used if an email address is requested by a run script. This setting will
overrule system definitions.
Version_Directory: (Index)
Directory which determines the model version. Must be defined but may be set
as a command option.
Forcing Data: Index
(Notes: Index)
Forcing data can be calculated or read from a file. The default year for time varying forcing is pyear, which may
be overridden by a different year for an individual forcing. If a transient forcing option is specified, any time settings
for the forcing are ignored and the model year (year0 + relyr) is used as the forcing time. When using a transient sub-option,
you should also specify the main data forcing option. If the model year is before the first time in the data set, then the first
data is used, and if the model year is after the last time in the data set, then the last data is used. Look in the options data
file to see what years the data option is valid for.
pyear: (Index)
The namelist variable pyear (paleo year) is the default forcing year. If not set, pyear defaults to 1850. All other
forcing years default to pyear.
co2: (Index)
The atmospheric co2 concentration, which determines the co2 forcing, can be set with the namelist variable co2ccn (ppmv).
If the data forcing option 'uvic_embm_co2data' option is turned on, then the co2ccn variable is ignored and the co2 forcing
is read from a data file. The concentration is linearly interpolated to the co2 forcing year co2_yr. If co2_yr is not
set as a namelist variable, then it defaults to pyear. If the option 'uvic_embm_co2data_transient' is set, then co2_yr is
ignored and the current co2 value is interpolated from data using the current model time (year0 + relyr). If the option
uvic_carbon_coupled and 'uvic_embm_co2data' or 'uvic_embm_co2data_transient' are specified, then the co2 forcing data
is read as emissions data (Gt yr-1). See the file co2data.F. If you are running the model with a coupled carbon
cycle and you do not want emissions make sure you turn off the co2data options. The default data files are co2ccn.nc
or co2emit.nc. Check that these files are compatible with your run before using co2data options. Idealized
varying co2 can also be specified with the obsolete options 'uvic_embm_co2_exp' and 'uvic_embm_co2_lin'. Create
a data file instead of using these options. Do not use these obsolete options with the co2data options.
delta c14: (Index)
The atmospheric delta c14 concentration can be set with the namelist variable dc14ccn (permil). If the data forcing
option 'uvic_embm_c14data' option is turned on, then the dc14ccn variable is ignored and the delta c14 forcing is read
from a data file. The concentration is linearly interpolated to the c14 forcing year c14_yr. If c14_yr is not
set as a namelist variable, then it defaults to pyear. If the option 'uvic_embm_c14data_transient' is set, then c14_yr is
ignored and the current delta c14 value is interpolated from data using the current model time (year0 + relyr). The default data
file is dc14ccn.nc. Check that this file is compatible with your run before using c14data options.
cfc: (Index)
If any of the cfc data forcing options, 'uvic_cfc', 'uvic_cfc11' or 'uvic_cfc12', are turned on then the forcing values
are interpolated from data using the current model time (year0 + relyr). The main cfc option turns on both cfc11 and cfc12.
The default data file is cfcccn.nc. Check that this file is compatible with your run before using cfc options.
solar constant: (Index)
The solar constant can be set with the namelist variable solarconst (W m-2). If the data forcing option 'uvic_embm_solardata'
option is turned on, then the solarconst variable is ignored and the solar constant forcing is read from a data file. The solar
constant is linearly interpolated to the forcing year solar_yr. If solar_yr is not set as a namelist variable, then it
defaults to pyear. If the option 'uvic_embm_solardata_transient' is set, then solar_yr is ignored and the current solar
constant is interpolated from data using the current model time (year0 + relyr). The default data file is solar.nc.
Check that this file is compatible with your run before using solardata options.
crop: (Index)
If the data forcing option 'uvic_embm_cropdata' option is turned on, then crop data forcing is read from a data file. The
crop area is linearly interpolated to the forcing year crop_yr and this fraction of the model grid is set to grassland.
If crop_yr is not set as a namelist variable, then it defaults to pyear. If the option 'uvic_embm_cropdata_transient' is
set, then co2_yr is ignored and the current crop data is interpolated from data using the current model time (year0 + relyr).
The default data file is crops.nc. Check that this file is compatible with your run before using cropdata options.
ice: (Index)
If the data forcing option 'uvic_embm_icedata' option is turned on, then ice data forcing is read from a data file. The
ice area and thickness are linearly interpolated to the forcing year ice_yr and this fraction and thickness of ice is
set in the model. If ice_yr is not set as a namelist variable, then it defaults to pyear. If the option
'uvic_embm_icedata_transient' is set, then ice_yr is ignored and the current ice data is interpolated once a year using the
model time (year0 + relyr). The default data file is icedata.nc. Check that this file is compatible with your run before
using icedata options.
orbit: (Index)
The orbital parameters are calculated for the forcing year orbit_yr. If orbit_yr is not set as a namelist
variable, then it defaults to pyear. The calculation is only valid for 1,000,000 years into the past or future. If
the option 'uvic_embm_orbit_transient' is set, then orbit_yr is ignored and the orbital parameters are calculated once a year
using the model time (year0 + relyr). If the option 'uvic_embm_orbit_user' is set the orbital parameters are held constant and
can be set as the namelist variables: eccen, obliq, mvelp. These default to present day values for eccentricity (eccen=0.016723)
, obliquity (obliq=23.446) and longitude of perihelion (mvelp=102.04).
|