/[lmdze]/trunk/dyn3d/rotatf.f
ViewVC logotype

Contents of /trunk/dyn3d/rotatf.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 107 - (show annotations)
Thu Sep 11 15:09:15 2014 UTC (9 years, 8 months ago) by guez
File size: 1140 byte(s)
Imported procedure grilles_gcm_sub from LMDZ. Had then to transform
local variable phis of etat to argument.

Replaced calls to lnblnk by calls to trim.

Removed arguments nlat, klevel and griscal of filtreg. Replaced
integer arguments ifiltre and iaire by logical arguments direct and
intensive.

Changed default values of guide_t and guide_q to false.

1 module rotatf_m
2
3 IMPLICIT NONE
4
5 contains
6
7 SUBROUTINE rotatf(klevel, x, y, rot)
8
9 ! From LMDZ4/libf/dyn3d/rotatf.F, version 1.1.1.1 2004/05/19 12:53:05
10
11 ! Author: P.Le Van
12
13 ! Calcule le rotationnel à tous les niveaux d'un vecteur de
14 ! composantes covariantes x et y.
15
16 USE dimens_m
17 USE paramet_m
18 USE comgeom
19 USE filtreg_m, ONLY: filtreg
20
21
22 ! ..... variables en arguments ......
23
24 INTEGER, INTENT (IN) :: klevel
25 ! klevel, x et y sont des arguments d'entree pour le s-prog
26 ! rot est un argument de sortie pour le s-prog
27
28 REAL rot(iim + 1, jjm, klevel)
29 REAL, INTENT (IN) :: x(iim + 1, jjm + 1, klevel), y(iim + 1, jjm, klevel)
30
31 ! ... variables locales ...
32
33 INTEGER l, i, j
34
35
36 DO l = 1, klevel
37 forall (i = 1:iim, j = 1:jjm) rot(i, j, l) = y(i + 1, j, l) &
38 - y(i, j, l) + x(i, j + 1, l) - x(i, j, l)
39 rot(iim + 1, :, l) = rot(1, :, l)
40 END DO
41
42 CALL filtreg(rot, direct = .true., intensive = .false.)
43
44 DO l = 1, klevel
45 rot(:, :, l) = rot(:, :, l)*unsairez_2d
46 END DO
47
48 END SUBROUTINE rotatf
49
50 end module rotatf_m

  ViewVC Help
Powered by ViewVC 1.1.21