8 |
|
|
9 |
! From LMDZ4/libf/dyn3d/gradiv2.F, version 1.1.1.1 2004/05/19 12:53:07 |
! From LMDZ4/libf/dyn3d/gradiv2.F, version 1.1.1.1 2004/05/19 12:53:07 |
10 |
! P. Le Van |
! P. Le Van |
11 |
! Calcul de grad div du vecteur v. |
! Calcul du gradient de la divergence du vecteur v. |
12 |
|
|
13 |
USE dimens_m, ONLY : iim, jjm, llm |
USE dimens_m, ONLY : iim, jjm, llm |
14 |
use divergf_m, only: divergf |
use divergf_m, only: divergf |
15 |
USE comgeom, ONLY : cuvscvgam1, cvuscugam1, unsair_gam1, unsapolnga1, & |
USE comgeom, ONLY : cuvscvgam1, cvuscugam1, unsair_gam1, unsapolnga1, & |
16 |
unsapolsga1 |
unsapolsga1 |
17 |
USE filtreg_m, ONLY : filtreg |
USE filtreg_m, ONLY : filtreg |
18 |
|
use grad_m, only: grad |
19 |
use nr_util, only: assert_eq, assert |
use nr_util, only: assert_eq, assert |
20 |
|
|
21 |
! Composantes covariantes de v : |
! Composantes covariantes de v : |
40 |
klevel = assert_eq(size(xcov, 3), size(ycov, 3), size(gdx, 3), & |
klevel = assert_eq(size(xcov, 3), size(ycov, 3), size(gdx, 3), & |
41 |
size(gdy, 3), "gradiv2 klevel") |
size(gdy, 3), "gradiv2 klevel") |
42 |
|
|
43 |
gdx = xcov |
CALL divergf(klevel, xcov, ycov, div) |
|
gdy = ycov |
|
|
|
|
|
CALL divergf(klevel, gdx, gdy, div) |
|
44 |
|
|
45 |
IF (ld > 1) THEN |
IF (ld > 1) THEN |
46 |
CALL laplacien(klevel, div, div) |
CALL laplacien(klevel, div, div) |