13 |
USE conf_gcm_m, ONLY : iapp_tracvl |
USE conf_gcm_m, ONLY : iapp_tracvl |
14 |
USE dimens_m, ONLY : iim, jjm, llm, nqmx |
USE dimens_m, ONLY : iim, jjm, llm, nqmx |
15 |
USE iniadvtrac_m, ONLY : iadv |
USE iniadvtrac_m, ONLY : iadv |
16 |
|
use massbar_m, only: massbar |
17 |
USE paramet_m, ONLY : iip1, iip2, ijmllm, ijp1llm, ip1jm, ip1jmp1, jjp1, & |
USE paramet_m, ONLY : iip1, iip2, ijmllm, ijp1llm, ip1jm, ip1jmp1, jjp1, & |
18 |
llmp1 |
llmp1 |
19 |
|
|
32 |
REAL, save:: massem(ip1jmp1, llm) |
REAL, save:: massem(ip1jmp1, llm) |
33 |
real zdp(ip1jmp1) |
real zdp(ip1jmp1) |
34 |
REAL pbarug(ip1jmp1, llm), pbarvg(ip1jm, llm), wg(ip1jmp1, llm) |
REAL pbarug(ip1jmp1, llm), pbarvg(ip1jm, llm), wg(ip1jmp1, llm) |
|
REAL cpuadv(nqmx) |
|
35 |
|
|
36 |
INTEGER:: iadvtr = 0 |
INTEGER:: iadvtr = 0 |
37 |
INTEGER ij, l, iq |
INTEGER ij, l, iq |
123 |
! Schema de Frederic Hourdin |
! Schema de Frederic Hourdin |
124 |
ELSE IF (iadv(iq)==12) THEN |
ELSE IF (iadv(iq)==12) THEN |
125 |
! Pas de temps adaptatif |
! Pas de temps adaptatif |
126 |
CALL adaptdt(iadv(iq), dtbon, n, pbarug, massem) |
CALL adaptdt(dtbon, n, pbarug, massem) |
127 |
IF (n>1) THEN |
IF (n>1) THEN |
128 |
WRITE (*, *) 'WARNING horizontal dt=', dtbon, 'dtvr=', dtvr, & |
WRITE (*, *) 'WARNING horizontal dt=', dtbon, 'dtvr=', dtvr, & |
129 |
'n=', n |
'n=', n |
133 |
END DO |
END DO |
134 |
ELSE IF (iadv(iq)==13) THEN |
ELSE IF (iadv(iq)==13) THEN |
135 |
! Pas de temps adaptatif |
! Pas de temps adaptatif |
136 |
CALL adaptdt(iadv(iq), dtbon, n, pbarug, massem) |
CALL adaptdt(dtbon, n, pbarug, massem) |
137 |
IF (n>1) THEN |
IF (n>1) THEN |
138 |
WRITE (*, *) 'WARNING horizontal dt=', dtbon, 'dtvr=', dtvr, & |
WRITE (*, *) 'WARNING horizontal dt=', dtbon, 'dtvr=', dtvr, & |
139 |
'n=', n |
'n=', n |
147 |
! Schema de Prather |
! Schema de Prather |
148 |
ELSE IF (iadv(iq)==30) THEN |
ELSE IF (iadv(iq)==30) THEN |
149 |
! Pas de temps adaptatif |
! Pas de temps adaptatif |
150 |
CALL adaptdt(iadv(iq), dtbon, n, pbarug, massem) |
CALL adaptdt(dtbon, n, pbarug, massem) |
151 |
IF (n>1) THEN |
IF (n>1) THEN |
152 |
WRITE (*, *) 'WARNING horizontal dt=', dtbon, 'dtvr=', dtvr, & |
WRITE (*, *) 'WARNING horizontal dt=', dtbon, 'dtvr=', dtvr, & |
153 |
'n=', n |
'n=', n |
157 |
ELSE IF (iadv(iq)==11 .OR. (iadv(iq)>=16 .AND. iadv(iq)<=18)) THEN |
ELSE IF (iadv(iq)==11 .OR. (iadv(iq)>=16 .AND. iadv(iq)<=18)) THEN |
158 |
! Test sur le flux horizontal |
! Test sur le flux horizontal |
159 |
! Pas de temps adaptatif |
! Pas de temps adaptatif |
160 |
CALL adaptdt(iadv(iq), dtbon, n, pbarug, massem) |
CALL adaptdt(dtbon, n, pbarug, massem) |
161 |
IF (n>1) THEN |
IF (n>1) THEN |
162 |
WRITE (*, *) 'WARNING horizontal dt=', dtbon, 'dtvr=', dtvr, & |
WRITE (*, *) 'WARNING horizontal dt=', dtbon, 'dtvr=', dtvr, & |
163 |
'n=', n |
'n=', n |