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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 56 - (hide annotations)
Tue Jan 10 19:02:02 2012 UTC (12 years, 5 months ago) by guez
File size: 1495 byte(s)
Imported "writehist.f" from LMDZ.

Moved module variable "histaveid" from "com_io_dyn" to "initdynav_m".

In "inithist", access directly module variables from "com_io_dyn"
instead of going through the arguments. Copying from LMDZ, write "u"
and scalar variables to separate files. Create a new variable for the
new file in "com_io_dyn". Copying from LMDZ, change the vertical axes
of the three files.

Removed some useless initializations in "dissip".

In "bilan_dyn", removed useless variable "time". Avoiding the
approximate test on "dt_cum" being a multiple of "dt_app", just
compute "ncum" from known usage of "bilan_dyn" and compute "dt_cum"
from "ncum". Change "periodav" from real to integer in
"conf_gcm_m". Since "day_step" is required to be a multiple of
"iperiod", so is "ncum".

1 guez 3 !
2     ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/gradiv.F,v 1.1.1.1 2004/05/19 12:53:06 lmdzadmin Exp $
3     !
4 guez 54 SUBROUTINE gradiv(klevel, xcov, ycov, ld, gdx, gdy, cdivu)
5 guez 3 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 logic
22 guez 27 use filtreg_m, only: filtreg
23 guez 3 IMPLICIT NONE
24     c
25    
26     INTEGER klevel
27     c
28 guez 55 REAL, intent(in):: xcov( ip1jmp1,klevel ), ycov( ip1jm,klevel )
29 guez 56 REAL, intent(out):: gdx( ip1jmp1,klevel ), gdy( ip1jm,klevel )
30 guez 54 real, intent(in):: cdivu
31 guez 3 REAL div(ip1jmp1,llm)
32    
33 guez 26 INTEGER l,ij,iter
34     integer, intent(in):: ld
35 guez 3 c
36     c
37     c
38 guez 55 gdx = xcov
39     gdy = ycov
40 guez 3 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