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

Contents of /trunk/dyn3d/tourpot.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 57 - (show annotations)
Mon Jan 30 12:54:02 2012 UTC (12 years, 3 months ago) by guez
Original Path: trunk/libf/dyn3d/tourpot.f
File size: 1987 byte(s)
Write used namelists to file "" instead of standard output.

Avoid aliasing in "inidissip" in calls to "divgrad2", "divgrad",
"gradiv2", "gradiv", "nxgraro2" and "nxgrarot". Add a degenerate
dimension to arrays so they have rank 3, like the dummy arguments in
"divgrad2", "divgrad", "gradiv2", "gradiv", "nxgraro2" and "nxgrarot".

Extract the initialization part from "bilan_dyn" and make a separate
procedure, "init_dynzon", from it.

Move variables from modules "iniprint" and "logic" to module
"conf_gcm_m".

Promote internal procedures of "fxy" to private procedures of module
"fxy_m".

Extracted documentation from "inigeom". Removed useless "save"
attributes. Removed useless intermediate variables. Extracted
processing of poles from loop on latitudes. Write coordinates to file
"longitude_latitude.txt" instead of standard output.

Do not use ozone tracer for radiative transfer.

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 conf_gcm_m
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