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

Annotation of /trunk/dyn3d/tourpot.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 107 - (hide annotations)
Thu Sep 11 15:09:15 2014 UTC (9 years, 8 months ago) by guez
File size: 1360 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 guez 78 module tourpot_m
2 guez 3
3 guez 78 IMPLICIT NONE
4 guez 3
5 guez 78 contains
6 guez 27
7 guez 78 SUBROUTINE tourpot(vcov, ucov, massebxy, vorpot)
8 guez 3
9 guez 78 ! From LMDZ4/libf/dyn3d/tourpot.F, version 1.1.1.1 2004/05/19 12:53:06
10 guez 3
11 guez 79 ! Author: P. Le Van
12 guez 78 ! Objet : calcul du tourbillon potentiel
13 guez 3
14 guez 104 USE comgeom, ONLY: fext_2d
15 guez 78 USE dimens_m, ONLY: iim, jjm, llm
16     use filtreg_m, only: filtreg
17 guez 3
18 guez 79 REAL, intent(in):: vcov(:, :, :) ! (iim + 1, jjm, llm)
19     REAL, intent(in):: ucov(:, :, :) ! (iim + 1, jjm + 1, llm)
20     REAL, intent(in):: massebxy(:, :, :) ! (iim + 1, jjm, llm) mass of grid cell
21 guez 3
22 guez 79 real, intent(out):: vorpot(:, :, :) ! (iim + 1, jjm, llm)
23 guez 78 ! = (Filtre(d(vcov)/dx - d(ucov)/dy) + fext) / massebxy
24 guez 3
25 guez 78 ! Local:
26 guez 104
27 guez 79 REAL rot(iim + 1, jjm, llm)
28     ! relative vorticity multiplied by cell area, in m2 s-1
29 guez 3
30 guez 79 INTEGER l, i, j
31    
32 guez 78 !---------------------------------------------------------------
33 guez 3
34 guez 78 ! Calcul du rotationnel du vent puis filtrage
35 guez 3
36 guez 79 forall (i = 1: iim, j = 1: jjm) rot(i, j, :) &
37     = vcov(i + 1, j, :) - vcov(i, j, :) + ucov(i, j + 1, :) - ucov(i, j, :)
38     rot(iim + 1, :, :) = rot(1, :, :)
39 guez 3
40 guez 107 CALL filtreg(rot, direct = .true., intensive = .true.)
41 guez 3
42 guez 79 forall (l = 1: llm) vorpot(:iim, :, l) &
43     = (rot(:iim, :, l) + fext_2d(:iim, :)) / massebxy(:iim, :, l)
44     vorpot(iim + 1, :, :)= vorpot(1, :, :)
45 guez 3
46 guez 78 END SUBROUTINE tourpot
47 guez 3
48 guez 78 end module tourpot_m

  ViewVC Help
Powered by ViewVC 1.1.21