|
14 | 14 |
|
15 | 15 | logical :: exists
|
16 | 16 | integer :: ierr
|
17 |
| -integer(HID_T) :: plist_id, ds_id |
| 17 | +integer(HID_T) :: dcpl, ds_id |
18 | 18 |
|
19 |
| -plist_id = H5P_DEFAULT_F |
| 19 | +dcpl = H5P_DEFAULT_F |
20 | 20 | memspace = H5S_ALL_F
|
21 | 21 |
|
22 | 22 | if(.not.self%is_open) error stop 'h5fortran:write: file handle is not open: ' // self%filename
|
|
55 | 55 |
|
56 | 56 | !> compression
|
57 | 57 | if(size(mem_dims) >= 2) then
|
58 |
| - call set_deflate(self, mem_dims, plist_id, chunk_size) |
| 58 | + call set_deflate(self, mem_dims, dcpl, chunk_size) |
59 | 59 | endif
|
60 | 60 |
|
61 | 61 | !> compact dataset (for very small datasets to increase I/O speed)
|
62 | 62 | if(present(compact)) then
|
63 | 63 | !! datasets are EITHER compact or chunked.
|
64 |
| -if(compact .and. plist_id == H5P_DEFAULT_F .and. product(dset_dims) * 8 < 60000) then |
| 64 | +if(compact .and. dcpl == H5P_DEFAULT_F .and. product(dset_dims) * 8 < 60000) then |
65 | 65 | !! 64000 byte limit, here we assumed 8 bytes / element
|
66 |
| - call h5pcreate_f(H5P_DATASET_CREATE_F, plist_id, ierr) |
| 66 | + call h5pcreate_f(H5P_DATASET_CREATE_F, dcpl, ierr) |
67 | 67 | if (check(ierr, self%filename)) error stop "h5fortran:hdf_create:h5pcreate: " // dname
|
68 | 68 |
|
69 |
| - call h5pset_layout_f(plist_id, H5D_COMPACT_F, ierr) |
| 69 | + call h5pset_layout_f(dcpl, H5D_COMPACT_F, ierr) |
70 | 70 | if (check(ierr, self%filename)) error stop "h5fortran:hdf_create:h5pset_layout: " // dname
|
71 | 71 | endif
|
72 | 72 | endif
|
|
80 | 80 | if (ierr/=0) error stop "h5fortran:hdf_create:h5screate:filespace " // dname // " " // self%filename
|
81 | 81 |
|
82 | 82 | !> create dataset
|
83 |
| -call h5dcreate_f(self%file_id, dname, dtype, space_id=filespace, dset_id=dset_id, hdferr=ierr, dcpl_id=plist_id) |
| 83 | +call h5dcreate_f(self%file_id, dname, dtype, space_id=filespace, dset_id=dset_id, hdferr=ierr, dcpl_id=dcpl) |
84 | 84 | if (ierr/=0) error stop "h5fortran:hdf_create:h5dcreate: " // dname // " " // self%filename
|
85 | 85 |
|
86 |
| -call h5pclose_f(plist_id, ierr) |
| 86 | +call h5pclose_f(dcpl, ierr) |
87 | 87 | if (ierr/=0) error stop "h5pclose: " // dname // ' in ' // self%filename
|
88 | 88 |
|
89 | 89 | end procedure hdf_create
|
|
0 commit comments