{ "info": { "author": "Michael Hirsch, Ph.D.", "author_email": "scivision@users.noreply.github.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Science/Research", "Operating System :: OS Independent", "Programming Language :: Fortran", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Topic :: Scientific/Engineering :: Atmospheric Science" ], "description": "[![Zenodo DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.213475.svg)](https://doi.org/10.5281/zenodo.213475)\n[![Build Status](https://travis-ci.com/space-physics/lowtran.svg?branch=master)](https://travis-ci.com/space-physics/lowtran)\n[![Coverage](https://coveralls.io/repos/github/scivision/lowtran/badge.svg?branch=master)](https://coveralls.io/github/scivision/lowtran?branch=master)\n[![Build status](https://ci.appveyor.com/api/projects/status/aglvdq1spa19ifhx?svg=true)](https://ci.appveyor.com/project/scivision/lowtran)\n[![Maintainability](https://api.codeclimate.com/v1/badges/fb6bf9d0351130bba583/maintainability)](https://codeclimate.com/github/scivision/lowtran/maintainability)\n[![PyPi version](https://img.shields.io/pypi/pyversions/lowtran.svg)](https://pypi.python.org/pypi/lowtran)\n[![PyPi Download stats](http://pepy.tech/badge/lowtran)](http://pepy.tech/project/lowtran)\n\n# Lowtran in Python\n\nLOWTRAN7 atmospheric absorption extinction model.\nUpdated by Michael Hirsch to be platform independent and easily accessible from Python ≥ 3.6 and\n[Matlab](#matlab).\n\nThe main LOWTRAN program has been made accessible from Python by using direct memory transfers instead of the cumbersome and error-prone process of writing/reading text files.\n`xarray.Dataset` high-performance, simple N-D array data is passed out, with appropriate metadata.\n\n\n## Gallery\n\nSee below for how to make these examples.\n\n![Lowtran7 absorption](gfx/lowtran.png)\n\n## Install\n\nYou will need a Fortran compiler.\n`gfortran` is one suitable compiler.\nWe use `f2py` (part of `numpy`) to seamlessly use Fortran libraries from Python by special compilation of the Fortran library with auto-generated shim code.\n\n1. If a Fortran compiler is not already installed, install Gfortran:\n\n * Linux: `apt install gfortran`\n * Mac: `brew install gcc`\n * [Windows](https://www.scivision.dev/windows-gcc-gfortran-cmake-make-install/)\n2. Install Python Lowtran code\n\n ```sh\n pip install -e .\n ```\n\n## Examples\n\nIn these examples, you can write to HDF5 with the `-o` option.\n\nWe present examples of:\n\n* ground-to-space transmittance:\n [TransmittanceGround2Space.py](./TransmittanceGround2Space.py)\n\n ![Lowtran Transmission](./doc/txgnd2space.png)\n* sun-to-observer scattered radiance (why the sky is blue):\n [ScatterRadiance.py](./ScatterRadiance.py)\n\n ![Lowtran Scatter Radiance](./gfx/whyskyisblue.png)\n* sun-to-observer irradiance:\n [SolarIrradiance.py](./SolarIrradiance.py)\n\n ![Lowtran Solar Irradiance](./gfx/irradiance.png)\n* observer-to-observer solar single-scattering solar radiance (up-going) with custom Pressure, Temperature and partial pressure for 12 species:\n [UserDataHorizontalRadiance.py](./UserDataHorizontalRadiance.py)\n ![Lowtran Solar Irradiance](./gfx/thermalradiance.png)\n* observer-to-observer transmittance with custom Pressure, Temperature and partial pressure for 12 species:\n [UserDataHorizontalTransmittance.py](./UserDataHorizontalTransmittance.py)\n* observer-to-observer transmittance:\n [HorizontalTransmittance.py](./HorizontalTransmittance.py)\n\n ![Lowtran Horizontal Path transmittance](./gfx/horizcompare.png)\n\n### Matlab\n\nMatlab users can seamlessly access Python modules, as demonstrated in\n[RunLowtran.m](./matlab/RunLowtran.m) and\n[lowtran_transmission.m](./matlab/lowtran_transmission.m).\n\nHere's what's you'll need:\n\n1. [Setup Python ↔ Matlab interface](https://www.scivision.dev/matlab-python-user-module-import/).\n2. Install Lowtran in Python as at the top of this Readme.\n3. From Matlab, verify everything is working by from the `lowtran/` directory:\n\n ```matlab\n runtests('tests')\n ```\n\n\n## Notes\n\nLOWTRAN7\n[User manual](http://www.dtic.mil/dtic/tr/fulltext/u2/a206773.pdf)\nRefer to this to understand what parameters are set to default.\nCurrently I don't have any aerosols enabled for example, though it's possible to add them into the code.\n\nRight now a lot of configuration features aren't implemented, please request those you want.\n\n### Reference\n\n* Original 1994 Lowtran7 [Code](http://www1.ncdc.noaa.gov/pub/data/software/lowtran/)\n* `LOWFIL` program in reference/lowtran7.10.f was not connected as we had previously implemented a filter function directly in Python.\n* `LOWSCAN` spectral sampling (scanning) program in `reference/lowtran7.13.f` was not connected as we had no need for coarser spectral resolution.\n\n### Fortran (optional)\n\nThis is not necessary for normal users:\n\n```sh\ncd bin\ncmake ..\n\ncmake --build .\nctest -V\n```\n\nshould generate\n[this text output](https://gist.github.com/drhirsch/89ef2060d8f15b0a60914d13a61e33ab).", "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/space-physics/lowtran", "keywords": "mesosphere,stratosphere,thermosphere", "license": "", "maintainer": "", "maintainer_email": "", "name": "lowtran", "package_url": "https://pypi.org/project/lowtran/", "platform": "", "project_url": "https://pypi.org/project/lowtran/", "project_urls": { "Homepage": "https://github.com/space-physics/lowtran" }, "release_url": "https://pypi.org/project/lowtran/2.4.1/", "requires_dist": null, "requires_python": ">= 3.6", "summary": "Model of Earth atmosphere absorption and transmission vs. wavelength and location.", "version": "2.4.1" }, "last_serial": 5387678, "releases": { "0.5": [ { "comment_text": "", "digests": { "md5": "7a58737700d003bdcb35dcb94c36663a", "sha256": "5fb1673b5118d9a2a90b458eed7135dba4bc57027d9a67c236a5b3102314698f" }, "downloads": -1, "filename": "lowtran-0.5.tar.gz", "has_sig": false, "md5_digest": "7a58737700d003bdcb35dcb94c36663a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 266108, "upload_time": "2017-03-05T17:02:00", "url": "https://files.pythonhosted.org/packages/86/e1/9e7997aae7b5a6a7176cad94b7cb07b2d411888b8bac58ac5f44d8c24d2f/lowtran-0.5.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "8f05e3ec4b722b362dd618a55dfef903", "sha256": "95e72e39c99bfe923f662e4db55ff840dd81b03da3a861a1439200a4f632b4e2" }, "downloads": -1, "filename": "lowtran-2.0.0.tar.gz", "has_sig": false, "md5_digest": "8f05e3ec4b722b362dd618a55dfef903", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 267315, "upload_time": "2017-04-04T15:30:05", "url": "https://files.pythonhosted.org/packages/66/c2/bb3ccd25bfbee8f95f4b9cf83a8f07f7a6fe4251431ecca734667bf8b2b9/lowtran-2.0.0.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "7c23053321adc32765cdd14f8f06e1ef", "sha256": "56a0fba13b58eb461b2f678d882a57b83dca6c7f83222167ac034fe88601c44e" }, "downloads": -1, "filename": "lowtran-2.1.0.tar.gz", "has_sig": false, "md5_digest": "7c23053321adc32765cdd14f8f06e1ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 268358, "upload_time": "2017-04-07T04:41:30", "url": "https://files.pythonhosted.org/packages/f4/77/f3562e8529e9fbd023767bb9729514779e810bc4d2e1ad1007f3cfcc3ead/lowtran-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "bf9b176d8a4d86385183f004ac5e2203", "sha256": "edb942d47518b9b7c6b3828cb11490577214256590136918b30bdcdf3f5d4b18" }, "downloads": -1, "filename": "lowtran-2.1.1.tar.gz", "has_sig": false, "md5_digest": "bf9b176d8a4d86385183f004ac5e2203", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 268355, "upload_time": "2017-04-07T04:42:46", "url": "https://files.pythonhosted.org/packages/73/ea/8e90d12f040b0e541ae94b0b0a07e10e3bc9c7f21eb91ed455141e0167cf/lowtran-2.1.1.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "df058c633d4bc898306767c7fb2a0733", "sha256": "b97366b8cc7e0471d6ff3444868f918d9ccb48f274832839ab8c9da929bd1c15" }, "downloads": -1, "filename": "lowtran-2.2.0.tar.gz", "has_sig": false, "md5_digest": "df058c633d4bc898306767c7fb2a0733", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 267894, "upload_time": "2017-04-24T02:05:30", "url": "https://files.pythonhosted.org/packages/3c/ae/cdd5280372bd8e22b43c33597ca76b4e5b36b6f6aa10290d89d14b1e55f2/lowtran-2.2.0.tar.gz" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "dda59f1e285c9efddbb495fc2497b591", "sha256": "61f352165e57cb245bc40d5db54477b3fdc896cdfb079f4d9e717537d7914a0c" }, "downloads": -1, "filename": "lowtran-2.2.1.tar.gz", "has_sig": false, "md5_digest": "dda59f1e285c9efddbb495fc2497b591", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 267912, "upload_time": "2017-04-24T06:48:19", "url": "https://files.pythonhosted.org/packages/4c/ea/ead80756065cfe0d1667aa103932568083895a81cc7572609fe9f9ba5386/lowtran-2.2.1.tar.gz" } ], "2.2.2": [ { "comment_text": "", "digests": { "md5": "6af657bfaac92b85ff65e142dd9dfc64", "sha256": "841fd8fda9eb6f66f99f0d7040b03a94e63bb664b3f5358d0e5f9d56d7168ae9" }, "downloads": -1, "filename": "lowtran-2.2.2.tar.gz", "has_sig": false, "md5_digest": "6af657bfaac92b85ff65e142dd9dfc64", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 752454, "upload_time": "2018-03-20T19:25:27", "url": "https://files.pythonhosted.org/packages/05/30/97e970a706385c48998f8b086af813023ec8cac190d5247a7c0666e040fd/lowtran-2.2.2.tar.gz" } ], "2.2.2a0": [ { "comment_text": "", "digests": { "md5": "88c36e9fd045f7f1b99dd059c6ec33e6", "sha256": "4ef4bc9d41dadeb4413dd67fbc40790ae1aea17eb34e9b2d994415015acc9b55" }, "downloads": -1, "filename": "lowtran-2.2.2a0.tar.gz", "has_sig": false, "md5_digest": "88c36e9fd045f7f1b99dd059c6ec33e6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 752463, "upload_time": "2018-03-20T19:26:48", "url": "https://files.pythonhosted.org/packages/77/a0/af675c0e370143a030d227b702ffd0f990bbb7077656faa5e685f91ca5fd/lowtran-2.2.2a0.tar.gz" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "3b377173b43fda8d9a8f4b0445833956", "sha256": "427268d05b5e6a2b50ee461924f4d7a53e99931d34fcaad6020b74425dca0337" }, "downloads": -1, "filename": "lowtran-2.3.0.tar.gz", "has_sig": false, "md5_digest": "3b377173b43fda8d9a8f4b0445833956", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 752547, "upload_time": "2018-03-21T05:51:20", "url": "https://files.pythonhosted.org/packages/7a/1c/9962934ccfd64a5babb7c25b9a9c6b6a979a8ee0668d7d67591f328994f2/lowtran-2.3.0.tar.gz" } ], "2.3.0a0": [ { "comment_text": "", "digests": { "md5": "f9835bbd4ff85090c513f7f2ed4bc58e", "sha256": "34808522e16796473d4e7f486c936fd539c9565e9484bc48bba524a8d0fcbf67" }, "downloads": -1, "filename": "lowtran-2.3.0a0.tar.gz", "has_sig": false, "md5_digest": "f9835bbd4ff85090c513f7f2ed4bc58e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 752640, "upload_time": "2018-03-21T05:56:24", "url": "https://files.pythonhosted.org/packages/7d/e5/78e716aa201552bfbb64f14e8329463f1e31e72372c16fa46511ba57bf58/lowtran-2.3.0a0.tar.gz" } ], "2.3.1": [ { "comment_text": "", "digests": { "md5": "59f621b6f5a8ff922c834f670adb6319", "sha256": "48a4c6708fc749b0651f12309e264993c26ad56deee297807eaa790b13cd73a2" }, "downloads": -1, "filename": "lowtran-2.3.1.tar.gz", "has_sig": false, "md5_digest": "59f621b6f5a8ff922c834f670adb6319", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 752832, "upload_time": "2018-03-21T09:20:05", "url": "https://files.pythonhosted.org/packages/f6/df/493f8965212a3ab681cbe08bafab265667d9b0c273e6192ec5f6632a1cf7/lowtran-2.3.1.tar.gz" } ], "2.3.2": [ { "comment_text": "", "digests": { "md5": "6850a349dcae21aa0b4ce3a311559812", "sha256": "65cfb079a05c4f9d84af252141d919c3d872d99629a0983b4988c24e045df3f2" }, "downloads": -1, "filename": "lowtran-2.3.2.tar.gz", "has_sig": false, "md5_digest": "6850a349dcae21aa0b4ce3a311559812", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 846068, "upload_time": "2018-03-21T19:58:51", "url": "https://files.pythonhosted.org/packages/f6/48/f67d1cc4ae9fb03601b9229dfdf1be16b1d890e3be4c6fdd0d944e49e640/lowtran-2.3.2.tar.gz" } ], "2.3.3": [ { "comment_text": "", "digests": { "md5": "21e40090b4e349ebbfb38464dfd2a913", "sha256": "09348a3348615b9837056b0082be974516f7d18010ee9f45f94de77314c862e7" }, "downloads": -1, "filename": "lowtran-2.3.3.tar.gz", "has_sig": false, "md5_digest": "21e40090b4e349ebbfb38464dfd2a913", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 844757, "upload_time": "2018-06-23T00:04:22", "url": "https://files.pythonhosted.org/packages/80/18/4104de41b05bc096b4e9ea4e6831a5276681b425a879cf654540f78f70da/lowtran-2.3.3.tar.gz" } ], "2.3.3a0": [ { "comment_text": "", "digests": { "md5": "d1fd794421c64fa28031b03a7fb40b63", "sha256": "61eaa30ce9d5b329a2745605ee06b37e2a21b05c42a374b1ecf46d868bf9b9c8" }, "downloads": -1, "filename": "lowtran-2.3.3a0.tar.gz", "has_sig": false, "md5_digest": "d1fd794421c64fa28031b03a7fb40b63", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 844841, "upload_time": "2018-06-23T00:08:00", "url": "https://files.pythonhosted.org/packages/5b/4b/1fb1390099076d794517fb8edde5e479f4acd6034ac1578cf15934d820de/lowtran-2.3.3a0.tar.gz" } ], "2.3.4": [ { "comment_text": "", "digests": { "md5": "3af23d7769f10729a404d61facb88468", "sha256": "84a90ece899b6799548425b1d5b5ce3025fec4cad8fe1f29f7e2c8402408096b" }, "downloads": -1, "filename": "lowtran-2.3.4.tar.gz", "has_sig": false, "md5_digest": "3af23d7769f10729a404d61facb88468", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 844829, "upload_time": "2018-06-23T00:11:51", "url": "https://files.pythonhosted.org/packages/0c/c7/dd68d0e3c89aa67ff7b23137433a3ba6e4a47f6004857764d696071d1018/lowtran-2.3.4.tar.gz" } ], "2.3.5": [ { "comment_text": "", "digests": { "md5": "cbe37bf4537800017de6593b7c81baf4", "sha256": "ccd4b213d7b3fd1188792e7c0dd04a21a1659f404106b9186f5470537011e425" }, "downloads": -1, "filename": "lowtran-2.3.5.tar.gz", "has_sig": false, "md5_digest": "cbe37bf4537800017de6593b7c81baf4", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6", "size": 845253, "upload_time": "2018-07-12T18:56:27", "url": "https://files.pythonhosted.org/packages/1c/b0/0f3f181c26530fba00f2fe5c303cf23c439d494bceb4752cf9628e514f8e/lowtran-2.3.5.tar.gz" } ], "2.4.0": [ { "comment_text": "", "digests": { "md5": "913beebd6c05aa7f5de79aff2a27031c", "sha256": "27f23c582a69b953236c508db3da3bda66b440c38ba6c726d70c6f5df56c8010" }, "downloads": -1, "filename": "lowtran-2.4.0.tar.gz", "has_sig": false, "md5_digest": "913beebd6c05aa7f5de79aff2a27031c", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6", "size": 844383, "upload_time": "2018-08-13T22:56:22", "url": "https://files.pythonhosted.org/packages/db/00/a76204de792d97eef7622c3e70f829eb970a4e601669fa423888a0ecfccb/lowtran-2.4.0.tar.gz" } ], "2.4.1": [ { "comment_text": "", "digests": { "md5": "769cb9a81b0c719b8153b41f5f46fba3", "sha256": "3b5f43f84d4774d2e0ddfa5e91f5e7ee663e63e1d1b88305f6852428e4fb6495" }, "downloads": -1, "filename": "lowtran-2.4.1.tar.gz", "has_sig": false, "md5_digest": "769cb9a81b0c719b8153b41f5f46fba3", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6", "size": 843215, "upload_time": "2019-06-11T18:20:19", "url": "https://files.pythonhosted.org/packages/31/d5/8b0a247956931dc3170759bdc9ebcf890bb409d9cdd77953d4d1955b1b69/lowtran-2.4.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "769cb9a81b0c719b8153b41f5f46fba3", "sha256": "3b5f43f84d4774d2e0ddfa5e91f5e7ee663e63e1d1b88305f6852428e4fb6495" }, "downloads": -1, "filename": "lowtran-2.4.1.tar.gz", "has_sig": false, "md5_digest": "769cb9a81b0c719b8153b41f5f46fba3", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6", "size": 843215, "upload_time": "2019-06-11T18:20:19", "url": "https://files.pythonhosted.org/packages/31/d5/8b0a247956931dc3170759bdc9ebcf890bb409d9cdd77953d4d1955b1b69/lowtran-2.4.1.tar.gz" } ] }