@@ -27,27 +27,35 @@ module hdf5_interface
2727
2828! > add group or dataset integer/real
2929generic, public :: add = > &
30- hdf_add_group, hdf_add_int, hdf_add_int_1d, hdf_add_int_2d, hdf_add_int_3d, &
31- hdf_add_real32, hdf_add_real32_1d, hdf_add_real32_2d, hdf_add_real32_3d, hdf_add_real32_4d, hdf_add_real32_5d, hdf_add_real32_6d, &
32- hdf_add_real64, hdf_add_real64_1d, hdf_add_real64_2d, hdf_add_real64_3d, hdf_add_real64_4d, hdf_add_real64_5d, hdf_add_real64_6d, &
30+ hdf_add_group, hdf_add_int, hdf_add_int_1d, hdf_add_int_2d, hdf_add_int_3d, hdf_add_int_5d, hdf_add_int_6d, hdf_add_int_7d,&
31+ hdf_add_real32, hdf_add_real32_1d, hdf_add_real32_2d, hdf_add_real32_3d, &
32+ hdf_add_real32_4d, hdf_add_real32_5d, hdf_add_real32_6d, hdf_add_real32_7d, &
33+ hdf_add_real64, hdf_add_real64_1d, hdf_add_real64_2d, hdf_add_real64_3d, &
34+ hdf_add_real64_4d, hdf_add_real64_5d, hdf_add_real64_6d, hdf_add_real64_7d, &
3335hdf_add_string
3436
3537! > get dataset integer/real
3638generic, public :: get = > &
37- hdf_get_int, hdf_get_int_1d, hdf_get_int_2d, hdf_get_int_3d,&
38- hdf_get_real32, hdf_get_real32_1d, hdf_get_real32_2d, hdf_get_real32_3d, hdf_get_real32_4d, hdf_get_real32_5d, hdf_get_real32_6d, &
39- hdf_get_real64, hdf_get_real64_1d, hdf_get_real64_2d, hdf_get_real64_3d, hdf_get_real64_4d, hdf_get_real64_5d, hdf_get_real64_6d, &
39+ hdf_get_int, hdf_get_int_1d, hdf_get_int_2d, hdf_get_int_3d, hdf_get_int_4d,hdf_get_int_5d, hdf_get_int_6d, hdf_get_int_7d,&
40+ hdf_get_real32, hdf_get_real32_1d, hdf_get_real32_2d, hdf_get_real32_3d, &
41+ hdf_get_real32_4d, hdf_get_real32_5d, hdf_get_real32_6d, hdf_get_real32_7d, &
42+ hdf_get_real64, hdf_get_real64_1d, hdf_get_real64_2d, hdf_get_real64_3d, &
43+ hdf_get_real64_4d, hdf_get_real64_5d, hdf_get_real64_6d, hdf_get_real64_7d, &
4044hdf_get_string
4145
4246
4347! > private methods
4448procedure ,private :: hdf_add_group, &
45- hdf_add_int, hdf_add_int_1d, hdf_add_int_2d, hdf_add_int_3d, &
46- hdf_get_int, hdf_get_int_1d, hdf_get_int_2d, hdf_get_int_3d, &
47- hdf_add_real32, hdf_add_real32_1d, hdf_add_real32_2d, hdf_add_real32_3d, hdf_add_real32_4d, hdf_add_real32_5d, hdf_add_real32_6d, &
48- hdf_add_real64, hdf_add_real64_1d, hdf_add_real64_2d, hdf_add_real64_3d, hdf_add_real64_4d, hdf_add_real64_5d, hdf_add_real64_6d, &
49- hdf_get_real32, hdf_get_real32_1d, hdf_get_real32_2d, hdf_get_real32_3d, hdf_get_real32_4d, hdf_get_real32_5d, hdf_get_real32_6d, &
50- hdf_get_real64, hdf_get_real64_1d, hdf_get_real64_2d, hdf_get_real64_3d, hdf_get_real64_4d, hdf_get_real64_5d, hdf_get_real64_6d, &
49+ hdf_add_int, hdf_add_int_1d, hdf_add_int_2d, hdf_add_int_3d, hdf_add_int_4d, hdf_add_int_5d, hdf_add_int_6d, hdf_add_int_7d, &
50+ hdf_get_int, hdf_get_int_1d, hdf_get_int_2d, hdf_get_int_3d, hdf_get_int_4d, hdf_get_int_5d, hdf_get_int_6d, hdf_get_int_7d, &
51+ hdf_add_real32, hdf_add_real32_1d, hdf_add_real32_2d, hdf_add_real32_3d, &
52+ hdf_add_real32_4d, hdf_add_real32_5d, hdf_add_real32_6d, hdf_add_real32_7d, &
53+ hdf_add_real64, hdf_add_real64_1d, hdf_add_real64_2d, hdf_add_real64_3d, &
54+ hdf_add_real64_4d, hdf_add_real64_5d, hdf_add_real64_6d, hdf_add_real64_7d, &
55+ hdf_get_real32, hdf_get_real32_1d, hdf_get_real32_2d, hdf_get_real32_3d, &
56+ hdf_get_real32_4d, hdf_get_real32_5d, hdf_get_real32_6d, hdf_get_real32_7d, &
57+ hdf_get_real64, hdf_get_real64_1d, hdf_get_real64_2d, hdf_get_real64_3d, &
58+ hdf_get_real64_4d, hdf_get_real64_5d, hdf_get_real64_6d, hdf_get_real64_7d, &
5159hdf_add_string, hdf_get_string
5260
5361end type hdf5_file
@@ -104,6 +112,34 @@ module subroutine hdf_add_int_3d(self,dname,value, chunk_size)
104112integer , intent (in ), optional :: chunk_size(:)
105113end subroutine hdf_add_int_3d
106114
115+ module subroutine hdf_add_int_4d (self ,dname ,value , chunk_size )
116+ class(hdf5_file), intent (inout ) :: self
117+ character (* ), intent (in ) :: dname
118+ integer , intent (in ) :: value(:,:,:,:)
119+ integer , intent (in ), optional :: chunk_size(:)
120+ end subroutine hdf_add_int_4d
121+
122+ module subroutine hdf_add_int_5d (self ,dname ,value , chunk_size )
123+ class(hdf5_file), intent (inout ) :: self
124+ character (* ), intent (in ) :: dname
125+ integer , intent (in ) :: value(:,:,:,:,:)
126+ integer , intent (in ), optional :: chunk_size(:)
127+ end subroutine hdf_add_int_5d
128+
129+ module subroutine hdf_add_int_6d (self ,dname ,value , chunk_size )
130+ class(hdf5_file), intent (inout ) :: self
131+ character (* ), intent (in ) :: dname
132+ integer , intent (in ) :: value(:,:,:,:,:,:)
133+ integer , intent (in ), optional :: chunk_size(:)
134+ end subroutine hdf_add_int_6d
135+
136+ module subroutine hdf_add_int_7d (self ,dname ,value , chunk_size )
137+ class(hdf5_file), intent (inout ) :: self
138+ character (* ), intent (in ) :: dname
139+ integer , intent (in ) :: value(:,:,:,:,:,:,:)
140+ integer , intent (in ), optional :: chunk_size(:)
141+ end subroutine hdf_add_int_7d
142+
107143module subroutine hdf_add_real64 (self ,dname ,value )
108144class(hdf5_file), intent (in ) :: self
109145character (* ), intent (in ) :: dname
@@ -151,6 +187,13 @@ module subroutine hdf_add_real64_6d(self,dname,value, chunk_size)
151187integer , intent (in ), optional :: chunk_size(:)
152188end subroutine hdf_add_real64_6d
153189
190+ module subroutine hdf_add_real64_7d (self ,dname ,value , chunk_size )
191+ class(hdf5_file), intent (inout ) :: self
192+ character (* ), intent (in ) :: dname
193+ real (real64), intent (in ) :: value(:,:,:,:,:,:,:)
194+ integer , intent (in ), optional :: chunk_size(:)
195+ end subroutine hdf_add_real64_7d
196+
154197module subroutine hdf_add_real32 (self ,dname ,value )
155198class(hdf5_file), intent (in ) :: self
156199character (* ), intent (in ) :: dname
@@ -198,6 +241,13 @@ module subroutine hdf_add_real32_6d(self,dname,value, chunk_size)
198241integer , intent (in ), optional :: chunk_size(:)
199242end subroutine hdf_add_real32_6d
200243
244+ module subroutine hdf_add_real32_7d (self ,dname ,value , chunk_size )
245+ class(hdf5_file), intent (inout ) :: self
246+ character (* ), intent (in ) :: dname
247+ real (real32), intent (in ) :: value(:,:,:,:,:,:,:)
248+ integer , intent (in ), optional :: chunk_size(:)
249+ end subroutine hdf_add_real32_7d
250+
201251module subroutine hdf_get_shape (self , dname , dims )
202252class(hdf5_file), intent (in ) :: self
203253character (* ), intent (in ) :: dname
@@ -234,6 +284,31 @@ module subroutine hdf_get_int_3d(self, dname, value)
234284integer , intent (out ),allocatable :: value(:,:,:)
235285end subroutine hdf_get_int_3d
236286
287+ module subroutine hdf_get_int_4d (self , dname , value )
288+ class(hdf5_file), intent (in ) :: self
289+ character (* ), intent (in ) :: dname
290+ integer , intent (out ),allocatable :: value(:,:,:,:)
291+ end subroutine hdf_get_int_4d
292+
293+ module subroutine hdf_get_int_5d (self , dname , value )
294+ class(hdf5_file), intent (in ) :: self
295+ character (* ), intent (in ) :: dname
296+ integer , intent (out ),allocatable :: value(:,:,:,:,:)
297+ end subroutine hdf_get_int_5d
298+
299+ module subroutine hdf_get_int_6d (self , dname , value )
300+ class(hdf5_file), intent (in ) :: self
301+ character (* ), intent (in ) :: dname
302+ integer , intent (out ),allocatable :: value(:,:,:,:,:,:)
303+ end subroutine hdf_get_int_6d
304+
305+ module subroutine hdf_get_int_7d (self , dname , value )
306+ class(hdf5_file), intent (in ) :: self
307+ character (* ), intent (in ) :: dname
308+ integer , intent (out ),allocatable :: value(:,:,:,:,:,:,:)
309+ end subroutine hdf_get_int_7d
310+
311+
237312module subroutine hdf_get_real32 (self , dname , value )
238313class(hdf5_file), intent (in ) :: self
239314character (* ), intent (in ) :: dname
@@ -276,6 +351,12 @@ module subroutine hdf_get_real32_6d(self, dname, value)
276351real (real32), intent (out ),allocatable :: value(:,:,:,:,:,:)
277352end subroutine hdf_get_real32_6d
278353
354+ module subroutine hdf_get_real32_7d (self , dname , value )
355+ class(hdf5_file), intent (in ) :: self
356+ character (* ), intent (in ) :: dname
357+ real (real32), intent (out ),allocatable :: value(:,:,:,:,:,:,:)
358+ end subroutine hdf_get_real32_7d
359+
279360module subroutine hdf_get_real64 (self , dname , value )
280361class(hdf5_file), intent (in ) :: self
281362character (* ), intent (in ) :: dname
@@ -318,6 +399,12 @@ module subroutine hdf_get_real64_6d(self, dname, value)
318399real (real64), intent (out ),allocatable :: value(:,:,:,:,:,:)
319400end subroutine hdf_get_real64_6d
320401
402+ module subroutine hdf_get_real64_7d (self , dname , value )
403+ class(hdf5_file), intent (in ) :: self
404+ character (* ), intent (in ) :: dname
405+ real (real64), intent (out ),allocatable :: value(:,:,:,:,:,:,:)
406+ end subroutine hdf_get_real64_7d
407+
321408module subroutine hdf_open_group (self , gname )
322409class(hdf5_file), intent (inout ) :: self
323410character (* ), intent (in ) :: gname
0 commit comments