openearth / delft3dfmpy

Delft3D Flexible Mesh Python
MIT License
29 stars 17 forks source link

HydroObject required columns inconsistency #44

Closed LisaWeijers closed 2 years ago

LisaWeijers commented 2 years ago

I found an inconsistency about which columns are required for an HydroObject. Perhaps it's sementics, but it would be nice to clear this up.

delft3dfmpy In hydamo.py lines 23 to 28:

        # Create standard dataframe for network, crosssections, orifices, weirs
        self.branches = ExtendedGeoDataFrame(geotype=LineString, required_columns=[
            'code',
            'geometry',
            'typeruwheid',            
        ])

NHI Datamodel V13 https://www.nhi.nu/nl/index.php/uitvoering/actueel/hydamo/ The excel lists the following mandatory columns: Shape, ruwheidstypecode, ruwheidswaardelaag, ruwheidswaardehoog.

D-Hydamo wiki https://hkvconfluence.atlassian.net/wiki/spaces/DHYD/pages/222593078/Waterloop Only lists code & globalID.

So, there are three different requirements around. The wiki is very nice and easy to use as a reference, but in this case lists too little. Can someone clear up why these are different and what is correct?

LisaWeijers commented 2 years ago

@rinekeh @emielverstegen

RuudHurkmans commented 2 years ago

It is indeed quite confusing. In this case the wiki is how we intended though.

Hydamo.py is indeed not consistent with the wiki (included in the next version).
The fields in NHI Datamodel V13 are not up to date anymore,; we now follow HyDAMO DAMO2.2 (at least, for HyDAMO v2.0.1).

Based on the HyDAMO_2.2.json, which is also used by the Validatietool, Hydroobject requires the following columns: 'categorieoppwaterlichaam','globalid','nen3610id','objectid','ruwheidhoog','ruwheidlaag','typeruwheid'

However, we chose not to include all these fields in D-Hydamo because they are not needed to build a model. The 'ruwheid'-fields are taken from the ruwheidprofiel object, and not from hydroobject.

We added a 'code' field to hydroobject, because globalid is not suitable to use in a model (it is a 16-digit complex string).

Hope this helps.

LisaWeijers commented 2 years ago

@RuudHurkmans Ah thanks, that does clear things up! We did also use the NHI Datamodel V13. Thanks for explaining :)