Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Driver Capability data and documentation is inconsistent and incomplete #361

Open
runette opened this issue Jun 21, 2021 · 0 comments
Open
Labels

Comments

@runette
Copy link
Contributor

runette commented Jun 21, 2021

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants