You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Working through adding the save function to the Python interface, it has become clear to me that the available documentation AND the underlying capability flags for Driver Capabilities are inconsistent and incomplete.
I created a small Python app to tabulate the underlying Capability flags as accessed through the C API and the results look like this where "Vertex Data" for instance means the write Capability for Vertex data since there is no flag for read capability
Driver
Description
Load Mesh
Save Mesh
Vertex Data
Face Data
Edge Date
Volume Data
2DM
2DM Mesh File
True
True
False
False
False
False
XMS_TIN
XMS Tin Mesh File
True
False
False
False
False
False
SELAFIN
Selafin File
True
True
True
False
False
False
ESRI_TIN
Esri TIN
True
False
False
False
False
False
PLY
Stanford PLY Ascii Mesh File
True
False
False
False
False
False
FLO2D
Flo2D
True
False
False
True
False
False
HEC2D
HEC-RAS 2D
True
False
False
False
False
False
TUFLOWFV
TUFLOW FV
True
False
False
False
False
False
SWW
AnuGA
True
False
False
False
False
False
Ugrid
UGRID Results
True
True
False
False
False
False
NETCDF
GDAL NetCDF
True
False
False
False
False
False
GRIB
GDAL Grib
True
False
False
False
False
False
ASCII_DAT
DAT
False
False
True
True
True
False
BINARY_DAT
Binary DAT
False
False
True
False
False
False
XMDF
TUFLOW XMDF
False
False
False
False
False
False
XDMF
XDMF
False
False
False
False
False
False
Some Issues:
The set of capabilities seem incomplete. It seems important to know what types of data can read as well as written. Also - while it seems ok to assume that "load meshes" assumes support for 2.5D meshes (i.e. meshes with either 2D or 3D vertices), it seems that there should be a flag for support of 1D meshes. I will probably submit a PR proposing some changes when I can get it together,
The actual contents of Capability flags seems ... un-expected. As an example - the flags say that the Ugrid driver cannot save any of the forms of data while in other correspondence it seems that it can save volumetric data? I think that there needs to be review of the flag settings for all drivers.
The documentation is not clear, is not consistent between the README and the docs and not consistent with the flags. I think that we need to create an automatic link between the docs and the capability flags. I can see a way of doing this using the Python bindings and will against submit a PR.
The text was updated successfully, but these errors were encountered:
Working through adding the save function to the Python interface, it has become clear to me that the available documentation AND the underlying capability flags for Driver Capabilities are inconsistent and incomplete.
I created a small Python app to tabulate the underlying Capability flags as accessed through the C API and the results look like this where "Vertex Data" for instance means the write Capability for Vertex data since there is no flag for read capability
Some Issues:
The set of capabilities seem incomplete. It seems important to know what types of data can read as well as written. Also - while it seems ok to assume that "load meshes" assumes support for 2.5D meshes (i.e. meshes with either 2D or 3D vertices), it seems that there should be a flag for support of 1D meshes. I will probably submit a PR proposing some changes when I can get it together,
The actual contents of Capability flags seems ... un-expected. As an example - the flags say that the Ugrid driver cannot save any of the forms of data while in other correspondence it seems that it can save volumetric data? I think that there needs to be review of the flag settings for all drivers.
The documentation is not clear, is not consistent between the README and the docs and not consistent with the flags. I think that we need to create an automatic link between the docs and the capability flags. I can see a way of doing this using the Python bindings and will against submit a PR.
The text was updated successfully, but these errors were encountered: