{ "info": { "author": "Michael Hirsch, Ph.D.", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Science/Research", "Operating System :: OS Independent", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering :: Atmospheric Science" ], "description": "[![Travis-CI](https://travis-ci.org/scivision/nexrad-quick-plot.svg?branch=master)](https://travis-ci.org/scivision/nexrad-quick-plot)\n[![Coveralls.io](https://coveralls.io/repos/github/scivision/nexrad-quick-plot/badge.svg?branch=master)](https://coveralls.io/github/scivision/nexrad-quick-plot?branch=master)\n[![AppVeyor Build Station](https://ci.appveyor.com/api/projects/status/jmiiyri2xqdvu5wm?svg=true)](https://ci.appveyor.com/project/scivision/nexrad-quick-plot)\n[![image](https://img.shields.io/pypi/pyversions/NEXRAD-quickplot.svg)](https://pypi.python.org/pypi/NEXRAD-quickplot)\n[![image](https://img.shields.io/pypi/format/NEXRAD-quickplot.svg)](https://pypi.python.org/pypi/NEXRAD-quickplot)\n[![Maintainability](https://api.codeclimate.com/v1/badges/d2df020d3c1e6522412a/maintainability)](https://codeclimate.com/github/scivision/nexrad-quick-plot/maintainability)\n[![PyPi Download stats](http://pepy.tech/badge/NEXRAD-quickplot)](http://pepy.tech/project/NEXRAD-quickplot)\n\n# Nexrad Quick-plot\n\nEasy Python download and plot NEXRAD N0Q compositive reflectivity.\nUses RGB high resolution PNG images of North America.\n\nTested with `pytest`, `flake8` and `mypy` type checking.\n\n## Install\n```sh\npython -m pip install -e .\n```\n\n## Usage\n\nRGB data scaling: NEXRAD N0Q base reflectivity maps.\n\n* Black: No Data\n* -32 dBZ .. 90 dBZ\n* 0.5 dBZ increment\n\n![NEXRAD N0Q RGB scaling](doc/n0q_ramp.png)\n\nThese data are reduced fidelity RGB images.\nWe use `xarray.DataArray` and plot image by image.\nFor high-fidelity science data, the lower level data are needed--contact us if interested.\n\n```python\nimport nexrad_quickplot as nq\n\ndat = nq.load('~/data/2015-01-19/nexrad/nexrad2015-01-19T01:15:00.png')\n\n>>> dat\n\narray([[[255, 255, 255],\n [255, 255, 255],\n ...,\n [255, 255, 255],\n [255, 255, 255]]], dtype=uint8)\nCoordinates:\n * lat (lat) float64 23.0 23.05 23.1 23.15 23.2 23.25 23.3 23.35 23.4 ...\n * lon (lon) float64 -126.0 -125.9 -125.9 -125.8 -125.8 -125.7 -125.7 ...\n * color (color) 'R' 'G' 'B'\nAttributes:\n filename: ~/data/nexrad2015-01-19T01:15:00.png\n wldfn: None\n time: 2015-01-19 01:15:00\n```\n\n`.lat` and `.lon` are vectors of geodetic latitude and longitude respectively, computed based on the `.wld` file corresponding to the images.\n\n\n\n\n### Download NEXRAD data\n\nGet\n[NEXRAD reflectivity data](https://mesonet.agron.iastate.edu/docs/nexrad_composites/)\nwith parallel download:\n```sh\ndownload-nexrad start stop outdir\n```\n\nexample:\ndownload from 2018-01-01 to 2018-01-02 to `~/data/nexrad`:\n```sh\ndownload-nexrad 2018-01-01T00 2018-01-03T00 ~/data/nexrad\n```\n\n### Plot NEXRAD reflectivity data\n\nNEXRAD QuickPlot plots are georegistered via \n[Cartopy](https://pypi.org/project/Cartopy/), \nwhich is the replacement for \n[deprecated Basemap](https://www.scivision.co/cartopy-replace-deprecated-basemap/)\n\n* Plot all data in directory:\n ```sh\n plot-nexrad ~/data/nexrad/\n ```\n* Plot a specific file (subplots if multiple files specified):\n ```sh\n plot-nexrad ~/data/nexrad/2018-01-01T12:35:00.png\n ```\n* Plot via file glob match:\n ```sh\n plot-nexrad ~/data/nexrad/ -pat 2018-01-01T12*.png\n ```\n* Keogram (specify lat or lon and value):\n ```sh\n plot-nexrad ~/data/2018-01-01/nexrad/ -keo lat 40\n ```\n\n## Notes\n\n### Coordinates\n\nEPSG:4326 coordinates (WGS84) are in `.wld` files, which are generally the\nsame for wide time spans of data. The\n[.wld format](https://mesonet.agron.iastate.edu/docs/radmapserver/howto.html#toc3.3)\nis like:\n```\n0.005 (size of pixel in x direction)\n0.0 (rotation of row) (Typically zero)\n0.0 (rotation of column) (Typically zero)\n-0.005 (size of pixel in y direction)\n-126.0 (x coordinate of centre of upper left pixel in map units--here it's WGS84 longitude)\n50.0 (y coordinate of centre of upper left pixel in map units--here it's WGS84 latitude)\n```\n\n\n### Mass image downscaling\n\nFor initial analysis, the original Nexrad image size of 12200 x 5400 pixels may be too high to complete in a reasonable time.\nI choose to downsize by a factor of 10, which takes a long time, but is a one-time process.\n\n```bash\nmkdir orig\ncp *.png orig\n\nnice mogrify -scale 10% \"*.png\"\n```\n\nIf you have trouble with this being very slow, try:\n\n```bash\nMAGICK_TEMPORARY_PATH=/run/shm nice mogrify -scale 10% \"*.png\"\n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/scivision/nexrad-quick-plot", "keywords": "nexrad,weather radar", "license": "", "maintainer": "", "maintainer_email": "", "name": "NEXRAD-quickplot", "package_url": "https://pypi.org/project/NEXRAD-quickplot/", "platform": "", "project_url": "https://pypi.org/project/NEXRAD-quickplot/", "project_urls": { "Homepage": "https://github.com/scivision/nexrad-quick-plot" }, "release_url": "https://pypi.org/project/NEXRAD-quickplot/0.6.7/", "requires_dist": null, "requires_python": ">= 3.6", "summary": "easily download and plot NEXRAD weather radar reflectivity data", "version": "0.6.7" }, "last_serial": 4181003, "releases": { "0.6.1": [ { "comment_text": "", "digests": { "md5": "9d30185601b80088a59f933b00909498", "sha256": "7ac3b2e9976f27e81a73210ea51a077edd07ebb6bc6c7a3474ac503654991bc1" }, "downloads": -1, "filename": "NEXRAD_quickplot-0.6.1-py3-none-any.whl", "has_sig": false, "md5_digest": "9d30185601b80088a59f933b00909498", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 8516, "upload_time": "2018-06-05T18:45:20", "url": "https://files.pythonhosted.org/packages/37/6b/028a030a92421709a2973e7592e68dd6542c2d668e18aebd5047ff90d2b5/NEXRAD_quickplot-0.6.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eaa336107f2f9b0d25dce081b1708558", "sha256": "b4c33cbbc7c68d5aaab5c57b1b7339f921c3937ff191eefb69f8f384db21e4a7" }, "downloads": -1, "filename": "NEXRAD_quickplot-0.6.1.tar.gz", "has_sig": false, "md5_digest": "eaa336107f2f9b0d25dce081b1708558", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 5944, "upload_time": "2018-06-05T18:45:21", "url": "https://files.pythonhosted.org/packages/61/bb/5e1221f3fa1f2143e595088cf2229e287ef5a20aaec158aa723cbdb1309d/NEXRAD_quickplot-0.6.1.tar.gz" } ], "0.6.1.post0": [ { "comment_text": "", "digests": { "md5": "5b3d5e1db540b8c4f920db31a75500c2", "sha256": "6aa59f43350b7c4a853c32eea6ae0523e88aeb8dac89f979c480fb0009bc90da" }, "downloads": -1, "filename": "NEXRAD_quickplot-0.6.1.post0-py3-none-any.whl", "has_sig": false, "md5_digest": "5b3d5e1db540b8c4f920db31a75500c2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 6507, "upload_time": "2018-06-05T21:09:34", "url": "https://files.pythonhosted.org/packages/99/cc/01c12a0753ea2af0f5ae62df1eb2a91dd79a0274782bb78af81d332f5c29/NEXRAD_quickplot-0.6.1.post0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d107aee83e4c7a4e244933f95b1a6a95", "sha256": "6df930bc84c3ce0091fb5d8ca29741a66df219c126b5ee57e65dfeef549f2cd5" }, "downloads": -1, "filename": "NEXRAD_quickplot-0.6.1.post0.tar.gz", "has_sig": false, "md5_digest": "d107aee83e4c7a4e244933f95b1a6a95", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6151, "upload_time": "2018-06-05T21:09:35", "url": "https://files.pythonhosted.org/packages/f0/18/0ae1ceaac0ae72aa4a325d267a0bc1ef44bae02b189714e8bac2f59c918e/NEXRAD_quickplot-0.6.1.post0.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "d3b78841f30e5d886642201b5ca70676", "sha256": "b11b5ab2e9c1fedb7c0977cac04191cf3c65323287a3815bc00319d200a24951" }, "downloads": -1, "filename": "NEXRAD_quickplot-0.6.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d3b78841f30e5d886642201b5ca70676", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 7003, "upload_time": "2018-06-11T20:23:57", "url": "https://files.pythonhosted.org/packages/09/e9/239b34ee901c9af029a9d494c6d28fa78df2bda414b39f2047b032afd1bd/NEXRAD_quickplot-0.6.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dbb74fca02dbe98600d40b1ea7eb19c2", "sha256": "5a248ee7d376b24bf23aaaf75224d83645cce6fb3dc3406b12cf4a4217df788c" }, "downloads": -1, "filename": "NEXRAD_quickplot-0.6.2.tar.gz", "has_sig": false, "md5_digest": "dbb74fca02dbe98600d40b1ea7eb19c2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6678, "upload_time": "2018-06-11T20:23:58", "url": "https://files.pythonhosted.org/packages/4f/0c/af668fdfa7da445d54d37ab5d753b9be885db9feffba85c6b943d67d369f/NEXRAD_quickplot-0.6.2.tar.gz" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "2d8a057e53457e854a82c48c900e0858", "sha256": "b685faa91cb5340e61a5db6e0c2fe247ca4de1ed6b1f2f0f64870a0358913b87" }, "downloads": -1, "filename": "NEXRAD_quickplot-0.6.3-py3-none-any.whl", "has_sig": false, "md5_digest": "2d8a057e53457e854a82c48c900e0858", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 7288, "upload_time": "2018-06-19T20:42:10", "url": "https://files.pythonhosted.org/packages/03/a0/eb8b91eabafc7879a26367f330dbeae284c46bd0a2ce0955ac82a4f3f653/NEXRAD_quickplot-0.6.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d8ed50081f7c91baeac9ac6e75552106", "sha256": "a81de5c47f9b1dcae311788841864eaccbfb1bfc837e9ba50689e341c30f876a" }, "downloads": -1, "filename": "NEXRAD_quickplot-0.6.3.tar.gz", "has_sig": false, "md5_digest": "d8ed50081f7c91baeac9ac6e75552106", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7002, "upload_time": "2018-06-19T20:42:11", "url": "https://files.pythonhosted.org/packages/be/10/0f37e078897ba2959b25348ed5c110e64fe6915a2d8505ea2d7907ba229e/NEXRAD_quickplot-0.6.3.tar.gz" } ], "0.6.4": [ { "comment_text": "", "digests": { "md5": "85e83813f1542df0acb7cde12f2c045a", "sha256": "d101388086bec0584834a938b856ddb7e8311ba14a875eac31c32064983d2e20" }, "downloads": -1, "filename": "NEXRAD_quickplot-0.6.4-py3-none-any.whl", "has_sig": false, "md5_digest": "85e83813f1542df0acb7cde12f2c045a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">= 3.6", "size": 8437, "upload_time": "2018-07-08T05:36:21", "url": "https://files.pythonhosted.org/packages/53/8e/d18bb40102b6c19c47983407128d307633d3988a74b837c32317c0771c0e/NEXRAD_quickplot-0.6.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "99807bee57eb2f02b14db105e9203f27", "sha256": "c2860810903ba28ee5c4d36589af34381c11b26a05df3646c68463348b4f49bd" }, "downloads": -1, "filename": "NEXRAD_quickplot-0.6.4.tar.gz", "has_sig": false, "md5_digest": "99807bee57eb2f02b14db105e9203f27", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6", "size": 7233, "upload_time": "2018-07-08T05:36:23", "url": "https://files.pythonhosted.org/packages/5f/77/6a9ba6da001437397d9387d45ee3682ae5b89d4441eec300d9befc7f4fc3/NEXRAD_quickplot-0.6.4.tar.gz" } ], "0.6.5": [ { "comment_text": "", "digests": { "md5": "119278437c7ceee6e221e43d1e8d8282", "sha256": "d634acbe90f0df91cd84c0eb72af49295dd60221d8bdc515fa81274d626c2689" }, "downloads": -1, "filename": "NEXRAD_quickplot-0.6.5.tar.gz", "has_sig": false, "md5_digest": "119278437c7ceee6e221e43d1e8d8282", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6", "size": 7411, "upload_time": "2018-07-26T16:44:48", "url": "https://files.pythonhosted.org/packages/55/6f/53a963876e53de3e7fbf4141bb46a44ee29027429c60cb375eaf0919ff2b/NEXRAD_quickplot-0.6.5.tar.gz" } ], "0.6.6": [ { "comment_text": "", "digests": { "md5": "4854aeefabffc045d12aabab98ef251c", "sha256": "ff38b65cb293075dea7100d542a1949485bb8a6c09d58500483f287f550b90fb" }, "downloads": -1, "filename": "NEXRAD_quickplot-0.6.6.tar.gz", "has_sig": false, "md5_digest": "4854aeefabffc045d12aabab98ef251c", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6", "size": 1423880, "upload_time": "2018-08-17T16:28:59", "url": "https://files.pythonhosted.org/packages/f4/27/16217543a87fdc05d8266165eab872bf005d3b2e7631c63a6387d32faad4/NEXRAD_quickplot-0.6.6.tar.gz" } ], "0.6.7": [ { "comment_text": "", "digests": { "md5": "ec8c2eb474562ab65ae2b3c9cfafa329", "sha256": "7b5ca8b2e1b128109f8289fc7f8089d3377b5152d12218aa2e7053d504835de2" }, "downloads": -1, "filename": "NEXRAD_quickplot-0.6.7.tar.gz", "has_sig": false, "md5_digest": "ec8c2eb474562ab65ae2b3c9cfafa329", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6", "size": 1423918, "upload_time": "2018-08-17T17:14:13", "url": "https://files.pythonhosted.org/packages/8a/ae/f7cbd101be4c25399643cd2ff52792912aba42b7d270727794268e7a7164/NEXRAD_quickplot-0.6.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ec8c2eb474562ab65ae2b3c9cfafa329", "sha256": "7b5ca8b2e1b128109f8289fc7f8089d3377b5152d12218aa2e7053d504835de2" }, "downloads": -1, "filename": "NEXRAD_quickplot-0.6.7.tar.gz", "has_sig": false, "md5_digest": "ec8c2eb474562ab65ae2b3c9cfafa329", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6", "size": 1423918, "upload_time": "2018-08-17T17:14:13", "url": "https://files.pythonhosted.org/packages/8a/ae/f7cbd101be4c25399643cd2ff52792912aba42b7d270727794268e7a7164/NEXRAD_quickplot-0.6.7.tar.gz" } ] }