Data Structures | Typedefs | Functions

Basic Operations dealing with semantic structures below the end-user API.

Data Structures

struct  _TimeTableEntry


typedef struct _TimeTableEntry TimeTableEntry


F5_API hid_t F5Bcreate_timetable_type (void)
F5_API hsize_t F5Bappend_timetable (hid_t loc_id, hid_t timetable_type_location_id, const TimeTableEntry *TTE, hsize_t append_dims)
F5_API hsize_t F5Bget_timetable_size (hid_t loc_id)
hsize_t F5Bread_timetable (hid_t loc_id, TimeTableEntry *TTE, hsize_t table_size)
F5_API F5_TimeParameterF5BnewTimeParameter (void)
F5_API void F5deleteTimeParameter (F5_TimeParameter **)
F5_API int F5setTimeUnit (hid_t file_id, const F5_TimeParameter *)
F5_API int F5getTimeUnit (hid_t file_id, F5_TimeParameter *)
F5_API hid_t F5Bappend_timeslice (hid_t file_id, const F5_TimeParameter *time)
F5_API hid_t F5Bappend_slice (hid_t file_id, const double *time)
F5_API F5PathF5Binitialize_path (hid_t File_id)
F5_API hid_t F5BgetMostRecentSlice (double *t, hid_t FileID, const char **time_attrib_names)
F5_API hid_t F5BgetMostRecentFileSlice (double t, const char *filename)
F5_API hid_t F5BgetGridVertexData (hid_t SliceID, const char *gridname, const char *chartname, const char *fieldname)

Typedef Documentation

Data type entry for time tables.

Function Documentation

F5_API hid_t F5Bappend_slice ( hid_t  file_id,
const double *  time 

Get the HDF5 identifier for a given time slice. A new group is created in the file if none exists yet.

file_id HDF5 File identifier.
time The time is specified as a pointer, such that it may be NULL to indicate a static dataset.
HDF5 identifier for the newly created or opened Time Slice group.

Maybe move to another header.

Add consistency check on re-open of an existing group

F5_API hid_t F5Bappend_timeslice ( hid_t  file_id,
const F5_TimeParameter time 

Append a time slice in the given time unit. Only one time unit is allowed per file. If another time unit has already been defined in the file, the function will return without touching the file.

F5_API hsize_t F5Bappend_timetable ( hid_t  loc_id,
hid_t  timetable_type_location_id,
const TimeTableEntry TTE,
hsize_t  append_dims 

Initialize a time table for the given location.

timetable_type_id The type for time table entries, such as provided by F5Bcreate_timetable_type(), but it may well be (and should be) a named type instead of a transient type.
false if the time table already existed. F5_API int F5Binit_timetable(hid_t loc_id, hid_t timetable_type_id); Append entries to the time table associated with a certain location.
timetable_type_location_id the location ID where the named datatype for timetable entries will be stored, in case it needs to be created.
F5_API hid_t F5Bcreate_timetable_type ( void   ) 

Create a transient type that is compatible with the TimeTableEntry data structure. It must be release via H5Tclose() by the calling code.

F5_API hsize_t F5Bget_timetable_size ( hid_t  loc_id  ) 

Get the number of entries in the respective time table.

F5_API hid_t F5BgetGridVertexData ( hid_t  SliceID,
const char *  gridname,
const char *  chartname,
const char *  fieldname 

Get the GridVertexData for given grid-, chart- and fieldnames.

F5_API hid_t F5BgetMostRecentFileSlice ( double  t,
const char *  filename 

Get the MostRecentSlice out of a HDF5 file with the given name.

F5_API hid_t F5BgetMostRecentSlice ( double *  t,
hid_t  FileID,
const char **  time_attrib_names 

Get the next slice for given time attriute names.

F5_API F5Path* F5Binitialize_path ( hid_t  File_id  ) 

Initialize an F5Path from a file for reading. The coordinate system is set to the default cartesian coordinates. No timeslice, grid, field etc. ID's are defined yet, these need to be filled in by iteration. This function is called internally by F5iterate_timeslices() for creating an F5Path object that is then modified to contain a valid group ID for each timeslice, grid, field, ... Currently, it is hard-coded for reading cartesian coordinates only. The preferred way is to employ iterators on reading files.

F5_API F5_TimeParameter* F5BnewTimeParameter ( void   ) 

Allocate a new F5_TimeParameter structure in memory. Actually, one could also pass a static structure, but using this function and F5deleteTimePArameter(), the call is safe even if the TimeParameter structure is changed in a future version of F5.

hsize_t F5Bread_timetable ( hid_t  loc_id,
TimeTableEntry TTE,
hsize_t  table_size 

Read the entries of a time table.

F5_API void F5deleteTimeParameter ( F5_TimeParameter **   ) 

Deallocate a F5_TimeParameter structure from memory. It needs to be passed a pointer to a pointer, whereby the pointer is set to zero on deallocation. So it is safe to call this function multiple times on the same pointer (just for experimental convenience!).

F5_API int F5getTimeUnit ( hid_t  file_id,

Get the time unit information as specified in the file.

F5_API int F5setTimeUnit ( hid_t  file_id,
const F5_TimeParameter  

Set the time unit globally for the given file.

Non-zero indicates that an incompatible time unit has already been set and was not overriden. The caller should take special care to write new data into a different file then.