threedi-modelchecker
A tool to verify the correctness of a Rana HCC schematisation.
It asserts the correctness of a HCC schematisation and provides detailed information about any potential errors in it.
This package only works against a specific schematisation version. Use https://pypi.org/project/threedi-schema/ to upgrade a schematisation version. See also the Rana documentation at https://docs.ranawaterintelligence.com/b_modelling_workflow.html.
Note that the name “modelchecker” might be slightly confusing: the thing that is checked is a schematisation, and not a (computational) model. A schematisation is built interactively by the user and this schematisation will later be converted to a model which can be used in simulations.
Installation
pip install threedi-modelchecker
Note that raster checks will be skipped unless GDAL is available. threedi-modelchecker is also integrated into the Rana Results Analysis Qgis plugin: https://github.com/nens/threedi-results-analysis.
Example
The following code sample shows how you can use the modelchecker to run all configured checks and print an overview of all discovered errors:
from threedi_modelchecker.exporters import format_check_results
from threedi_modelchecker import ThreediModelChecker
from threedi_schema import ThreediDatabase
sqlite_file = "<Path to your sqlite file>"
database = ThreediDatabase(sqlite_file)
model_checker = ThreediModelChecker(database)
for check, error in model_checker.errors(level="WARNING"):
print(format_check_results(check, error))
Command-line interface
Use the modelchecker from the command line as follows:
threedi_modelchecker check -s path/to/model.sqlite -l warning
By default, WARNING and INFO checks are ignored. To skip the beta features check, add the –allow-beta flag.
Development
Virtual environment
Create a virtual environment. First install the native system GDAL library:
sudo apt install libgdal-dev
Then set up a virtual environment.
python -m venv venv source venv/bin/activate pip install -e “.[test,rasterio]” pip install GDAL==$(gdal-config –version) –no-build-isolation –no-cache-dir –force-reinstall
Test your virtual environment by running the tests:
pytest
Container
A docker image has been created for easy development. It contains a PostGIS server with an empty 3Di database to allow for easy testing.
Build the image:
docker-compose build
Run the tests:
docker-compose run modelchecker pytest
See Creating revisions for instructions on how to change the HCC model schematisation.
Release
Make sure you have zestreleaser installed.
fullrelease
When you created a tag, make sure to upload it to pypi.
Metadata
Release files for threedi-modelchecker 2.18.26
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| threedi_modelchecker-2.18.26.tar.gz | 639.1 kB | Without provenance | Details for threedi_modelchecker-2.18.26.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| threedi_modelchecker-2.18.26-py3-none-any.whl | Python 3 | none | any | Details for threedi_modelchecker-2.18.26-py3-none-any.whl |
Total release size: 1.3 MB
Release files / threedi_modelchecker-2.18.26.tar.gz
| Download URL | threedi_modelchecker-2.18.26.tar.gz |
|---|---|
| Size | 639.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a1b24681bdfbd1c88506e137f7b24c8b79a2d061595fa14226d72e3fc39d18a9
|
|
BLAKE2b-256 checksum How to use checksums |
b8d3b2f1539822a10d056a7d66e4181e5293baf34444905eb3904ed23052f241
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / threedi_modelchecker-2.18.26-py3-none-any.whl
| Download URL | threedi_modelchecker-2.18.26-py3-none-any.whl |
|---|---|
| Size | 643.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8ef8667681450d87594febb0f9b2f14543cc653d85eddd48e3a5729bec76dbf5
|
|
BLAKE2b-256 checksum How to use checksums |
01e75f8919d893950bda9a05bf9ee12180778c1a002989b8216fe653ae4d975f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for threedi-modelchecker 2.18.26
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.