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

Note on DSS Version 6 versus DSS Version 7 grid records. #36

Open
ktarbet opened this issue Jan 21, 2022 · 7 comments
Open

Note on DSS Version 6 versus DSS Version 7 grid records. #36

ktarbet opened this issue Jan 21, 2022 · 7 comments

Comments

@ktarbet
Copy link
Contributor

ktarbet commented Jan 21, 2022

The DSS C/Fortran library hec-dss does not support writing DSS6 Grids. However, hec-dss has some support for Reading DSS6 grids. That same limitation is passed onto pydsstools, or any Non-Java tool or application. The intent is for hec-dss to focus on DSS Version 7 and retire the DSS 6 Java/Fortran based file format.

Tools such as HMS, DSSVue, and Vortex use underlying Java libraries that support both DSS6 and DSS7 files. The feature of Writing DSS6 girds is performed with both Java and hec-dss . For DSS6 grids Java defines the byte order of data and hec-dss performs the disk IO. For DSS7 grids hec-dss performs all the steps.

Developers seeking a pure C, or non-Java stack have used a pattern of working with DSS 7 files, and converting to DSS 6 only as needed. For example Cumulus uses DSS7 for cloud based processing of grids, and relies on Windows client side apps to convert to DSS6 when needed.

@gyanz
Copy link
Owner

gyanz commented Jan 24, 2022

@ktarbet Thanks for posting this useful information. I am curious about your statement that HMS supports both DSS6 and DSS7. Does this mean HMS is able to read DSS7 grid data?

@ktarbet
Copy link
Contributor Author

ktarbet commented Jan 24, 2022

I think HMS can read DSS 7 grids. @tombrauer would you please confirm?

@tombrauer
Copy link

HEC-HMS can read both 6 and 7. HEC-HMS will write in DSS version 6 by default. We are working on a full adoption of DSS 7 where we would write to DSS 7 by default, rather than 6.

@gyanz
Copy link
Owner

gyanz commented Jan 24, 2022

@tombrauer What is the minimum HEC-HMS version that supports DSS 7?

@tombrauer
Copy link

@gyanz I can't say with certainty without doing some testing. I would guess v4.4. Could be v4.3.

@tombrauer
Copy link

From the commit history, it looks like DSS7 read capability started in v4.3, released in September 2018.

@gyanz
Copy link
Owner

gyanz commented Jan 23, 2024

@ktarbet In your earlier statement, you mentioned that a Java library defines the byte order, and hec-dss manages the input and output operations for DSS6 grid in HEC's application. Is the source code of the Java library publicly accessible? If so, could you share it with me, as I would like to incorporate it into pydsstools?

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

No branches or pull requests

3 participants