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

Annotation of /trunk/dyn3d/rotatf.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 134 - (hide annotations)
Wed Apr 29 15:47:56 2015 UTC (9 years, 1 month ago) by guez
Original Path: trunk/Sources/dyn3d/rotatf.f
File size: 1140 byte(s)
Sources inside, compilation outside.
1 guez 107 module rotatf_m
2 guez 3
3 guez 107 IMPLICIT NONE
4 guez 81
5 guez 107 contains
6 guez 81
7 guez 107 SUBROUTINE rotatf(klevel, x, y, rot)
8 guez 81
9 guez 107 ! From LMDZ4/libf/dyn3d/rotatf.F, version 1.1.1.1 2004/05/19 12:53:05
10 guez 81
11 guez 107 ! Author: P.Le Van
12 guez 81
13 guez 107 ! Calcule le rotationnel à tous les niveaux d'un vecteur de
14     ! composantes covariantes x et y.
15 guez 81
16 guez 107 USE dimens_m
17     USE paramet_m
18     USE comgeom
19     USE filtreg_m, ONLY: filtreg
20 guez 81
21    
22 guez 107 ! ..... variables en arguments ......
23 guez 81
24 guez 107 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 guez 81
28 guez 107 REAL rot(iim + 1, jjm, klevel)
29     REAL, INTENT (IN) :: x(iim + 1, jjm + 1, klevel), y(iim + 1, jjm, klevel)
30 guez 81
31 guez 107 ! ... variables locales ...
32 guez 81
33 guez 107 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 guez 81 END DO
41    
42 guez 107 CALL filtreg(rot, direct = .true., intensive = .false.)
43 guez 81
44 guez 107 DO l = 1, klevel
45     rot(:, :, l) = rot(:, :, l)*unsairez_2d
46 guez 81 END DO
47    
48 guez 107 END SUBROUTINE rotatf
49 guez 81
50 guez 107 end module rotatf_m

  ViewVC Help
Powered by ViewVC 1.1.21