Uneven_hybrid_1
Returns values of "A and B" appropriate for a particular unevenly spaced
hybrid sigma-pressure coordinate model
subroutine uneven_hybrid_1 (a, b, scale_heights, surf_res,
k_press, k_sigma)
- intent (in)
- real :: scale_heights
- real :: surf_res
- integer :: k_press
- integer :: k_sigma
- intent (out)
- real, dimension(:) :: a
- real, dimension(:) :: b
size(a) = size(b) = number of half-levels = N+1, where N is the number
of full-levels
Provides smooth transition between unequally spaced sigma levels as defined
by uneven_sigma_1
to corresponding unequally spaced pressure levels.
The sigma-coordinate ( A = 0, B = B_sigma)
that provides the starting point is defined as follows:
If surface_res = 1 levels are equally spaced in z = log(pressure) through
scale_heights number of scale heights. It is assumed that the
transition to pressure-coordinates is made before the model top, and the
pressure at the top, normalized by the mean_surface pressure,
is exp(-scale_heights).
As surface_res is increased above one, more resolution is placed near the
surface at the expense of the rest of the atmosphere
The levels are equally spaced in zeta = c*z +(1-c)*z*z, where
c = 1/surface_res, and where z = ln(pressure)
One then defines a pressure coordinate with the same level spacing by setting
A_press(k) = B_sigma(k), with B_press = 0. Then a smooth transition
is generated from the sigma coordinate region (k > k_sigma)
to the pressure coordinate region ( k < k_press)