19 include
"dimensions.h"
26 integer,
parameter:: ngrid = 7
27 real p(ngrid,
llm + 1)
31 real p_lay(ngrid,
llm)
36 print *,
"Call sequence information: test_disvert"
38 delta_ps = 6e4 / (ngrid - 1)
39 ps = (/(5e4 + delta_ps * i, i = 0, ngrid - 1)/)
40 forall (l = 1:
llm + 1) p(:, l) =
ap(l) +
bp(l) * ps
45 if (any(p(:, :
llm) <= p_lay .or. p_lay <= p(:, 2:)))
then
49 if (p(i, l) <= p_lay(i, l))
then
50 print 1000,
"ps = ", ps(i) / 100.,
"hPa, p(level ", l, &
51 ") = ", p(i, l) / 100.,
" hPa <= p(layer ", l,
") = ", &
52 p_lay(i, l) / 100.,
" hPa"
54 if (p_lay(i, l) <= p(i, l + 1))
then
55 print 1000,
"ps = ", ps(i) / 100.,
"hPa, p(layer ", l,
") = ", &
56 p_lay(i, l) / 100.,
" hPa <= p(level ", l + 1,
") = ", &
57 p(i, l + 1) / 100.,
" hPa"
61 call abort_physic(
"test_disvert",
"bad order of pressure values", 1)
64 1000
format (3(a, g10.4, a, i0))
!$Id mode_top_bound COMMON comconstr kappa
subroutine exner_hyb(ngrid, ps, p, pks, pk, pkf)
!$Id Turb_fcg_gcssold get_uvd hqturb_gcssold endif!large scale llm day day1 day day1 *dt_toga endif!time annee_ref dt_toga u_toga vq_toga w_prof vq_prof llm day day1 day day1 *dt_dice endif!time annee_ref dt_dice swup_dice vg_dice omega_dice tg_prof vg_profd w_profd omega_profd!do llm!print llm l llm
!$Id mode_top_bound COMMON comconstr cpp
real, dimension(:), allocatable, save ap
subroutine abort_physic(modname, message, ierr)
real, dimension(:), allocatable, save bp