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

Contents of /trunk/dyn3d/tourpot.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 78 - (show annotations)
Wed Feb 5 17:51:07 2014 UTC (10 years, 3 months ago) by guez
Original Path: trunk/dyn3d/tourpot.f90
File size: 1541 byte(s)
Moved procedure inigeom into module comgeom.

In disvert, renamed s_sampling to vert_sampling, following
LMDZ. Removed choice strato1. In case read, read ap and bp instead of
s (following LMDZ).

Added argument phis to start_init_orog and start_init_dyn, and removed
variable phis of module start_init_orog_m. In etat0 and
start_init_orog, renamed relief to zmea_2d. In start_init_dyn, renamed
psol to ps.

In start_init_orog, renamed relief_hi to relief. No need to set
phis(iim + 1, :) = phis(1, :), already done in grid_noro.

Documentation for massbar out of SVN, in massbar.txt. Documentation
was duplicated in massdair, but not relevant in massdair.

In conflx, no need to initialize pen_[ud] and pde_[ud]. In flxasc,
used intermediary variable fact (following LMDZ).

In grid_noro, added local variable zmea0 for zmea not smoothed and
computed zphi from zmea instead of zmea0 (following LMDZ). This
changes the results of ce0l.

Removed arguments pen_u and pde_d of phytrac and nflxtr, which were
not used.

1 module tourpot_m
2
3 IMPLICIT NONE
4
5 contains
6
7 SUBROUTINE tourpot(vcov, ucov, massebxy, vorpot)
8
9 ! From LMDZ4/libf/dyn3d/tourpot.F, version 1.1.1.1 2004/05/19 12:53:06
10
11 ! Auteur : P. Le Van
12 ! Objet : calcul du tourbillon potentiel
13
14 USE dimens_m, ONLY: iim, jjm, llm
15 USE paramet_m, ONLY: iip1, ip1jm, ip1jmp1
16 USE comgeom, ONLY: fext
17 use filtreg_m, only: filtreg
18
19 REAL, intent(in):: vcov(ip1jm, llm), ucov(ip1jmp1, llm)
20 REAL, intent(in):: massebxy(ip1jm, llm)
21
22 real, intent(out):: vorpot(ip1jm, llm)
23 ! = (Filtre(d(vcov)/dx - d(ucov)/dy) + fext) / massebxy
24
25 ! Local:
26 REAL rot(ip1jm, llm)
27 INTEGER l, ij
28
29 !---------------------------------------------------------------
30
31 ! Calcul du rotationnel du vent puis filtrage
32
33 DO l = 1, llm
34 DO ij = 1, ip1jm - 1
35 rot(ij, l) = vcov(ij + 1, l) - vcov(ij, l) + ucov(ij + iip1, l) &
36 - ucov(ij, l)
37 end DO
38
39 ! correction pour rot(iip1, j, l)
40 ! rot(iip1, j, l) = rot(1, j, l)
41 DO ij = iip1, ip1jm, iip1
42 rot(ij, l) = rot(ij - iim, l)
43 end DO
44 end DO
45
46 CALL filtreg(rot, jjm, llm, 2, 1, .FALSE.)
47
48 DO l = 1, llm
49 DO ij = 1, ip1jm - 1
50 vorpot(ij, l) = (rot(ij, l) + fext(ij)) / massebxy(ij, l)
51 end DO
52
53 ! correction pour vorpot(iip1, j, l)
54 ! vorpot(iip1, j, l)= vorpot(1, j, l)
55 DO ij = iip1, ip1jm, iip1
56 vorpot(ij, l) = vorpot(ij - iim, l)
57 end DO
58 end DO
59
60 END SUBROUTINE tourpot
61
62 end module tourpot_m

  ViewVC Help
Powered by ViewVC 1.1.21