Skip to main content

No project description provided

Project description


Logo

GERG Plotting

Data plotting package for GERG
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contributing
  5. License
  6. Contact
  7. Acknowledgments

About The Project

This project was created to streamline and standardize the process of generating plots at GERG.

Built With

Python

Getting Started

There are two ways to get started

  1. Create a fresh virtual environment using your favorite method and install the package
  2. Use an already established virtual environment and install the package

Dependencies

I have provided a list of the dependencies and their versions below.

List of dependencies:

  • python = 3.12
  • numpy = 2.0.0
  • pandas = 2.2.2
  • matplotlib = 3.9.1
  • xarray = 2024.6.0
  • attrs = 23.2.0
  • netcdf4 = 1.7.1.post1
  • cmocean = 4.0.3
  • scipy = 1.14.0
  • mayavi = 4.8.2

Installation

  1. Activate your virtual environment
  2. Use pip to install pip install gerg_plotting

Usage

Plot data at GERG using Python.

Example: Create a set of maps showing data point temperature, salinity, depth, and time

from gerg_plotting import Data,MapPlot,Bounds
from gerg_plotting.utils import generate_random_point
import numpy as np
import pandas as pd
import matplotlib.dates as mdates
import matplotlib.pyplot as plt
import cartopy.crs as ccrs

# Generate Test Data
bounds = Bounds(lat_min = 24,lat_max = 31,lon_min = -99,lon_max = -88,depth_top=-1,depth_bottom=1000)
data_bounds = Bounds(lat_min = 27,lat_max = 28.5,lon_min = -96,lon_max = -89,depth_top=-1,depth_bottom=1000)
n_points = 1000
lats,lons = np.transpose([generate_random_point(lat_min=data_bounds.lat_min,
                                                lat_max=data_bounds.lat_max,
                                                lon_min=data_bounds.lon_min,
                                                lon_max=data_bounds.lon_max) for _ in range(n_points)])
salinity = np.random.uniform(low=28,high=32,size=n_points)
temperature = np.random.uniform(low=5,high=28,size=n_points)
depth = np.random.uniform(low=-200,high=0,size=n_points)
time = pd.Series(pd.date_range(start='10-01-2024',end='10-10-2024',periods=n_points)).apply(mdates.date2num)

# Init Data object
data = Data(lat=lats,lon=lons,salinity=salinity,temperature=temperature,depth=depth,time=time)
# Init subplots
fig,ax = plt.subplots(figsize=(10,20),nrows=4,subplot_kw={'projection': ccrs.PlateCarree()})
# Init MapPlot object
plotter = MapPlot(instrument=data,bounds=bounds,grid_spacing=3)
# Generate Scatter plots on one figure
plotter.scatter(fig=fig,ax=ax[0],var='temperature',show_bathy=True,pointsize=30)
plotter.scatter(fig=fig,ax=ax[1],var='salinity',show_bathy=True,pointsize=30)
plotter.scatter(fig=fig,ax=ax[2],var='depth',show_bathy=True,pointsize=30)
plotter.scatter(fig=fig,ax=ax[3],var='time',show_bathy=True,pointsize=30)
fig.savefig('map_example.png',dpi=500)

png of maps

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Alec Krueger - alecmkrueger@tamu.edu

Project Link: https://github.com/alecmkrueger/gerg_plotting

Acknowledgments

  • Alec Krueger, Texas A&M University, Geochemical and Environmental Research Group, alecmkrueger@tamu.edu

(back to top)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gerg_plotting-0.0.19.tar.gz (57.6 MB view details)

Uploaded Source

Built Distribution

gerg_plotting-0.0.19-py3-none-any.whl (57.6 MB view details)

Uploaded Python 3

File details

Details for the file gerg_plotting-0.0.19.tar.gz.

File metadata

  • Download URL: gerg_plotting-0.0.19.tar.gz
  • Upload date:
  • Size: 57.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.5 Windows/11

File hashes

Hashes for gerg_plotting-0.0.19.tar.gz
Algorithm Hash digest
SHA256 1f72f082eda82b2805fed20184a5a948c52e64016e5420bf35545ab46f16f19a
MD5 89f26b9f3d849dfe24c3080ce7bd360f
BLAKE2b-256 029e3545aebc0c3a282bed285b2c91075e8aff49776d47aedbac0dc6bd5ee6dd

See more details on using hashes here.

File details

Details for the file gerg_plotting-0.0.19-py3-none-any.whl.

File metadata

  • Download URL: gerg_plotting-0.0.19-py3-none-any.whl
  • Upload date:
  • Size: 57.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.5 Windows/11

File hashes

Hashes for gerg_plotting-0.0.19-py3-none-any.whl
Algorithm Hash digest
SHA256 53a2e88205f6f3d7e006b9183c6b34f4b061285b88d1ef5c7dc55a0694460efa
MD5 47c470540f2f3e72702e2aeb182e5ea1
BLAKE2b-256 11422152129a67c48a8a70e7e28383f64ac92a13e07c833602835903beb1e16f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page