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

Contents of /trunk/libf/dyn3d/tourpot.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 27 - (show annotations)
Thu Mar 25 14:29:07 2010 UTC (14 years, 1 month ago) by guez
File size: 1982 byte(s)
"dyn3d" and "filtrez" do not contain any included file so make rules
have been updated.

"comdissip.f90" was useless, removed it.

"dynredem0" wrote undefined value in "controle(31)", that was
overwritten by "dynredem1". Now "dynredem0" just writes 0 to
"controle(31)".

Removed arguments of "inidissip". "inidissip" now accesses the
variables by use association.

In program "etat0_lim", "itaufin" is not defined so "dynredem1" wrote
undefined value to "controle(31)". Added argument "itau" of
"dynredem1" to correct that.

"itaufin" does not need to be a module variable (of "temps"), made it
a local variable of "leapfrog".

Removed calls to "diagedyn" from "leapfrog".

1 !
2 ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/tourpot.F,v 1.1.1.1 2004/05/19 12:53:06 lmdzadmin Exp $
3 !
4 SUBROUTINE tourpot ( vcov, ucov, massebxy, vorpot )
5
6 c=======================================================================
7 c
8 c Auteur: P. Le Van
9 c -------
10 c
11 c Objet:
12 c ------
13 c
14 c *******************************************************************
15 c ......... calcul du tourbillon potentiel .........
16 c *******************************************************************
17 c
18 c vcov,ucov,fext et pbarxyfl sont des argum. d'entree pour le s-pg .
19 c vorpot est un argum.de sortie pour le s-pg .
20 c
21 c=======================================================================
22
23 use dimens_m
24 use paramet_m
25 use logic
26 use comgeom
27 use filtreg_m, only: filtreg
28
29 IMPLICIT NONE
30
31 REAL rot( ip1jm,llm )
32 REAL, intent(in):: vcov( ip1jm,llm ),ucov( ip1jmp1,llm )
33 REAL massebxy( ip1jm,llm ),vorpot( ip1jm,llm )
34
35 INTEGER l, ij
36
37
38
39
40 c ... vorpot = ( Filtre( d(vcov)/dx - d(ucov)/dy ) + fext ) /psbarxy ..
41
42
43
44 c ........ Calcul du rotationnel du vent V puis filtrage ........
45
46 DO 5 l = 1,llm
47
48 DO 2 ij = 1, ip1jm - 1
49 rot( ij,l ) = vcov(ij+1,l)-vcov(ij,l)+ucov(ij+iip1,l)-ucov(ij,l)
50 2 CONTINUE
51
52 c .... correction pour rot( iip1,j,l ) .....
53 c .... rot(iip1,j,l) = rot(1,j,l) .....
54
55 CDIR$ IVDEP
56
57 DO 3 ij = iip1, ip1jm, iip1
58 rot( ij,l ) = rot( ij -iim, l )
59 3 CONTINUE
60
61 5 CONTINUE
62
63
64 CALL filtreg( rot, jjm, llm, 2, 1, .FALSE., 1 )
65
66
67 DO 10 l = 1, llm
68
69 DO 6 ij = 1, ip1jm - 1
70 vorpot( ij,l ) = ( rot(ij,l) + fext(ij) ) / massebxy(ij,l)
71 6 CONTINUE
72
73 c ..... correction pour vorpot( iip1,j,l) .....
74 c .... vorpot(iip1,j,l)= vorpot(1,j,l) ....
75 CDIR$ IVDEP
76 DO 8 ij = iip1, ip1jm, iip1
77 vorpot( ij,l ) = vorpot( ij -iim,l )
78 8 CONTINUE
79
80 10 CONTINUE
81
82 RETURN
83 END

  ViewVC Help
Powered by ViewVC 1.1.21