Skip to content

seignovert/python-titan-aerosols

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Titan aerosols models

Python package for Titan's aerosols models

Install

With pip:

$ pip install titan-aerosols

If you need to contribute this project you can installed it directly from the source files:

$ git clone https://github.com/seignovert/python-titan-aerosols.git
$ cd python-titan-aerosols
$ python -m pip install -e . -r tests/requirements.txt

Python usage

>>> from aerosols import index_tholins

>>> nr, ni = index_tholins(338e-9)
(1.6489699384541059, 0.2392676321412895)


>>> from aerosols import mie_tholins

>>> wvln = 338e-9  # Wavelength (m)
>>> rm = 50e-9     # Monomer radius (m)

>>> qsct, qext, qabs, gg, theta, P = mie_tholins(wvln, rm)
(2.150748326506086e-15,
6.519732093912762e-15,
4.368983767406676e-15,
0.19301947916187234,
array([0., 0.01745329, ..., 3.14159265]),
array([2.23653193, ..., 0.88785229]))


>>> from aerosols import fractals_tholins

>>> Df = 2.0
>>> N = 266

>>> qsct, qext, qabs, gg, theta, P = fractals_tholins(wvln, rm, Df, N)
(1.5986535423863113e-12,
2.5652821769307767e-12,
9.666286345444654e-13,
None,
array([0, ..., 3.14159265]),
array([135.83547352468324, ..., 0.16033083012643]))

>>> N = 3000

>>> qsct, qext, qabs, gg, theta, P = fractals_tholins(wvln, rm, Df, N)
ValueError: Model tested only for N = 2 - 1024 (received N=3000)

>>> qsct, qext, qabs, gg, theta, P = fractals_tholins(wvln, rm, Df, N, force=True)
(1.877008401099561e-11,
2.829777018602765e-11,
9.527686175032043e-12,
None,
array([0, ..., 3.14159265]),
array([1.20358413e+03, ..., 1.27914327e-01]))

>>> from aerosols import mie

>>> qsct, qext, qabs, gg, theta, P = mie(wvln, nr, ni, rm)
(...)

>>> from aerosols import fractals

>>> qsct, qext, qabs, gg, theta, P = fractals(wvln, nr, ni, rm, Df, N)
(...)

A static notebook is also available here.

CLI usage

$ fractal_tholins --help
usage: fractal_tholins [-h] [--phase-function] [--nang NANG]
                [--fractal-dimension FRACTAL_DIMENSION] [--force]
                wvln rm N
Fractals cross-sections and phase function for tholin aggregate. Use default
tholins indexes (CVD) and Tomasko et al. 2008.

positional arguments:
wvln                  Wavelength (m)
rm                    Monomer radius (m)
N                     Number of monomers

optional arguments:
-h, --help            show this help message and exit
--phase-function, -p  Display the phase function
--nang NANG           Number of angles for the phase function (0 -> pi/2)
--fractal-dimension FRACTAL_DIMENSION, -df FRACTAL_DIMENSION
                        Fractal dimension
--force, -f           Bypass validity checks


$ fractal_tholins 338e-9 60e-9 266
# Cross sections:
Scattering: 2.715e-12 m^-2
Absorption: 1.558e-12 m^-2
Extinction: 4.273e-12 m^-2


$ fractal_tholins -p 338e-9 60e-9 266
# Phase function
0.0     1.86e+02
1.0     1.78e+02
...
179.0   1.15e-01
180.0   1.15e-01


$ fractal_tholins -p --nang 10 338e-9 60e-9 266
# Phase function
0.0     2.52e+02
10.0    2.37e+01
...
170.0   1.55e-01
180.0   1.56e-01


$ fractal_tholins 338e-9 60e-9 266 -df 2.3
Model tested only for Df = 2 (received Df=2.30)


$ fractal_tholins 338e-9 60e-9 266 -df 2.3 --force
# Cross sections:
Scattering: 2.657e-12 m^-2
Absorption: 1.351e-12 m^-2
Extinction: 4.008e-12 m^-2

Note

This package is an early attempt to model Titan's aerosols scattering based on Tomasko et al. 2008 paper (doi:10.1016/j.pss.2007.11.019)

About

Python package for Titan's aerosols models

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages