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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 56 - (show annotations)
Tue Jan 10 19:02:02 2012 UTC (12 years, 4 months ago) by guez
File size: 1420 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 !
2 ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/divgrad.F,v 1.1.1.1 2004/05/19 12:53:05 lmdzadmin Exp $
3 !
4 SUBROUTINE divgrad (klevel,h, lh, divgra, cdivh )
5 use dimens_m
6 use paramet_m
7 use logic
8 use comgeom
9 use filtreg_m, only: filtreg
10 IMPLICIT NONE
11 c
12 c=======================================================================
13 c
14 c Auteur : P. Le Van
15 c ----------
16 c
17 c lh
18 c calcul de (div( grad )) de h .....
19 c h et lh sont des arguments d'entree pour le s-prog
20 c divgra est un argument de sortie pour le s-prog
21 c
22 c=======================================================================
23 c
24 c declarations:
25 c -------------
26 c
27 c
28 INTEGER klevel
29 REAL, intent(in):: h( ip1jmp1,klevel )
30 real, intent(out):: divgra( ip1jmp1,klevel )
31 real, intent(in):: cdivh
32 c
33 REAL ghy(ip1jm,llm), ghx(ip1jmp1,llm)
34
35 INTEGER l,ij,iter
36 integer, intent(in):: lh
37 c
38 c
39 c
40 divgra = h
41 c
42 DO 10 iter = 1,lh
43
44 CALL filtreg ( divgra,jjp1,klevel,2,1,.true.,1 )
45
46 CALL grad (klevel,divgra, ghx , ghy )
47 CALL diverg (klevel, ghx , ghy , divgra )
48
49 CALL filtreg ( divgra,jjp1,klevel,2,1,.true.,1)
50
51 DO 5 l = 1,klevel
52 DO 4 ij = 1, ip1jmp1
53 divgra( ij,l ) = - cdivh * divgra( ij,l )
54 4 CONTINUE
55 5 CONTINUE
56 c
57 10 CONTINUE
58 RETURN
59 END

  ViewVC Help
Powered by ViewVC 1.1.21