62 |
use conf_gcm_m, ONLY : fxyhypb, ysinus |
use conf_gcm_m, ONLY : fxyhypb, ysinus |
63 |
USE dimens_m, ONLY : iim, jjm |
USE dimens_m, ONLY : iim, jjm |
64 |
use fxy_m, only: fxy |
use fxy_m, only: fxy |
65 |
|
use fxyhyper_m, only: fxyhyper |
66 |
use jumble, only: new_unit |
use jumble, only: new_unit |
67 |
use nr_util, only: pi |
use nr_util, only: pi |
68 |
USE paramet_m, ONLY : iip1, jjp1 |
USE paramet_m, ONLY : iip1, jjp1 |
77 |
REAL eps, x1, xo1, f, df, xdm, y1, yo1, ydm |
REAL eps, x1, xo1, f, df, xdm, y1, yo1, ydm |
78 |
REAL coslatm, coslatp, radclatm, radclatp |
REAL coslatm, coslatp, radclatm, radclatp |
79 |
REAL, dimension(iip1, jjp1):: cuij1, cuij2, cuij3, cuij4 ! in m |
REAL, dimension(iip1, jjp1):: cuij1, cuij2, cuij3, cuij4 ! in m |
80 |
REAL, dimension(iip1, jjp1):: cvij1, cvij2, cvij3, cvij4 |
REAL, dimension(iip1, jjp1):: cvij1, cvij2, cvij3, cvij4 ! in m |
81 |
REAL rlatu1(jjm), yprimu1(jjm), rlatu2(jjm), yprimu2(jjm) |
REAL rlatu1(jjm), yprimu1(jjm), rlatu2(jjm), yprimu2(jjm) |
82 |
real yprimv(jjm), yprimu(jjp1) |
real yprimv(jjm), yprimu(jjp1) |
83 |
REAL gamdi_gdiv, gamdi_grot, gamdi_h |
REAL gamdi_gdiv, gamdi_grot, gamdi_h |
248 |
cvij4(:iim, jjp1) = cvij1(:iim, jjp1) |
cvij4(:iim, jjp1) = cvij1(:iim, jjp1) |
249 |
|
|
250 |
! Périodicité : |
! Périodicité : |
251 |
|
|
252 |
cvij1(iip1, :) = cvij1(1, :) |
cvij1(iip1, :) = cvij1(1, :) |
253 |
cvij2(iip1, :) = cvij2(1, :) |
cvij2(iip1, :) = cvij2(1, :) |
254 |
cvij3(iip1, :) = cvij3(1, :) |
cvij3(iip1, :) = cvij3(1, :) |
333 |
+ cvij3(i, j)) |
+ cvij3(i, j)) |
334 |
cuv(i, j) = 0.5 * (cuij2(i, j) + cuij3(i, j) + cuij1(i, j + 1) & |
cuv(i, j) = 0.5 * (cuij2(i, j) + cuij3(i, j) + cuij1(i, j + 1) & |
335 |
+ cuij4(i, j + 1)) |
+ cuij4(i, j + 1)) |
336 |
unscv2_2d(i, j) = 1. / (cv_2d(i, j) * cv_2d(i, j)) |
unscv2_2d(i, j) = 1. / cv_2d(i, j)**2 |
337 |
END DO |
END DO |
338 |
DO i = 1, iim |
DO i = 1, iim |
339 |
cuvsurcv_2d(i, j) = airev_2d(i, j) * unscv2_2d(i, j) |
cuvsurcv_2d(i, j) = airev_2d(i, j) * unscv2_2d(i, j) |
357 |
DO i = 1, iim |
DO i = 1, iim |
358 |
cu_2d(i, j) = 0.5 * (cuij1(i, j) + cuij4(i + 1, j) + cuij2(i, j) & |
cu_2d(i, j) = 0.5 * (cuij1(i, j) + cuij4(i + 1, j) + cuij2(i, j) & |
359 |
+ cuij3(i + 1, j)) |
+ cuij3(i + 1, j)) |
360 |
unscu2_2d(i, j) = 1. / (cu_2d(i, j) * cu_2d(i, j)) |
unscu2_2d(i, j) = 1. / cu_2d(i, j)**2 |
361 |
cvusurcu_2d(i, j) = aireu_2d(i, j) * unscu2_2d(i, j) |
cvusurcu_2d(i, j) = aireu_2d(i, j) * unscu2_2d(i, j) |
362 |
cusurcvu_2d(i, j) = 1. / cvusurcu_2d(i, j) |
cusurcvu_2d(i, j) = 1. / cvusurcu_2d(i, j) |
363 |
cvuscugam1_2d(i, j) = cvusurcu_2d(i, j)**(-gamdi_gdiv) |
cvuscugam1_2d(i, j) = cvusurcu_2d(i, j)**(-gamdi_gdiv) |
375 |
|
|
376 |
! Calcul aux pôles |
! Calcul aux pôles |
377 |
|
|
378 |
DO i = 1, iip1 |
cu_2d(:, 1) = 0. |
379 |
cu_2d(i, 1) = 0. |
unscu2_2d(:, 1) = 0. |
380 |
unscu2_2d(i, 1) = 0. |
cvu(:, 1) = 0. |
381 |
cvu(i, 1) = 0. |
|
382 |
|
cu_2d(:, jjp1) = 0. |
383 |
cu_2d(i, jjp1) = 0. |
unscu2_2d(:, jjp1) = 0. |
384 |
unscu2_2d(i, jjp1) = 0. |
cvu(:, jjp1) = 0. |
|
cvu(i, jjp1) = 0. |
|
|
END DO |
|
385 |
|
|
386 |
DO j = 1, jjm |
DO j = 1, jjm |
387 |
DO i = 1, iim |
DO i = 1, iim |