The tracer mass is (kg) and the air mass is (kg) The mixing ratio is then (kg tracer/kg air).
A tracer field is defined by 1, 4, or 10 three-dimensional arrays:
array | unit | description |
---|---|---|
rm | kg | toal tracer mass in cell |
rxm, rym, rzm | kg/(half grid cel) | first order moments (slopes) |
rxxm, ryym, rzzm rxym, rxzm, ryzm |
kg/(half grid cel) | second order moments |
The slopes and moments are properties of the concentration gradient inside the cell.
Consider a cell volumne
.
The convention for the length scales is that a half cell
has lenght , thus .
We would like to know the concentration in a point in the cell.
From equations (7) and (9) in [Prather, 1986] we find that
the tracer mass mixing ratio (kg tracer/kg air) is given by:
(6.1) | |||
(6.2) | |||
(6.3) | |||
(6.4) |
Coding of slopes and second moments
The best way to implement slopes/second moments is to have them compiled only if certain preprocessor macro's are defined.
In cy3, at least macro 'slopes' should be defined; in addition, 'secmom' might be defined to.
! at least slopes should be defined: #ifndef slopes stop 'slopes not defined' #endif ! second moments as extension of slopes: #ifdef slopes rxm = 0.0 #ifdef secmom rxxm = 0.0 #endif #endif ! different codes: #ifdef slopes #ifndef secmom call adv_slopes #else call adv_secmom #endif #endif