Skip to main content

A package for reading NASA PACE data files.

Project description

NASA-PACE-Data-Reader

This repository hosts a Python package designed to read L1C files from NASA PACE instruments, including HARP2, SPEXone, and OCI. Future development plans include the addition of readers for L2 aerosol and surface products.

Dependencies


  • Python v3.10 and above

Installing the library from PyPi

To install the python library "nasa-pace-data-reader", follow these steps:

  1. Open the command prompt or terminal.
  2. Enter the command pip install nasa-pace-data-reader.
  3. It is recommended to run this command in a separate pip or conda environment to prevent dependency conflicts.

Installing from Github source code

  1. cd to git directory
  2. Enter the command pip install -e ./

Building and Uploading the Package (For package maintainers):

To build and upload the package, you can either run the sh Install.sh script (ensure to specify the correct version).


Example Usage:

See the example python notebook Examples/L1C-example.ipynb

Here is a simple example of how to use the package:

from nasa_pace_data_reader import L1, plot    # library

# Location of the file
fileName = '/Users/aputhukkudy/Downloads/PACE_HARP2.20220321T101844.L1C.5.2KM.V03.SIM2.1_.nc'

# Read the file
l1c = L1.L1C()
l1c_dict = l1c.read(fileName)

# Print the keys and the shape of the data
l1c_dict.keys()
for key in l1c_dict.keys():
    if key != '_units':
        print('{:<24}:{}'.format(key, l1c_dict[key].shape))

# Define the pixel
pixel = [250,300]

# Load the plot class
plt_ = plot.Plot(l1c_dict)

# set which band to plot
band = 'Blue'
plt_.setBand(band)

# Read the 'i' for a pixel
i = l1c_dict['i'][pixel[0], pixel[1], plt_.bandAngles]
print('i:', i)
print('viewing angles:', l1c_dict['view_angles'][plt_.bandAngles])

# Set the dpi
plt_.setDPI(256)

# set which band to plot
band = 'NIR'
plt_.setBand(band)

# Plot the pixel
plt_.plotPixel(pixel[0], pixel[1])

# define the wavelengths and variables to plot
plt_.setInstrument()

# plot all vars and bands
plt_.plotPixelVars(pixel[0], pixel[1])

# plot only specific bands and vars
plt_.vars2plot = ['i', 'q', 'u']    # Order in the list is the order of plotting
plt_.bands2plot = ['NIR', 'blue']   # Order in the list is the order of plotting

# plot 
plt_.plotPixelVars(pixel[0], pixel[1], bands= plt_.bands2plot, alpha=0.5, linewidth=0.5) # you can pass any other arguments to the plot function

# plot RGB image
# Load the plot class
plt_ = plot.Plot(l1c_dict)

# Plot RGB
plt_.plotRGB(scale=1, returnRGB=True)

# plot RGB in default plate carree projection
plt_.projectedRGB()

# plot RGB in Orthographic projection
plt_.projectedRGB(proj='Orthographic')

# plot one variable in a specific projection at closest viewing angle to nadir
band = 'Red'
plt_.setBand(band)
plt_.projectVar('i',  dpi=300)

# Plotting reflectance at closest viewing angle to -35 degrees
plt_.reflectance = True
plt_.projectVar('u',  viewAngle=-35)

Change Log:


v0.0.3.20

  • Added Examples/auto-image-gen-harp2.py to automate the L1C image plotting

v0.0.3.19

  • Adjustments made to account for the accurate variable name in the L1C file.
  • Implemented the option to plot L1B (HARP2).

v0.0.3.18

  • Masked the black pixels in the projected RGB

v0.0.3.17

  • Added the option to load OCI L1C file and plot the spectrum

v0.0.3.16

  • The bug related to plotting multiple band data has been resolved.

v0.0.3.15

  • Option to project one variable to the map
  • the viewing angle can be specified easily

v0.0.3.14

  • Added the ability to plot projected RGB using cartopy.
  • Removed Basemap library from the dependencies

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

nasa_pace_data_reader-0.0.3.21.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nasa_pace_data_reader-0.0.3.21-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

Details for the file nasa_pace_data_reader-0.0.3.21.tar.gz.

File metadata

  • Download URL: nasa_pace_data_reader-0.0.3.21.tar.gz
  • Upload date:
  • Size: 18.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.13

File hashes

Hashes for nasa_pace_data_reader-0.0.3.21.tar.gz
Algorithm Hash digest
SHA256 29c578547c871b7486496280b3434da9d37a1a7b61fa823d23ae037add099d32
MD5 479e6b7433501c3b92cc3d313b563e4b
BLAKE2b-256 b477a3b9cddb13e79f14a015212ef2184e43bea10b1a0107c157797ef7b8352d

See more details on using hashes here.

File details

Details for the file nasa_pace_data_reader-0.0.3.21-py3-none-any.whl.

File metadata

File hashes

Hashes for nasa_pace_data_reader-0.0.3.21-py3-none-any.whl
Algorithm Hash digest
SHA256 424f739f74c21178355a50d7adbc20e77217f48ff74e62dc01523727b3cb5c8e
MD5 21497a2e2c4277b19728294d3bd14617
BLAKE2b-256 31f62d34c8977a5e40acf72fa29cfd2f09bb89c043f4d5af6c98e2c8655078a8

See more details on using hashes here.

Supported by

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