Database access and tools for using the SnowEx database. This tool is simply a client for accessing the database using python
WARNING - This is under active development in preparation for SnowEx Hackweek. Use at your own risk. Data will change as it is QA/QC'd and the end goal is for all data in this database to be pulled from NSIDC. The goal is for this to become a community database open to all.
- Database access for SnowEx Database
- Analysis tools
- Useful conversions to pandas and geopandas
- Lots of examples
If you are just planning on using the database, then only install the python package instructions below.
Install using pip:
pip install snowexsql
A programmatic API has been created for fast and standard access to Point and Layer data. There are two examples covering the features and usage of the api. See the specific api documentation for detailed description.
from snowexsql.api import PointMeasurements, LayerMeasurements
# The main functions we will use are `from_area` and `from_filter` like this
df = PointMeasurements.from_filter(
date=date(2020, 5, 28), instrument='camera'
)
print(df.head())
Jump over to our discussion forum and get help from our community.
Install the python package by:
python3 setup.py install
If you are planning on running the tests or building the docs below also run:
pip install -r requirements_dev.txt
If you are using conda you may need to reinstall the following using conda:
- Jupyter notebook
- nbconvert
Before testing, in a separate terminal, we need to run a local instance of the database. This can be done with
docker-compose up -d
When you are finished testing, make sure to turn the docker off
docker-compose down
Quickly test your installation by running:
python3 -m pytest tests/
The goal of this project is to have high fidelity in data interpretation/submission to the database. To see the current test coverage run:
make coverage
There is a whole host of resources for users in the documentation. It has been setup for you to preview in your browser.
In there you will find:
- Examples of database use
- Database structure
- API to the python package snowexsql
- Links to other resources
- Notes about the data uploaded
- And more!
To see the documentation in your browser:
Warning: To see the examples/gallery, the snowex db needs to be up. Otherwise they will be left with the last image submitted to GitHub.
make docs