40 |
use nr_util, only: pi |
use nr_util, only: pi |
41 |
use physiq_m, only: physiq |
use physiq_m, only: physiq |
42 |
use pressure_var, only: p3d, pls |
use pressure_var, only: p3d, pls |
43 |
|
use pvtheta_m, only: pvtheta |
44 |
|
|
45 |
! Arguments : |
! Arguments : |
46 |
|
|
102 |
REAL z1(iim) |
REAL z1(iim) |
103 |
REAL pksurcp(iim + 1, jjm + 1) |
REAL pksurcp(iim + 1, jjm + 1) |
104 |
|
|
105 |
! I. Musat: diagnostic PVteta, Amip2 |
! Diagnostic PVteta pour Amip2 : |
106 |
INTEGER, PARAMETER:: ntetaSTD=3 |
INTEGER, PARAMETER:: ntetaSTD = 3 |
107 |
REAL:: rtetaSTD(ntetaSTD) = (/350., 380., 405./) |
REAL:: rtetaSTD(ntetaSTD) = (/350., 380., 405./) |
108 |
REAL PVteta(klon, ntetaSTD) |
REAL PVteta(klon, ntetaSTD) |
109 |
|
|
230 |
|
|
231 |
forall(l= 1: llm) v(:, l) = pack(zvfi(:, :, l), dyn_phy) |
forall(l= 1: llm) v(:, l) = pack(zvfi(:, :, l), dyn_phy) |
232 |
|
|
233 |
!IM calcul PV a teta=350, 380, 405K |
! Compute potential vorticity at theta = 350, 380 and 405 K: |
234 |
CALL PVtheta(klon, llm, ucov, vcov, teta, t, play, paprs, ntetaSTD, & |
CALL PVtheta(klon, llm, ucov, vcov, teta, t, play, paprs, ntetaSTD, & |
235 |
rtetaSTD, PVteta) |
rtetaSTD, PVteta) |
236 |
|
|
237 |
! Appel de la physique : |
! Appel de la physique : |
238 |
CALL physiq(lafin, rdayvrai, time, dtphys, paprs, play, pphi, pphis, u, & |
CALL physiq(lafin, rdayvrai, time, dtphys, paprs, play, pphi, pphis, u, & |
239 |
v, t, qx, omega, d_u, d_v, d_t, d_qx, d_ps, dudyn, PVteta) |
v, t, qx, omega, d_u, d_v, d_t, d_qx, d_ps, dudyn) |
240 |
|
|
241 |
! transformation des tendances physiques en tendances dynamiques: |
! transformation des tendances physiques en tendances dynamiques: |
242 |
|
|