- BDI knows what shape every component in an NDF should be given the
dimensions of the data array. Checks dimensions of all file components
on read/update. No create component routines needed.
- Supports access to structures of type ARRAY as if they are simple
arrays of numbers. Lets you do
add file.axis(1).data_array 2.0 over
without worrying about representation of the array
- Fewer basic routines. Switching by object is performed using the item
argument. Means applications can loop over file components.
- Consistent argument ordering
fileid, [<iax>], <item>, <mode>, [<type>], status
- Access multiple bits of data simultaneously, means fewer calls
required.
- Asymmetric widths supported on all axes
- Can refer to axes using physical quantity codes, eg. X,Y,E,T,P for X
position, Y position, energy, time and phase, eg.
bdi_mapr( id, 'E_Axis_Data', 'READ', eptr, status )
- Invented data supported for read, update and write where appropriate.
- No create routines needed. Objects are created on demand so its harder
to create objects which are subsequently unused
- No common block, no limit on number of active datasets