5 |
contains |
contains |
6 |
|
|
7 |
SUBROUTINE calfis(rdayvrai, time, ucov, vcov, teta, q, ps, pk, phis, phi, & |
SUBROUTINE calfis(rdayvrai, time, ucov, vcov, teta, q, ps, pk, phis, phi, & |
8 |
dudyn, dv, w, dufi, dvfi, dtetafi, dqfi, dpfi, lafin) |
dudyn, w, dufi, dvfi, dtetafi, dqfi, dpfi, lafin) |
9 |
|
|
10 |
! From dyn3d/calfis.F, version 1.3 2005/05/25 13:10:09 |
! From dyn3d/calfis.F, version 1.3 2005/05/25 13:10:09 |
11 |
! Authors: P. Le Van, F. Hourdin |
! Authors: P. Le Van, F. Hourdin |
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 |
|
use pvtheta_m, only: pvtheta |
|
43 |
|
|
44 |
! Arguments : |
! Arguments : |
45 |
|
|
69 |
REAL, intent(in):: phis(iim + 1, jjm + 1) |
REAL, intent(in):: phis(iim + 1, jjm + 1) |
70 |
REAL, intent(in):: phi(iim + 1, jjm + 1, llm) |
REAL, intent(in):: phi(iim + 1, jjm + 1, llm) |
71 |
REAL dudyn(iim + 1, jjm + 1, llm) |
REAL dudyn(iim + 1, jjm + 1, llm) |
|
REAL dv(iim + 1, jjm, llm) |
|
72 |
REAL, intent(in):: w(iim + 1, jjm + 1, llm) |
REAL, intent(in):: w(iim + 1, jjm + 1, llm) |
73 |
|
|
74 |
REAL, intent(out):: dufi(iim + 1, jjm + 1, llm) |
REAL, intent(out):: dufi(iim + 1, jjm + 1, llm) |
82 |
|
|
83 |
! Local variables : |
! Local variables : |
84 |
|
|
85 |
INTEGER i, j, l, ig0, ig, iq, iiq |
INTEGER i, j, l, ig0, iq, iiq |
86 |
REAL zpsrf(klon) |
REAL zpsrf(klon) |
87 |
REAL paprs(klon, llm+1), play(klon, llm) |
REAL paprs(klon, llm+1), play(klon, llm) |
88 |
REAL pphi(klon, llm), pphis(klon) |
REAL pphi(klon, llm), pphis(klon) |
100 |
REAL z1(iim) |
REAL z1(iim) |
101 |
REAL pksurcp(iim + 1, jjm + 1) |
REAL pksurcp(iim + 1, jjm + 1) |
102 |
|
|
|
! Diagnostic PVteta pour Amip2 : |
|
|
INTEGER, PARAMETER:: ntetaSTD = 3 |
|
|
REAL:: rtetaSTD(ntetaSTD) = (/350., 380., 405./) |
|
|
REAL PVteta(klon, ntetaSTD) |
|
|
|
|
103 |
!----------------------------------------------------------------------- |
!----------------------------------------------------------------------- |
104 |
|
|
105 |
!!print *, "Call sequence information: calfis" |
!!print *, "Call sequence information: calfis" |
223 |
|
|
224 |
forall(l= 1: llm) v(:, l) = pack(zvfi(:, :, l), dyn_phy) |
forall(l= 1: llm) v(:, l) = pack(zvfi(:, :, l), dyn_phy) |
225 |
|
|
|
! Compute potential vorticity at theta = 350, 380 and 405 K: |
|
|
CALL PVtheta(klon, llm, ucov, vcov, teta, t, play, paprs, ntetaSTD, & |
|
|
rtetaSTD, PVteta) |
|
|
|
|
226 |
! Appel de la physique : |
! Appel de la physique : |
227 |
CALL physiq(lafin, rdayvrai, time, dtphys, paprs, play, pphi, pphis, u, & |
CALL physiq(lafin, rdayvrai, time, dtphys, paprs, play, pphi, pphis, u, & |
228 |
v, t, qx, omega, d_u, d_v, d_t, d_qx, d_ps, dudyn) |
v, t, qx, omega, d_u, d_v, d_t, d_qx, d_ps, dudyn) |