Week 12: Environmental Sciences Packages¶
A collection of Python packages for atmospheric and environmental sciences¶
Statistics¶
- SciPy: SciPy provides algorithms for optimization, integration, interpolation, eigenvalue problems, algebraic equations, differential equations, statistics and many other classes of problems.
- statsmodels: A python module that provides classes and functions for the estimation of many different statistical models, as well as for conducting statistical tests, and statistical data exploration.
Visualizations¶
- Seaborn: A Python data visualization library based on matplotlib. It provides a high-level interface for drawing attractive and informative statistical graphics.
- Bokeh An interactive visualization library for modern web browsers.
- plotly: An interactive, open-source, and browser-based graphing library for Python.
Machine Learning:¶
- Scikit-learn: A machine learning library that provides almost all the machine learning algorithms you might need.
- PyCaret: PyCaret is an open-source, low-code machine learning library in Python that automates machine learning workflows
- TensorFlow: An end-to-end open source platform for machine learning.TensorFlow is a framework for defining and running computations that involve tensors, which are partially defined computational objects that eventually produce a value.
Geospatial Analysis and Mapping¶
- EarthPy: A python package that makes it easier to plot and work with spatial raster and vector data using open source tools. Earthpy depends upon geopandas which has a focus on vector data and rasterio with facilitates input and output of raster data files.
- Folium: A geospatial Python library used to create interactive maps.
- xESMF: Universal regridder for geospatial data.
- pyResample: Resampling geospatial image data.
- Rasterio: Rasterio is a GDAL and Numpy-based Python library designed to make your work with geospatial raster data more productive, more fun — more Zen. It is a highly useful module for raster processing which you can use for reading and writing several different raster formats in Python. Python automatically registers all known GDAL drivers for reading supported formats when importing the module.
- Regionmask: Plotting and creation of masks of spatial regions
- GeoViews: Library that makes it easy to explore and visualize geographical, meteorological, and oceanographic datasets, such as those used in weather, climate, and remote sensing research
Hydrology:¶
- Pytesmo: Python Toolbox for the Evaluation of Soil Moisture Observations.
- pyDEM: PyDEM is a package for topographic (terrain) analysis. It takes in digital elevation model (DEM) rasters, and it outputs quantities like slope, aspect, upstream area, and topographic wetness index.
- HydrPy: A framework for the development and application of hydrological models based on Python.
- PyFlo: It is an open-source Python library for performing hydraulic and hydrology stormwater analysis. Features include network hydraulic grade analysis and time/iteration based storage and flood routing simulations.
Atmospheric Science:¶
- MetPy: It is a collection of tools in Python for reading, visualizing and performing calculations with weather data.
- ACT: Toolkit for working with atmospheric time-series datasets of varying dimensions.
- Satpy: Reading, manipulating, and writing data from remote-sensing earth-observing meteorological satellite instruments.
- climmetlab: Python package aiming at simplifying access to climate and meteorological datasets
- xgcm: Extends the xarray data model to understand finite volume grid cells (common in General Circulation Models) and provides interpolation and difference operations for such grids
Geology¶
- GemPy: GemPy is a tool for generating three-dimensional structural geological models in Python. It allows the user to create complex combinations of stratigraphical and structural features such as folds, faults, and unconformities. It was furthermore designed to enable probabilistic modeling to address parameter and model uncertainties.
- MTpy: MTpy is a Python Toolbox for Magnetotelluric (MT) Data Processing, Analysis, Modelling and Visualization.
- Pyleoclim: Pyleoclim is a Python package designed for the analysis of paleoclimate data. Pyleoclim leverages various data science libraries (numpy, pandas, scikit-learn) for time series analysis, as well as and Matplotlib and Cartopy for the creation of publication-quality figures.
Assignment: Write a tutorial for an open-source Python package¶
Pick a python package of your choice. You can choose one from the list of the python packages above, or a python package that you're planning to use in your final project.
Your task is to write a jupyter notebook tutorial on this package. Your tutorial should:
- Introduce the package's core features, capabilities, references and how it can be applied to analyze environmental data.
- Provide instructions for installing the package using Mamba or Google's Colab.
- Integrate real-world environmental sciences data into your tutorial. This could include datasets used in class or your final project.
- Provide 2 to 3 examples that guide users through common tasks in environmental data analysis using the package.
- Be well-organized and reproducible with clean code and clear comments.
- Don't introduce all functions. Just pick a few that you think would be most useful. Users should be able to finish the tutorial within 30 minutes.
In [ ]:
Copied!