{"id":13686435,"url":"https://github.com/YvZheng/pycwr","last_synced_at":"2025-05-01T09:31:43.184Z","repository":{"id":62579725,"uuid":"210337815","full_name":"YvZheng/pycwr","owner":"YvZheng","description":"The China Weather Radar Toolkit, support most of China's radar formats(WSR98D, CINRAD/SA/SB/CB, CINRAD/CC/CCJ, CINRAD/SC/CD)","archived":false,"fork":false,"pushed_at":"2024-08-13T20:59:05.000Z","size":24085,"stargazers_count":210,"open_issues_count":10,"forks_count":78,"subscribers_count":21,"default_branch":"master","last_synced_at":"2024-10-02T18:34:41.471Z","etag":null,"topics":["hydrology","python","weather-radars"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YvZheng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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":"2019-09-23T11:27:32.000Z","updated_at":"2024-10-02T11:04:54.000Z","dependencies_parsed_at":"2023-02-09T14:15:13.598Z","dependency_job_id":"74ff32d8-523b-4767-b034-520999490320","html_url":"https://github.com/YvZheng/pycwr","commit_stats":{"total_commits":216,"total_committers":8,"mean_commits":27.0,"dds":0.2222222222222222,"last_synced_commit":"2444f4fcdf2bc88446810b8446d0c9d1e60a7e6c"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YvZheng%2Fpycwr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YvZheng%2Fpycwr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YvZheng%2Fpycwr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YvZheng%2Fpycwr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YvZheng","download_url":"https://codeload.github.com/YvZheng/pycwr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224250216,"owners_count":17280522,"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"}},"keywords":["hydrology","python","weather-radars"],"created_at":"2024-08-02T15:00:32.380Z","updated_at":"2024-11-12T09:30:51.132Z","avatar_url":"https://github.com/YvZheng.png","language":"Python","funding_links":[],"categories":["Radar"],"sub_categories":[],"readme":"\u003cdiv align=center\u003e\n\n![avatar](./pictures/NJIAS.png)\n\n\u003c/div\u003e\n\n# pycwr (Python China Weather Radar tools library)\n\n- [中文](README_CN.md)\n- [Developers and contributors](CONTRIBUTORS.txt)\n\nDocuments\n----------\nThe documentation will be built on readthedocs and is available at the [pycwr documents website](https://pycwr.readthedocs.io/en/latest/).\n\nInstall pycwr Library\n----------\n### The easiest route to installing pycwr is through pip and conda:\n\nif you haven't install cartopy, for all platforms installing cartopy can be done with:\n\n```\nconda install -c conda-forge cartopy\n```\nand you can install pycwr with pip:\n```\npip install pycwr\n```\n\n### Also, you can install from source code:\n\n```\ngit clone https://github.com/YvZheng/pycwr.git\ncd pycwr\npython setup.py install    \n```\n\nRead Radar Basedata to PRD (Polarimetry Radar Data) class or Py-ART Radar class\n----------\n```\nfrom pycwr.io import read_auto\nfile = r\"./Z_RADR_I_Z9898_20190828192401_O_DOR_SAD_CAP_FMT.bin.bz2\"\nPRD = read_auto(file)\nPyartRadar = PRD.ToPyartRadar()\n```\nThe data structure of the PRD is as follows:\n\n\u003cimg src=\"./pictures/PRD_class.png\" width=\"50%\" height=\"50%\"/\u003e\n\nPlotting PPI with map\n----------\n```\nimport matplotlib.pyplot as plt\nimport cartopy.crs as ccrs\nfrom pycwr.draw.RadarPlot import Graph, GraphMap\nax = plt.axes(projection=ccrs.PlateCarree())\ngraph = GraphMap(PRD, ccrs.PlateCarree())\ngraph.plot_ppi_map(ax, 0, \"dBZ\", cmap=\"pyart_NWSRef\")\nax.set_title(\"example of PPI with map\", fontsize=16)\nplt.show()\n```\n![avatar](./pictures/graph_map.png)\n\nPlotting PPI\n----------\n```\nfig, ax = plt.subplots()\ngraph = Graph(PRD)\ngraph.plot_ppi(ax, 0, \"dBZ\", cmap=\"pyart_NWSRef\")\ngraph.add_rings(ax, [0, 50, 100, 150, 200, 250, 300])\nax.set_title(\"example of PPI\", fontsize=16)\nax.set_xlabel(\"Distance From Radar In East (km)\", fontsize=14)\nax.set_ylabel(\"Distance From Radar In North (km)\", fontsize=14)\n```\n![avatar](pictures/graph.png)\n\n\nPlotting VCS with lat lon position\n----------\n```\nfig, ax = plt.subplots()\ngraph = GraphMap(PRD, ccrs.PlateCarree())\ngraph.plot_vcs_map(ax, (120.8, 27.8), (122.9, 26.8), \"dBZ\", cmap=\"pyart_NWSRef\")\nax.set_ylim([0,15])\nax.set_ylabel(\"Height (km)\", fontsize=14)\nax.set_xlabel(\"Latitude, Longitude\", fontsize=14)\nax.set_title(\"VCS exmaple\", fontsize=16)\nplt.show()\n```\n![avatar](pictures/vcs_map.png)\n\nPlotting VCS with x y position\n----------\n```\nfig, ax = plt.subplots()\ngraph = Graph(PRD)\ngraph.plot_vcs(ax, (0,0), (150, 0), \"dBZ\", cmap=\"pyart_NWSRef\")\nax.set_ylim([0,15])\nax.set_ylabel(\"Height (km)\", fontsize=14)\nax.set_xlabel(\"Distance From Section Start (Uints:km)\", fontsize=14)\nax.set_title(\"VCS exmaple\", fontsize=16)\nplt.show()\n```\n![avatar](pictures/vcs.png)\n\nLaunch Graphical interface to show Radar Data\n----------\n\n```\n python scripts/LaunchGUI.py\n```\n\nThe main window opens as shown below:\n\n\u003cimg src=\"./pictures/pycwr.png\" width=\"50%\" height=\"50%\"/\u003e\n\nmore example via: [exmaple](./notebooks/pycwr_example.ipynb)\n\n\nProject development plan\n----------\n\n- [x] WSR98D, CINRAD/SA/SB/CB, CINRAD/CC/CCJ, CINRAD/SC/CD support\n- [ ] Cfradial Read support\n- [x] Write to Cfradial support\n- [x] Automatically identify radar and obtain latitude and longitude information (SA/SB/CB)\n- [x] Automatic recognition of radar data format types\n- [x] transform to Pyart Radar object\n- [x] Graphical interface support\n- [x] Radar vertical profile support\n- [x] Interpolation algorithm support\n- [x] PPI drawing support, overlay map support\n- [ ] RHI drawing support\n- [ ] Multi-radar inversion algorithm support\n- [x] Radar product algorithm support\n- [ ] Doppler Radar/Dual polarization radar quality control algorithm\n- [ ] DSD Algorithm Support for Dual Polarization Radar\n- [ ] Doppler radar wind field retrieve support\n- [ ] Radar quantitative precipitation estimation algorithm support\n- [ ] Radar extrapolation algorithm support\n- [ ] Radar quantitative precipitation forecast  algorithm support\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FYvZheng%2Fpycwr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FYvZheng%2Fpycwr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FYvZheng%2Fpycwr/lists"}