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

Contents of /trunk/Sources/IOIPSL/histcom_var.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 138 - (show annotations)
Fri May 22 23:13:19 2015 UTC (9 years ago) by guez
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 MODULE histcom_var
2
3 implicit none
4
5 ! Fixed parameter
6 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
10 INTEGER:: bufftmp_max(nb_files_max) = 1
11
12 ! Time variables
13 INTEGER, SAVE:: itau0(nb_files_max)=0
14 REAL, DIMENSION(nb_files_max), SAVE::date0, deltat
15
16 ! Counter of elements
17 INTEGER, DIMENSION(nb_files_max), SAVE:: nb_var=0, nb_tax=0
18
19 ! NETCDF IDs for files and axes
20 INTEGER, DIMENSION(nb_files_max), SAVE:: ncdf_ids, xid, yid, tid
21 CHARACTER(LEN=500):: assc_file = ''
22
23 ! General definitions in the NETCDF file
24 INTEGER, DIMENSION(nb_files_max, 2), SAVE:: full_size=0, slab_ori, slab_sz
25
26 ! The horizontal axes
27 INTEGER, SAVE:: nb_hax(nb_files_max)=0
28 CHARACTER(LEN=25), SAVE:: hax_name(nb_files_max, nb_hax_max, 2)
29
30 ! The vertical axes
31 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
36 ! Informations on each variable
37 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
53 INTEGER, DIMENSION(nb_files_max, nb_var_max), SAVE:: var_haxid, var_zaxid, &
54 var_axid, ncvar_ids
55
56 REAL, SAVE:: minmax(nb_files_max, nb_var_max, 2)
57
58 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
63 ! Book keeping for the buffers
64 INTEGER:: buff_pos = 0
65 REAL, ALLOCATABLE, SAVE:: buffer(:)
66 LOGICAL:: zoom(nb_files_max) = .FALSE., regular(nb_files_max) = .TRUE.
67
68 ! Book keeping of the axes
69
70 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
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 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
84 END MODULE histcom_var

  ViewVC Help
Powered by ViewVC 1.1.21