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

Annotation of /trunk/dyn3d/tourpot.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 57 - (hide 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 guez 3 !
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 guez 57 use conf_gcm_m
26 guez 3 use comgeom
27 guez 27 use filtreg_m, only: filtreg
28    
29 guez 3 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