https://github.com/arjunsavel/cortecs
Compressed representations of opacity for radiative transfer!
https://github.com/arjunsavel/cortecs
astronomy atmospheres exoplanets radiative-transfer
Last synced: 7 months ago
JSON representation
Compressed representations of opacity for radiative transfer!
- Host: GitHub
- URL: https://github.com/arjunsavel/cortecs
- Owner: arjunsavel
- License: bsd-3-clause
- Created: 2023-08-07T21:11:16.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-10T16:11:11.000Z (11 months ago)
- Last Synced: 2024-08-10T22:26:57.752Z (11 months ago)
- Topics: astronomy, atmospheres, exoplanets, radiative-transfer
- Language: Python
- Homepage: https://cortecs.readthedocs.io/
- Size: 33.3 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# cortecs
[](https://joss.theoj.org/papers/b0c4f5012351abb476081ffe9226fbf4)
[](https://arxiv.org/abs/2402.07047)
[](https://badge.fury.io/py/cortecs)
[](https://anaconda.org/conda-forge/cortecs)
[](https://github.com/arjunsavel/cortecs/actions/workflows/python-package.yml)
[](https://codecov.io/gh/arjunsavel/cortecs)
[](https://codeclimate.com/github/arjunsavel/cortecs/maintainability)
[](https://opensource.org/licenses/MIT)
[](https://github.com/psf/black)
[](https://github.com/pre-commit/pre-commit)
[](https://github.com/arjunsavel/cortecs/actions/workflows/codeql.yml)
[](https://cortecs.readthedocs.io/en/latest/?badge=latest)
[](https://github.com/arjunsavel/cortecs/actions/workflows/draft-pdf.yml)

A Python package for decreasing the memory footprint of opacity functions. The primary functionality is compressing opacity functions with varying flexibility. Current methods include
- polynomial fitting
- PCA-based fitting
- neural network fittingAll fits are currently made in along the temperature and pressure axes.
Additionally, `cortecs` can chunk up opacity functions. The radiative transfer problem can often be cast as embarassingly parallel, so each chunk can be sent to a different CPU.
Installation instructions
-------------------------
`cortecs` can be installed via pip:
```bash
pip install cortecs
```or conda:
```bash
conda install -c conda-forge cortecs
```or from source:
```bash
git clone
cd cortecs
pip install -e .
```
To install from source with optional neural network support:
```bash
pip install -e .[neural_networks]
```