/[lmdze]/trunk/libf/dyn3d/Dissipation/gradiv.f
ViewVC logotype

Contents of /trunk/libf/dyn3d/Dissipation/gradiv.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 57 - (show annotations)
Mon Jan 30 12:54:02 2012 UTC (12 years, 4 months ago) by guez
File size: 1500 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/gradiv.F,v 1.1.1.1 2004/05/19 12:53:06 lmdzadmin Exp $
3 !
4 SUBROUTINE gradiv(klevel, xcov, ycov, ld, gdx, gdy, cdivu)
5 c
6 c Auteur : P. Le Van
7 c
8 c ***************************************************************
9 c
10 c ld
11 c calcul de (grad (div) ) du vect. v ....
12 c
13 c xcov et ycov etant les composant.covariantes de v
14 c ****************************************************************
15 c xcov , ycov et ld sont des arguments d'entree pour le s-prog
16 c gdx et gdy sont des arguments de sortie pour le s-prog
17 c
18 c
19 use dimens_m
20 use paramet_m
21 use conf_gcm_m
22 use filtreg_m, only: filtreg
23 IMPLICIT NONE
24 c
25
26 INTEGER klevel
27 c
28 REAL, intent(in):: xcov( ip1jmp1,klevel ), ycov( ip1jm,klevel )
29 REAL, intent(out):: gdx( ip1jmp1,klevel ), gdy( ip1jm,klevel )
30 real, intent(in):: cdivu
31 REAL div(ip1jmp1,llm)
32
33 INTEGER l,ij,iter
34 integer, intent(in):: ld
35 c
36 c
37 c
38 gdx = xcov
39 gdy = ycov
40 c
41 DO 10 iter = 1,ld
42 c
43 CALL diverg( klevel, gdx , gdy, div )
44 CALL filtreg( div, jjp1, klevel, 2,1, .true.,2 )
45 CALL grad( klevel, div, gdx, gdy )
46 c
47 DO 5 l = 1, klevel
48 DO 3 ij = 1, ip1jmp1
49 gdx( ij,l ) = - gdx( ij,l ) * cdivu
50 3 CONTINUE
51 DO 4 ij = 1, ip1jm
52 gdy( ij,l ) = - gdy( ij,l ) * cdivu
53 4 CONTINUE
54 5 CONTINUE
55 c
56 10 CONTINUE
57 RETURN
58 END

  ViewVC Help
Powered by ViewVC 1.1.21