Commit 60df95b1 authored by gsell's avatar gsell

most missing functions added to Fortran API

parent d508f9e5
......@@ -273,4 +273,14 @@ h5_abort_on_error (
H5_API_RETURN (h5_set_errorhandler (h5_abort_errorhandler));
}
#define h5_get_error_number F77_NAME( \
h5_get_error_number, \
h5_get_error_number_, \
H5_GET_ERROR_NUMBER)
h5_int64_t
h5_get_error_number (
void
) {
H5_API_ENTER (h5_int64_t, "%s", "");
H5_API_RETURN (h5_get_errno ());
}
This diff is collapsed.
......@@ -11,6 +11,38 @@
#include "h5core/h5_debug.h"
#include "h5core/h5b_model.h"
#define h5bl_hasfielddata F77_NAME ( \
h5bl_hasfielddata, \
h5bl_hasdata_, \
H5BL_HASFIELDDATA )
h5_int64_t
h5bl_hasfielddata (
const h5_int64_t* const fh
) {
h5_file_t f = h5_filehandlefor2c (fh);
H5_API_ENTER (h5_int64_t,
"fh=%p",
(h5_file_p)f);
H5_API_RETURN (h5b_has_field_data ( f ));
}
#define h5bl_3d_hasview F77_NAME ( \
h5bl_hasview, \
h5bl_hasview_, \
H5BL_HASVIEW )
h5_int64_t
h5bl_3d_hasview (
const h5_int64_t* const fh
) {
h5_file_t f = h5_filehandlefor2c (fh);
H5_API_ENTER (h5_int64_t,
"fh=%p",
(h5_file_p)f);
H5_API_RETURN (h5b_3d_has_view ( f ));
}
#define h5bl_3d_setview F77_NAME ( \
h5bl_3d_setview, \
h5bl_3d_setview_, \
......@@ -120,27 +152,92 @@ h5bl_3d_getreducedview (
H5_API_RETURN (H5_SUCCESS);
}
#define h5bl_3d_hasview F77_NAME ( \
h5bl_hasview, \
h5bl_hasview_, \
H5BL_HASVIEW )
#define h5bl_3d_setchunk F77_NAME ( \
h5bl_3d_setchunk, \
h5bl_3d_setchunk_, \
H5BL_3D_SETCHUNK )
h5_int64_t
h5bl_3d_hasview (
const h5_int64_t* const fh
h5bl_3d_setchunk (
const h5_int64_t* const fh,
const h5_int64_t* const i,
const h5_int64_t* const j,
const h5_int64_t* const k
) {
h5_file_t f = h5_filehandlefor2c (fh);
H5_API_ENTER (h5_int64_t,
"fh=%p",
(h5_file_p)f);
H5_API_RETURN (h5b_3d_has_view ( f ));
"fh=%p, i=%lld, j=%lld, k=%lld",
(h5_file_p)f, (long long)*i, (long long)*j, (long long)*k);
H5_API_RETURN(h5b_3d_set_chunk (f, *i, *j, *k));
}
#define h5bl_3d_setchunk F77_NAME ( \
h5bl_3d_setchunk, \
h5bl_3d_setchunk_, \
H5BL_3D_SETCHUNK )
#define h5bl_3d_getchunk F77_NAME ( \
h5bl_3d_getchunk, \
h5bl_3d_getchunk_, \
H5BL_3D_GETCHUNK )
h5_int64_t
h5bl_3d_setchunk (
h5bl_3d_getchunk (
const h5_int64_t* const fh,
const char* const field_name,
h5_int64_t* const i,
h5_int64_t* const j,
h5_int64_t* const k,
const int l_field_name
) {
h5_file_t f = h5_filehandlefor2c (fh);
H5_API_ENTER (h5_int64_t,
"fh=%p, i=%p, j=%p, k=%p",
(h5_file_p)f, i, j, k);
char *field_name2 = h5_strdupfor2c (field_name, l_field_name);
h5_int64_t h5err = h5b_3d_get_chunk (f, field_name2, (h5_size_t*)i, (h5_size_t*)j, (h5_size_t*)k);
free (field_name2);
H5_API_RETURN (h5err);
}
#ifdef PARALLEL_IO
#define h5bl_3d_setgrid F77_NAME ( \
h5bl_3d_setgrid, \
h5bl_3d_setgrid_, \
h5bl_3d_setgrid)
h5_int64_t
h5bl_3d_setgrid (
const h5_int64_t* const fh,
const h5_int64_t* const i,
const h5_int64_t* const j,
const h5_int64_t* const k
) {
h5_file_t f = h5_filehandlefor2c (fh);
H5_API_ENTER (h5_int64_t,
"fh=%p, i=%lld, j=%lld, k=%lld",
(h5_file_p)f, (long long)*i, (long long)*j, (long long)*k);
H5_API_RETURN(h5b_3d_set_grid (f, *i, *j, *k));
}
#define h5bl_3d_getgrid F77_NAME ( \
h5bl_3d_getgrid, \
h5bl_3d_getgrid_, \
H5BL_3D_GETGRID)
h5_int64_t
h5bl_3d_getgrid (
const h5_int64_t* const fh,
const h5_int64_t* const proc,
h5_int64_t* const i,
h5_int64_t* const j,
h5_int64_t* const k
) {
h5_file_t f = h5_filehandlefor2c (fh);
H5_API_ENTER (h5_int64_t,
"fh=%p, proc=%lld, i=%p, j=%p, k=%p",
(h5_file_p)f, (long long)proc, i, j, k);
H5_API_RETURN(h5b_3d_get_grid_coords (f, (int)*proc, i, j, k));
}
#define h5bl_3d_setdims F77_NAME ( \
h5bl_3d_setdims, \
h5bl_3d_setdims_, \
H5BL_3D_SETDIMS)
h5_int64_t
h5bl_3d_setdims (
const h5_int64_t* const fh,
const h5_int64_t* const i,
const h5_int64_t* const j,
......@@ -149,8 +246,28 @@ h5bl_3d_setchunk (
h5_file_t f = h5_filehandlefor2c (fh);
H5_API_ENTER (h5_int64_t,
"fh=%p, i=%lld, j=%lld, k=%lld",
(h5_file_p)f, (long long)i, (long long)j, (long long)k);
H5_API_RETURN(h5b_3d_set_chunk ( f, *i, *j, *k ));
(h5_file_p)f, (long long)*i, (long long)*j, (long long)*k);
H5_API_RETURN(h5b_3d_set_dims (f, *i, *j, *k));
}
#endif
#define h5bl_3d_sethalo F77_NAME ( \
h5bl_3d_sethalo, \
h5bl_3d_sethalo_, \
H5BL_3D_SETHALO)
h5_int64_t
h5bl_3d_sethalo (
const h5_int64_t* const fh,
const h5_int64_t* const i,
const h5_int64_t* const j,
const h5_int64_t* const k
) {
h5_file_t f = h5_filehandlefor2c (fh);
H5_API_ENTER (h5_int64_t,
"fh=%p, i=%lld, j=%lld, k=%lld",
(h5_file_p)f, (long long)*i, (long long)*j, (long long)*k);
H5_API_RETURN(h5b_3d_set_halo (f, *i, *j, *k));
}
#define h5bl_getnumfields F77_NAME ( \
......@@ -161,7 +278,6 @@ h5_int64_t
h5bl_getnumfields (
const h5_int64_t* const fh
) {
h5_file_t f = h5_filehandlefor2c (fh);
H5_API_ENTER (h5_int64_t,
"fh=%p",
......@@ -198,3 +314,31 @@ h5bl_getfieldinfo (
H5_API_RETURN(herr);
}
#define h5bl_getfieldinfobyname F77_NAME ( \
h5bl_getfieldinfobyname, \
h5bl_getfieldinfobyname_, \
H5BL_GETFIELDINFOBYNAME)
h5_int64_t
h5bl_getfieldinfobyname (
const h5_int64_t* const fh,
const char* const field_name,
h5_size_t* const field_rank,
h5_size_t* const field_dims,
h5_size_t* const elem_rank,
h5_int64_t* const type,
const int l_field_name
) {
h5_file_t f = h5_filehandlefor2c (fh);
H5_API_ENTER (h5_int64_t,
"fh=%p"
", field_name=%*s,"
", field_rank=%p, field_dims=%p, elem_rank=%p, type=%p",
(h5_file_p)f, l_field_name, field_name,
field_rank, field_dims, elem_rank, type);
char *field_name2 = h5_strdupfor2c (field_name, l_field_name);
h5_int64_t herr = h5b_get_field_info_by_name (
f, field_name2,
field_rank, field_dims, elem_rank, type );
free (field_name2);
H5_API_RETURN(herr);
}
......@@ -13,90 +13,42 @@
#include "h5core/h5_syscall.h"
/*==============Reading Data Characteristics============*/
#define h5pt_getndatasets F77_NAME ( \
h5pt_getndatasets, \
h5pt_getndatasets_, \
H5PT_GETNDATASETS )
h5_int64_t
h5pt_getndatasets (
const h5_int64_t* const fh
) {
h5_file_t f = h5_filehandlefor2c (fh);
H5_API_ENTER (h5_int64_t, "fh=%p", (h5_file_p)f);
H5_API_RETURN(h5u_get_num_datasets (f));
}
#define h5pt_getnpoints F77_NAME ( \
h5pt_getnpoints, \
h5pt_getnpoints_, \
H5PT_GETNPOINTS )
h5_int64_t
h5pt_getnpoints (
const h5_int64_t* const fh
) {
h5_file_t f = h5_filehandlefor2c (fh);
H5_API_ENTER (h5_int64_t, "fh=%p", (h5_file_p)f);
H5_API_RETURN (h5u_get_num_particles (f));
}
/*=============Setting and getting views================*/
#define h5pt_getdatasetname F77_NAME ( \
h5pt_getdatasetname, \
h5pt_getdatasetname_, \
H5PT_GETDATASETNAME )
#define h5pt_setnpoints F77_NAME ( \
h5pt_setnpoints, \
h5pt_setnpoints_, \
H5PT_SETNPOINTS )
h5_int64_t
h5pt_getdatasetname (
h5pt_setnpoints (
const h5_int64_t* const fh,
const h5_int64_t* index,
char* name,
const int l_name
const h5_int64_t* const npoints
) {
h5_file_t f = h5_filehandlefor2c (fh);
H5_API_ENTER (h5_int64_t,
"fh=%p, index=%lld, name='%s', l_name=%d",
(h5_file_p)f, (long long)*index, name, l_name);
h5_int64_t herr = h5u_get_dataset_info (
f, *index - 1, name, l_name, NULL, NULL );
h5_strc2for (name, l_name);
H5_API_RETURN (herr);
"fh=%p, npoints=%lld",
(h5_file_p)f, (long long)*npoints);
H5_API_RETURN (h5u_set_num_particles (f, *npoints, 1));
}
#define h5pt_getdatasetinfo F77_NAME( \
h5pt_getdatasetinfo, \
h5pt_getdatasetinfo_, \
H5PT_GETDATASETINFO)
#define h5pt_setnpoints_strided F77_NAME ( \
h5pt_setnpoints_strided, \
h5pt_setnpoints_strided_, \
H5PT_SETNPOINTS_STRIDED )
h5_int64_t
h5pt_getdatasetinfo (
h5pt_setnpoints_strided (
const h5_int64_t* const fh,
const h5_int64_t* dataset_idx,
char* dataset_name,
h5_int64_t* dataset_type,
h5_int64_t* dataset_nelem,
const int l_dataset_name
) {
const h5_int64_t* const npoints,
const h5_int64_t* const stride
) {
h5_file_t f = h5_filehandlefor2c (fh);
H5_API_ENTER (h5_int64_t,
"fh=%p, "
"dataset_idx=%lld, "
"dataset_name=%p, "
"dataset_type=%p, "
"dataset_nelem=%p",
(h5_file_p)f,
(long long)*dataset_idx,
dataset_name, dataset_type, dataset_nelem);
h5_int64_t h5err = h5u_get_dataset_info (
f,
*dataset_idx - 1,
dataset_name, l_dataset_name,
dataset_type,
(h5_size_t*)dataset_nelem);
h5_strc2for (dataset_name, l_dataset_name);
convert_type2for (dataset_type);
H5_API_RETURN (h5err);
"fh=%p, npoints=%lld, stride=%lld",
(h5_file_p)f, (long long)*npoints, (long long)*stride);
H5_API_RETURN (h5u_set_num_particles (f, *npoints, *stride));
}
/*=============Setting and getting views================*/
#define h5pt_setview F77_NAME ( \
h5pt_setview, \
......@@ -115,7 +67,7 @@ h5pt_setview (
H5_API_RETURN (h5u_set_view (f, (*start)-1, (*end)-1));
}
#define h5pt_setview_indices F77_NAME ( \
#define h5pt_setview_indices F77_NAME( \
h5pt_setview_indices, \
h5pt_setview_indices_, \
H5PT_SETVIEW_INDICES )
......@@ -138,39 +90,22 @@ h5pt_setview_indices (
H5_API_RETURN (H5_SUCCESS);
}
#define h5pt_setnpoints F77_NAME ( \
h5pt_setnpoints, \
h5pt_setnpoints_, \
H5PT_SETNPOINTS )
h5_int64_t
h5pt_setnpoints (
const h5_int64_t* const fh,
const h5_int64_t* const npoints
) {
h5_file_t f = h5_filehandlefor2c (fh);
H5_API_ENTER (h5_int64_t,
"fh=%p, npoints=%lld",
(h5_file_p)f, (long long)*npoints);
H5_API_RETURN (h5u_set_num_particles (f, *npoints, 1));
}
#define h5pt_setnpoints_strided F77_NAME ( \
h5pt_setnpoints_strided, \
h5pt_setnpoints_strided_, \
H5PT_SETNPOINTS_STRIDED )
#define h5pt_setcanonicalview F77_NAME ( \
h5pt_setcanonicalview, \
h5pt_setcanonicalview_, \
H5PT_SETCANONICALVIEW)
h5_int64_t
h5pt_setnpoints_strided (
const h5_int64_t* const fh,
const h5_int64_t* const npoints,
const h5_int64_t* const stride
h5pt_setcanonicalview (
const h5_int64_t* const fh
) {
h5_file_t f = h5_filehandlefor2c (fh);
H5_API_ENTER (h5_int64_t,
"fh=%p, npoints=%lld, stride=%lld",
(h5_file_p)f, (long long)*npoints, (long long)*stride);
H5_API_RETURN (h5u_set_num_particles (f, *npoints, *stride));
"fh=%p",
(h5_file_p)f);
H5_API_RETURN (h5u_set_canonical_view (f));
}
#define h5pt_resetview F77_NAME ( \
h5pt_resetview, \
h5pt_resetview_, \
......@@ -220,3 +155,104 @@ h5pt_getview (
*end += 1;
H5_API_RETURN (H5_SUCCESS);
}
/*==============Reading Data Characteristics============*/
#define h5pt_getndatasets F77_NAME ( \
h5pt_getndatasets, \
h5pt_getndatasets_, \
H5PT_GETNDATASETS )
h5_int64_t
h5pt_getndatasets (
const h5_int64_t* const fh
) {
h5_file_t f = h5_filehandlefor2c (fh);
H5_API_ENTER (h5_int64_t, "fh=%p", (h5_file_p)f);
H5_API_RETURN(h5u_get_num_datasets (f));
}
#define h5pt_getnpoints F77_NAME ( \
h5pt_getnpoints, \
h5pt_getnpoints_, \
H5PT_GETNPOINTS )
h5_int64_t
h5pt_getnpoints (
const h5_int64_t* const fh
) {
h5_file_t f = h5_filehandlefor2c (fh);
H5_API_ENTER (h5_int64_t, "fh=%p", (h5_file_p)f);
H5_API_RETURN (h5u_get_num_particles (f));
}
#define h5pt_getdatasetname F77_NAME ( \
h5pt_getdatasetname, \
h5pt_getdatasetname_, \
H5PT_GETDATASETNAME )
h5_int64_t
h5pt_getdatasetname (
const h5_int64_t* const fh,
const h5_int64_t* index,
char* name,
const int l_name
) {
h5_file_t f = h5_filehandlefor2c (fh);
H5_API_ENTER (h5_int64_t,
"fh=%p, index=%lld, name='%s', l_name=%d",
(h5_file_p)f, (long long)*index, name, l_name);
h5_int64_t herr = h5u_get_dataset_info (
f, *index - 1, name, l_name, NULL, NULL );
h5_strc2for (name, l_name);
H5_API_RETURN (herr);
}
#define h5pt_getdatasetinfo F77_NAME ( \
h5pt_getdatasetinfo, \
h5pt_getdatasetinfo_, \
H5PT_GETDATASETINFO)
h5_int64_t
h5pt_getdatasetinfo (
const h5_int64_t* const fh,
const h5_int64_t* dataset_idx,
char* dataset_name,
h5_int64_t* dataset_type,
h5_int64_t* dataset_nelem,
const int l_dataset_name
) {
h5_file_t f = h5_filehandlefor2c (fh);
H5_API_ENTER (h5_int64_t,
"fh=%p, "
"dataset_idx=%lld, "
"dataset_name=%p, "
"dataset_type=%p, "
"dataset_nelem=%p",
(h5_file_p)f,
(long long)*dataset_idx,
dataset_name, dataset_type, dataset_nelem);
h5_int64_t h5err = h5u_get_dataset_info (
f,
*dataset_idx - 1,
dataset_name, l_dataset_name,
dataset_type,
(h5_size_t*)dataset_nelem);
h5_strc2for (dataset_name, l_dataset_name);
convert_type2for (dataset_type);
H5_API_RETURN (h5err);
}
/*===================== misc =====================*/
#define h5pt_setchunksize F77_NAME ( \
h5pt_setchunksize, \
h5pt_setchunksize_, \
H5PT_SETCHUNKSIZE )
h5_int64_t
h5pt_setchunksize (
const h5_int64_t* const fh,
const h5_int64_t* const size
) {
h5_file_t f = h5_filehandlefor2c (fh);
H5_API_ENTER (h5_int64_t,
"fh=%p, size=%lld",
(h5_file_p)f, (long long)*size);
H5_API_RETURN (h5u_set_chunk (f, *size));
}
......@@ -18,6 +18,7 @@
| |_| | |/ _ \ / _` | __| __| '__| | '_ \| | | | __/ _ \/ __|
| _| | | __/ | (_| | |_| |_| | | | |_) | |_| | || __/\__ \
|_| |_|_|\___| \__,_|\__|\__|_| |_|_.__/ \__,_|\__\___||___/
__ _ _ _ ___ _ __ _ _
/ _` | | | |/ _ \ '__| | | |
| (_| | |_| | __/ | | |_| |
......@@ -103,6 +104,12 @@ h5_getfileattribinfo_by_name (
}
/*
__ _ _ _ _ _ _ _
/ _(_) | ___ __ _| |_| |_ _ __(_) |__ _ _| |_ ___ ___
| |_| | |/ _ \ / _` | __| __| '__| | '_ \| | | | __/ _ \/ __|
| _| | | __/ | (_| | |_| |_| | | | |_) | |_| | || __/\__ \
|_| |_|_|\___| \__,_|\__|\__|_| |_|_.__/ \__,_|\__\___||___/
_ __
(_) / /__
| | / / _ \
......@@ -138,14 +145,6 @@ read_file_attrib (
return herr;
}
/*
_ _
___| |_ _ __(_)_ __ __ _
/ __| __| '__| | '_ \ / _` |
\__ \ |_| | | | | | | (_| |
|___/\__|_| |_|_| |_|\__, |
|___/
*/
#define h5_writefileattrib_string F77_NAME ( \
h5_writefileattrib_string, \
h5_writefileattrib_string_, \
......@@ -377,7 +376,13 @@ h5_readfileattrib_i4 (
\__ \ || __/ |_) | | (_| | |_| |_| | | | |_) | |_| | || __/\__ \
|___/\__\___| .__/ \__,_|\__|\__|_| |_|_.__/ \__,_|\__\___||___/
|_|
*/
__ _ _ _ ___ _ __ _ _
/ _` | | | |/ _ \ '__| | | |
| (_| | |_| | __/ | | |_| |
\__, |\__,_|\___|_| \__, |
|_| |___/
*/
#define h5_getnstepattribs F77_NAME( \
h5_getnstepattribs, \
h5_getnstepattribs_, \
......@@ -457,6 +462,21 @@ h5_getstepattribinfo_by_name (
H5_API_RETURN (h5err);
}
/*
_ _ _ _ _ _
___| |_ ___ _ __ __ _| |_| |_ _ __(_) |__ _ _| |_ ___ ___
/ __| __/ _ \ '_ \ / _` | __| __| '__| | '_ \| | | | __/ _ \/ __|
\__ \ || __/ |_) | | (_| | |_| |_| | | | |_) | |_| | || __/\__ \
|___/\__\___| .__/ \__,_|\__|\__|_| |_|_.__/ \__,_|\__\___||___/
|_|
_ __
(_) / /__
| | / / _ \
| |/ / (_) |
|_/_/ \___/
*/
static inline h5_int64_t
write_step_attrib (
const h5_file_t fh,
......
......@@ -8,9 +8,9 @@ F90_FILES = \
$(top_srcdir)/src/include/H5_const.f90 \
$(top_srcdir)/src/include/H5_attribs.f90 \
$(top_srcdir)/src/include/H5_model.f90 \
$(top_srcdir)/src/include/H5Part.f90 \
$(top_srcdir)/src/include/H5Part_model.f90 \
$(top_srcdir)/src/include/H5Part_io.f90 \
$(top_srcdir)/src/include/H5Block.f90 \
$(top_srcdir)/src/include/H5Block_model.f90 \
$(top_srcdir)/src/include/H5Block_attribs.f90 \
$(top_srcdir)/src/include/H5Block_io.f90
......@@ -34,9 +34,9 @@ libH5hutF_la_SOURCES = \
H5.c \
H5_attribs.c \
H5_model.c \
H5Part.c \
H5Part_model.c \
H5Part_io.c \
H5Block.c \
H5Block_model.c \
H5Block_attribs.c \
H5Block_io.c
......
!
! Copyright (c) 2006-2013, The Regents of the University of California,
! Copyright (c) 2006-2014, The Regents of the University of California,
! through Lawrence Berkeley National Laboratory (subject to receipt of any
! required approvals from the U.S. Dept. of Energy) and the Paul Scherrer
! Institut (Switzerland). All rights reserved.!
......@@ -171,4 +171,12 @@
SUBROUTINE h5_abort_on_error ()
END SUBROUTINE h5_abort_on_error
!>
!! \ingroup h5hut_error_f
!! Get error number.
!! \return 0 on success or error code
!<
SUBROUTINE h5_get_error_number ()
END SUBROUTINE h5_get_error_number
END INTERFACE
......@@ -255,5 +255,83 @@
REAL*8, INTENT(IN) :: z
END FUNCTION h5bl_3d_set_field_origin
! __ _ _ _ _
! / _(_) ___| | __| | ___ ___ ___ _ __ __| |___
! | |_| |/ _ \ |/ _` | / __/ _ \ / _ \| '__/ _` / __|
! | _| | __/ | (_| | | (_| (_) | (_) | | | (_| \__ \
! |_| |_|\___|_|\__,_| \___\___/ \___/|_| \__,_|___/
!>
!! \ingroup h5block_attrib_f
!! See \ref H5Block3dSetFieldXCoords
!! \return 0 on success -1 on error
!<
INTEGER*8 FUNCTION h5bl_set_fieldxcoords (filehandle, field_name, coords, n_coords)
INTEGER*8, INTENT(IN) :: filehandle
CHARACTER(LEN=*), INTENT(IN) :: field_name
REAL*8, INTENT(IN) :: coords(*)
INTEGER*8, INTENT(IN) :: n_coords
END FUNCTION h5bl_set_fieldxcoords
!>
!! \ingroup h5block_attrib_f
!! See \ref H5Block3dGetFieldXCoords
!! \return 0 on success -1 on error
!<
INTEGER*8 FUNCTION h5bl_get_fieldxcoords (filehandle, field_name, coords, n_coords)
INTEGER*8, INTENT(IN) :: filehandle
CHARACTER(LEN=*), INTENT(IN) :: field_name
REAL*8, INTENT(OUT) :: coords(*)
INTEGER*8, INTENT(IN) :: n_coords
END FUNCTION h5bl_get_fieldxcoords
!>
!! \ingroup h5block_attrib_f
!! See \ref H5Block3dSetFieldYCoords
!! \return 0 on success -1 on error
!<
INTEGER*8 FUNCTION h5bl_set_fieldycoords (filehandle, field_name, coords, n_coords)
INTEGER*8, INTENT(IN) :: filehandle
CHARACTER(LEN=*), INTENT(IN) :: field_name
REAL*8, INTENT(IN) :: coords(*)
INTEGER*8, INTENT(IN) :: n_coords
END FUNCTION h5bl_set_fieldycoords
!>
!! \ingroup h5block_attrib_f
!! See \ref H5Block3dGetFieldYCoords
!! \return 0 on success -1 on error
!<
INTEGER*8 FUNCTION h5bl_get_fieldycoords (filehandle, field_name, coords, n_coords)
INTEGER*8, INTENT(IN) :: filehandle
CHARACTER(LEN=*), INTENT(IN) :: field_name
REAL*8, INTENT(OUT) :: coords(*)
INTEGER*8, INTENT(IN) :: n_coords
END FUNCTION h5bl_get_fieldycoords
!>
!! \ingroup h5block_attrib_f
!! See \ref H5Block3dSetFieldZCoords
!! \return 0 on success -1 on error
!<
INTEGER*8 FUNCTION h5bl_set_fieldzcoords (filehandle, field_name, coords, n_coords)
INTEGER*8, INTENT(IN) :: filehandle
CHARACTER(LEN=*), INTENT(IN) :: field_name