libicedb

icedb is a library and set of programs that manipulate snow scattering databases and standardize their format

Authors

Ryan Honeyagerwith contributions from the snow scattering community

Papers

Scattering and microphysical assumptions are often "hard-coded" into common radiative transfer tools. Icedb fixes this by defining a standard, common format for storing particle scattering information. It also provides a C/C++/Python reference framework for manipulating scattering databases.

It has a documentation website, located at: https://rhoneyager.github.io/libicedb/. This site has build instructions, examples, a complete API documentation and more.

There are now many published datasets on the scattering properties of realistically shaped snow and aerosol particles. These datasets represent increasingly sophisticated attempts to match the variability and detail of particles found in nature. Applications range from ground-based, airborne, and space-based retrievals to active and passive forward simulators and the assimilation of all-sky microwave observations into numerical weather prediction models.

The icedb toolkit provides the ability to manipulate both particle structural information and scattering information. It can be used to convert diverse sets of scattering databases into a common HDF5 / NetCDF file format. This format is an outgrowth of discussions at the 2017 International Summer Snowfall Workshop. Having a common format for storing scattering data is quite desirable, as it allows researchers to rapidly assess features of different particle models and use existing results in their own research. Different papers describe their particle models using different metrics, so icedb also provides functions to establish consistent definitions of quantities like particle size, aspect ratio, fractal dimension and projected area.

The library and the associated applications will build on Windows, OS X, many Linuxes and BSDs. It is written in C++, and will also eventually provide a C-style interface. This will allow end users to use the library in diverse languages, such as Fortran, IDL, Julia, Matlab and Python. It has a natural interface that conceals file I/O details from end users, allowing them to focus on science and not programming arcana.

No image