Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ghislainp/snowoptics
Snowoptics computes spectral albedo and extinction of snow, and correct albedo measurements from slope distortion
https://github.com/ghislainp/snowoptics
Last synced: about 2 months ago
JSON representation
Snowoptics computes spectral albedo and extinction of snow, and correct albedo measurements from slope distortion
- Host: GitHub
- URL: https://github.com/ghislainp/snowoptics
- Owner: ghislainp
- License: mit
- Created: 2019-11-06T20:35:37.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-01-04T17:11:15.000Z (over 2 years ago)
- Last Synced: 2024-01-25T12:07:58.486Z (5 months ago)
- Language: Python
- Homepage:
- Size: 78.1 KB
- Stars: 3
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- cryosphere-links - snowoptics - Functions to compute spectral albedo and extinction of snow on flat and tilted terrains, also available as a [webapp](https://snowslope.pythonanywhere.com/) (Snow / SN Software)
README
Snowoptics library
===================Snowoptics provides functions to compute spectral albedo and extinction of snow using the Asymptotic Radiative Transfer theory on flat and tilted terrains. It also provides functions to correct for slope distortion of spectral albedo measurements [Picard et al. submitted]().
Snowoptics only implements simple analytical equations, and considers homogeneous and semi-infinite snowpack. For more complex layered snowpacks, see [tartes model](https://pypi.org/project/tartes/).
Examples
----------To compute the albedo of a flat snow surface with SSA 20 kg/m2 at 800 nm and with 10% radiation from the sky and 90% from the sun at 45° zenith angle:
```python
import numpy as np
import snowopticsprint(snowoptics.albedo_KZ04(wavelengths=800e-9, sza=np.deg2rad(45),
ssa=20, r_difftot=0.1))
```And with some 100 ng/g of black carbon (calculation at 400 nm):
```python
import numpy as np
import snowopticsprint(snowoptics.albedo_KZ04(wavelengths=400e-9, sza=np.deg2rad(45),
ssa=20, r_difftot=0.1, {'BC': 100e-9}))
```To compute albedo over a tilted surface (10° south facing) as described in [Picard et al. submitted]()
```python
print(snowoptics.albedo_P20_slope(wavelengths=800e-9, sza=np.deg2rad(45),
saa=np.deg2rad(180), ssa=20, r_difftot=0.1,
slope=np.deg2rad(10), aspect=np.deg2rad(180),
model="small_slope"))
```Interactive albedo calculations
--------------------------------Lazy to code today? see the interactive webapp that provides most of snowoptics [snowslope](https://snowslope.pythonanywhere.com/)
License information
---------------------Snowoptics is really open-source (MIT License)
Copyright (c) 2019 Ghislain Picard