/[lmdze]/trunk/IOIPSL/histcom_var.f
ViewVC logotype

Annotation of /trunk/IOIPSL/histcom_var.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 138 - (hide annotations)
Fri May 22 23:13:19 2015 UTC (9 years ago) by guez
Original Path: trunk/Sources/IOIPSL/histcom_var.f
File size: 3019 byte(s)
Moved variable nb_files from module histcom_var to module
histbeg_totreg_m.

Removed unused argument q of writehist.

No history file is created in program ce0l so there is no need to call
histclo in etat0.

In phyredem, access variables rlat and rlon directly from module
phyetat0_m instead of having them as arguments. This is clearer for
the program gcm. There are bad side effects for the program ce0l: we
have to modify the module variables rlat and rlon in procedure etat0,
and we need the additional file phyetat0.f to compile ce0l.

1 guez 30 MODULE histcom_var
2    
3     implicit none
4    
5     ! Fixed parameter
6 guez 62 INTEGER, PARAMETER:: nb_files_max=20, nb_var_max=400, &
7     nb_hax_max=5, nb_zax_max=10, nbopp_max=10
8     REAL, PARAMETER:: missing_val = 1e20
9 guez 30
10 guez 62 INTEGER:: bufftmp_max(nb_files_max) = 1
11 guez 30
12     ! Time variables
13 guez 62 INTEGER, SAVE:: itau0(nb_files_max)=0
14     REAL, DIMENSION(nb_files_max), SAVE::date0, deltat
15 guez 30
16     ! Counter of elements
17 guez 62 INTEGER, DIMENSION(nb_files_max), SAVE:: nb_var=0, nb_tax=0
18 guez 30
19     ! NETCDF IDs for files and axes
20 guez 62 INTEGER, DIMENSION(nb_files_max), SAVE:: ncdf_ids, xid, yid, tid
21     CHARACTER(LEN=500):: assc_file = ''
22 guez 30
23     ! General definitions in the NETCDF file
24 guez 62 INTEGER, DIMENSION(nb_files_max, 2), SAVE:: full_size=0, slab_ori, slab_sz
25 guez 30
26     ! The horizontal axes
27 guez 62 INTEGER, SAVE:: nb_hax(nb_files_max)=0
28     CHARACTER(LEN=25), SAVE:: hax_name(nb_files_max, nb_hax_max, 2)
29 guez 30
30     ! The vertical axes
31 guez 62 INTEGER, SAVE:: nb_zax(nb_files_max)=0
32     INTEGER, DIMENSION(nb_files_max, nb_zax_max), SAVE:: &
33     zax_size, zax_ids, zax_name_length
34     CHARACTER(LEN=20), SAVE:: zax_name(nb_files_max, nb_zax_max)
35 guez 30
36     ! Informations on each variable
37 guez 62 INTEGER, DIMENSION(nb_files_max, nb_var_max), SAVE:: &
38     name_length, nbopp
39     CHARACTER(LEN=20), DIMENSION(nb_files_max, nb_var_max), SAVE:: &
40     name, unit_name
41     CHARACTER(LEN=80), DIMENSION(nb_files_max, nb_var_max), SAVE:: &
42     title, fullop
43     CHARACTER(LEN=7), SAVE:: topp(nb_files_max, nb_var_max)
44     CHARACTER(LEN=7), SAVE:: sopps(nb_files_max, nb_var_max, nbopp_max)
45     REAL, SAVE:: scal(nb_files_max, nb_var_max, nbopp_max)
46     ! Sizes of the associated grid and zommed area
47     INTEGER, DIMENSION(nb_files_max, nb_var_max, 3), SAVE:: &
48     scsize, zorig, zsize
49     ! Sizes for the data as it goes through the various math operations
50     INTEGER, SAVE:: datasz_in(nb_files_max, nb_var_max, 3) = -1
51     INTEGER, SAVE:: datasz_max(nb_files_max, nb_var_max) = -1
52 guez 30
53 guez 62 INTEGER, DIMENSION(nb_files_max, nb_var_max), SAVE:: var_haxid, var_zaxid, &
54 guez 30 var_axid, ncvar_ids
55    
56 guez 62 REAL, SAVE:: minmax(nb_files_max, nb_var_max, 2)
57 guez 30
58 guez 62 REAL, DIMENSION(nb_files_max, nb_var_max), SAVE:: &
59     freq_opp, freq_wrt
60     INTEGER, DIMENSION(nb_files_max, nb_var_max), SAVE:: &
61     last_opp, last_wrt, last_opp_chk, last_wrt_chk, nb_opp, nb_wrt, point
62 guez 30
63     ! Book keeping for the buffers
64 guez 62 INTEGER:: buff_pos = 0
65     REAL, ALLOCATABLE, SAVE:: buffer(:)
66     LOGICAL:: zoom(nb_files_max) = .FALSE., regular(nb_files_max) = .TRUE.
67 guez 30
68     ! Book keeping of the axes
69    
70 guez 62 INTEGER, DIMENSION(nb_files_max, nb_var_max), SAVE:: tdimid, tax_last, &
71     tax_name_length
72     CHARACTER(LEN=40), DIMENSION(nb_files_max, nb_var_max), SAVE:: tax_name
73 guez 30
74     ! A list of functions which require special action
75     ! (Needs to be updated when functions are added
76     ! but they are well located here)
77    
78 guez 62 CHARACTER(LEN=120):: indchfun = 'scatter, fill, gather, coll', &
79     fuchnbout = 'scatter, fill'
80     ! Some configurable variables with locks
81     CHARACTER(LEN=80):: model_name = 'An IPSL model'
82     LOGICAL:: lock_modname = .FALSE.
83 guez 30
84     END MODULE histcom_var

  ViewVC Help
Powered by ViewVC 1.1.21