acgc
Data analysis programs from the ACGC research group
Installation
For conda users:
conda install -c conda-forge acgc
For pip users:
pip install acgc
For developers
If you plan to modify or improve the acgc package, an editable installation may be better:
pip install -e git+https://github.com/cdholmes/acgc-python
Your local files can then be managed with git, including keeping up-to-date with the
github source repository (e.g. git pull).
Get started
Submodules within acgc contain all the capabilities of the package.
Submodules are imported via import acgc.<submodule> or from acgc import <submodule>.
Better looking figures (example)
The default appearance of figures from Matplotlib doesn't meet the standards of most
scientific journals (high-resolution, Helvetica-like font). With the acgc.figstyle module,
figures meet these criteria. Simply use from acgc import figstyle before creating your figures.
Bivariate statistics (example)
The BivariateStatistics class makes it easy to compute and display a large number of
bivariate statistics, including line fitting and weighted statistics.
Results can be easily formatted into tables or inset in figures. Use from acgc.stats import BivariateStatistics
See acgc.stats.bivariate.BivariateStatistics for documentation.
Standard major axis (SMA) line fitting (example)
SMA line fitting (also called reduced major axis or RMA) quantifies the linear relationship
between variables in which neither one depends on the other.
It is available via from acgc.stats import sma.
Demos
The demo
folder contains examples of how to accomplish common data analysis and visualization tasks.
The examples include uses of the acgc library as well as other libraries for
geospatial data analysis.
Quick summary of submodules
Key submodules
acgc.figstyle
Style settings for matplotlib, for publication-ready figures. demoacgc.stats
Collection of statistical methods. demo
Other submodules
acgc.erroranalysis
Propagation of error through complex numerical modelsacgc.geoschemoracgc.gc
Tools for GEOS-Chem grids (e.g. indexing, remapping, interpolating)acgc.hysplit
Read HYSPLIT output and write HYSPLIT CONTROL filesacgc.icartt
Read and write ICARTT format filesacgc.igra
Read IGRA radiosonde data filesacgc.mapping
Distance calculation, scale bar for display on mapsacgc.met
Miscelaneous functions for PBL propertiesacgc.modetools
Visualization of eigenmode systemsacgc.netcdf
High-level functions for reading and writing netCDF files. Legacy code.acgc.netcdf.write_geo_ncis still useful for concisely creating netCDF files, but xarray is better for reading netCDF.acgc.solar
Solar zenith angle, azimuth, declination, equation of timeacgc.time
Functions for manimulating times and dates. Legacy code.
1'''Data analysis programs from the ACGC research group 2 3# Installation 4 5For conda users: 6 7 `conda install -c conda-forge acgc` 8 9For pip users: 10 11 `pip install acgc` 12 13### For developers 14If you plan to modify or improve the acgc package, an editable installation may be better: 15`pip install -e git+https://github.com/cdholmes/acgc-python` 16Your local files can then be managed with git, including keeping up-to-date with the 17github source repository (e.g. `git pull`). 18 19<!-- ----------------------- SECTION BREAK ----------------------- --> 20 21# Get started 22 23Submodules within `acgc` contain all the capabilities of the package. 24Submodules are imported via `import acgc.<submodule>` or `from acgc import <submodule>`. 25 26## Better looking figures ([example](https://github.com/cdholmes/acgc-python/blob/main/demo/demo_figstyle.ipynb)) 27 28 29The default appearance of figures from Matplotlib doesn't meet the standards of most 30scientific journals (high-resolution, Helvetica-like font). With the `acgc.figstyle` module, 31figures meet these criteria. Simply use `from acgc import figstyle` before creating your figures. 32 33## Bivariate statistics ([example](https://github.com/cdholmes/acgc-python/blob/main/demo/demo_stats.ipynb)) 34 35The `BivariateStatistics` class makes it easy to compute and display a large number of 36bivariate statistics, including line fitting and weighted statistics. 37Results can be easily formatted into tables or inset in figures. Use `from acgc.stats import BivariateStatistics` 38See `acgc.stats.bivariate.BivariateStatistics` for documentation. 39 40## Standard major axis (SMA) line fitting ([example](https://github.com/cdholmes/acgc-python/blob/main/demo/demo_sma.ipynb)) 41 42SMA line fitting (also called reduced major axis or RMA) quantifies the linear relationship 43between variables in which neither one depends on the other. 44It is available via `from acgc.stats import sma`. 45 46<!-- ----------------------- SECTION BREAK ----------------------- --> 47 48# Demos 49The [demo](https://github.com/cdholmes/acgc-python/blob/main/demo) 50folder contains examples of how to accomplish common data analysis and visualization tasks. 51The examples include uses of the `acgc` library as well as other libraries for 52geospatial data analysis. 53 54<!-- ----------------------- SECTION BREAK ----------------------- --> 55 56# Quick summary of submodules 57 58## Key submodules 59 60- `acgc.figstyle` 61Style settings for matplotlib, for publication-ready figures. 62[demo](https://github.com/cdholmes/acgc-python/blob/main/demo/demo_figstyle.ipynb) 63 64- `acgc.stats` 65Collection of statistical methods. 66[demo](https://github.com/cdholmes/acgc-python/blob/main/demo/demo_stats.ipynb) 67 68## Other submodules 69 70- `acgc.erroranalysis` 71Propagation of error through complex numerical models 72 73- `acgc.geoschem` or `acgc.gc` 74Tools for GEOS-Chem grids (e.g. indexing, remapping, interpolating) 75 76- `acgc.hysplit` 77Read HYSPLIT output and write HYSPLIT CONTROL files 78 79- `acgc.icartt` 80Read and write ICARTT format files 81 82- `acgc.igra` 83Read IGRA radiosonde data files 84 85- `acgc.mapping` 86Distance calculation, scale bar for display on maps 87 88- `acgc.met` 89Miscelaneous functions for PBL properties 90 91- `acgc.modetools` 92Visualization of eigenmode systems 93 94- `acgc.netcdf` 95High-level functions for reading and writing netCDF files. Legacy code. 96`acgc.netcdf.write_geo_nc` is still useful for concisely creating netCDF files, 97but xarray is better for reading netCDF. 98 99- `acgc.solar` 100Solar zenith angle, azimuth, declination, equation of time 101 102- `acgc.time` 103Functions for manimulating times and dates. Legacy code. 104''' 105 106def _package_version(package_name): 107 '''Find version string for package name''' 108 from importlib.metadata import version, PackageNotFoundError 109 try: 110 result = version(package_name) 111 except PackageNotFoundError: 112 result = "unknown version" 113 return result 114 115__version__ = _package_version('acgc') 116 117__all__ = [ 118 'erroranalysis', 119 'figstyle', 120 'gc', 121 'geoschem', 122 'hysplit', 123 'icartt', 124 'igra', 125 'mapping', 126 'met', 127 'modetools', 128 'netcdf', 129 'stats', 130 'solar', 131 'time' 132]