{"id":26184604,"url":"https://github.com/lpilz/wps_xr","last_synced_at":"2026-04-21T15:35:03.602Z","repository":{"id":69271448,"uuid":"532020469","full_name":"lpilz/wps_xr","owner":"lpilz","description":"A collection of tools to integrate WRF/WPS geogrid binary datasets into the xarray ecosystem","archived":false,"fork":false,"pushed_at":"2026-04-16T08:53:48.000Z","size":186,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-04-16T10:33:56.748Z","etag":null,"topics":["geogrid","wps","wrf","xarray","xarray-accessor","xarray-extension"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lpilz.png","metadata":{"files":{"readme":"README.md","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":"2022-09-02T17:30:46.000Z","updated_at":"2026-04-16T08:53:44.000Z","dependencies_parsed_at":"2025-09-01T16:14:29.947Z","dependency_job_id":"207a191f-7201-4578-b89d-93bc82f105f4","html_url":"https://github.com/lpilz/wps_xr","commit_stats":{"total_commits":49,"total_committers":1,"mean_commits":49.0,"dds":0.0,"last_synced_commit":"a9f2ced2fa6c6349186e9fa9dae6989758f852e7"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lpilz/wps_xr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpilz%2Fwps_xr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpilz%2Fwps_xr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpilz%2Fwps_xr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpilz%2Fwps_xr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lpilz","download_url":"https://codeload.github.com/lpilz/wps_xr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpilz%2Fwps_xr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32098059,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T11:25:29.218Z","status":"ssl_error","status_checked_at":"2026-04-21T11:25:28.499Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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"}},"keywords":["geogrid","wps","wrf","xarray","xarray-accessor","xarray-extension"],"created_at":"2025-03-11T22:59:49.075Z","updated_at":"2026-04-21T15:35:03.555Z","avatar_url":"https://github.com/lpilz.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WPS_XR\n[![GitHub Workflow Status][github-ci-badge]][github-ci-link]\n[![Code Coverage Status][codecov-badge]][codecov-link]\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/d8e051334b1d4f13bc24d7852378866d)](https://www.codacy.com/gh/lpilz/wps_xr/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=lpilz/wps_xr\u0026amp;utm_campaign=Badge_Grade)\n[![Maintainability](https://api.codeclimate.com/v1/badges/3b985f17e8d7491c94b7/maintainability)](https://codeclimate.com/github/lpilz/wps_xr/maintainability)\n\nA collection of tools to integrate WPS geogrid binary datasets into the xarray ecosystem.\nThis package provides a function to open geogrid datasets, a configuration to change output format and a function to write data to disk.\n\n## Usage\n### Reading data\nTo open a WPS geogrid dataset located under `\u003cpath\u003e`, use:\n```\nimport wps_xr\nds = wps_xr.open_dataset(\u003cpath\u003e)\n```\nThis provides the data in an `xarray.Dataset` object.\nIt also populates the [`donfig`](https://github.com/pytroll/donfig) object `wps_xr.config`, which contains the configuration to be eventually written to the `index` file.\n\n### Writing data to disk\nThe routine to write data to disk is provided via the `wps` accessor.\nAn example for `usgs` data might look like this:\n```\nds.wps.to_disk(\u003coutput_path\u003e, var=\"usgs\", tile_size=(1200,1200), force=True)\n```\nThis method will **not use the global and variable attributes**.\nFor output format configuration, please refer to the next section.\n\n### Configuring the output\nAt the moment, the Dataset and DataArray attributes are only populated once and don't have an impact on the data being written to disk.\nIf you want to change the way the data is written, you have to use the `index` dict in the [`donfig`](https://github.com/pytroll/donfig) object populated by `open_dataset`.\n```\nfrom wps_xr import config\nconfig.set({\"index.missing_value\": -9999})\n```\n\n### Plotting data\nThe `wps` accessor also provides a convenient plotting method:\n```\nds.wps.plot(var=\"usgs\")\n```\nIt is mainly concerned with building the correct colorbar when encountering `categorical` data.\n\n## Installation\nDependencies in this package are managed by `conda` and `poetry`.\nTo install this package follow the following steps:\n```\nconda env create -f ci/environment.yml \u0026\u0026 conda activate wps_xr\npoetry build wheel\n```\nThen the `wps-xr*.whl` file is built in `./dist/` and can be installed using `pip install \u003cfile\u003e`.\n\n## Development\nIn order to develop this package, again use `conda` and `poetry`.\n```\nconda env create -f ci/environment.yml \u0026\u0026 conda activate wps_xr\npoetry install\n```\nThen the `pytest`-powered testing can be run using `poetry run pytest .`\n\nTo use `pre-commit`, after installing the dependencies execute `poetry run pre-commit install`.\n\n## TODOS:\n- [ ] Add projections other than `regular_ll`\n- [ ] Drop hard `dask` dependency\n- [ ] Add tests for `index.missing_value`\n\n[github-ci-badge]: https://img.shields.io/github/actions/workflow/status/lpilz/wps_xr/ci.yaml?branch=main\n[github-ci-link]: https://github.com/lpilz/wps_xr/actions?query=workflow%3ACI\n[codecov-badge]: https://img.shields.io/codecov/c/github/lpilz/wps_xr.svg?logo=codecov\n[codecov-link]: https://codecov.io/gh/lpilz/wps_xr\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flpilz%2Fwps_xr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flpilz%2Fwps_xr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flpilz%2Fwps_xr/lists"}