|
|
%!s(int64=10) %!d(string=hai) anos | |
|---|---|---|
| debian | %!s(int64=11) %!d(string=hai) anos | |
| doc | %!s(int64=10) %!d(string=hai) anos | |
| tests | %!s(int64=10) %!d(string=hai) anos | |
| .gitignore | %!s(int64=10) %!d(string=hai) anos | |
| CHANGES | %!s(int64=11) %!d(string=hai) anos | |
| COPYING | %!s(int64=11) %!d(string=hai) anos | |
| LICENSE | %!s(int64=11) %!d(string=hai) anos | |
| MANIFEST.in | %!s(int64=10) %!d(string=hai) anos | |
| Makefile | %!s(int64=10) %!d(string=hai) anos | |
| PKG-INFO | %!s(int64=11) %!d(string=hai) anos | |
| README.md | %!s(int64=10) %!d(string=hai) anos | |
| bessel.cc | %!s(int64=10) %!d(string=hai) anos | |
| bessel.h | %!s(int64=10) %!d(string=hai) anos | |
| compare.cc | %!s(int64=10) %!d(string=hai) anos | |
| go.sh | %!s(int64=10) %!d(string=hai) anos | |
| nmie-old.cc | %!s(int64=10) %!d(string=hai) anos | |
| nmie-old.h | %!s(int64=10) %!d(string=hai) anos | |
| nmie-wrapper.cc | %!s(int64=10) %!d(string=hai) anos | |
| nmie-wrapper.h | %!s(int64=10) %!d(string=hai) anos | |
| nmie.cc | %!s(int64=10) %!d(string=hai) anos | |
| nmie.h | %!s(int64=10) %!d(string=hai) anos | |
| push-to-github.sh | %!s(int64=11) %!d(string=hai) anos | |
| py_nmie.cc | %!s(int64=10) %!d(string=hai) anos | |
| py_nmie.h | %!s(int64=10) %!d(string=hai) anos | |
| scattnlay.cpp | %!s(int64=10) %!d(string=hai) anos | |
| scattnlay.pyx | %!s(int64=10) %!d(string=hai) anos | |
| setup.py | %!s(int64=10) %!d(string=hai) anos | |
| setup_cython.py | %!s(int64=10) %!d(string=hai) anos | |
| standalone.cc | %!s(int64=10) %!d(string=hai) anos | |
| test-negative-epsilon.cc | %!s(int64=10) %!d(string=hai) anos |
Compilation options
Python library
Use scattnlay directly
from scattnlay import scattnlay
...
x = ...
m = ...
terms, Qext, Qsca, Qabs, Qbk, Qpr, g, Albedo, S1, S2 = scattnlay(x, m)
...
bash
./test01.py
Standalone program
Execute scattnlay directly Usage:
scattnlay -l Layers x1 m1.r m1.i [x2 m2.r m2.i ...] [-c comment]
bash
./test01.sh > test01.csv
C++ library
try {
MultiLayerMie multi_layer_mie;
multi_layer_mie.SetLayersSize(x);
multi_layer_mie.SetLayersIndex(m);
multi_layer_mie.RunMieCalculation();
*Qsca = multi_layer_mie.GetQsca();
*Qabs = multi_layer_mie.GetQabs();
} catch(const std::invalid_argument& ia) {
// Will catch if multi_layer_mie fails or other errors.
std::cerr << "Invalid argument: " << ia.what() << std::endl;
throw std::invalid_argument(ia);
return -1;
}