As noted above, the frequency of mean and instantaneous output is
controlled by the variables noout
, ntout
and ntouti
in the input namelist driverdata
in the run script.
No instantaneous or mean output can be specified bye setting ntouti=0
or
ntout=0
, respectively.
The user can make additional adjustments as to what is
output by making code changes to output.f90 found in /src
. Some of the adjustments
possible include:
defVar
in the subroutine defVars
located near the top of
the source file output.f90
.defVar
to
the subroutine defVars
in output.f90
. The subroutine syntax is
defVar(longvarname,var)
, where var
is the variable to be included in
the output and longvarname
is a string describing it. The first word
of longvarname
is split off and used as the variable name in the netCDF file or GrADS
data descriptor file, respectively. For netCDF output the first substring of longvarname
in brackets is used as the ``units'' attribute to the output variable.
Example:
Call defVar('diffT1 T1 diffusion [K/s]',dfsT1)
requests to include the fortran
array named dfsT1
. It's name will be diffT1
, the description string is
``T1 diffusion [K/s]
'' and for netCDF units are ``K/s
'':
The output routines automatically allocate storage for the mean computation. No array
size adjustments are necessary. The output routines use pointers and a linked list
to access the array data so the array has to be declared with a Fortran-90 ``TARGET''
attribute. This means that you may have to add the
TARGET keyword in the variable declaration (usually in /src/qtcmmod.f90
).
Furthermore, the array has to be in the scope of the defVars
routine so you may have to
add it in the list of used modules in defVars
. You may use the already existing
variables as a guidance.
By default, output is written every ntout
days to the three files described
above. However, the code allows the user to specify a different output
frequency and unit directly for any particular variable in subroutine outpinst
or outpmean
by simply using different argument values in calling
subroutines outpi
and outpm
. Variables ntout
and/or ntouti
can also be specified as a user-control parameter in driver.in by editing the execution
shell scripts.
Note: The minimum value for ntout
is one day, so if you need to output
more often than a day, you have to call the output routines from within
the atmosphere-land coupling loop in subroutine qtcm
.