3 |
! From dyn3d/guide.F, version 1.3 2005/05/25 13:10:09 |
! From dyn3d/guide.F, version 1.3 2005/05/25 13:10:09 |
4 |
! and dyn3d/guide.h, version 1.1.1.1 2004/05/19 12:53:06 |
! and dyn3d/guide.h, version 1.1.1.1 2004/05/19 12:53:06 |
5 |
|
|
6 |
REAL :: tau_min_u, tau_max_u |
REAL tau_min_u, tau_max_u |
7 |
REAL :: tau_min_v, tau_max_v |
REAL tau_min_v, tau_max_v |
8 |
REAL :: tau_min_t, tau_max_t |
REAL tau_min_t, tau_max_t |
9 |
REAL :: tau_min_q, tau_max_q |
REAL tau_min_q, tau_max_q |
10 |
REAL :: tau_min_p, tau_max_p |
REAL tau_min_p, tau_max_p |
11 |
REAL :: aire_min, aire_max |
REAL aire_min, aire_max |
12 |
|
|
13 |
|
|
14 |
LOGICAL :: guide_u, guide_v, guide_t, guide_q, guide_p |
LOGICAL guide_u, guide_v, guide_t, guide_q, guide_p |
15 |
REAL :: lat_min_guide, lat_max_guide |
REAL lat_min_guide, lat_max_guide |
16 |
|
|
17 |
LOGICAL :: ncep, ini_anal |
LOGICAL ncep, ini_anal |
18 |
INTEGER :: online |
INTEGER online |
19 |
|
|
20 |
CONTAINS |
CONTAINS |
21 |
|
|
41 |
INCLUDE 'netcdf.inc' |
INCLUDE 'netcdf.inc' |
42 |
|
|
43 |
! variables dynamiques |
! variables dynamiques |
44 |
REAL :: vcov(ip1jm, llm), ucov(ip1jmp1, llm) ! vents covariants |
REAL vcov(ip1jm, llm), ucov(ip1jmp1, llm) ! vents covariants |
45 |
REAL, intent(inout):: teta(ip1jmp1, llm) ! temperature potentielle |
REAL, intent(inout):: teta(ip1jmp1, llm) ! temperature potentielle |
46 |
REAL :: q(ip1jmp1, llm) ! temperature potentielle |
REAL q(ip1jmp1, llm) ! temperature potentielle |
47 |
REAL :: ps(ip1jmp1) ! pression au sol |
REAL ps(ip1jmp1) ! pression au sol |
48 |
REAL :: masse(ip1jmp1, llm) ! masse d'air |
REAL masse(ip1jmp1, llm) ! masse d'air |
49 |
|
|
50 |
! common passe pour des sorties |
! common passe pour des sorties |
51 |
REAL :: dxdys(iip1, jjp1), dxdyu(iip1, jjp1), dxdyv(iip1, jjm) |
REAL dxdys(iip1, jjp1), dxdyu(iip1, jjp1), dxdyv(iip1, jjm) |
52 |
COMMON /comdxdy/dxdys, dxdyu, dxdyv |
COMMON /comdxdy/dxdys, dxdyu, dxdyv |
53 |
|
|
54 |
! variables dynamiques pour les reanalyses. |
! variables dynamiques pour les reanalyses. |
55 |
REAL :: ucovrea1(ip1jmp1, llm), vcovrea1(ip1jm, llm) !vts cov reas |
REAL ucovrea1(ip1jmp1, llm), vcovrea1(ip1jm, llm) !vts cov reas |
56 |
REAL :: tetarea1(ip1jmp1, llm) ! temp pot reales |
REAL tetarea1(ip1jmp1, llm) ! temp pot reales |
57 |
REAL :: qrea1(ip1jmp1, llm) ! temp pot reales |
REAL qrea1(ip1jmp1, llm) ! temp pot reales |
58 |
REAL :: psrea1(ip1jmp1) ! ps |
REAL psrea1(ip1jmp1) ! ps |
59 |
REAL :: ucovrea2(ip1jmp1, llm), vcovrea2(ip1jm, llm) !vts cov reas |
REAL ucovrea2(ip1jmp1, llm), vcovrea2(ip1jm, llm) !vts cov reas |
60 |
REAL :: tetarea2(ip1jmp1, llm) ! temp pot reales |
REAL tetarea2(ip1jmp1, llm) ! temp pot reales |
61 |
REAL :: qrea2(ip1jmp1, llm) ! temp pot reales |
REAL qrea2(ip1jmp1, llm) ! temp pot reales |
62 |
REAL :: masserea2(ip1jmp1, llm) ! masse |
REAL masserea2(ip1jmp1, llm) ! masse |
63 |
REAL :: psrea2(ip1jmp1) ! ps |
REAL psrea2(ip1jmp1) ! ps |
64 |
|
|
65 |
REAL :: alpha_q(ip1jmp1) |
REAL alpha_q(ip1jmp1) |
66 |
REAL :: alpha_t(ip1jmp1), alpha_p(ip1jmp1) |
REAL alpha_t(ip1jmp1), alpha_p(ip1jmp1) |
67 |
REAL :: alpha_u(ip1jmp1), alpha_v(ip1jm) |
REAL alpha_u(ip1jmp1), alpha_v(ip1jm) |
68 |
REAL :: dday_step, toto, reste, itau_test |
REAL dday_step, toto, reste, itau_test |
69 |
INTEGER :: step_rea, count_no_rea |
INTEGER step_rea, count_no_rea |
70 |
|
|
71 |
INTEGER :: ilon, ilat |
INTEGER ilon, ilat |
72 |
REAL :: factt, ztau(ip1jmp1) |
REAL factt, ztau(ip1jmp1) |
73 |
|
|
74 |
INTEGER, INTENT (IN) :: itau |
INTEGER, INTENT (IN) :: itau |
75 |
INTEGER :: ij, l |
INTEGER ij, l |
76 |
INTEGER :: ncidpl, varidpl, nlev, status |
INTEGER ncidpl, varidpl, nlev, status |
77 |
INTEGER :: rcod, rid |
INTEGER rcod, rid |
78 |
REAL :: ditau, tau, a |
REAL ditau, tau, a |
79 |
SAVE nlev |
SAVE nlev |
80 |
|
|
81 |
! TEST SUR QSAT |
! TEST SUR QSAT |
82 |
REAL :: p(ip1jmp1, llmp1), pk(ip1jmp1, llm), pks(ip1jmp1) |
REAL p(ip1jmp1, llmp1), pk(ip1jmp1, llm), pks(ip1jmp1) |
83 |
REAL :: pkf(ip1jmp1, llm) |
REAL pkf(ip1jmp1, llm) |
84 |
REAL :: pres(ip1jmp1, llm) |
REAL pres(ip1jmp1, llm) |
85 |
|
|
86 |
REAL :: qsat(ip1jmp1, llm) |
REAL qsat(ip1jmp1, llm) |
87 |
REAL :: unskap |
REAL unskap |
88 |
REAL :: tnat(ip1jmp1, llm) |
REAL tnat(ip1jmp1, llm) |
89 |
|
|
90 |
|
|
91 |
LOGICAL :: first |
LOGICAL first |
92 |
SAVE first |
SAVE first |
93 |
DATA first/ .TRUE./ |
DATA first/ .TRUE./ |
94 |
|
|
98 |
SAVE alpha_t, alpha_q, alpha_u, alpha_v, alpha_p, itau_test |
SAVE alpha_t, alpha_q, alpha_u, alpha_v, alpha_p, itau_test |
99 |
SAVE step_rea, count_no_rea |
SAVE step_rea, count_no_rea |
100 |
|
|
101 |
CHARACTER (10) :: file |
CHARACTER (10) file |
102 |
INTEGER :: igrads |
INTEGER igrads |
103 |
REAL :: dtgrads |
REAL dtgrads |
104 |
SAVE igrads, dtgrads |
SAVE igrads, dtgrads |
105 |
DATA igrads, dtgrads/2, 100./ |
DATA igrads, dtgrads/2, 100./ |
106 |
|
|
356 |
IMPLICIT NONE |
IMPLICIT NONE |
357 |
|
|
358 |
! arguments : |
! arguments : |
359 |
INTEGER :: type |
INTEGER type |
360 |
INTEGER :: pim, pjm |
INTEGER pim, pjm |
361 |
REAL :: factt, taumin, taumax |
REAL factt, taumin, taumax |
362 |
REAL :: dxdy_, alpha(pim, pjm) |
REAL dxdy_, alpha(pim, pjm) |
363 |
REAL :: dxdy_min, dxdy_max |
REAL dxdy_min, dxdy_max |
364 |
|
|
365 |
! local : |
! local : |
366 |
REAL :: alphamin, alphamax, gamma, xi |
REAL alphamin, alphamax, gamma, xi |
367 |
SAVE gamma |
SAVE gamma |
368 |
INTEGER :: i, j, ilon, ilat |
INTEGER i, j, ilon, ilat |
369 |
|
|
370 |
LOGICAL :: first |
LOGICAL first |
371 |
SAVE first |
SAVE first |
372 |
DATA first/ .TRUE./ |
DATA first/ .TRUE./ |
373 |
|
|
374 |
REAL :: zdx(iip1, jjp1), zdy(iip1, jjp1) |
REAL zdx(iip1, jjp1), zdy(iip1, jjp1) |
375 |
|
|
376 |
REAL :: zlat |
REAL zlat |
377 |
REAL :: dxdys(iip1, jjp1), dxdyu(iip1, jjp1), dxdyv(iip1, jjm) |
REAL dxdys(iip1, jjp1), dxdyu(iip1, jjp1), dxdyv(iip1, jjm) |
378 |
COMMON /comdxdy/dxdys, dxdyu, dxdyv |
COMMON /comdxdy/dxdys, dxdyu, dxdyv |
379 |
|
|
380 |
IF (first) THEN |
IF (first) THEN |