[MITgcm-support] temperature tendency equation

Andrea Molod molod at ocean.mit.edu
Tue Dec 6 21:34:18 EST 2005


hi d.w.,

On Tue, 6 Dec 2005, dwang at ldeo.columbia.edu wrote:

> I'd like to diagnose every term of temperature tendency equation averaged over a
> period of time, say 10 days. There is a term which only applies to the surface
> layer (I use linear implicit free-surface): theta * div(velocity vector), in
> gad_calc_rhs.F it has the form like:
>
> This term is "nonlinear" in the sense that it's a product. It seems that I have
> to save T/U/V/W at every tracer timestep in order to estimate its time average
> (is this the correct way?). My question is, is there any better approach?

i don't know if you are using the diagnostics package or not, but it seems 
to me the most reasonable solution to what you want to do. you can read 
about how to use it in the MITgcm online documentation. there are 
also at least a few verification experiments that use it, so you can 
look there to find concrete examples. there are a set of diagnostics that 
are pre-set for the temp. tend eqn, they are:

   'ADVr_TH' | K.Pa.m^2/s   | Vertical   Advective Flux of Pot.Temperature
   'ADVx_TH' | K.Pa.m^2/s   | Zonal      Advective Flux of Pot.Temperature
   'ADVy_TH' | K.Pa.m^2/s   | Meridional Advective Flux of Pot.Temperature
   'DFrE_TH' | K.Pa.m^2/s   | Vertical Diffusive Flux of Pot.Temperature (Explicit part)
   'DIFx_TH' | K.Pa.m^2/s   | Zonal      Diffusive Flux of Pot.Temperature
   'DIFy_TH' | K.Pa.m^2/s   | Meridional Diffusive Flux of Pot.Temperature
   'DFrI_TH' | K.Pa.m^2/s   | Vertical Diffusive Flux of Pot.Temperature (Implicit part)

to use these, just 'enable them' in the data.diagnostics namelist, and 
include the DIAGNOSTICS_SIZE.h (with the approriate settings in there) 
in your code directory. then all that needs to be saved is the time 
average of the tendency terms.

if these are not adequate, you can take advantage of the 'user-defined' 
diagnostic options that are built in. this entails 'enabling' a set of 
diagnostics called, eg, 'UDIAG1' (as any other diagnostic is enabled), and 
then adding a single subroutine call to the appropriate routine to fill 
the diagnostic with whatever combination of terms you want.

have fun!

andrea molod



More information about the MITgcm-support mailing list