source: LMDZ5/branches/LMDZ5V2.0-dev/libf/phylmd/statto.h @ 5353

Last change on this file since 5353 was 1486, checked in by Laurent Fairhead, 14 years ago

Inclusion de la routine "stats" du modele martien qui permet de sortir
le cycle diurne moyen de différentes variables et l'écart-type.
Pour activer cette routine mettre
callstats=y
dans config.def. Les résultats seront placés dans le fichier stats.nc
Pour rajouter des variables: allez à la fin de physiq.F et prendre modèle sur
les lignes call wstats(...) et ne pas oublier de modifier le nombre de variables
sorties dans statto.h (n2dvar et n2dvar).
Attention: la routine n'est pas optimale (elle stocke ses résultats intermédiaires
dans le fichier stats.nc et les lit et écrit à chaque appel de la physique)
et n'a été testée dans LMDZ pour l'instant que sur PC/gfortran
et sur SX8/monoprocesseur. Encore du travail donc. Mais la routine est utilisée
régulièrement avec le modèle martien :-)


Inclusion of the martian model "stats" routine that outputs the mean diurnal
cycle of variables as well as their standard deviation.
To activate the routine, one needs to put
callstats=y
in the config.def file. Results will be output in a stats.nc file
To add more output variables: go to the end of physiq.F and use the call wstats(...)
lines as a template and do not forget to modify the number of output variables in
statto.h (n2dvar and n3dvar)
Caution: the routine is not optimal (as it stocks preliminary results in the stats.nc
file reading and writing at each physics step) and has only been tested in LMDZ
with a PC/gfortran setup and on a NEC-SX8/monoprocessor setup. Some work then still to
be done. But it is used regularly with the martial model :-)

File size: 1.1 KB
Line 
1
2!  statto:
3!     This include file controls the production of statistics.
4!     Some variables could be set in a namelist, but it is easier to
5!     do it here since arrays can then be dimensioned using parameters
6!     and values shouldn't have to change too often.   SRL
7
8!     Calculate stats every istats physics timesteps, starting at first
9!     call.  If istats=0 then don't do statistics at all.  Check value
10!     if number of physics timesteps changes.
11        integer istats
12
13!     Calculate itime independent sums and sums of squares,
14!     example, istat=1,istime=1 gives a single time mean
15        integer, parameter :: istime=12
16
17!     Number of 2D and 3D variables on which to do statistics.
18        integer n2dvar, n3dvar
19        parameter (n2dvar = 8, n3dvar = 5)
20
21!     Units for writing stats header and data
22        integer usdata
23
24!     count tab to know the variable record
25        integer count(istime)
26
27!     Record of the number of stores made for each time.
28        integer nstore(istime)
29
30! Size of the "controle" array
31        integer, parameter :: cntrlsize=15
32
33!       common /sttcom/ dummy,nstore,istats,usdata
34        common /sttcom/ nstore,istats,usdata,count
Note: See TracBrowser for help on using the repository browser.