Package: sciapy
SCIAMACHY data toolsOverviewThese SCIAMACHY tools are provided as convenience tools for handling
SCIAMACHY level 1c limb spectra and retrieved level 2 trace-gas densities.More extensive documentation is provided onsciapy.rtfd.io.Level 1c toolsThesciapy.level1csubmodule provides a fewconversion toolsforSCIAMACHYlevel 1c calibrated spectra, to be used as input for trace gas retrieval withscia_retrieval_2d.Note that this isnota level 1b to level 1c calibration tool.For calibrating level 1b spectra (for example SCI_NL__1P version 8.02
provided by ESA via theESA data browser)
to level 1c spectra, use theSciaL1Ccommand line tool or the free softwarenadc_tools.
The first produces.childfiles, the second can output to HDF5 (.h5).Further note:.childfiles are currently not supported.Level 2 toolsThesciapy.level2submodule provides
post-processing tools for trace-gas densities retrieved from SCIAMACHY limb scans.
Support simple operations as combining files intonetcdf, calculating and noting
local solar time at the retrieval grid points, geomagnetic latitudes, etc.The level 2 tools also include a simple binning algorithm.RegressionThesciapy.regresssubmodule can be used for regression analysis of SCIAMACHY
level 2 trace gas density time series, either directly or as daily zonal means.
It uses theregressproxypackage
for modelling the proxy input with lag and lifetime decay.
The regression tools support various parameter fitting methods usingscipy.optimizeand uncertainty evaluation using Markov-Chain Monte-Carlo sampling withemcee.
Further supports covariance modelling viaceleriteandgeorge.InstallPrerequisitesSciapy uses features from a lot of different packages.
All dependencies will be automatically installed when usingpip installorpython setup.py, see below.
However, to speed up the install or for use
within acondaenvironment, it may be advantageous to
install some of the important packages beforehand:numpyat least version 1.13.0 for general numerics,scipyat least version 0.17.0 for scientific numerics,matplotlibat least version 2.2 for plotting,netCDF4for the low level netcdf4 interfaces,h5pyfor the low level hdf5 interfaces,dask,toolz,pandasandxarrayfor the higher level data interfaces,astropyfor (astronomical) time conversions,parsefor ASCII text parsing inlevel1c,pybind11C++ interface needed byceleriteceleriteat least version 0.3.0 andgeorgefor Gaussian process modelling,emceefor MCMC sampling andcornerfor the sample histogram plots,regressproxyfor the regression proxy modelling.Out of these packages,numpyis probably the most important one
to be installed first because at leastceleriteneeds it for setup.
It may also be a good idea to installpybind11because bothceleriteandgeorgeuse its interface,
and both may fail to install withoutpybind11.Depending on the setup,numpyandpybind11can be installed
viapip:pipinstallnumpypybind11orconda:condainstallnumpypybind11sciapyOfficial releases are available aspippackages from the main package repository,
to be found athttps://pypi.org/project/sciapy/, and which can be installed with:$pipinstallsciapyThe latest development version of
sciapy can be installed withpipdirectly
from github (seehttps://pip.pypa.io/en/stable/reference/pip_install/#vcs-supportandhttps://pip.pypa.io/en/stable/reference/pip_install/#git):$pipinstall[-e]git+https://github.com/st-bender/sciapy.gitThe other option is to use a local clone:$gitclonehttps://github.com/st-bender/sciapy.git
$cdsciapyand then usingpip(optionally using-e, seehttps://pip.pypa.io/en/stable/reference/pip_install/#install-editable):$pipinstall[-e].or usingsetup.py:$pythonsetup.pyinstallUsageThe whole module as well as the individual submodules can be loaded as usual:>>>importsciapy>>>importsciapy.level1c>>>importsciapy.level2>>>importsciapy.regressBasic class and method documentation is accessible viapydoc:$pydocsciapyThe submodules' documentation can be accessed withpydocas well:$pydocsciapy.level1c
$pydocsciapy.level2
$pydocsciapy.regressLicenseThis python package is free software: you can redistribute it or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, version 2 (GPLv2), seelocal copyoronline version.