Skip to content

Commit

Permalink
api
Browse files Browse the repository at this point in the history
  • Loading branch information
scivision committed Jan 13, 2022
1 parent 2c55c2e commit 30294c1
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 13 deletions.
22 changes: 10 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
# hdf5-benchmark
# h5fortran-mpi

[![ci](https://github.com/geospace-code/hdf5-benchmark/actions/workflows/ci.yml/badge.svg)](https://github.com/geospace-code/hdf5-benchmark/actions/workflows/ci.yml)
[![ci_macos](https://github.com/geospace-code/hdf5-benchmark/actions/workflows/ci_macos.yml/badge.svg)](https://github.com/geospace-code/hdf5-benchmark/actions/workflows/ci_macos.yml)
[![intel-oneapi](https://github.com/geospace-code/hdf5-benchmark/actions/workflows/intel-oneapi.yml/badge.svg)](https://github.com/geospace-code/hdf5-benchmark/actions/workflows/intel-oneapi.yml)
[![ci](https://github.com/geospace-code/h5fortran-mpi/actions/workflows/ci.yml/badge.svg)](https://github.com/geospace-code/h5fortran-mpi/actions/workflows/ci.yml)
[![ci_macos](https://github.com/geospace-code/h5fortran-mpi/actions/workflows/ci_macos.yml/badge.svg)](https://github.com/geospace-code/h5fortran-mpi/actions/workflows/ci_macos.yml)
[![intel-oneapi](https://github.com/geospace-code/h5fortran-mpi/actions/workflows/intel-oneapi.yml/badge.svg)](https://github.com/geospace-code/h5fortran-mpi/actions/workflows/intel-oneapi.yml)

Easy to use object-oriented Fortran HDF5 interface.
This interface requires MPI, although it is capable of non-MPI file I/O.
The original object-oriented Fortran HDF5 interface without MPI is [h5fortran](https://github.com/geospace-code/h5fortran).
The non-MPI h5fortran and h5fortran-mpi APIs are by design nearly identical.
The original object-oriented Fortran HDF5 interface **without MPI** is [h5fortran](https://github.com/geospace-code/h5fortran).
The [h5fortran-mpi API](./API.md)
is by design nearly identical to the non-MPI serial h5fortran API.
A very similar NetCDF4 interface is [nc4fortran](https://github.com/geospace-code/nc4fortran).

Many computer systems default to the serial HDF5 API, which lacks the HDF5 parallel MPI layer.
Expand Down Expand Up @@ -60,15 +61,12 @@ cmake --build build

## Notes

To build and install the HDF5 parallel library use the script from our h5fortran repo:
To build and install the HDF5 parallel library use the script:

```sh
git clone https://github.com/geospace-code/h5fortran
cd h5fortran/scripts
cmake -B build_hdf5 -S scripts --install-prefix=$HOME/lib_par

cmake -B build --install-prefix=$HOME/lib_par -Dhdf5_parallel=on

cmake --build build
cmake --build build_hdf5
```

that will build and install HDF5 under ~/lib_par (or other directory of your choice).
2 changes: 1 addition & 1 deletion src/interface.f90
Original file line number Diff line number Diff line change
Expand Up @@ -345,7 +345,7 @@ end subroutine readattr_char
module subroutine readattr_num(self, dname, attr, attrval)
class(hdf5_file), intent(in) :: self
character(*), intent(in) :: dname, attr
class(*), intent(out) :: attrval(:)
class(*), intent(inout) :: attrval(:)
end subroutine readattr_num

module subroutine writeattr_char(self, dname, attr, attrval)
Expand Down

0 comments on commit 30294c1

Please sign in to comment.