/[lmdze]/trunk/libf/dyn3d/Dissipation/comdissnew.f90
ViewVC logotype

Annotation of /trunk/libf/dyn3d/Dissipation/comdissnew.f90

Parent Directory Parent Directory | Revision Log Revision Log


Revision 54 - (hide annotations)
Tue Dec 6 15:07:04 2011 UTC (12 years, 5 months ago) by guez
Original Path: trunk/libf/dyn3d/comdissnew.f90
File size: 1145 byte(s)
Removed Numerical Recipes procedure "ran1". Replaced calls to "ran1"
in "inidissip" by calls to intrinsic procedures.

Split file "interface_surf.f90" into a file with a module containing
only variables, "interface_surf", and single-procedure files. Gathered
files into directory "Interface_surf".

Added argument "cdivu" to "gradiv" and "gradiv2", "cdivh" to
"divgrad2" and "divgrad", and "crot" to "nxgraro2" and
"nxgrarot". "dissip" now uses variables "cdivu", "cdivh" and "crot"
from module "inidissip_m", so it can pass them to "gradiv2",
etc. Thanks to this modification, we avoid a circular dependency
betwwen "inidissip.f90" and "gradiv2.f90", etc. The value -1. used by
"gradiv2", for instance, during computation of eigenvalues is not the
value "cdivu" computed by "inidissip".

Extracted procedure "start_inter_3d" from module "startdyn", to its
own module.

In "inidissip", unrolled loop on "ii". I find it clearer now.

Moved variables "matriceun", "matriceus", "matricevn", "matricevs",
"matrinvn" and "matrinvs" from module "parafilt" to module
"inifilr_m". Moved variables "jfiltnu", "jfiltnv", "jfiltsu",
"jfiltsv" from module "coefils" to module "inifilr_m".

1 guez 3 module comdissnew
2    
3     implicit none
4    
5 guez 54 LOGICAL:: lstardis = .TRUE. ! choix de l'opérateur de dissipation star
6 guez 3
7 guez 54 INTEGER:: nitergdiv = 1
8     ! nombre d'itérations de l'opérateur de dissipation gradiv
9 guez 3
10 guez 54 INTEGER:: nitergrot = 2
11     ! nombre d'itérations de l'opérateur de dissipation nxgradrot
12 guez 3
13 guez 54 INTEGER:: niterh = 2
14     ! nombre d'itérations de l'opérateur de dissipation divgrad
15 guez 3
16 guez 54 REAL:: tetagdiv = 7200. ! in s
17     ! temps de dissipation des plus petites longueurs d'ondes pour u, v (gradiv)
18 guez 3
19 guez 54 REAL:: tetagrot = 7200. ! in s
20     ! temps de dissipation des plus petites longueurs d'ondes pour u, v
21 guez 27 ! (nxgradrot)
22 guez 3
23 guez 54 REAL:: tetatemp = 7200. ! in s
24 guez 27 ! temps de dissipation des plus petites longueurs d'ondes pour h (divgrad)
25 guez 3
26 guez 54 REAL:: coefdis = 0.
27 guez 3
28     contains
29    
30     subroutine read_comdissnew
31    
32     namelist /comdissnew_nml/lstardis, nitergdiv, nitergrot, niterh, &
33     tetagdiv, tetagrot, tetatemp, coefdis
34    
35     !-------------------------------------------------
36    
37     print *, "Enter namelist 'comdissnew_nml'."
38     read(unit=*, nml=comdissnew_nml)
39     write(unit=*, nml=comdissnew_nml)
40    
41     end subroutine read_comdissnew
42    
43     end module comdissnew

  ViewVC Help
Powered by ViewVC 1.1.21