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

Annotation of /trunk/dyn3d/tourpot.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 79 - (hide annotations)
Fri Feb 28 17:52:47 2014 UTC (10 years, 2 months ago) by guez
Original Path: trunk/dyn3d/tourpot.f90
File size: 1347 byte(s)
Moved procedure iniconst inside module comconst. Removed useless
variables of module comconst: im, jm, lllm, imp1, jmp1, lllmm1,
lllmp1, lcl, cotot, unsim. Move definition of dtvr that was in
dynetat0 and etat0 to iniconst. Moved comparison of dtvr from day_step
and start.nc that was in gcm to dynetat0. Moved call to disvert out of
iniconst. Moved call to iniconst in gcm before call to dynetat0.

Removed unused argument pvteta of physiq (not used either in LMDZ).

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 78 USE dimens_m, ONLY: iim, jjm, llm
15 guez 79 USE comgeom, ONLY: fext_2d
16 guez 78 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 79 REAL rot(iim + 1, jjm, llm)
27     ! relative vorticity multiplied by cell area, in m2 s-1
28 guez 3
29 guez 79 INTEGER l, i, j
30    
31 guez 78 !---------------------------------------------------------------
32 guez 3
33 guez 78 ! Calcul du rotationnel du vent puis filtrage
34 guez 3
35 guez 79 forall (i = 1: iim, j = 1: jjm) rot(i, j, :) &
36     = vcov(i + 1, j, :) - vcov(i, j, :) + ucov(i, j + 1, :) - ucov(i, j, :)
37     rot(iim + 1, :, :) = rot(1, :, :)
38 guez 3
39 guez 78 CALL filtreg(rot, jjm, llm, 2, 1, .FALSE.)
40 guez 3
41 guez 79 forall (l = 1: llm) vorpot(:iim, :, l) &
42     = (rot(:iim, :, l) + fext_2d(:iim, :)) / massebxy(:iim, :, l)
43     vorpot(iim + 1, :, :)= vorpot(1, :, :)
44 guez 3
45 guez 78 END SUBROUTINE tourpot
46 guez 3
47 guez 78 end module tourpot_m

  ViewVC Help
Powered by ViewVC 1.1.21