{"id":22903130,"url":"https://github.com/space-physics/aeroplanets","last_synced_at":"2025-08-16T16:45:54.080Z","repository":{"id":80566345,"uuid":"114972626","full_name":"space-physics/aeroplanets","owner":"space-physics","description":null,"archived":false,"fork":false,"pushed_at":"2021-10-11T05:14:35.000Z","size":5735,"stargazers_count":5,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-31T17:44:14.994Z","etag":null,"topics":["airglow","alfven-aurora","aurora","electron-flux","electron-precipitation","simulation"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/space-physics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":["scivision"],"ko_fi":"scivision"}},"created_at":"2017-12-21T06:47:33.000Z","updated_at":"2023-04-19T21:15:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"254fe6ab-92ae-44e9-9e12-a365526f446c","html_url":"https://github.com/space-physics/aeroplanets","commit_stats":{"total_commits":70,"total_committers":1,"mean_commits":70.0,"dds":0.0,"last_synced_commit":"d44bbcd5f38dfb83c3dbf4473b40a4e6d6a08ac2"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/space-physics%2Faeroplanets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/space-physics%2Faeroplanets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/space-physics%2Faeroplanets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/space-physics%2Faeroplanets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/space-physics","download_url":"https://codeload.github.com/space-physics/aeroplanets/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253112069,"owners_count":21856070,"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":["airglow","alfven-aurora","aurora","electron-flux","electron-precipitation","simulation"],"created_at":"2024-12-14T02:34:06.861Z","updated_at":"2025-05-08T16:54:45.393Z","avatar_url":"https://github.com/space-physics.png","language":"C++","funding_links":["https://github.com/sponsors/scivision","https://ko-fi.com/scivision"],"categories":[],"sub_categories":[],"readme":"# Aeroplanets / Trans++: C++ implementation of the Trans* programs.\n\n![linux](https://github.com/space-physics/aeroplanets/workflows/ci_linux/badge.svg)\n![mac](https://github.com/space-physics/aeroplanets/workflows/ci_mac/badge.svg)\n\nAeroplanets is by\n[Guillaume Gronoff](https://scholar.google.com/citations?user=e2RfvmYAAAAJ)\n([ORCID](https://orcid.org/0000-0002-0331-7076))\nof NASA, a former student of Pierre-louis Blelly, Transcar author.\nMichael Hirsch upgraded the original autoconf build system to CMake and redid the plotting utilities.\nAeroplanets is a **1-D kinetic electron transport ionization and excitation model** for **aurora** and **airglow** on various planetary bodies including Earth, Venus, Mars and Titan, and has been used to help conceptualize thermospheres of exoplanets.\nImpact kinetics are simulated for electrons, protons, photons and cosmic rays.\nTransport of secondary particles and suprathermal electrons is also simulated.\nAeroplanets incorporates several models including:\n\n* Trans4 (low energy proton model)\n* Trans-Venus-Mars\n\n\n![Aeroplanets production model](https://agupubs.onlinelibrary.wiley.com/cms/asset/1bd9c74b-3699-4cac-9791-41b811eec3cf/jgra21542-fig-0001.png)\n![Aeroplanets emissions model](https://agupubs.onlinelibrary.wiley.com/cms/asset/ea187c33-c9f3-4ddc-baf1-16df3b840a22/jgra21542-fig-0002.png)\n\nAeroplanets builds easily with CMake using Boost for C++.\nAeroplanets can be compared with other models like\n[Glow](https://www.github.com/space-physics/glowaurora) or\n[Transcar](https://www.github.com/space-physics/transcar).\n\nThe simulation is configured completely with XML.\nThe runtime is similar to Transcar (3-5 minutes on a laptop).\nThe output is text files, for which I have fast Python parsers that could dump to HDF5 etc. as desired.\n\nOver 70 output files are created per simulation, covering:\n\n* production rates for numerous neutral and ion species\n* column emissions from UV to IR\n* energy grid from 1 eV..30 keV\n\nInputs include:\n\n* photon flux (photoionization)\n* proton flux (proton impact ionization)\n* electron flux (electron impact ionization) -- parameterization or read your e- flux file.\n\nBibliography\n\nAeroplanets was described in Section 2 of [JGRSP 2012](https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2011JA016930).\n\n* [JGRSP 2020: Atmospheric Escape Processes and Planetary Atmospheric Evolution](https://arxiv.org/pdf/2003.03231.pdf)\n* [JGRSP 2012: Mars airglow](https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2011JA017308)\n* [GRL 2014: precipitation of keV energetic oxygen ions at Mars](https://agupubs.onlinelibrary.wiley.com/doi/10.1002/2014GL060902)\n* [Astronomy \u0026 Astrophysics 2011: Ionization processes in the atmosphere of Titan](https://www.aanda.org/articles/aa/abs/2011/05/aa15675-10/aa15675-10.html)\n* [2019 master's thesis on Mars proton/hydrogen aurora](https://search.proquest.com/docview/2288851551)\n\n\n## Prereqs\n\nThe build system is CMake.\n\n* Mac: NOTE: at the moment this might have regex.hpp error, I don't have access to MacOS for now.\n\n    ```sh\n    brew install cmake gcc boost lapack\n\n    brew install doxygen  # optional\n    ```\n* Linux\n\n    ```sh\n    apt install g++ gfortran liblapack-dev libboost-filesystem-dev libboost-regex-dev\n\n    apt install doxygen graphviz  # optional\n    ```\n* Windows: use [MSYS2](http://localhost:1313/install-msys2-windows/) or [Windows Subsystem for Linux](https://www.scivision.dev/install-windows-subsystem-for-linux/)\n\nPlotting uses Python and Matplotlib.\n\n## Build\n\n```sh\ncmake -B build\n\ncmake --build build\n```\n\nCompilation can use a few GB of RAM.\nif this becomes an issue, try using `cmake -B build -G Ninja` or if you don't have Ninja, specify `cmake --build build -j1`\n\n## Usage\n\nNOTE: Trans++ has a bug where if the output directory doesn't exist,\nthe program just keeps computing, but doesn't write any output at all.\n\n### Aurora example\n\nFrom the aeroplanets/build/ directory:\n\n1. create the output directory, or no files will be output at all despite full simulation run\n\n   ```sh\n   mkdir SortieAurora\n   ```\n2. run sim\n\n   ```sh\n   ./aero1d ../data/Earth/AuroraEarthFairbanks.xml\n   ```\n   the output appears under SortieAurora/\n\n\n### Plot\n\nAutomatically iterates over all files in output directory.\nFrom the aeroplanets/utils directory:\n\n```sh\npython Plot.py build/SortieAurora/\n```\n\nthe optional `-p ~/plots` parameter saves plots to ~/plots/ directory.\n\n`aeroplanets/data/Earth/SortieAuroraCompar/` is reference data to check if the compilation/computation was successful.\n\n![chem.png](./doc/chem.png)\n\n![colu.png](./doc/colu.png)\n\n![extr.png](./doc/extr.png)\n\n![iono.png](./doc/iono.png)\n\n![prod.png](./doc/prod.png)\n\n### Precipitation\n\nAlfvenic aurora and other structured aurora users may be interested in configuring electron precipitation flux characteristics.\nThis is configured in the input XML file as follows:\n\n1. `\u003cuse_precipitation /\u003e` must exist to enable electron precipitation, and the parameters are enclosed by `\u003cprecipitation\u003e` `\u003c/precipitation\u003e` XML tags.\n2. Electron precipitation must be read from a file or computed by a simple parameterization.\n\n`use_model`  (created in `math/mathflux.cpp`)\n\n* 0: Null (none)\n* 1: Maxwellian\n* 2: Gaussian\n* 3: Dirac (pseudo-monoenergetic)\n\n\n* `E0`     Characteristic energy [eV]\n* `entot`  Total flux [ergs]\n* `isotro` 0: non-isotropic.  1: isotropic.\n* `powlaw` power-law shaping 0 or 1\n\n\n## Plotting\n\nSeveral programs related to concurrent running of large numbers of simulations are in [utils/](./utils).\nMost users will simply use `Plot.py` to make line plots of text output files, using headers.\n\nSome examples from the\n[1983 Venus VTS3 empirical model](https://doi.org/10.1029/JA088iA01p00073),\nvalid from about 140 km - 250 km altitude, done with Venus_*.py programs.\n\n![Venus Latitude](./data/venus_latitude.png)\n![Venus Time](./data/venus_time.png)\n![Venus Altitude](./data/venus_altprofile.png)\n\n## Documentation\n\n1. compile docs\n\n   ```sh\n   doxygen Doxyfile\n   ```\n2. web browser: `doc/html/index.html`\n3. To create `/doc/latex/refman.pdf`:\n\n   ```sh\n   cd doc/latex\n   make\n   ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspace-physics%2Faeroplanets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspace-physics%2Faeroplanets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspace-physics%2Faeroplanets/lists"}