{"id":332086,"name":"Verif","description":"A command-line tool that lets you verify the quality of weather forecasts for point locations.","url":"https://github.com/wfrt/verif","last_synced_at":"2026-04-13T08:00:30.025Z","repository":{"id":32956508,"uuid":"36558984","full_name":"WFRT/verif","owner":"WFRT","description":"Graphical tool for creating verification plots of weather forecasts","archived":false,"fork":false,"pushed_at":"2026-04-07T20:52:45.000Z","size":4795,"stargazers_count":100,"open_issues_count":2,"forks_count":40,"subscribers_count":14,"default_branch":"master","last_synced_at":"2026-04-09T06:02:33.702Z","etag":null,"topics":["evaluation","forecasting","prediction","statistics","verification","weather"],"latest_commit_sha":null,"homepage":"","language":"Python","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/WFRT.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2015-05-30T13:24:49.000Z","updated_at":"2026-04-07T20:52:49.000Z","dependencies_parsed_at":"2026-04-01T02:00:29.317Z","dependency_job_id":null,"html_url":"https://github.com/WFRT/verif","commit_stats":{"total_commits":811,"total_committers":4,"mean_commits":202.75,"dds":0.008631319358816225,"last_synced_commit":"710c367aeb49b0f1abf7a486a735079a02216fb2"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/WFRT/verif","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WFRT","download_url":"https://codeload.github.com/WFRT/verif/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/sbom","scorecard":{"id":149257,"data":{"date":"2025-08-11","repo":{"name":"github.com/WFRT/verif","commit":"ce59a1aaf6935b2481f0e9b0d9e1c344b8cf3079"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"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":"Code-Review","score":0,"reason":"Found 1/29 approved changesets -- score normalized to 0","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":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"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":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/python-package.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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-package.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/WFRT/verif/python-package.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-package.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/WFRT/verif/python-package.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/python-package.yml:29","Warn: pipCommand not pinned by hash: .github/workflows/python-package.yml:30","Warn: pipCommand not pinned by hash: .github/workflows/python-package.yml:33","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 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"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE: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":"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":"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":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for 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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 2 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"}}]},"last_synced_at":"2025-08-16T10:09:41.656Z","repository_id":32956508,"created_at":"2025-08-16T10:09:41.656Z","updated_at":"2025-08-16T10:09:41.656Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31744404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T06:26:45.479Z","status":"ssl_error","status_checked_at":"2026-04-13T06:26:44.645Z","response_time":93,"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":"WFRT","name":"Weather Forecast Research Team","uuid":"4650439","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/4650439?v=4","repositories_count":3,"last_synced_at":"2024-03-27T06:52:11.215Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/WFRT","funding_links":[],"total_stars":86,"followers":2,"following":0,"created_at":"2022-11-05T13:46:24.524Z","updated_at":"2024-03-27T06:52:11.348Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WFRT","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WFRT/repositories"},"packages":[{"id":2963288,"name":"verif","ecosystem":"pypi","description":"A verification program for meteorological forecasts and observations","homepage":"https://github.com/WFRT/verif","licenses":"BSD-3","normalized_licenses":["BSD-1-Clause"],"repository_url":"https://github.com/WFRT/verif","keywords_array":["meteorology","verification","weather","prediction"],"namespace":null,"versions_count":20,"first_release_published_at":"2016-02-02T22:22:00.000Z","latest_release_published_at":"2024-03-10T20:18:36.000Z","latest_release_number":"1.3.0","last_synced_at":"2026-04-11T07:39:35.646Z","created_at":"2022-04-10T13:00:04.027Z","updated_at":"2026-04-11T11:33:33.406Z","registry_url":"https://pypi.org/project/verif/","install_command":"pip install verif --index-url https://pypi.org/simple","documentation_url":"https://verif.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 5 - Production/Stable","Intended Audience :: Science/Research","License :: OSI Approved :: BSD License","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.6","Programming Language :: Python :: 3.7","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Topic :: Scientific/Engineering :: Atmospheric Science","Topic :: Scientific/Engineering :: Information Analysis"],"normalized_name":"verif","project_status":null},"repo_metadata":{"id":32956508,"uuid":"36558984","full_name":"WFRT/verif","owner":"WFRT","description":"Graphical tool for creating verification plots of weather forecasts","archived":false,"fork":false,"pushed_at":"2026-03-23T22:45:17.000Z","size":4745,"stargazers_count":100,"open_issues_count":2,"forks_count":40,"subscribers_count":14,"default_branch":"master","last_synced_at":"2026-03-24T18:08:17.469Z","etag":null,"topics":["evaluation","forecasting","prediction","statistics","verification","weather"],"latest_commit_sha":null,"homepage":"","language":"Python","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/WFRT.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2015-05-30T13:24:49.000Z","updated_at":"2026-03-23T22:45:21.000Z","dependencies_parsed_at":"2026-03-15T18:05:01.896Z","dependency_job_id":null,"html_url":"https://github.com/WFRT/verif","commit_stats":{"total_commits":811,"total_committers":4,"mean_commits":202.75,"dds":0.008631319358816225,"last_synced_commit":"710c367aeb49b0f1abf7a486a735079a02216fb2"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/WFRT/verif","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WFRT","download_url":"https://codeload.github.com/WFRT/verif/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/sbom","scorecard":{"id":149257,"data":{"date":"2025-08-11","repo":{"name":"github.com/WFRT/verif","commit":"ce59a1aaf6935b2481f0e9b0d9e1c344b8cf3079"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"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":"Code-Review","score":0,"reason":"Found 1/29 approved changesets -- score normalized to 0","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":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"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":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/python-package.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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-package.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/WFRT/verif/python-package.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-package.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/WFRT/verif/python-package.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/python-package.yml:29","Warn: pipCommand not pinned by hash: .github/workflows/python-package.yml:30","Warn: pipCommand not pinned by hash: .github/workflows/python-package.yml:33","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 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"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE: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":"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":"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":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for 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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 2 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"}}]},"last_synced_at":"2025-08-16T10:09:41.656Z","repository_id":32956508,"created_at":"2025-08-16T10:09:41.656Z","updated_at":"2025-08-16T10:09:41.656Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31262837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T01:56:54.585Z","status":"online","status_checked_at":"2026-04-01T02:00:07.777Z","response_time":53,"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":"WFRT","name":"Weather Forecast Research Team","uuid":"4650439","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/4650439?v=4","repositories_count":3,"last_synced_at":"2024-03-27T06:52:11.215Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/WFRT","funding_links":[],"total_stars":86,"followers":2,"following":0,"created_at":"2022-11-05T13:46:24.524Z","updated_at":"2024-03-27T06:52:11.348Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WFRT","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WFRT/repositories"},"tags":[{"name":"v1.3.0","sha":"679f7c3c7e1d3ef2d7fd70c6874b8c533acc57c2","kind":"commit","published_at":"2024-03-10T20:11:00.000Z","download_url":"https://codeload.github.com/WFRT/verif/tar.gz/v1.3.0","html_url":"https://github.com/WFRT/verif/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WFRT/verif@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v1.3.0/manifests"},{"name":"v1.2.3","sha":"b84e154257a91d7d547e850273f94cb5175b1ddd","kind":"commit","published_at":"2022-12-23T21:30:43.000Z","download_url":"https://codeload.github.com/WFRT/verif/tar.gz/v1.2.3","html_url":"https://github.com/WFRT/verif/releases/tag/v1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WFRT/verif@v1.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v1.2.3/manifests"},{"name":"v1.2.1","sha":"f82f6c66ddb88db782423904d748e4f0d5acbf7c","kind":"commit","published_at":"2022-12-12T14:45:27.000Z","download_url":"https://codeload.github.com/WFRT/verif/tar.gz/v1.2.1","html_url":"https://github.com/WFRT/verif/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WFRT/verif@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v1.2.1/manifests"},{"name":"v1.2.0","sha":"eaae6e5c2c14fd4795ba5ea75a1fdc868f36f466","kind":"commit","published_at":"2021-06-19T20:41:14.000Z","download_url":"https://codeload.github.com/WFRT/verif/tar.gz/v1.2.0","html_url":"https://github.com/WFRT/verif/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WFRT/verif@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v1.2.0/manifests"},{"name":"v1.1.3","sha":"0c20ce24d5cd232a0893328633b5359cef703e0a","kind":"commit","published_at":"2021-03-25T07:25:47.000Z","download_url":"https://codeload.github.com/WFRT/verif/tar.gz/v1.1.3","html_url":"https://github.com/WFRT/verif/releases/tag/v1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WFRT/verif@v1.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v1.1.3/manifests"},{"name":"v1.1.2","sha":"dd4df8e5709e9ec1a8fe129fe9a14d4f63d93643","kind":"commit","published_at":"2020-07-28T16:59:43.000Z","download_url":"https://codeload.github.com/WFRT/verif/tar.gz/v1.1.2","html_url":"https://github.com/WFRT/verif/releases/tag/v1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WFRT/verif@v1.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v1.1.2/manifests"},{"name":"v1.1.1","sha":"6fe5aa957db7b13cd96b5cfa8ab5ee3408e221c4","kind":"commit","published_at":"2019-10-25T18:17:35.000Z","download_url":"https://codeload.github.com/WFRT/verif/tar.gz/v1.1.1","html_url":"https://github.com/WFRT/verif/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WFRT/verif@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"53340e5bd7f5c189ba5cd1c2a7ecc6ac658fa97f","kind":"commit","published_at":"2019-10-02T11:06:14.000Z","download_url":"https://codeload.github.com/WFRT/verif/tar.gz/v1.1.0","html_url":"https://github.com/WFRT/verif/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WFRT/verif@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"0461760504fa4b39c813f27753d0626b24c6d1eb","kind":"commit","published_at":"2017-02-11T12:05:41.000Z","download_url":"https://codeload.github.com/WFRT/verif/tar.gz/v1.0.0","html_url":"https://github.com/WFRT/verif/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WFRT/verif@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v1.0.0/manifests"},{"name":"v1.0.0-beta.4","sha":"06142f89c611818f8afb19f3dfabcb5fdd88687b","kind":"commit","published_at":"2017-02-11T11:50:59.000Z","download_url":"https://codeload.github.com/WFRT/verif/tar.gz/v1.0.0-beta.4","html_url":"https://github.com/WFRT/verif/releases/tag/v1.0.0-beta.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WFRT/verif@v1.0.0-beta.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v1.0.0-beta.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v1.0.0-beta.4/manifests"},{"name":"v1.0.0-beta.3","sha":"ccc842c140a77bb19b7e8c960afb0e4abf6fbad3","kind":"commit","published_at":"2017-01-09T17:17:24.000Z","download_url":"https://codeload.github.com/WFRT/verif/tar.gz/v1.0.0-beta.3","html_url":"https://github.com/WFRT/verif/releases/tag/v1.0.0-beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WFRT/verif@v1.0.0-beta.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v1.0.0-beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v1.0.0-beta.3/manifests"},{"name":"v0.4.0","sha":"c639f9f796ebb965162778da2125045ee84f06df","kind":"commit","published_at":"2016-07-05T19:36:58.000Z","download_url":"https://codeload.github.com/WFRT/verif/tar.gz/v0.4.0","html_url":"https://github.com/WFRT/verif/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WFRT/verif@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"9b06d8db945b92cc2f209333476924b750af1a77","kind":"commit","published_at":"2015-12-12T17:39:11.000Z","download_url":"https://codeload.github.com/WFRT/verif/tar.gz/v0.3.0","html_url":"https://github.com/WFRT/verif/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WFRT/verif@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v0.3.0/manifests"},{"name":"v0.3.0-alpha.1","sha":"e21f067c39be6134a75f67df689c59e703ff9261","kind":"commit","published_at":"2015-09-28T11:37:50.000Z","download_url":"https://codeload.github.com/WFRT/verif/tar.gz/v0.3.0-alpha.1","html_url":"https://github.com/WFRT/verif/releases/tag/v0.3.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WFRT/verif@v0.3.0-alpha.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v0.3.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v0.3.0-alpha.1/manifests"},{"name":"v0.2.0","sha":"6dfbaa45e9a854fb49842e0ef051662857e22246","kind":"commit","published_at":"2015-09-13T20:40:45.000Z","download_url":"https://codeload.github.com/WFRT/verif/tar.gz/v0.2.0","html_url":"https://github.com/WFRT/verif/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WFRT/verif@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v0.2.0/manifests"},{"name":"v0.1.0","sha":"7017d0f0d0d70a66c684125071a2b5f908e26d7c","kind":"tag","published_at":"2015-08-17T12:05:06.000Z","download_url":"https://codeload.github.com/WFRT/verif/tar.gz/v0.1.0","html_url":"https://github.com/WFRT/verif/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/WFRT/verif@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-04-11T11:33:33.384Z","dependent_packages_count":1,"downloads":432,"downloads_period":"last-month","dependent_repos_count":5,"rankings":{"downloads":17.72915780518928,"dependent_repos_count":6.599029135436557,"dependent_packages_count":4.797625697793282,"stargazers_count":7.82393720343376,"forks_count":6.529111687423408,"docker_downloads_count":null,"average":8.695772305855257},"purl":"pkg:pypi/verif","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/verif","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/verif","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/verif/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-01T02:00:24.409Z","issues_count":99,"pull_requests_count":9,"avg_time_to_close_issue":50747503.412371136,"avg_time_to_close_pull_request":8264181.5,"issues_closed_count":97,"pull_requests_closed_count":8,"pull_request_authors_count":5,"issue_authors_count":13,"avg_comments_per_issue":0.45454545454545453,"avg_comments_per_pull_request":1.0,"merged_pull_requests_count":5,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":3,"past_year_pull_requests_count":3,"past_year_avg_time_to_close_issue":54347.333333333336,"past_year_avg_time_to_close_pull_request":194216.5,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.6666666666666666,"past_year_avg_comments_per_pull_request":0.3333333333333333,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/verif/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/verif/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/verif/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/verif/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/verif/codemeta","maintainers":[{"uuid":"tnipen","login":"tnipen","name":null,"email":null,"url":null,"packages_count":9,"html_url":"https://pypi.org/user/tnipen/","role":null,"created_at":"2022-12-01T10:16:06.618Z","updated_at":"2022-12-01T10:16:06.618Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/tnipen/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":838272,"maintainers_count":358056,"namespaces_count":0,"keywords_count":271316,"github":"pypi","metadata":{"funded_packages_count":53172},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-04-09T05:08:03.587Z","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":677781,"full_name":"WFRT/verif","default_branch":"master","total_commits":885,"total_committers":5,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":177.0,"dds":0.009039548022598876,"past_year_total_commits":58,"past_year_total_committers":1,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":58.0,"past_year_dds":0.0,"last_synced_at":"2026-04-11T07:01:05.182Z","last_synced_commit":"85b48c83904dbf853b1e88e7cb1c8cf98794b07f","created_at":"2023-03-09T10:44:20.974Z","updated_at":"2026-04-11T07:01:01.030Z","committers":[{"name":"Thomas Nipen","email":"tnipen@gmail.com","login":"tnipen","count":877},{"name":"Tomas Barton","email":"tbarton@ualberta.ca","login":null,"count":4},{"name":"David Siuta","email":"dsiuta@eos.ubc.ca","login":"dsiuta","count":2},{"name":"tc637","email":"tcyc94@hotmail.com","login":"tc637","count":1},{"name":"mokrzesa","email":"mikolajokrzesa@gmail.com","login":"mokrzesa","count":1}],"past_year_committers":[{"name":"Thomas Nipen","email":"tnipen@gmail.com","login":"tnipen","count":58}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-13T00:00:06.408Z","repositories_count":6212907,"commits_count":904009944,"contributors_count":34943060,"owners_count":1143999,"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":"WFRT/verif","html_url":"https://github.com/WFRT/verif","last_synced_at":"2026-04-01T02:00:24.409Z","status":"error","issues_count":99,"pull_requests_count":9,"avg_time_to_close_issue":50747503.412371136,"avg_time_to_close_pull_request":8264181.5,"issues_closed_count":97,"pull_requests_closed_count":8,"pull_request_authors_count":5,"issue_authors_count":13,"avg_comments_per_issue":0.45454545454545453,"avg_comments_per_pull_request":1.0,"merged_pull_requests_count":5,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":3,"past_year_pull_requests_count":3,"past_year_avg_time_to_close_issue":54347.333333333336,"past_year_avg_time_to_close_pull_request":194216.5,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":2,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.6666666666666666,"past_year_avg_comments_per_pull_request":0.3333333333333333,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"created_at":"2023-05-15T02:18:48.364Z","updated_at":"2026-04-01T02:00:24.409Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/WFRT%2Fverif/issues","issue_labels_count":{"wontfix":5,"enhancement":4,"duplicate":1,"bug":1},"pull_request_labels_count":{},"issue_author_associations_count":{"CONTRIBUTOR":86,"NONE":13},"pull_request_author_associations_count":{"CONTRIBUTOR":7,"NONE":2},"issue_authors":{"tnipen":84,"martadd":2,"evenmn":2,"dsiuta":2,"lonnekeb":1,"DikraK":1,"Marcoii1801":1,"agiord":1,"MigueLesPaul":1,"cjmelick":1,"brey":1,"mokrzesa":1,"dhanraj125":1},"pull_request_authors":{"tommz9":3,"tnipen":3,"evenmn":1,"yma042":1,"mokrzesa":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-13T00:00:15.727Z","repositories_count":14242011,"issues_count":34645099,"pull_requests_count":113159491,"authors_count":11233283,"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":{"NONE":1},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":1,"NONE":1},"past_year_issue_authors":{"lonnekeb":1},"past_year_pull_request_authors":{"evenmn":1,"tnipen":1},"maintainers":[],"active_maintainers":[]},"events":{"total":{"DeleteEvent":1,"PullRequestEvent":4,"ForkEvent":1,"IssuesEvent":3,"WatchEvent":11,"IssueCommentEvent":2,"PushEvent":23,"GollumEvent":99,"CreateEvent":4},"last_year":{"WatchEvent":9,"PushEvent":13,"GollumEvent":22,"CreateEvent":2}},"keywords":["evaluation","forecasting","prediction","statistics","verification","weather"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/python-package.yml","sha":null,"kind":"manifest","created_at":"2023-01-14T22:49:42.277Z","updated_at":"2023-01-14T22:49:42.277Z","repository_link":"https://github.com/WFRT/verif/blob/master/.github/workflows/python-package.yml","dependencies":[{"id":6908284123,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6908284124,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2026-02-21T07:00:40.976Z","updated_at":"2026-02-21T07:00:40.976Z","repository_link":"https://github.com/WFRT/verif/blob/master/pyproject.toml","dependencies":[{"id":25822845672,"package_name":"numpy","ecosystem":"pypi","requirements":"\u003e=1.7","direct":true,"kind":"runtime","optional":false},{"id":25822845673,"package_name":"matplotlib","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822845674,"package_name":"scipy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822845675,"package_name":"netcdf4","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822845705,"package_name":"six","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25822845706,"package_name":"future","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":12.318910138793543,"created_at":"2025-10-31T00:22:41.331Z","updated_at":"2026-04-13T08:00:30.037Z","avatar_url":"https://github.com/WFRT.png","language":"Python","category":"Atmosphere","sub_category":"Meteorological Observation and Forecast","monthly_downloads":432,"total_dependent_repos":5,"total_dependent_packages":1,"readme":"Forecast verification software\n==============================\n.. image:: https://img.shields.io/github/v/release/WFRT/verif.svg\n  :target: https://github.com/WFRT/verif/releases\n  :alt: Release badge\n.. image:: https://github.com/WFRT/verif/actions/workflows/python-package.yml/badge.svg\n  :target: https://github.com/WFRT/verif/actions/workflows/python-package.yml\n  :alt: CI badge\n.. image:: https://img.shields.io/badge/DOI-10.1175%2FBAMS--D--22--0253.1-blue\n  :target: https://doi.org/10.1175/BAMS-D-22-0253.1\n  :alt: Bams Article\n\nVerif is a command-line tool that lets you verify the quality of weather forecasts for point\nlocations. It can also compare forecasts from different forecasting systems (that have different\nmodels, post-processing methods, etc).\n\nThe program reads files with observations and forecasts in a specific format (see \"Input files\"\nbelow). The input files contain information about dates, forecast lead times, and locations such\nthat statistics can be aggregated across different dimensions. To ensure a fair comparison among\nfiles, Verif will discard data points where one or more forecast systems have missing forecasts.\nSince Verif is a command-line tool, it can be used in scripts to automatically create\nverification figures.\n\nVerif version 1.3 has been released (see \"Installation Instruction\" below). We welcome suggestions\nfor improvements. Verif is developed by Thomas Nipen (thomasn@met.no), with contributions from many.\n\nFeatures\n--------\n\n* Deterministic metrics such as MAE, bias, correlation, RMSE (e.g. ``-m mae``)\n* Threshold-based metrics such as the false alarm rate, ETS, EDI, Yule's Q (e.g. ``-m ets``)\n* Probabilistic metrics such as brier score, PIT-histogram, reliability diagrams (e.g. ``-m bs``)\n* Special plots like Taylor diagrams (``-m taylor``), quantile-quantile plots (``-m qq``).\n* Plot scores as a function of date, lead time, station altitude/lat/longitude (e.g. ``-x date``)\n* Show scores on maps (``-type map``)\n* Subset the data by specifying a date range and lat/lon range (``-latrange 58,60``)\n* Export to text (``-type text``)\n* Options to adjust font sizes, label positions, tick marks, legends, etc (``-labfs 14``)\n* Anomaly statistics relative to a baseline like climatology (``-c climfile.txt``)\n* Output to png, jpeg, eps, etc and specify dimensions and resolution (``-f image.png -dpi 300``)\n\nResources\n---------\n\n* Check out the **wiki** at https://github.com/WFRT/verif/wiki.\n* Found a bug? Please report it in the **issue tracker** at https://github.com/WFRT/verif/issues.\n* Reach out to the Verif community in the **discussions** at https://github.com/WFRT/verif/discussions.\n* Check out our `article \u003chttps://journals.ametsoc.org/view/journals/bams/104/9/BAMS-D-22-0253.1.xml\u003e`_ published in BAMS.\n\n.. image:: other/image.jpg\n    :alt: Example plots\n    :width: 400\n    :align: center\n\nGetting started\n---------------\n\nThe easiest way to get started is to install verif with pip:\n\n.. code-block:: bash\n\n    pip3 install verif\n\nThe `verif` command-line program should then be available.\n\nNote that the python package \"cartopy\" is optional and not installed by default when verif is\ninstalled, Verif uses \"cartopy\" for creating a background map when verification scores are plotted\non a map. To install Cartopy run\n\n.. code-block:: bash\n\n    pip3 install cartopy\n\nTo upgrade to a newer version of Verif, run the following:\n\n.. code-block:: bash\n\n   pip3 install verif --upgrade\n\nExamples\n--------\nTo test Verif, you can download example datasets from the github\n`discussion page \u003chttps://github.com/WFRT/verif/discussions\u003e`_. For example, download the following two files from the wind speed dataset: `MEPS.nc \u003chttps://thredds.met.no/thredds/fileServer/metusers/thomasn/verif_datasets/short_range_wind/MEPS.nc\u003e`_ (2.5 km regional model; 20MB file size) and `ECMWF.nc \u003chttps://thredds.met.no/thredds/fileServer/metusers/thomasn/verif_datasets/short_range_wind/ECMWF.nc\u003e`_ (0.2° global model; 24MB file size). Then run the following\ncommands to test out the software:\n\n.. code-block:: bash\n\n   # Shows mean absolute error as a function of lead-time\n   verif MEPS.nc ECMWF.nc -m mae\n   # Shows average observed and forecasted values as a function on time\n   verif MEPS.nc ECMWF.nc -m obsfcst -x time\n   # Shows equitable threat score as a function of threshold\n   verif MEPS.nc ECMWF.nc -m ets\n   # Shows a reliability diagram for a threshold of 13.9 m/s (gale force winds)\n   verif MEPS.nc ECMWF.nc -m reliability -r 13.9\n   # Shows Brier skill score as a function of threshold\n   verif MEPS.nc ECMWF.nc -m bss -x threshold\n\nHow to cite\n-----------\nNipen, T. N., R. B. Stull, C. Lussana, and I. A. Seierstad, 2023: `Verif: A Weather-Prediction Verification Tool for Effective Product Development \u003chttps://journals.ametsoc.org/view/journals/bams/104/9/BAMS-D-22-0253.1.xml\u003e`_. Bull. Amer. Meteor.  Soc., 104, E1610–E1618, https://doi.org/10.1175/BAMS-D-22-0253.1.\n\nCopyright and license\n---------------------\n\nCopyright © 2013-2026 UBC Weather Forecast Research Team. Verif is licensed under the 3-clause\nBSD license. See LICENSE file.\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.1175/BAMS-D-22-0253.1"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["prediction","weather","verification"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/332086","html_url":"https://ost.ecosyste.ms/projects/332086"}