{"id":20461,"name":"ParFlow","description":"An open-source, modular, parallel watershed flow model.","url":"https://github.com/parflow/parflow","last_synced_at":"2026-05-12T19:30:53.856Z","repository":{"id":8751316,"uuid":"59628298","full_name":"parflow/parflow","owner":"parflow","description":"Parflow is an open-source parallel watershed flow model.","archived":false,"fork":false,"pushed_at":"2025-10-21T00:08:19.000Z","size":109942,"stargazers_count":193,"open_issues_count":111,"forks_count":119,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-10-23T12:37:44.276Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://parflow.org","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/parflow.png","metadata":{"files":{"readme":"README-GPU.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","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":"2016-05-25T03:35:57.000Z","updated_at":"2025-10-21T16:02:50.000Z","dependencies_parsed_at":"2023-09-21T19:27:07.188Z","dependency_job_id":"b4bade61-a4a3-4925-81d3-215bac4f8bc5","html_url":"https://github.com/parflow/parflow","commit_stats":{"total_commits":865,"total_committers":48,"mean_commits":"18.020833333333332","dds":"0.34566473988439306","last_synced_commit":"95058cb704337479839ba30b1dfaf22a3d5ab36b"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/parflow/parflow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/parflow","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/sbom","scorecard":{"id":720395,"data":{"date":"2025-08-11","repo":{"name":"github.com/parflow/parflow","commit":"6f4fdf065b49df1e4c51957b1e3e5f77beb22fd6"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.4,"checks":[{"name":"Code-Review","score":5,"reason":"Found 16/30 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"19 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/linux.yml:1","Warn: no topLevel permission defined: .github/workflows/macos.yml:1","Warn: no topLevel permission defined: .github/workflows/self_hosted.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":6,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'master'","Info: 'force pushes' disabled on branch 'master'","Warn: required approving review count is 1 on branch 'master'","Warn: codeowners review is not required on branch 'master'","Warn: no status checks found to merge onto branch 'master'","Info: PRs are required in order to make changes on branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Vulnerabilities","score":0,"reason":"10 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2021-387 / GHSA-j8fq-86c5-5v2r","Warn: Project is vulnerable to: PYSEC-2018-34 / GHSA-2fc2-6r4j-p65h","Warn: Project is vulnerable to: PYSEC-2021-856 / GHSA-5545-2q6w-2gh6","Warn: Project is vulnerable to: PYSEC-2019-108 / GHSA-9fq2-x9r6-wfmf","Warn: Project is vulnerable to: PYSEC-2018-33 / GHSA-cw6w-4rcx-xphc","Warn: Project is vulnerable to: PYSEC-2021-857 / GHSA-f7c7-j99h-c22f","Warn: Project is vulnerable to: GHSA-fpfv-jqm9-f5jm","Warn: Project is vulnerable to: PYSEC-2017-1 / GHSA-frgw-fgh6-9g52","Warn: Project is vulnerable to: PYSEC-2020-73","Warn: Project is vulnerable to: PYSEC-2024-48 / GHSA-fj7x-q9j7-g6q6"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: pftools/pfbtosa:0","Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: pftools/pfbtosilo:0","Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: pftools/pfbtovis:0","Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: pftools/pflocked.tcl:0","Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: pftools/pfwrite.tcl:0","Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: pftools/tkdiff.tcl:0","Info: Possibly incomplete results: error parsing shell code: \"}\" can only be used to close a block: pftools/winsync.tcl:0","Info: Possibly incomplete results: error parsing shell code: \"}\" can only be used to close a block: pftools/xparflow.tcl:0","Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: pftools/xpfci.tcl:0","Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: pftools/xpfmpeg.tcl:0","Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: pftools/xpftools.sh:0","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/parflow/parflow/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/parflow/parflow/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:246: update your workflow using https://app.stepsecurity.io/secureworkflow/parflow/parflow/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:278: update your workflow using https://app.stepsecurity.io/secureworkflow/parflow/parflow/linux.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/linux.yml:339: update your workflow using https://app.stepsecurity.io/secureworkflow/parflow/parflow/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/macos.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/parflow/parflow/macos.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/macos.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/parflow/parflow/macos.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/macos.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/parflow/parflow/macos.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/macos.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/parflow/parflow/macos.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/macos.yml:49: update your workflow using https://app.stepsecurity.io/secureworkflow/parflow/parflow/macos.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/self_hosted.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/parflow/parflow/self_hosted.yml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:4: pin your Docker image by updating ubuntu:22.04 to ubuntu:22.04@sha256:1aa979d85661c488ce030ac292876cf6ed04535d3a237e49f61542d8e5de5ae0","Warn: containerImage not pinned by hash: Dockerfile_CUDA:11","Warn: containerImage not pinned by hash: docker/dev/Dockerfile:29","Warn: containerImage not pinned by hash: docker/runtime/Dockerfile:4","Warn: containerImage not pinned by hash: docker/runtime/Dockerfile:5","Warn: pipCommand not pinned by hash: docker/dev/Dockerfile:162","Warn: pipCommand not pinned by hash: docker/runtime/Dockerfile:45","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned","Info:   0 out of   5 containerImage dependencies pinned","Info:   0 out of   2 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}}]},"last_synced_at":"2025-08-22T11:08:02.017Z","repository_id":8751316,"created_at":"2025-08-22T11:08:02.017Z","updated_at":"2025-08-22T11:08:02.017Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280943393,"owners_count":26417747,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-25T02:00:06.499Z","response_time":81,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":"parflow","name":"Parflow","uuid":"19506192","kind":"organization","description":"ParFlow is an integrated, parallel watershed model that makes use of high-performance computing to simulate surface and subsurface fluid flow.","email":null,"website":"https://www.parflow.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/19506192?v=4","repositories_count":5,"last_synced_at":"2023-08-16T03:55:01.501Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/parflow","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-07T09:19:03.351Z","updated_at":"2023-08-16T03:55:01.585Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/parflow","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/parflow/repositories"},"packages":[{"id":11733470,"name":"github.com/parflow/parflow","ecosystem":"go","description":null,"homepage":null,"licenses":"other","normalized_licenses":["GPL-1.0+"],"repository_url":"https://github.com/parflow/parflow","keywords_array":[],"namespace":null,"versions_count":17,"first_release_published_at":"2025-06-05T11:16:46.709Z","latest_release_published_at":"2025-08-21T19:04:37.000Z","latest_release_number":"v3.14.1+incompatible","last_synced_at":"2025-10-29T20:07:20.316Z","created_at":"2025-06-05T11:16:20.227Z","updated_at":"2025-10-29T20:07:20.316Z","registry_url":"https://pkg.go.dev/github.com/parflow/parflow","install_command":"go get github.com/parflow/parflow","documentation_url":"https://pkg.go.dev/github.com/parflow/parflow#section-documentation","metadata":{},"repo_metadata":{"id":8751316,"uuid":"59628298","full_name":"parflow/parflow","owner":"parflow","description":"Parflow is an open-source parallel watershed flow model.","archived":false,"fork":false,"pushed_at":"2025-09-19T18:08:33.000Z","size":109416,"stargazers_count":190,"open_issues_count":101,"forks_count":117,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-09-23T23:44:32.907Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://parflow.org","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/parflow.png","metadata":{"files":{"readme":"README-GPU.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","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":"2016-05-25T03:35:57.000Z","updated_at":"2025-09-23T05:27:05.000Z","dependencies_parsed_at":"2023-09-21T19:27:07.188Z","dependency_job_id":"b4bade61-a4a3-4925-81d3-215bac4f8bc5","html_url":"https://github.com/parflow/parflow","commit_stats":{"total_commits":865,"total_committers":48,"mean_commits":"18.020833333333332","dds":"0.34566473988439306","last_synced_commit":"95058cb704337479839ba30b1dfaf22a3d5ab36b"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/parflow/parflow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/parflow","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/sbom","scorecard":{"id":720395,"data":{"date":"2025-08-11","repo":{"name":"github.com/parflow/parflow","commit":"6f4fdf065b49df1e4c51957b1e3e5f77beb22fd6"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.4,"checks":[{"name":"Code-Review","score":5,"reason":"Found 16/30 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"19 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/linux.yml:1","Warn: no topLevel permission defined: .github/workflows/macos.yml:1","Warn: no topLevel permission defined: .github/workflows/self_hosted.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":6,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'master'","Info: 'force pushes' disabled on branch 'master'","Warn: required approving review count is 1 on branch 'master'","Warn: codeowners review is not required on branch 'master'","Warn: no status checks found to merge onto branch 'master'","Info: PRs are required in order to make changes on branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Vulnerabilities","score":0,"reason":"10 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2021-387 / GHSA-j8fq-86c5-5v2r","Warn: Project is vulnerable to: PYSEC-2018-34 / GHSA-2fc2-6r4j-p65h","Warn: Project is vulnerable to: PYSEC-2021-856 / GHSA-5545-2q6w-2gh6","Warn: Project is vulnerable to: PYSEC-2019-108 / GHSA-9fq2-x9r6-wfmf","Warn: Project is vulnerable to: PYSEC-2018-33 / GHSA-cw6w-4rcx-xphc","Warn: Project is vulnerable to: PYSEC-2021-857 / GHSA-f7c7-j99h-c22f","Warn: Project is vulnerable to: GHSA-fpfv-jqm9-f5jm","Warn: Project is vulnerable to: PYSEC-2017-1 / GHSA-frgw-fgh6-9g52","Warn: Project is vulnerable to: PYSEC-2020-73","Warn: Project is vulnerable to: PYSEC-2024-48 / GHSA-fj7x-q9j7-g6q6"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: pftools/pfbtosa:0","Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: pftools/pfbtosilo:0","Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: pftools/pfbtovis:0","Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: pftools/pflocked.tcl:0","Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: pftools/pfwrite.tcl:0","Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: pftools/tkdiff.tcl:0","Info: Possibly incomplete results: error parsing shell code: \"}\" can only be used to close a block: pftools/winsync.tcl:0","Info: Possibly incomplete results: error parsing shell code: \"}\" can only be used to close a block: pftools/xparflow.tcl:0","Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: pftools/xpfci.tcl:0","Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: pftools/xpfmpeg.tcl:0","Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: pftools/xpftools.sh:0","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/parflow/parflow/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/parflow/parflow/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:246: update your workflow using https://app.stepsecurity.io/secureworkflow/parflow/parflow/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:278: update your workflow using https://app.stepsecurity.io/secureworkflow/parflow/parflow/linux.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/linux.yml:339: update your workflow using https://app.stepsecurity.io/secureworkflow/parflow/parflow/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/macos.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/parflow/parflow/macos.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/macos.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/parflow/parflow/macos.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/macos.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/parflow/parflow/macos.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/macos.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/parflow/parflow/macos.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/macos.yml:49: update your workflow using https://app.stepsecurity.io/secureworkflow/parflow/parflow/macos.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/self_hosted.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/parflow/parflow/self_hosted.yml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:4: pin your Docker image by updating ubuntu:22.04 to ubuntu:22.04@sha256:1aa979d85661c488ce030ac292876cf6ed04535d3a237e49f61542d8e5de5ae0","Warn: containerImage not pinned by hash: Dockerfile_CUDA:11","Warn: containerImage not pinned by hash: docker/dev/Dockerfile:29","Warn: containerImage not pinned by hash: docker/runtime/Dockerfile:4","Warn: containerImage not pinned by hash: docker/runtime/Dockerfile:5","Warn: pipCommand not pinned by hash: docker/dev/Dockerfile:162","Warn: pipCommand not pinned by hash: docker/runtime/Dockerfile:45","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned","Info:   0 out of   5 containerImage dependencies pinned","Info:   0 out of   2 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}}]},"last_synced_at":"2025-08-22T11:08:02.017Z","repository_id":8751316,"created_at":"2025-08-22T11:08:02.017Z","updated_at":"2025-08-22T11:08:02.017Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277141484,"owners_count":25768238,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-26T02:00:09.010Z","response_time":78,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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_record":{"login":"parflow","name":"Parflow","uuid":"19506192","kind":"organization","description":"ParFlow is an integrated, parallel watershed model that makes use of high-performance computing to simulate surface and subsurface fluid flow.","email":null,"website":"https://www.parflow.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/19506192?v=4","repositories_count":5,"last_synced_at":"2023-08-16T03:55:01.501Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/parflow","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-07T09:19:03.351Z","updated_at":"2023-08-16T03:55:01.585Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/parflow","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/parflow/repositories"},"tags":[{"name":"v3.14.1","sha":"03047c20f61b54bed7e3ff73ba83c2f99d9be32e","kind":"commit","published_at":"2025-08-21T19:04:37.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.14.1","html_url":"https://github.com/parflow/parflow/releases/tag/v3.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/parflow/parflow@v3.14.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.14.1/manifests"},{"name":"v3.14.0","sha":"205b61eaca42545ca667a732399a67e4b8d6ad1d","kind":"commit","published_at":"2025-08-20T21:07:44.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.14.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/parflow/parflow@v3.14.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.14.0/manifests"},{"name":"v3.13.0","sha":"77316043227b95215744e58fe9005d35145432ab","kind":"commit","published_at":"2024-04-17T22:33:08.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.13.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/parflow/parflow@v3.13.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.13.0/manifests"},{"name":"v3.12.0","sha":"6ea209875f6478450ec0dbbff313ca7a97291b92","kind":"commit","published_at":"2023-01-06T18:26:45.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.12.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/parflow/parflow@v3.12.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.12.0/manifests"},{"name":"v3.11.0","sha":"10b8ecc5787d5caa8d36156320194a3b23da09cb","kind":"commit","published_at":"2022-09-06T20:49:52.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.11.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/parflow/parflow@v3.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.11.0/manifests"},{"name":"v3.10.0","sha":"4064e38819f9d156acf8ca62342105218e4ad1fa","kind":"commit","published_at":"2022-04-05T03:01:08.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.10.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/parflow/parflow@v3.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.10.0/manifests"},{"name":"v3.9.0","sha":"bc80e3ac2ba0a517fdb6641828b4bb3fbaa48455","kind":"commit","published_at":"2021-06-15T15:06:43.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.9.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/parflow/parflow@v3.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.9.0/manifests"},{"name":"v3.8.0","sha":"7eb7394a56c2f399e822f92f21cdd720dec2a176","kind":"commit","published_at":"2021-05-27T03:12:13.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.8.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/parflow/parflow@v3.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.8.0/manifests"},{"name":"v3.7.0-adapt","sha":"a7a765f1f56676694a21fd20df60730bb9728f49","kind":"tag","published_at":"2020-09-17T13:48:15.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.7.0-adapt","html_url":"https://github.com/parflow/parflow/releases/tag/v3.7.0-adapt","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/parflow/parflow@v3.7.0-adapt","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.7.0-adapt","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.7.0-adapt/manifests"},{"name":"v3.7.0","sha":"5e87b1602bc4daa4ae4aa255e3f25c748bfb4a2d","kind":"commit","published_at":"2020-07-03T01:52:24.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.7.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/parflow/parflow@v3.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.7.0/manifests"},{"name":"v3.6.0","sha":"d5e89a1fb38551852773ee986c489f17b5d2538c","kind":"commit","published_at":"2019-09-01T01:00:46.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.6.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/parflow/parflow@v3.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.6.0/manifests"},{"name":"v3.5.0","sha":"9967d2ff9451c23141265478cdbaab512681c673","kind":"commit","published_at":"2019-07-22T17:14:16.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.5.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/parflow/parflow@v3.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.5.0/manifests"},{"name":"v3.4.0","sha":"f811f68a3209c1a5f7eaae6e00462a3854bb50a4","kind":"commit","published_at":"2019-05-20T16:41:20.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.4.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/parflow/parflow@v3.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.4.0/manifests"},{"name":"v3.3.1","sha":"89baa30ed7db96e090173a499de87fd95c22cab4","kind":"commit","published_at":"2018-02-05T21:44:33.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.3.1","html_url":"https://github.com/parflow/parflow/releases/tag/v3.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/parflow/parflow@v3.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.3.1/manifests"},{"name":"v3.3.0","sha":"c44a58281600f2050665c392945e8ab48bd5324a","kind":"commit","published_at":"2018-01-31T19:36:41.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.3.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/parflow/parflow@v3.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.3.0/manifests"},{"name":"fonseca-arxiv17","sha":"a25502ef4dde38f9facecd98abf12e4cafb4f561","kind":"tag","published_at":"2017-03-07T15:34:26.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/fonseca-arxiv17","html_url":"https://github.com/parflow/parflow/releases/tag/fonseca-arxiv17","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/parflow/parflow@fonseca-arxiv17","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/fonseca-arxiv17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/fonseca-arxiv17/manifests"},{"name":"v3.2.0","sha":"9b2780443f11540774ca4181972eb8b095831a08","kind":"commit","published_at":"2016-07-08T17:25:18.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.2.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/parflow/parflow@v3.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.2.0/manifests"},{"name":"v3.1.7-beta","sha":"2a00275057c66b1a15e46ad84eb0f14e5a99d720","kind":"commit","published_at":"2016-05-26T19:28:36.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.1.7-beta","html_url":"https://github.com/parflow/parflow/releases/tag/v3.1.7-beta","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/parflow/parflow@v3.1.7-beta","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.1.7-beta","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.1.7-beta/manifests"}]},"repo_metadata_updated_at":"2025-10-17T22:43:29.842Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.757538697138725,"dependent_packages_count":5.395053785167736,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.57629624115323},"purl":"pkg:golang/github.com/parflow/parflow","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/parflow/parflow","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/parflow/parflow","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/parflow/parflow/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-28T23:00:25.692Z","issues_count":231,"pull_requests_count":502,"avg_time_to_close_issue":7139587.3432835825,"avg_time_to_close_pull_request":1814444.905376344,"issues_closed_count":134,"pull_requests_closed_count":465,"pull_request_authors_count":46,"issue_authors_count":63,"avg_comments_per_issue":1.4025974025974026,"avg_comments_per_pull_request":0.7131474103585658,"merged_pull_requests_count":434,"bot_issues_count":0,"bot_pull_requests_count":4,"past_year_issues_count":28,"past_year_pull_requests_count":121,"past_year_avg_time_to_close_issue":3831101.625,"past_year_avg_time_to_close_pull_request":653776.5376344086,"past_year_issues_closed_count":8,"past_year_pull_requests_closed_count":93,"past_year_pull_request_authors_count":11,"past_year_issue_authors_count":10,"past_year_avg_comments_per_issue":0.5,"past_year_avg_comments_per_pull_request":0.2809917355371901,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":91,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/issues","maintainers":[{"login":"kulkarni1","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kulkarni1"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fparflow%2Fparflow/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fparflow%2Fparflow/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fparflow%2Fparflow/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fparflow%2Fparflow/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fparflow%2Fparflow/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":1982391,"maintainers_count":0,"namespaces_count":748632,"keywords_count":111330,"github":"golang","metadata":{"funded_packages_count":52718},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2025-10-30T05:50:02.839Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":494457,"name":"pftools","ecosystem":"pypi","description":"A Python package creating an interface with the ParFlow hydrologic model.","homepage":"https://github.com/parflow/parflow/tree/master/pftools/python","licenses":"BSD","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/parflow/parflow","keywords_array":["ParFlow","groundwater model","surface water model"],"namespace":null,"versions_count":22,"first_release_published_at":"2020-09-05T00:15:24.000Z","latest_release_published_at":"2025-08-28T21:51:25.000Z","latest_release_number":"1.3.14","last_synced_at":"2025-10-29T20:07:27.979Z","created_at":"2022-04-07T01:44:13.021Z","updated_at":"2025-10-29T20:07:27.979Z","registry_url":"https://pypi.org/project/pftools/","install_command":"pip install pftools --index-url https://pypi.org/simple","documentation_url":"https://parflow.readthedocs.io/en/latest/","metadata":{"funding":null,"documentation":"https://parflow.readthedocs.io/en/latest/","classifiers":["License :: OSI Approved :: BSD License","Programming Language :: Python :: 3"],"normalized_name":"pftools","project_status":null},"repo_metadata":{"id":8751316,"uuid":"59628298","full_name":"parflow/parflow","owner":"parflow","description":"Parflow is an open-source parallel watershed flow model.","archived":false,"fork":false,"pushed_at":"2024-10-23T18:55:22.000Z","size":107783,"stargazers_count":164,"open_issues_count":86,"forks_count":98,"subscribers_count":23,"default_branch":"master","last_synced_at":"2024-10-29T21:02:52.328Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://parflow.org","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/parflow.png","metadata":{"files":{"readme":"README-GPU.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","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}},"created_at":"2016-05-25T03:35:57.000Z","updated_at":"2024-10-23T18:55:26.000Z","dependencies_parsed_at":"2023-09-21T19:27:07.188Z","dependency_job_id":"b4bade61-a4a3-4925-81d3-215bac4f8bc5","html_url":"https://github.com/parflow/parflow","commit_stats":{"total_commits":827,"total_committers":45,"mean_commits":"18.377777777777776","dds":"0.34340991535671095","last_synced_commit":"fbd24aba2a6be9407b24d377798217da138eb699"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/parflow","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222132650,"owners_count":16936616,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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_record":{"login":"parflow","name":"Parflow","uuid":"19506192","kind":"organization","description":"ParFlow is an integrated, parallel watershed model that makes use of high-performance computing to simulate surface and subsurface fluid flow.","email":null,"website":"https://www.parflow.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/19506192?v=4","repositories_count":5,"last_synced_at":"2023-08-16T03:55:01.501Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/parflow","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-07T09:19:03.351Z","updated_at":"2023-08-16T03:55:01.585Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/parflow","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/parflow/repositories"},"tags":[{"name":"v3.12.0","sha":"6ea209875f6478450ec0dbbff313ca7a97291b92","kind":"commit","published_at":"2023-01-06T18:26:45.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.12.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.12.0/manifests"},{"name":"v3.11.0","sha":"10b8ecc5787d5caa8d36156320194a3b23da09cb","kind":"commit","published_at":"2022-09-06T20:49:52.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.11.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.11.0/manifests"},{"name":"v3.10.0","sha":"4064e38819f9d156acf8ca62342105218e4ad1fa","kind":"commit","published_at":"2022-04-05T03:01:08.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.10.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.10.0/manifests"},{"name":"v3.9.0","sha":"bc80e3ac2ba0a517fdb6641828b4bb3fbaa48455","kind":"commit","published_at":"2021-06-15T15:06:43.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.9.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.9.0/manifests"},{"name":"v3.8.0","sha":"7eb7394a56c2f399e822f92f21cdd720dec2a176","kind":"commit","published_at":"2021-05-27T03:12:13.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.8.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.8.0/manifests"},{"name":"v3.7.0-adapt","sha":"a7a765f1f56676694a21fd20df60730bb9728f49","kind":"tag","published_at":"2020-09-17T13:48:15.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.7.0-adapt","html_url":"https://github.com/parflow/parflow/releases/tag/v3.7.0-adapt","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.7.0-adapt","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.7.0-adapt/manifests"},{"name":"v3.7.0","sha":"5e87b1602bc4daa4ae4aa255e3f25c748bfb4a2d","kind":"commit","published_at":"2020-07-03T01:52:24.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.7.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.7.0/manifests"},{"name":"v3.6.0","sha":"d5e89a1fb38551852773ee986c489f17b5d2538c","kind":"commit","published_at":"2019-09-01T01:00:46.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.6.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.6.0/manifests"},{"name":"v3.5.0","sha":"9967d2ff9451c23141265478cdbaab512681c673","kind":"commit","published_at":"2019-07-22T17:14:16.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.5.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.5.0/manifests"},{"name":"v3.4.0","sha":"f811f68a3209c1a5f7eaae6e00462a3854bb50a4","kind":"commit","published_at":"2019-05-20T16:41:20.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.4.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.4.0/manifests"},{"name":"v3.3.1","sha":"89baa30ed7db96e090173a499de87fd95c22cab4","kind":"commit","published_at":"2018-02-05T21:44:33.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.3.1","html_url":"https://github.com/parflow/parflow/releases/tag/v3.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.3.1/manifests"},{"name":"v3.3.0","sha":"c44a58281600f2050665c392945e8ab48bd5324a","kind":"commit","published_at":"2018-01-31T19:36:41.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.3.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.3.0/manifests"},{"name":"fonseca-arxiv17","sha":"a25502ef4dde38f9facecd98abf12e4cafb4f561","kind":"tag","published_at":"2017-03-07T15:34:26.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/fonseca-arxiv17","html_url":"https://github.com/parflow/parflow/releases/tag/fonseca-arxiv17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/fonseca-arxiv17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/fonseca-arxiv17/manifests"},{"name":"v3.2.0","sha":"9b2780443f11540774ca4181972eb8b095831a08","kind":"commit","published_at":"2016-07-08T17:25:18.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.2.0","html_url":"https://github.com/parflow/parflow/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.2.0/manifests"},{"name":"v3.1.7-beta","sha":"2a00275057c66b1a15e46ad84eb0f14e5a99d720","kind":"commit","published_at":"2016-05-26T19:28:36.000Z","download_url":"https://codeload.github.com/parflow/parflow/tar.gz/v3.1.7-beta","html_url":"https://github.com/parflow/parflow/releases/tag/v3.1.7-beta","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.1.7-beta","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/tags/v3.1.7-beta/manifests"}]},"repo_metadata_updated_at":"2024-10-29T23:42:20.565Z","dependent_packages_count":2,"downloads":737,"downloads_period":"last-month","dependent_repos_count":8,"rankings":{"downloads":11.694795552851462,"dependent_repos_count":5.2524469804593785,"dependent_packages_count":7.306363177401113,"stargazers_count":5.942964909157425,"forks_count":4.848125584470973,"docker_downloads_count":3.8361064419740956,"average":6.480133774385742},"purl":"pkg:pypi/pftools","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/pftools","docker_dependents_count":1,"docker_downloads_count":64,"usage_url":"https://repos.ecosyste.ms/usage/pypi/pftools","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/pftools/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-10-29T20:04:30.318Z","issues_count":209,"pull_requests_count":363,"avg_time_to_close_issue":7235598.8359375,"avg_time_to_close_pull_request":1481188.6384180791,"issues_closed_count":128,"pull_requests_closed_count":354,"pull_request_authors_count":41,"issue_authors_count":58,"avg_comments_per_issue":1.569377990430622,"avg_comments_per_pull_request":0.7493112947658402,"merged_pull_requests_count":330,"bot_issues_count":0,"bot_pull_requests_count":3,"past_year_issues_count":19,"past_year_pull_requests_count":60,"past_year_avg_time_to_close_issue":3748823.5,"past_year_avg_time_to_close_pull_request":806799.8431372549,"past_year_issues_closed_count":10,"past_year_pull_requests_closed_count":51,"past_year_pull_request_authors_count":10,"past_year_issue_authors_count":11,"past_year_avg_comments_per_issue":1.368421052631579,"past_year_avg_comments_per_pull_request":0.4666666666666667,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":50,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/issues","maintainers":[{"login":"kulkarni1","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kulkarni1"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pftools/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pftools/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pftools/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pftools/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pftools/codemeta","maintainers":[{"uuid":"grapp","login":"grapp","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/grapp/","role":null,"created_at":"2022-11-14T18:47:42.797Z","updated_at":"2022-11-14T18:47:42.797Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/grapp/packages"},{"uuid":"psavery","login":"psavery","name":null,"email":null,"url":null,"packages_count":52,"html_url":"https://pypi.org/user/psavery/","role":null,"created_at":"2022-11-14T18:47:42.801Z","updated_at":"2022-11-14T18:47:42.801Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/psavery/packages"},{"uuid":"sebastien.jourdain","login":"sebastien.jourdain","name":null,"email":null,"url":null,"packages_count":58,"html_url":"https://pypi.org/user/sebastien.jourdain/","role":null,"created_at":"2022-11-14T18:47:42.808Z","updated_at":"2022-11-14T18:47:42.808Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/sebastien.jourdain/packages"},{"uuid":"smithsg84","login":"smithsg84","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/smithsg84/","role":null,"created_at":"2022-11-14T18:47:42.824Z","updated_at":"2022-11-14T18:47:42.824Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/smithsg84/packages"},{"uuid":"csluis","login":"csluis","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/csluis/","role":null,"created_at":"2022-11-14T18:47:42.835Z","updated_at":"2022-11-14T18:47:42.835Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/csluis/packages"},{"uuid":"hydroframebot","login":"hydroframebot","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://pypi.org/user/hydroframebot/","role":null,"created_at":"2022-11-14T18:47:42.862Z","updated_at":"2022-11-14T18:47:42.862Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/hydroframebot/packages"},{"uuid":"wh3248","login":"wh3248","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://pypi.org/user/wh3248/","role":null,"created_at":"2022-11-14T18:47:42.867Z","updated_at":"2022-11-14T18:47:42.867Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/wh3248/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":745764,"maintainers_count":316548,"namespaces_count":0,"keywords_count":245871,"github":"pypi","metadata":{"funded_packages_count":52290},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-10-29T05:45:24.783Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}}],"commits":{"id":528258,"full_name":"parflow/parflow","default_branch":"master","total_commits":928,"total_committers":53,"total_bot_commits":3,"total_bot_committers":1,"mean_commits":17.50943396226415,"dds":0.35344827586206895,"past_year_total_commits":63,"past_year_total_committers":12,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":5.25,"past_year_dds":0.46031746031746035,"last_synced_at":"2025-10-29T04:59:47.915Z","last_synced_commit":"c5a99744e23bc32837c264f3efd3b08602ff8ac8","created_at":"2023-03-09T03:39:23.112Z","updated_at":"2025-10-29T04:55:46.173Z","committers":[{"name":"Steven Smith","email":"smith84@llnl.gov","login":"smithsg84","count":600},{"name":"Reed Maxwell","email":"rmaxwell@mines.edu","login":null,"count":130},{"name":"Ian Ferguson","email":"iferguson@usbr.gov","login":"i-ferguson","count":31},{"name":"gartavanis","email":"32808713+gartavanis","login":"gartavanis","count":20},{"name":"Paul Rigor","email":"kvrigor","login":"kvrigor","count":12},{"name":"reedmaxwell","email":"reedmaxwell@princeton.edu","login":"reedmaxwell","count":9},{"name":"Nick Engdahl","email":"nick.engdahl@wsu.edu","login":"nbengdahl","count":9},{"name":"Fabian Gasper","email":"f.gasper@fz-juelich.de","login":"FabianGasper","count":8},{"name":"Jaro Hokkanen","email":"j.hokkanen@fz-juelich.de","login":null,"count":7},{"name":"Calla Chennault","email":"callachennault@gmail.com","login":"callachennault","count":7},{"name":"Patrick Avery","email":"patrick.avery@kitware.com","login":"psavery","count":6},{"name":"Juan S. Acero Triana","email":"57607681+jsacerot","login":"jsacerot","count":6},{"name":"Andrew Bennett","email":"bennett.andr@gmail.com","login":"arbennett","count":5},{"name":"Sebastien Jourdain","email":"sebastien.jourdain@kitware.com","login":"jourdain","count":5},{"name":"grapp1","email":"44384921+grapp1","login":"grapp1","count":5},{"name":"Laura Condon","email":"lecondon@email.arizona.edu","login":"lecondon","count":5},{"name":"Muhammad Fahad Azeemi","email":"m.fahad@fz-juelich.de","login":"mfahdaz","count":5},{"name":"Manuel Assunção","email":"mannyassuncao@hotmail.com","login":"tikoh-station","count":4},{"name":"Ketan Kulkarni","email":"ketan.kulkarni@gmail.com","login":"kulkarni1","count":3},{"name":"Vineet Bansal","email":"vineetbansal@protonmail.com","login":"vineetbansal","count":3},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":3},{"name":"xy124","email":"xy124","login":"xy124","count":3},{"name":"DrewLazzeriKitware","email":"74733262+DrewLazzeriKitware","login":"DrewLazzeriKitware","count":2},{"name":"David Thompson","email":"david.thompson@kitware.com","login":"vibraphone","count":2},{"name":"Basile Hector","email":"basilehector@gmail.com","login":"basileh","count":2},{"name":"Jackson Swilley","email":"55851528+jswilley-csm","login":"jswilley-csm","count":2},{"name":"Rob de Rooij","email":"r.derooij@ufl.edu","login":"ROBDEROOIJ","count":2},{"name":"aureliayang","email":"30763258+aureliayang","login":"aureliayang","count":2},{"name":"elena-leo","email":"75493578+elena-leo","login":"elena-leo","count":2},{"name":"alanquits","email":"geouke@gmail.com","login":"alanquits","count":2},{"name":"John Williams","email":"johnleewilliamsiii@gmail.com","login":null,"count":2},{"name":"Laura Condon","email":"lcondon@mymail.mines.edu","login":null,"count":2},{"name":"Joe Beisman","email":"jjbeisman@gmail.com","login":"jbeisman","count":2},{"name":"cswoodward","email":"woodward6@llnl.gov","login":"cswoodward","count":1},{"name":"arezaii","email":"ahmad.rezaii@gmail.com","login":"arezaii","count":1},{"name":"Sebastian Lührs","email":"s.luehrs@fz-juelich.de","login":"sluehrs","count":1},{"name":"Prabhakar Shrestha","email":"prabshr@uni-bonn.de","login":null,"count":1},{"name":"Steven Kollet","email":"stefan.kollet@uni-bonn.de","login":null,"count":1},{"name":"jbeisman","email":"jbeisman@mymail.mines.edu","login":null,"count":1},{"name":"Carol Woodward","email":"cswoodward@llnl.gov","login":null,"count":1},{"name":"Niklas Wagner","email":"78956063+niklaswr","login":"niklaswr","count":1},{"name":"Mike Taves","email":"mwtoews@gmail.com","login":"mwtoews","count":1},{"name":"edimunv","email":"42220401+edimunv","login":"edimunv","count":1},{"name":"westb2","email":"westb2@rpi.edu","login":"westb2","count":1},{"name":"zperzan","email":"47989711+zperzan","login":"zperzan","count":1},{"name":"Daniel Rosen","email":"drosen@ucar.edu","login":"danrosen25","count":1},{"name":"Ethan Coon","email":"ecoon@lanl.gov","login":"ecoon","count":1},{"name":"Huidae Cho","email":"grass4u@gmail.com","login":"HuidaeCho","count":1},{"name":"Ian Bertolacci M.S","email":"ian.bertolacci@gmail.com","login":"ian-bertolacci","count":1},{"name":"Jose A. Fonseca","email":"fonseca-ins","login":"fonseca-ins","count":1},{"name":"Kenadi Waymire","email":"108046943+kenadigwaymire","login":"kenadigwaymire","count":1},{"name":"Leonardo Sandoval","email":"51087450+rlsandovalp","login":"rlsandovalp","count":1},{"name":"Marco van Hulten","email":"marco@hulten.org","login":"mvhulten","count":1}],"past_year_committers":[{"name":"Steven Smith","email":"smith84@llnl.gov","login":"smithsg84","count":34},{"name":"Georgios Artavanis","email":"32808713+gartavanis","login":"gartavanis","count":7},{"name":"Paul Rigor","email":"kvrigor","login":"kvrigor","count":5},{"name":"reedmaxwell","email":"reedmaxwell@princeton.edu","login":"reedmaxwell","count":4},{"name":"Manuel Assunção","email":"mannyassuncao@hotmail.com","login":"tikoh-station","count":4},{"name":"Muhammad Fahad Azeemi","email":"m.fahad@fz-juelich.de","login":"mfahdaz","count":3},{"name":"aureliayang","email":"30763258+aureliayang","login":"aureliayang","count":1},{"name":"Mike Taves","email":"mwtoews@gmail.com","login":"mwtoews","count":1},{"name":"Marco van Hulten","email":"marco@hulten.org","login":"mvhulten","count":1},{"name":"Leonardo Sandoval","email":"51087450+rlsandovalp","login":"rlsandovalp","count":1},{"name":"Huidae Cho","email":"grass4u@gmail.com","login":"HuidaeCho","count":1},{"name":"Daniel Rosen","email":"drosen@ucar.edu","login":"danrosen25","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-10-29T00:00:18.766Z","repositories_count":6089584,"commits_count":922516440,"contributors_count":35983866,"owners_count":1109633,"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":"parflow/parflow","html_url":"https://github.com/parflow/parflow","last_synced_at":"2025-10-28T13:00:16.482Z","status":null,"issues_count":235,"pull_requests_count":507,"avg_time_to_close_issue":7139587.3432835825,"avg_time_to_close_pull_request":1807158.8333333333,"issues_closed_count":134,"pull_requests_closed_count":468,"pull_request_authors_count":46,"issue_authors_count":63,"avg_comments_per_issue":1.3787234042553191,"avg_comments_per_pull_request":0.717948717948718,"merged_pull_requests_count":437,"bot_issues_count":0,"bot_pull_requests_count":4,"past_year_issues_count":31,"past_year_pull_requests_count":101,"past_year_avg_time_to_close_issue":3599860.5714285714,"past_year_avg_time_to_close_pull_request":789507.1232876712,"past_year_issues_closed_count":7,"past_year_pull_requests_closed_count":73,"past_year_pull_request_authors_count":11,"past_year_issue_authors_count":10,"past_year_avg_comments_per_issue":0.16129032258064516,"past_year_avg_comments_per_pull_request":0.39603960396039606,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":71,"created_at":"2023-05-09T10:40:14.141Z","updated_at":"2025-10-28T13:00:16.483Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/parflow%2Fparflow/issues","issue_labels_count":{"enhancement":12,"bug":10,"question":2},"pull_request_labels_count":{"dependencies":4,"enhancement":3,"bug":2},"issue_author_associations_count":{"CONTRIBUTOR":178,"NONE":55,"MEMBER":2},"pull_request_author_associations_count":{"CONTRIBUTOR":483,"NONE":19,"MEMBER":5},"issue_authors":{"smithsg84":120,"jsacerot":11,"tikoh-station":10,"xy124":9,"elappala":4,"vineetbansal":4,"alanquits":3,"cozisco":3,"surak":3,"mvhulten":3,"kvrigor":2,"kulkarni1":2,"wrs827":2,"chrisreidy":2,"nbengdahl":2,"reedmaxwell":2,"DrewLazzeriKitware":2,"elena-leo":2,"rlsandovalp":2,"arbennett":2,"nj1079":2,"vibraphone":2,"geo-hy":1,"m5a0r7":1,"pasquadambra":1,"Aegean-Vini":1,"westb2":1,"1RU-TSAI":1,"zperzan":1,"prabshr":1,"cvoter":1,"jetuk":1,"jourdain":1,"andrew-slaughter":1,"psavery":1,"KelliRajani":1,"hmandela":1,"Estherrrrrxu":1,"MAccadia":1,"lecondon":1,"lmthatch":1,"LaurenLiloFoster":1,"arezaii":1,"michelob23":1,"kgoergen":1,"h1034021643":1,"RITAJA23":1,"conghuiw":1,"pnlfang":1,"Abdullah-Al-Fatta":1,"boojums":1,"TejaswiRJadhav":1,"2461305377":1,"basileh":1,"xxirii":1,"Dangcer":1,"johnjarmitage":1,"soukamou":1,"ougx":1,"JAGonzales":1,"jswilley-csm":1,"skollet":1,"LllC-mmd":1},"pull_request_authors":{"smithsg84":279,"gartavanis":39,"reedmaxwell":29,"kvrigor":19,"tikoh-station":10,"mfahdaz":10,"westb2":8,"callachennault":8,"jourdain":8,"jsacerot":7,"hokkanen":7,"psavery":6,"arbennett":6,"grapp1":5,"kulkarni1":5,"lecondon":5,"nbengdahl":5,"xy124":4,"dependabot[bot]":4,"jbeisman":3,"jswilley-csm":3,"vineetbansal":3,"vibraphone":2,"alanquits":2,"kenadigwaymire":2,"DrewLazzeriKitware":2,"rlsandovalp":2,"ian-bertolacci":2,"HuidaeCho":2,"elena-leo":2,"mvhulten":2,"mwtoews":2,"zperzan":1,"danrosen25":1,"ja-fonseca":1,"cvoter":1,"ecoon":1,"aureliayang":1,"sluehrs":1,"RichardAngersbach":1,"edimunv":1,"niklaswr":1,"cswoodward":1,"arezaii":1,"ben-bou":1,"FabianGasper":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-10-29T00:00:18.463Z","repositories_count":11242444,"issues_count":34943166,"pull_requests_count":113347232,"authors_count":11042040,"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":{"enhancement":1,"bug":1},"past_year_issue_author_associations_count":{"CONTRIBUTOR":22,"NONE":9},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":94,"NONE":7},"past_year_issue_authors":{"smithsg84":11,"tikoh-station":10,"mvhulten":3,"1RU-TSAI":1,"Dangcer":1,"KelliRajani":1,"kvrigor":1,"m5a0r7":1,"nj1079":1,"westb2":1},"past_year_pull_request_authors":{"smithsg84":44,"gartavanis":16,"reedmaxwell":9,"kvrigor":9,"tikoh-station":8,"mfahdaz":6,"HuidaeCho":2,"mvhulten":2,"rlsandovalp":2,"mwtoews":2,"RichardAngersbach":1},"maintainers":[{"login":"kulkarni1","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kulkarni1"}],"active_maintainers":[]},"events":{"total":{"ForkEvent":16,"CreateEvent":6,"ReleaseEvent":3,"IssuesEvent":27,"WatchEvent":25,"DeleteEvent":4,"MemberEvent":12,"IssueCommentEvent":48,"PushEvent":68,"GollumEvent":11,"PullRequestReviewEvent":85,"PullRequestReviewCommentEvent":63,"PullRequestEvent":103},"last_year":{"ForkEvent":15,"CreateEvent":6,"ReleaseEvent":3,"IssuesEvent":27,"WatchEvent":25,"DeleteEvent":4,"MemberEvent":12,"IssueCommentEvent":42,"PushEvent":62,"GollumEvent":11,"PullRequestReviewCommentEvent":54,"PullRequestEvent":89,"PullRequestReviewEvent":75}},"keywords":[],"dependencies":[{"ecosystem":"pypi","filepath":"docs/user_manual/requirements.txt","sha":null,"kind":"manifest","created_at":"2022-09-07T20:00:12.461Z","updated_at":"2022-09-07T20:00:12.461Z","repository_link":"https://github.com/parflow/parflow/blob/master/docs/user_manual/requirements.txt","dependencies":[{"id":4131875952,"package_name":"PyYAML","ecosystem":"pypi","requirements":"==5.4","direct":true,"kind":"runtime","optional":false},{"id":4131875953,"package_name":"Sphinx","ecosystem":"pypi","requirements":"\u003e=4.0.0","direct":true,"kind":"runtime","optional":false},{"id":4131875954,"package_name":"sphinx-rtd-theme","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":4131875955,"package_name":"sphinxcontrib-bibtex","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/linux.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T16:23:51.860Z","updated_at":"2023-01-13T16:23:51.860Z","repository_link":"https://github.com/parflow/parflow/blob/master/.github/workflows/linux.yml","dependencies":[{"id":6890476202,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6890476203,"package_name":"actions/cache","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2023-01-13T16:23:51.904Z","updated_at":"2023-01-13T16:23:51.904Z","repository_link":"https://github.com/parflow/parflow/blob/master/Dockerfile","dependencies":[{"id":6890476243,"package_name":"ubuntu","ecosystem":"docker","requirements":"22.04","direct":true,"kind":"build","optional":false}]},{"ecosystem":"docker","filepath":"docker/dev/Dockerfile","sha":null,"kind":"manifest","created_at":"2023-01-13T16:23:52.043Z","updated_at":"2023-01-13T16:23:52.043Z","repository_link":"https://github.com/parflow/parflow/blob/master/docker/dev/Dockerfile","dependencies":[{"id":6890476316,"package_name":"${BASE_IMAGE}","ecosystem":"docker","requirements":"latest","direct":true,"kind":"build","optional":false}]},{"ecosystem":"docker","filepath":"docker/runtime/Dockerfile","sha":null,"kind":"manifest","created_at":"2023-01-13T16:23:52.099Z","updated_at":"2023-01-13T16:23:52.099Z","repository_link":"https://github.com/parflow/parflow/blob/master/docker/runtime/Dockerfile","dependencies":[{"id":6890476343,"package_name":"${DEV_IMAGE}","ecosystem":"docker","requirements":"latest","direct":true,"kind":"build","optional":false},{"id":6890476344,"package_name":"${BASE_IMAGE}","ecosystem":"docker","requirements":"latest","direct":true,"kind":"build","optional":false}]},{"ecosystem":"pypi","filepath":"pf-keys/generators/simput/requirements.txt","sha":null,"kind":"manifest","created_at":"2023-01-13T16:23:52.247Z","updated_at":"2023-01-13T16:23:52.247Z","repository_link":"https://github.com/parflow/parflow/blob/master/pf-keys/generators/simput/requirements.txt","dependencies":[{"id":6890476645,"package_name":"click","ecosystem":"pypi","requirements":"==8.0.1","direct":true,"kind":"runtime","optional":false},{"id":6890476646,"package_name":"importlib-metadata","ecosystem":"pypi","requirements":"==4.4.0","direct":true,"kind":"runtime","optional":false},{"id":6890476647,"package_name":"PyYAML","ecosystem":"pypi","requirements":"==5.4.1","direct":true,"kind":"runtime","optional":false},{"id":6890476648,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"==3.10.0.0","direct":true,"kind":"runtime","optional":false},{"id":6890476649,"package_name":"zipp","ecosystem":"pypi","requirements":"==3.4.1","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"pftools/python/requirements.txt","sha":null,"kind":"manifest","created_at":"2023-01-13T16:23:52.289Z","updated_at":"2023-01-13T16:23:52.289Z","repository_link":"https://github.com/parflow/parflow/blob/master/pftools/python/requirements.txt","dependencies":[{"id":6890476797,"package_name":"PyYAML","ecosystem":"pypi","requirements":"==5.4","direct":true,"kind":"runtime","optional":false},{"id":6890476798,"package_name":"xarray","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6890476799,"package_name":"numba","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6890476800,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6890476801,"package_name":"dask","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"pftools/python/requirements_dev.txt","sha":null,"kind":"manifest","created_at":"2023-01-13T16:23:52.386Z","updated_at":"2023-01-13T16:23:52.386Z","repository_link":"https://github.com/parflow/parflow/blob/master/pftools/python/requirements_dev.txt","dependencies":[{"id":6890477043,"package_name":"twine","ecosystem":"pypi","requirements":"*","direct":true,"kind":"development","optional":false}]},{"ecosystem":"pypi","filepath":"pftools/python/requirements_pfsol.txt","sha":null,"kind":"manifest","created_at":"2023-01-13T16:23:52.452Z","updated_at":"2023-01-13T16:23:52.452Z","repository_link":"https://github.com/parflow/parflow/blob/master/pftools/python/requirements_pfsol.txt","dependencies":[{"id":6890477096,"package_name":"imageio","ecosystem":"pypi","requirements":"\u003e=2.9.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"pftools/python/setup.py","sha":null,"kind":"manifest","created_at":"2023-01-13T16:23:52.484Z","updated_at":"2023-01-13T16:23:52.484Z","repository_link":"https://github.com/parflow/parflow/blob/master/pftools/python/setup.py","dependencies":[{"id":6890477411,"package_name":"pyyaml","ecosystem":"pypi","requirements":"\u003e=5.4","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"pftools/python/requirements_all.txt","sha":null,"kind":"manifest","created_at":"2023-09-21T19:27:06.579Z","updated_at":"2023-09-21T19:27:06.579Z","repository_link":"https://github.com/parflow/parflow/blob/master/pftools/python/requirements_all.txt","dependencies":[]}],"score":16.395403698811414,"created_at":"2023-09-11T14:52:12.960Z","updated_at":"2026-05-12T19:30:53.873Z","avatar_url":"https://github.com/parflow.png","language":"C","category":"Hydrosphere","sub_category":"Freshwater and Hydrology","monthly_downloads":737,"total_dependent_repos":8,"total_dependent_packages":2,"readme":"# Building Parflow with GPU acceleration\n\n**WARNING!** Parflow GPU support is still in beta and there may be issues with it.\n\nThe GPU acceleration is currently compatible only with NVIDIA GPUs either using CUDA directly or using CUDA through the Kokkos library. The minimum supported CUDA compute capability for the hardware is 6.0 (NVIDIA Pascal architecture).\n\nBuilding with CUDA or Kokkos may improve the performance significantly for large problems but is often slower for test cases and small problems due to initialization overhead associated with the GPU use. Currently, the only preconditioner resulting in a good performance is MGSemi, when applied to spinup problems. Installation reference can be found in [Ubuntu recipe](/cmake/recipes/ubuntu-18.10-CUDA), [Dockerfile](Dockerfile_CUDA), and [linux.yml](/.github/workflows/linux.yml).\n\n\n## CMake\n\nBuilding with GPU acceleration requires a [CUDA](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html) installation, and in case Kokkos is used, [Kokkos](https://github.com/kokkos/kokkos) installation. However, the performance can be further improved by using pool allocation for Unified Memory. Supported memory managers for pool allocation are: [RMM v0.10](https://github.com/rapidsai/rmm/tree/branch-0.10) and [Umpire](https://umpire.readthedocs.io/en/develop/). Note that we are in the process of updating RMM to the newest API, but that should not affect users. Note that you should use only one memory manager, you can't pick both RMM and Umpire. Performance can be improved even more with direct communication between GPUs (requires using a CUDA-Aware MPI library).\n\nThe GPU acceleration is activated by specifying either *PARFLOW_ACCELERATOR_BACKEND=cuda* option to the CMake, i.e.,\n\n```shell\ncmake ../parflow -DPARFLOW_AMPS_LAYER=mpi1 -DCMAKE_BUILD_TYPE=Release -DPARFLOW_ENABLE_TIMING=TRUE -DPARFLOW_HAVE_CLM=ON -DCMAKE_INSTALL_PREFIX=${PARFLOW_DIR} -DPARFLOW_ACCELERATOR_BACKEND=cuda\n```\nor *PARFLOW_ACCELERATOR_BACKEND=kokkos* and *DKokkos_ROOT=/path/to/Kokkos* i.e.,\n```shell\ncmake ../parflow -DPARFLOW_AMPS_LAYER=mpi1 -DCMAKE_BUILD_TYPE=Release -DPARFLOW_ENABLE_TIMING=TRUE -DPARFLOW_HAVE_CLM=ON -DCMAKE_INSTALL_PREFIX=${PARFLOW_DIR} -DPARFLOW_ACCELERATOR_BACKEND=kokkos -DKokkos_ROOT=/path/to/Kokkos\n```\nwhere *DPARFLOW_AMPS_LAYER=mpi1* leverages GPU-based data packing and unpacking. By default, the packed data is copied to a host staging buffer which is then passed for MPI to avoid special requirements for the MPI library. Direct communication between GPUs (with [GPUDirect P2P/RDMA](https://developer.nvidia.com/gpudirect)) can be activated by specifying an environment variable *PARFLOW_USE_GPUDIRECT=1* during runtime in which case the memory copy between CPU and GPU is avoided and a GPU pointer is passed for MPI, but this requires a CUDA-Aware MPI library (support for Unified Memory is not required with the native CUDA backend because the pointers passed to the MPI library point to pinned GPU memory allocations, but is required with the Kokkos backend).\n\nFurthermore, RMM library can be activated by specifying the RMM root directory with -DRMM_ROOT=/path/to/rmm_root* as follows:\n```shell\ncmake ../parflow -DPARFLOW_AMPS_LAYER=mpi1 -DCMAKE_BUILD_TYPE=Release -DPARFLOW_ENABLE_TIMING=TRUE -DPARFLOW_HAVE_CLM=ON -DCMAKE_INSTALL_PREFIX=${PARFLOW_DIR} -DPARFLOW_ACCELERATOR_BACKEND=cuda -DRMM_ROOT=/path/to/RMM\n```\nor\n```shell\ncmake ../parflow -DPARFLOW_AMPS_LAYER=mpi1 -DCMAKE_BUILD_TYPE=Release -DPARFLOW_ENABLE_TIMING=TRUE -DPARFLOW_HAVE_CLM=ON -DCMAKE_INSTALL_PREFIX=${PARFLOW_DIR} -DPARFLOW_ACCELERATOR_BACKEND=kokkos -DKokkos_ROOT=/path/to/Kokkos -DRMM_ROOT=/path/to/RMM\n```\n\nSimilarly, the Umpire library can be activated by specifying the Umpire root directory with -Dumpire_ROOT=/path/to/umpire/root\n\n```shell\ncmake ../parflow -DPARFLOW_AMPS_LAYER=mpi1 -DCMAKE_BUILD_TYPE=Release -DPARFLOW_ENABLE_TIMING=TRUE -DPARFLOW_HAVE_CLM=ON -DCMAKE_INSTALL_PREFIX=${PARFLOW_DIR} -DPARFLOW_ACCELERATOR_BACKEND=cuda -Dumpire_ROOT=/path/to/umpire\n```\nor\n```shell\ncmake ../parflow -DPARFLOW_AMPS_LAYER=mpi1 -DCMAKE_BUILD_TYPE=Release -DPARFLOW_ENABLE_TIMING=TRUE -DPARFLOW_HAVE_CLM=ON -DCMAKE_INSTALL_PREFIX=${PARFLOW_DIR} -DPARFLOW_ACCELERATOR_BACKEND=kokkos -DKokkos_ROOT=/path/to/Kokkos -Dumpire_ROOT=/path/to/umpire\n```\n\nNote that on some systems, nvcc cannot locate the MPI include files by default, if this is the case, defining the environment variable CUDAHOSTCXX=mpicxx might help.\n\nFinally, you must make sure you are building the code for the correct GPU architecture. First, find the compute capability of your device (e.g. A100 is CC 80, H100 is CC 90, etc). Then, you can specify it as a CMake option with -DCMAKE_CUDA_ARCHITECTURES={CC}:\n\n\n```shell\ncmake ../parflow -DPARFLOW_AMPS_LAYER=mpi1 -DCMAKE_BUILD_TYPE=Release -DPARFLOW_ENABLE_TIMING=TRUE -DPARFLOW_HAVE_CLM=ON -DCMAKE_INSTALL_PREFIX=${PARFLOW_DIR} -DPARFLOW_ACCELERATOR_BACKEND=cuda -Dumpire_ROOT=/path/to/umpire -DCMAKE_CUDA_ARCHITECTURES=90\n```\n\n## Running Parflow with GPU acceleration\n\nRunning Parflow built with GPU support requires that each MPI process has access to a GPU device. Best performance is typically achieved by launching one MPI process per available GPU device. The MPI processes map to the available GPUs by \n\n```cudaSetDevice(node_local_rank % local_num_devices);```\n\nwhere node_local_rank and local_num_devices are the node-local rank of the process and the number of GPUs associated with the corresponding node, respectively. Therefore, launching 4 MPI processes per node that has 4 GPUs automatically means that each process uses a different GPU. Launching more processes (than the number of available GPUs) is only supported when using CUDA Multi-Process Service (MPS), but this typically results in reduced performance.\n\nAny existing input script can be run with GPU acceleration; no changes are necessary. However, it is noted that two subsequent runs of the same input script using the same compiled executable are not guaranteed to produce identical results. This is expected behavior due to atomic operations performed by the GPU device (i.e., the order of floating-point operations may change between two subsequent runs).\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["open-science","hydrology","vtk","climate","earth-system-model"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/20461","html_url":"https://ost.ecosyste.ms/projects/20461"}