{"id":111926,"name":"D-EcoImpact","description":"A Python based kernel to perform spatialenvironmental impact assessment.","url":"https://github.com/deltares/d-ecoimpact","last_synced_at":"2026-05-31T04:30:20.361Z","repository":{"id":198435524,"uuid":"587300950","full_name":"Deltares/D-EcoImpact","owner":"Deltares","description":"A Python based kernel to perform spatial (environmental) impact assessment","archived":false,"fork":false,"pushed_at":"2026-03-04T14:00:59.000Z","size":58851,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-05-20T00:39:14.637Z","etag":null,"topics":["ecological-modelling","environmental-modeling","environmental-modelling"],"latest_commit_sha":null,"homepage":"https://deltares.github.io/D-EcoImpact/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Deltares.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-01-10T12:42:04.000Z","updated_at":"2026-05-04T13:26:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"9d0f46bb-b0a3-4aba-9c9e-555fefffd9f9","html_url":"https://github.com/Deltares/D-EcoImpact","commit_stats":{"total_commits":870,"total_committers":17,"mean_commits":51.1764705882353,"dds":0.7252873563218392,"last_synced_commit":"aa0ccab62785519150ad9ad00c70f9178baca9a5"},"previous_names":["deltares/d-ecoimpact"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/Deltares/D-EcoImpact","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Deltares%2FD-EcoImpact","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Deltares%2FD-EcoImpact/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Deltares%2FD-EcoImpact/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Deltares%2FD-EcoImpact/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Deltares","download_url":"https://codeload.github.com/Deltares/D-EcoImpact/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Deltares%2FD-EcoImpact/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33320462,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-21T12:23:38.849Z","status":"ssl_error","status_checked_at":"2026-05-21T12:22:11.673Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"Deltares","name":"Deltares","uuid":"6613768","kind":"organization","description":"Deltares is an independent institute for applied research in the field of water and subsurface.","email":"oss@deltares.nl","website":"https://www.deltares.nl/en/","location":"Delft, The Netherlands","twitter":"deltares","company":null,"icon_url":"https://avatars.githubusercontent.com/u/6613768?v=4","repositories_count":74,"last_synced_at":"2023-03-03T19:30:55.614Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/Deltares","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-14T05:01:42.628Z","updated_at":"2023-03-03T19:30:55.654Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Deltares","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Deltares/repositories"},"packages":[],"commits":{"id":1398328,"full_name":"deltares/d-ecoimpact","default_branch":"main","total_commits":994,"total_committers":12,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":82.83333333333333,"dds":0.744466800804829,"past_year_total_commits":77,"past_year_total_committers":4,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":19.25,"past_year_dds":0.2727272727272727,"last_synced_at":"2026-05-28T03:37:19.266Z","last_synced_commit":"a5bc87e11c85a8554fcf615e7f2573fcc829fa2e","created_at":"2023-10-08T00:06:35.902Z","updated_at":"2026-05-26T02:01:25.732Z","committers":[{"name":"mKlapwijk","email":"maarten.klapwijk@deltares.nl","login":"mKlapwijk","count":254},{"name":"CindyvdVries","email":"cindyvdvries@gmail.com","login":"CindyvdVries","count":186},{"name":"Hidde Elzinga","email":"Hidde.Elzinga@Deltares.nl","login":"HiddeElzinga","count":172},{"name":"Wouter","email":"wouter.schoonveld@deltares.nl","login":"wschoonveld","count":146},{"name":"IoannaMi","email":"ioannamicha@hotmail.com","login":"IoannaMi","count":70},{"name":"github-actions","email":"github-actions@github.com","login":"invalid-email-address","count":68},{"name":"Wouter","email":"wschoonveld@gmail.com","login":null,"count":66},{"name":"Marc Weeber","email":"41464989+MPWeeber","login":"MPWeeber","count":15},{"name":"David Rodriguez Aguilera","email":"32545627+Davidrag","login":"Davidrag","count":10},{"name":"Mostafa Farrag","email":"moah.farag@gmail.com","login":"MAfarrag","count":3},{"name":"Marie-Lou David","email":"marielou.David@deltares.nl","login":"loudavid","count":3},{"name":"Qinghua_ye","email":"113536652+ye4deltares","login":"ye4deltares","count":1}],"past_year_committers":[{"name":"Wouter Schoonveld","email":"wouter.schoonveld@deltares.nl","login":"wschoonveld","count":56},{"name":"Hidde Elzinga","email":"hidde.elzinga@deltares.nl","login":"HiddeElzinga","count":11},{"name":"github-actions","email":"github-actions@github.com","login":"invalid-email-address","count":7},{"name":"Marie-Lou David","email":"marielou.David@deltares.nl","login":"loudavid","count":3}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/deltares%2Fd-ecoimpact/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-30T00:00:22.241Z","repositories_count":6248134,"commits_count":883582812,"contributors_count":34988696,"owners_count":1160320,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"deltares/d-ecoimpact","html_url":"https://github.com/deltares/d-ecoimpact","last_synced_at":"2026-05-26T02:00:56.684Z","status":"error","issues_count":1,"pull_requests_count":183,"avg_time_to_close_issue":2030673.0,"avg_time_to_close_pull_request":369080.24550898204,"issues_closed_count":1,"pull_requests_closed_count":167,"pull_request_authors_count":9,"issue_authors_count":1,"avg_comments_per_issue":0.0,"avg_comments_per_pull_request":0.4918032786885246,"merged_pull_requests_count":144,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":14,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":697345.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":10,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.8571428571428571,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":8,"created_at":"2023-10-08T00:06:37.664Z","updated_at":"2026-05-26T02:00:56.684Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/deltares%2Fd-ecoimpact","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/deltares%2Fd-ecoimpact/issues","issue_labels_count":{"enhancement":1},"pull_request_labels_count":{},"issue_author_associations_count":{"OWNER":1},"pull_request_author_associations_count":{"COLLABORATOR":119,"CONTRIBUTOR":64},"issue_authors":{"YoRyan":1},"pull_request_authors":{"CindyvdVries":61,"wschoonveld":38,"mKlapwijk":37,"HiddeElzinga":24,"IoannaMi":12,"Davidrag":5,"MPWeeber":3,"MAfarrag":2,"ye4deltares":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-27T00:00:36.817Z","repositories_count":14705444,"issues_count":33808219,"pull_requests_count":110894489,"authors_count":11275694,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":8,"COLLABORATOR":6},"past_year_issue_authors":{},"past_year_pull_request_authors":{"HiddeElzinga":8,"wschoonveld":6},"maintainers":[{"login":"CindyvdVries","count":61,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/CindyvdVries"},{"login":"wschoonveld","count":30,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wschoonveld"},{"login":"mKlapwijk","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mKlapwijk"},{"login":"YoRyan","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/YoRyan"}],"active_maintainers":[{"login":"wschoonveld","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wschoonveld"}]},"events":{"total":{"DeleteEvent":11,"PullRequestEvent":22,"ForkEvent":1,"WatchEvent":1,"IssueCommentEvent":27,"PushEvent":73,"PullRequestReviewEvent":16,"PullRequestReviewCommentEvent":5,"CreateEvent":13},"last_year":{"DeleteEvent":5,"PullRequestEvent":10,"WatchEvent":1,"IssueCommentEvent":14,"PushEvent":29,"PullRequestReviewEvent":5,"CreateEvent":2}},"keywords":["ecological-modelling","environmental-modeling","environmental-modelling"],"dependencies":[],"score":4.430816798843313,"created_at":"2023-10-08T00:03:20.569Z","updated_at":"2026-05-31T04:30:20.362Z","avatar_url":"https://github.com/Deltares.png","language":"Python","category":"Biosphere","sub_category":"Ecological and Environmental Modeling","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![TeamCity build status](https://dpcbuild.deltares.nl/app/rest/builds/buildType:id:DEcoImpact_UnitTests/statusIcon.svg)](https://dpcbuild.deltares.nl/viewType.html?buildTypeId=DEcoImpact_UnitTests)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=Deltares_D-EcoImpact\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=Deltares_D-EcoImpact)\n\n# D-EcoImpact\n\nA Python based kernel to perform spatial (environmental) impact assessment. Based on knowledge rules applied to model output and/or measurements.\nThe dependencies of the D-EcoImpact are declared, managed and installed with [Poetry](https://python-poetry.org/).\n\n## Copyright\nCopyright \u0026copy; 2022-2023 Stichting Deltares\n\nThis program is free software: you can redistribute it and/or modify it\nunder the terms of the GNU Affero General Public License version 3.0 as\npublished by the Free Software Foundation.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Affero General Public License for more details.\n\nA copy of the GNU General Public License can be found at  \n\u003chttps://github.com/Deltares/D-EcoImpact/blob/main/LICENSE.md\u003e  \nand at  \n\u003chttp://www.gnu.org/licenses/\u003e\n\nContact:  software@deltares.nl  \nStichting Deltares  \nP.O. Box 177  \n2600 MH Delft, The Netherlands\n\nAll indications and logos of, and references to registered trademarks\nof Stichting Deltares remain the property of Stichting Deltares. All\nrights reserved.\n\n## Prerequisites\n\n- python 3.9 or higher\n- poetry 1.3 or higher we recommend: ([installation instructions](https://python-poetry.org/docs/#installation))\n\nIf you prefer to install poetry with conda then we recommed to install poetry only to the base environment:\n\n```sh\n$ conda install -y -c conda-forge poetry\n```\n\n## Install\n\nTo install the dependencies of the project create a virtual environment either with `venv` or `conda`.\\\nSwitch to this environment and use `poetry` to restore the package dependencies.\n\n### Create environment\n\n\u003e Whereby **\u003cenv_name\u003e** stands for your chosen environment name.\n\u003e\n\u003e The name can not contain any spaces or special characters.\n\n#### Anaconda or Miniconda:\n\n- Create `conda` environment\n  ```sh\n  $ conda create -y -c pip --name \u003cenv_name\u003e python=3.11\n  ```\n- Activate `conda` environment\n  ```sh\n  $ conda activate \u003cenv_name\u003e\n  ```\n\n### venv:\n\n- Create `venv` virtual environment\n\n  ```sh\n  $ python -m venv \u003cenv_name\u003e\n  ```\n\n- Activate `venv` environment\n  ```\n  $ .\\env\\Scripts\\activate\n  ```\n\n(see\n[Documentation](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/#creating-a-virtual-environment))\n\n### Add dependencies\n\n```sh\n$ poetry install\n```\n\n## Run\n\nMake sure you have a correct input file available in the main folder (eg. input_file.yaml) and use this as the first keyword argument when running the code through command line:\n\n```sh\n$ python main.py input_file.yaml\n```\n\n## Development\n\nWhen adding a new dependency, do so using `poetry`\n\n- Add a new dependency\n\n  ```sh\n  $ poetry add \u003cpackage\u003e\n  ```\n\n- Add a new dependency for development\n  ```sh\n  $ poetry add \u003cpackage\u003e --dev\n  ```\n\n### Versioning\nThe version looks like this: major.minor.patch\n- The repository depends on automatic versioning through github actions. For each commit, the patch version will be increased in the \n  pyproject.toml.\n- The major and minor version will only be updated by a manual trigger through github actions (triggering the 'release.yaml') in which case a tag will be created.\n\n## Documentation\n\nThere are mkdocs available for documentation on how to use this code.\nFor now these are available offline by running the command:\n\n```\n$ mkdocs serve\n```\n\nThe pages will be served locally and available on one of you local ports. When executing this command in the INFO messages the location will be shown where the docs are available:\n\n```\nINFO     -  [10:44:34] Serving on http://127.0.0.1:8000/\n```\n\nIn this case the docs are available on http://127.0.0.1:8000/ or http://localhost:8000\n\nFor each release a version of documentation is available at: \n[deltares.github.io/D-EcoImpact/](deltares.github.io/D-EcoImpact/)\n\n## Add acceptance tests\n\nTo add an acceptance test:\n\n- Create the [name].yaml file and store it in the tests_acceptance/input_yaml_files\n- Put the [name].nc at the tests_acceptance/reference_nc_files folder. \\* Note that the .nc file should have the same name as the .yaml file.\n- To test if it is working correctly run: poetry run pytest tests_acceptance/test_main.py\n\n\n\n## Docker image\n\n### Build\nTo build the docker image, run the following command in the root of the project:\n\n```sh\n\n$ ./build-image.sh\n\n```\n\n### Pull\n\nTo pull the docker image from the docker hub, run the following command:\n\n```sh \n\n$ docker pull ghcr.io/deltares/d-ecoimpact:latest\n\n```\n\n### Authentication with GitHub Container Registry\nBefore building your Docker image, ensure you're authenticated with GHCR to allow pulling private images. Use the \ndocker login command with your GitHub username and a Personal Access Token (PAT) that has the appropriate scopes \n(read:packages at a minimum).\n\n```bash\necho \"YOUR_PERSONAL_ACCESS_TOKEN\" | docker login ghcr.io -u YOUR_GITHUB_USERNAME --password-stdin\n```\n\n\n\n## How to Cite\nIf you found D-Eco Impact useful for your study, please cite it as:\n\nWeeber, M., Elzinga, H., Schoonveld, W., Van de Vries, C., Klapwijk, M., Mischa, I., Rodriguez Aguilera, D., Farrag, M., Ye, Q., Markus, A., Van Oorschot, M., Saager, P., \u0026 Icke, J. (2024). D-Eco Impact (v0.3.0). Zenodo. https://doi.org/10.5281/zenodo.10941913\n\n\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.5281/zenodo.10941913"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["mapbox-gl-js","ogc-services","viewer"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/111926","html_url":"https://ost.ecosyste.ms/projects/111926"}