%global _empty_manifest_terminate_build 0 Name: python-planetarypy Version: 0.26.5 Release: 1 Summary: Python Tools for Planetary Science License: MIT License URL: https://github.com/michaelaye/nbplanetary Source0: https://mirrors.aliyun.com/pypi/web/packages/8f/79/1c34d766a57194525c39ed65eb56dbb74218a098fc04693415b77c5553d0/planetarypy-0.26.5.tar.gz BuildArch: noarch Requires: python3-tomlkit Requires: python3-pandas Requires: python3-pvl Requires: python3-numpy Requires: python3-dateutil Requires: python3-tqdm Requires: python3-lxml Requires: python3-yarl Requires: python3-kalasiris Requires: python3-dask Requires: python3-fastparquet Requires: python3-rioxarray Requires: python3-matplotlib Requires: python3-hvplot Requires: python3-requests Requires: python3-astropy Requires: python3-fastcore Requires: python3-datashader Requires: python3-ipywidgets Requires: python3-gdal Requires: python3-spiceypy Requires: python3-rasterio %description Potential logo:![image.png](images/epilup_with_python_logo_with_axis.png) ## Install ``` bash pip install planetarypy ``` This will pull in these other dependencies and their dependencies: `tomlkit pandas pvl numpy python-dateutil tqdm lxml yarl hirise-tools kalasiris` ## Suggested standard abbreviations: - Inside these docs the package will be called `PLPY` for brevity. - A standard Python import could be: `plp` or `plpy` - because the last `p` in `plp` can be pronounced out, we consider these equivalent for human conversation and pronounce these “plippy”. ## General scope First and foremost this package should provide support in working with planetary science data. With `working` we mean: - locating - retrieving - reading - further processing of data. ### Locating This library manages, via its `PDS tools`, multiple PDS3 index files per instrument that can be used for identifying data of interest. These index files are automatically downloaded and converted to the very performant (and cloud-ready) [parquet](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_parquet.html) file format. \> Parquet is able to store advanced datatypes like nan-capable integer and full datetime objects, as opposed to HDF5. ### Retrieving The interface to getting data is via a path-retrieving function based on a PDS product-id. If that product-id is available locally, the path will be returned. If it is not, it will previously be downloaded, stored in a systematic fashion organized by mission and instrument, and then the local path will be returned. ### Reading For now, the library only returns the path to the object and the user needs to sort out the reading process. A recently funded NASA project `Planetary Data Reader` will be integrated here, so that basic reading into memory can be provided. As such, we anticipate two classes of reading support: 1. basic reading into numpy and/or xarray 1. added reader functionality like basic plots and basic geospatial processing, as supported by interested parties There will exist larger other packages that focus on working with a given instrument’s data, in which case that package could become an affiliated package with the `planetarypy` GitHub organization, if so desired. ### Further processing In the future, additional frequently used procedures will be added to this library, e.g. \* frequently used GDAL/rasterio procedures \* frequently used SPICE operations \* like surface illumination on a given body ## PDS tools Look at the `Apps` docs to see what `pds.apps` exist for easily getting PDS indexes. The `find_index` app is specifically useful when you don’t know what index files exist. So far, the following indexes are supported (but not necessarily all tested within PLPY): - Cassini - ISS (all) - UVIS (all) - MRO - CTX EDR - HiRISE - EDR, RDR, DTM - EDR index has a bug (as delivered by the team, reported), where I need to activate an existing fix for it. - LRO - Diviner (DLRE) - EDR, RDR - LOLA - EDR, RDR ### More indexes More indexes of other instruments can be easily added by following the existing structure of what has been copied into your config at `~/.planetarypy_config.toml`. Please consider submitting a pull request for adding further PDS index files into the config file at its source: https://github.com/michaelaye/nbplanetary/blob/master/planetarypy/data/planetarypy_config.toml ## Utils Find something in `Utils` for working with NASA timestamps and a well working URL download function [`url_retrieve`](https://michaelaye.github.io/planetarypy/api/utils.html#url_retrieve), among other stuff. ## Experiment/Instrument Specific So far, `planetarypy` supports CTX EDR and HiRISE RGB.NOMAP data. Look at the [`CTX`](https://michaelaye.github.io/planetarypy/api/ctx.html#ctx) and `HiRISE` pages for descriptions of classes for working with these data. ## Bug reports Please submit bug reports at https://github.com/michaelaye/nbplanetary/issues ## How to use ### Indexes See [PDS apps](api/02c_pds.apps.ipynb) for more details. ``` python from planetarypy.pds.apps import get_index ``` ``` python ctrindex = get_index("mro.ctx", "edr") ctrindex.sample(5, random_state=42) # setting random_state to always get same files for docs ```
VOLUME_ID FILE_SPECIFICATION_NAME ORIGINAL_PRODUCT_ID PRODUCT_ID IMAGE_TIME INSTRUMENT_ID INSTRUMENT_MODE_ID LINE_SAMPLES LINES SPATIAL_SUMMING ... SUB_SOLAR_LATITUDE SUB_SPACECRAFT_LONGITUDE SUB_SPACECRAFT_LATITUDE SOLAR_DISTANCE SOLAR_LONGITUDE LOCAL_TIME IMAGE_SKEW_ANGLE RATIONALE_DESC DATA_QUALITY_DESC ORBIT_NUMBER
102927 MROX_3290 DATA/K09_056855_1472_XN_32S152W.IMG 4A_04_112001B600 K09_056855_1472_XN_32S152W 2018-09-12 15:27:23.819 CTX NIFL 5056 7168 1 ... -23.61 152.16 -32.84 206674590.7 248.70 15.12 90.1 Ride-along with HiRISE OK 56855
116952 MROX_3714 DATA/N08_065442_0965_XN_83S191W.IMG 4A_04_114C019800 N08_065442_0965_XN_83S191W 2020-07-12 17:31:23.962 CTX NIFL 5056 33792 1 ... -21.24 190.23 -83.51 207154930.4 237.37 17.12 91.4 Planum Australe OK 65442
16386 MROX_0690 DATA/B01_010083_2567_XI_76N181W.IMG 4A_04_103101E100 B01_010083_2567_XI_76N181W 2008-09-20 04:33:05.584 CTX ITL 5056 52224 1 ... 19.30 180.80 76.84 237461101.1 129.80 14.76 89.7 North polar outlier OK 10083
107515 MROX_3450 DATA/K15_059059_1434_XN_36S196W.IMG 4A_04_112C004300 K15_059059_1434_XN_36S196W 2019-03-03 08:44:14.027 CTX NIFL 2528 9216 1 ... -4.38 196.66 -36.69 229158765.3 349.79 14.21 90.1 Craters in Terra Cimmeria OK 59059
57288 MROX_1890 DATA/D16_033513_1653_XI_14S108W.IMG 4A_04_10A9016F00 D16_033513_1653_XI_14S108W 2013-09-19 20:45:34.363 CTX ITL 5056 15360 1 ... 10.17 108.53 -14.83 241359283.4 24.21 14.66 90.2 Syria/Claritas dust-raising event monitoring site OK 33513

5 rows × 51 columns

``` python hirise_rdr = get_index("mro.hirise", "rdr") hirise_rdr.sample(5, random_state=42) ```
VOLUME_ID FILE_NAME_SPECIFICATION INSTRUMENT_HOST_ID INSTRUMENT_ID OBSERVATION_ID PRODUCT_ID PRODUCT_VERSION_ID TARGET_NAME ORBIT_NUMBER MISSION_PHASE_NAME ... LINE_PROJECTION_OFFSET SAMPLE_PROJECTION_OFFSET CORNER1_LATITUDE CORNER1_LONGITUDE CORNER2_LATITUDE CORNER2_LONGITUDE CORNER3_LATITUDE CORNER3_LONGITUDE CORNER4_LATITUDE CORNER4_LONGITUDE
95782 MROHR_0001 RDR/ESP/ORB_049400_049499/ESP_049456_0945/ESP_... MRO HIRISE ESP_049456_0945 ESP_049456_0945_COLOR 1 MARS 49456 Extended Science Phase ... 289555.5 1014477.5 -85.6701 286.4690 -85.6815 286.3020 -85.5562 284.8560 -85.5452 285.0210
142902 MROHR_0001 RDR/ESP/ORB_072700_072799/ESP_072755_2030/ESP_... MRO HIRISE ESP_072755_2030 ESP_072755_2030_RED 1 MARS 72755 Extended Science Phase ... 5448057.5 -36148404.0 22.8511 342.4710 22.8408 342.3770 22.9836 342.3590 22.9940 342.4520
114241 MROHR_0001 RDR/ESP/ORB_057400_057499/ESP_057400_1150/ESP_... MRO HIRISE ESP_057400_1150 ESP_057400_1150_RED 1 MARS 57400 Extended Science Phase ... -15324106.0 9551808.0 -65.0631 99.2951 -65.0739 99.1184 -64.9297 99.0696 -64.9190 99.2454
260 MROHR_0001 RDR/PSP/ORB_001300_001399/PSP_001390_2290/PSP_... MRO HIRISE PSP_001390_2290 PSP_001390_2290_RED 2 MARS 1390 Primary Science Phase ... 11574100.0 -17349000.0 48.8086 283.9690 48.7969 283.8150 48.9486 283.7880 48.9603 283.9430
148555 MROHR_0001 RDR/ESP/ORB_075600_075699/ESP_075617_0955/ESP_... MRO HIRISE ESP_075617_0955 ESP_075617_0955_RED 1 MARS 75617 Extended Science Phase ... 1299053.5 -203581.5 -84.5200 10.3353 -84.5620 9.6666 -84.4557 8.9553 -84.4145 9.6167

5 rows × 54 columns

## Instrument tools ### CTX ``` python from planetarypy.ctx import CTX ``` Unable to display output for mime type(s): application/javascript, application/vnd.holoviews_load.v0+json Unable to display output for mime type(s): application/javascript, application/vnd.holoviews_load.v0+json ``` python pid = ctrindex.sample(random_state=42).squeeze().PRODUCT_ID pid ``` 'K09_056855_1472_XN_32S152W' ``` python ctx = CTX(pid) ctx ``` PRODUCT_ID: K09_056855_1472_XN_32S152W URL: https://pds-imaging.jpl.nasa.gov/data/mro/mars_reconnaissance_orbiter/ctx/mrox_3290/data/K09_056855_1472_XN_32S152W.IMG source_path: /home/ayek72/mnt/troveplanets/pds/mrox_3290/K09_056855_1472_XN_32S152W.IMG Shape: (7168, 5056) ``` python ctx.source_path ``` Path('/home/ayek72/mnt/troveplanets/pds/mrox_3290/K09_056855_1472_XN_32S152W.IMG') ``` python ctx.download() ``` File exists. Use `overwrite=True` to download fresh. ## Acknowledgements The creation of this library was in part supported by: - NASA Cassini UVIS mission - NASA SSW grant NNX15AH36G - NASA PDART grant 80NSSC20K0875 - NASA SSW grant 80NSSC20K0748 - German Space Agency (DLR Bonn), grant 50 OO 2204, on behalf of the German Federal Ministry for Economic Affairs and Climate Action. - This research has made use of the USGS Integrated Software for Imagers and Spectrometers (ISIS)(Laura et al. 2022).
Laura, Jason, Alex Acosta, Travis Addair, Lauren Adoram-Kershner, James Alexander, Oleg Alexandrov, Stacey Alley, et al. 2022. *Integrated Software for Imagers and Spectrometers* (version 7.2.0_RC1). Zenodo. .
%package -n python3-planetarypy Summary: Python Tools for Planetary Science Provides: python-planetarypy BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-planetarypy Potential logo:![image.png](images/epilup_with_python_logo_with_axis.png) ## Install ``` bash pip install planetarypy ``` This will pull in these other dependencies and their dependencies: `tomlkit pandas pvl numpy python-dateutil tqdm lxml yarl hirise-tools kalasiris` ## Suggested standard abbreviations: - Inside these docs the package will be called `PLPY` for brevity. - A standard Python import could be: `plp` or `plpy` - because the last `p` in `plp` can be pronounced out, we consider these equivalent for human conversation and pronounce these “plippy”. ## General scope First and foremost this package should provide support in working with planetary science data. With `working` we mean: - locating - retrieving - reading - further processing of data. ### Locating This library manages, via its `PDS tools`, multiple PDS3 index files per instrument that can be used for identifying data of interest. These index files are automatically downloaded and converted to the very performant (and cloud-ready) [parquet](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_parquet.html) file format. \> Parquet is able to store advanced datatypes like nan-capable integer and full datetime objects, as opposed to HDF5. ### Retrieving The interface to getting data is via a path-retrieving function based on a PDS product-id. If that product-id is available locally, the path will be returned. If it is not, it will previously be downloaded, stored in a systematic fashion organized by mission and instrument, and then the local path will be returned. ### Reading For now, the library only returns the path to the object and the user needs to sort out the reading process. A recently funded NASA project `Planetary Data Reader` will be integrated here, so that basic reading into memory can be provided. As such, we anticipate two classes of reading support: 1. basic reading into numpy and/or xarray 1. added reader functionality like basic plots and basic geospatial processing, as supported by interested parties There will exist larger other packages that focus on working with a given instrument’s data, in which case that package could become an affiliated package with the `planetarypy` GitHub organization, if so desired. ### Further processing In the future, additional frequently used procedures will be added to this library, e.g. \* frequently used GDAL/rasterio procedures \* frequently used SPICE operations \* like surface illumination on a given body ## PDS tools Look at the `Apps` docs to see what `pds.apps` exist for easily getting PDS indexes. The `find_index` app is specifically useful when you don’t know what index files exist. So far, the following indexes are supported (but not necessarily all tested within PLPY): - Cassini - ISS (all) - UVIS (all) - MRO - CTX EDR - HiRISE - EDR, RDR, DTM - EDR index has a bug (as delivered by the team, reported), where I need to activate an existing fix for it. - LRO - Diviner (DLRE) - EDR, RDR - LOLA - EDR, RDR ### More indexes More indexes of other instruments can be easily added by following the existing structure of what has been copied into your config at `~/.planetarypy_config.toml`. Please consider submitting a pull request for adding further PDS index files into the config file at its source: https://github.com/michaelaye/nbplanetary/blob/master/planetarypy/data/planetarypy_config.toml ## Utils Find something in `Utils` for working with NASA timestamps and a well working URL download function [`url_retrieve`](https://michaelaye.github.io/planetarypy/api/utils.html#url_retrieve), among other stuff. ## Experiment/Instrument Specific So far, `planetarypy` supports CTX EDR and HiRISE RGB.NOMAP data. Look at the [`CTX`](https://michaelaye.github.io/planetarypy/api/ctx.html#ctx) and `HiRISE` pages for descriptions of classes for working with these data. ## Bug reports Please submit bug reports at https://github.com/michaelaye/nbplanetary/issues ## How to use ### Indexes See [PDS apps](api/02c_pds.apps.ipynb) for more details. ``` python from planetarypy.pds.apps import get_index ``` ``` python ctrindex = get_index("mro.ctx", "edr") ctrindex.sample(5, random_state=42) # setting random_state to always get same files for docs ```
VOLUME_ID FILE_SPECIFICATION_NAME ORIGINAL_PRODUCT_ID PRODUCT_ID IMAGE_TIME INSTRUMENT_ID INSTRUMENT_MODE_ID LINE_SAMPLES LINES SPATIAL_SUMMING ... SUB_SOLAR_LATITUDE SUB_SPACECRAFT_LONGITUDE SUB_SPACECRAFT_LATITUDE SOLAR_DISTANCE SOLAR_LONGITUDE LOCAL_TIME IMAGE_SKEW_ANGLE RATIONALE_DESC DATA_QUALITY_DESC ORBIT_NUMBER
102927 MROX_3290 DATA/K09_056855_1472_XN_32S152W.IMG 4A_04_112001B600 K09_056855_1472_XN_32S152W 2018-09-12 15:27:23.819 CTX NIFL 5056 7168 1 ... -23.61 152.16 -32.84 206674590.7 248.70 15.12 90.1 Ride-along with HiRISE OK 56855
116952 MROX_3714 DATA/N08_065442_0965_XN_83S191W.IMG 4A_04_114C019800 N08_065442_0965_XN_83S191W 2020-07-12 17:31:23.962 CTX NIFL 5056 33792 1 ... -21.24 190.23 -83.51 207154930.4 237.37 17.12 91.4 Planum Australe OK 65442
16386 MROX_0690 DATA/B01_010083_2567_XI_76N181W.IMG 4A_04_103101E100 B01_010083_2567_XI_76N181W 2008-09-20 04:33:05.584 CTX ITL 5056 52224 1 ... 19.30 180.80 76.84 237461101.1 129.80 14.76 89.7 North polar outlier OK 10083
107515 MROX_3450 DATA/K15_059059_1434_XN_36S196W.IMG 4A_04_112C004300 K15_059059_1434_XN_36S196W 2019-03-03 08:44:14.027 CTX NIFL 2528 9216 1 ... -4.38 196.66 -36.69 229158765.3 349.79 14.21 90.1 Craters in Terra Cimmeria OK 59059
57288 MROX_1890 DATA/D16_033513_1653_XI_14S108W.IMG 4A_04_10A9016F00 D16_033513_1653_XI_14S108W 2013-09-19 20:45:34.363 CTX ITL 5056 15360 1 ... 10.17 108.53 -14.83 241359283.4 24.21 14.66 90.2 Syria/Claritas dust-raising event monitoring site OK 33513

5 rows × 51 columns

``` python hirise_rdr = get_index("mro.hirise", "rdr") hirise_rdr.sample(5, random_state=42) ```
VOLUME_ID FILE_NAME_SPECIFICATION INSTRUMENT_HOST_ID INSTRUMENT_ID OBSERVATION_ID PRODUCT_ID PRODUCT_VERSION_ID TARGET_NAME ORBIT_NUMBER MISSION_PHASE_NAME ... LINE_PROJECTION_OFFSET SAMPLE_PROJECTION_OFFSET CORNER1_LATITUDE CORNER1_LONGITUDE CORNER2_LATITUDE CORNER2_LONGITUDE CORNER3_LATITUDE CORNER3_LONGITUDE CORNER4_LATITUDE CORNER4_LONGITUDE
95782 MROHR_0001 RDR/ESP/ORB_049400_049499/ESP_049456_0945/ESP_... MRO HIRISE ESP_049456_0945 ESP_049456_0945_COLOR 1 MARS 49456 Extended Science Phase ... 289555.5 1014477.5 -85.6701 286.4690 -85.6815 286.3020 -85.5562 284.8560 -85.5452 285.0210
142902 MROHR_0001 RDR/ESP/ORB_072700_072799/ESP_072755_2030/ESP_... MRO HIRISE ESP_072755_2030 ESP_072755_2030_RED 1 MARS 72755 Extended Science Phase ... 5448057.5 -36148404.0 22.8511 342.4710 22.8408 342.3770 22.9836 342.3590 22.9940 342.4520
114241 MROHR_0001 RDR/ESP/ORB_057400_057499/ESP_057400_1150/ESP_... MRO HIRISE ESP_057400_1150 ESP_057400_1150_RED 1 MARS 57400 Extended Science Phase ... -15324106.0 9551808.0 -65.0631 99.2951 -65.0739 99.1184 -64.9297 99.0696 -64.9190 99.2454
260 MROHR_0001 RDR/PSP/ORB_001300_001399/PSP_001390_2290/PSP_... MRO HIRISE PSP_001390_2290 PSP_001390_2290_RED 2 MARS 1390 Primary Science Phase ... 11574100.0 -17349000.0 48.8086 283.9690 48.7969 283.8150 48.9486 283.7880 48.9603 283.9430
148555 MROHR_0001 RDR/ESP/ORB_075600_075699/ESP_075617_0955/ESP_... MRO HIRISE ESP_075617_0955 ESP_075617_0955_RED 1 MARS 75617 Extended Science Phase ... 1299053.5 -203581.5 -84.5200 10.3353 -84.5620 9.6666 -84.4557 8.9553 -84.4145 9.6167

5 rows × 54 columns

## Instrument tools ### CTX ``` python from planetarypy.ctx import CTX ``` Unable to display output for mime type(s): application/javascript, application/vnd.holoviews_load.v0+json Unable to display output for mime type(s): application/javascript, application/vnd.holoviews_load.v0+json ``` python pid = ctrindex.sample(random_state=42).squeeze().PRODUCT_ID pid ``` 'K09_056855_1472_XN_32S152W' ``` python ctx = CTX(pid) ctx ``` PRODUCT_ID: K09_056855_1472_XN_32S152W URL: https://pds-imaging.jpl.nasa.gov/data/mro/mars_reconnaissance_orbiter/ctx/mrox_3290/data/K09_056855_1472_XN_32S152W.IMG source_path: /home/ayek72/mnt/troveplanets/pds/mrox_3290/K09_056855_1472_XN_32S152W.IMG Shape: (7168, 5056) ``` python ctx.source_path ``` Path('/home/ayek72/mnt/troveplanets/pds/mrox_3290/K09_056855_1472_XN_32S152W.IMG') ``` python ctx.download() ``` File exists. Use `overwrite=True` to download fresh. ## Acknowledgements The creation of this library was in part supported by: - NASA Cassini UVIS mission - NASA SSW grant NNX15AH36G - NASA PDART grant 80NSSC20K0875 - NASA SSW grant 80NSSC20K0748 - German Space Agency (DLR Bonn), grant 50 OO 2204, on behalf of the German Federal Ministry for Economic Affairs and Climate Action. - This research has made use of the USGS Integrated Software for Imagers and Spectrometers (ISIS)(Laura et al. 2022).
Laura, Jason, Alex Acosta, Travis Addair, Lauren Adoram-Kershner, James Alexander, Oleg Alexandrov, Stacey Alley, et al. 2022. *Integrated Software for Imagers and Spectrometers* (version 7.2.0_RC1). Zenodo. .
%package help Summary: Development documents and examples for planetarypy Provides: python3-planetarypy-doc %description help Potential logo:![image.png](images/epilup_with_python_logo_with_axis.png) ## Install ``` bash pip install planetarypy ``` This will pull in these other dependencies and their dependencies: `tomlkit pandas pvl numpy python-dateutil tqdm lxml yarl hirise-tools kalasiris` ## Suggested standard abbreviations: - Inside these docs the package will be called `PLPY` for brevity. - A standard Python import could be: `plp` or `plpy` - because the last `p` in `plp` can be pronounced out, we consider these equivalent for human conversation and pronounce these “plippy”. ## General scope First and foremost this package should provide support in working with planetary science data. With `working` we mean: - locating - retrieving - reading - further processing of data. ### Locating This library manages, via its `PDS tools`, multiple PDS3 index files per instrument that can be used for identifying data of interest. These index files are automatically downloaded and converted to the very performant (and cloud-ready) [parquet](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_parquet.html) file format. \> Parquet is able to store advanced datatypes like nan-capable integer and full datetime objects, as opposed to HDF5. ### Retrieving The interface to getting data is via a path-retrieving function based on a PDS product-id. If that product-id is available locally, the path will be returned. If it is not, it will previously be downloaded, stored in a systematic fashion organized by mission and instrument, and then the local path will be returned. ### Reading For now, the library only returns the path to the object and the user needs to sort out the reading process. A recently funded NASA project `Planetary Data Reader` will be integrated here, so that basic reading into memory can be provided. As such, we anticipate two classes of reading support: 1. basic reading into numpy and/or xarray 1. added reader functionality like basic plots and basic geospatial processing, as supported by interested parties There will exist larger other packages that focus on working with a given instrument’s data, in which case that package could become an affiliated package with the `planetarypy` GitHub organization, if so desired. ### Further processing In the future, additional frequently used procedures will be added to this library, e.g. \* frequently used GDAL/rasterio procedures \* frequently used SPICE operations \* like surface illumination on a given body ## PDS tools Look at the `Apps` docs to see what `pds.apps` exist for easily getting PDS indexes. The `find_index` app is specifically useful when you don’t know what index files exist. So far, the following indexes are supported (but not necessarily all tested within PLPY): - Cassini - ISS (all) - UVIS (all) - MRO - CTX EDR - HiRISE - EDR, RDR, DTM - EDR index has a bug (as delivered by the team, reported), where I need to activate an existing fix for it. - LRO - Diviner (DLRE) - EDR, RDR - LOLA - EDR, RDR ### More indexes More indexes of other instruments can be easily added by following the existing structure of what has been copied into your config at `~/.planetarypy_config.toml`. Please consider submitting a pull request for adding further PDS index files into the config file at its source: https://github.com/michaelaye/nbplanetary/blob/master/planetarypy/data/planetarypy_config.toml ## Utils Find something in `Utils` for working with NASA timestamps and a well working URL download function [`url_retrieve`](https://michaelaye.github.io/planetarypy/api/utils.html#url_retrieve), among other stuff. ## Experiment/Instrument Specific So far, `planetarypy` supports CTX EDR and HiRISE RGB.NOMAP data. Look at the [`CTX`](https://michaelaye.github.io/planetarypy/api/ctx.html#ctx) and `HiRISE` pages for descriptions of classes for working with these data. ## Bug reports Please submit bug reports at https://github.com/michaelaye/nbplanetary/issues ## How to use ### Indexes See [PDS apps](api/02c_pds.apps.ipynb) for more details. ``` python from planetarypy.pds.apps import get_index ``` ``` python ctrindex = get_index("mro.ctx", "edr") ctrindex.sample(5, random_state=42) # setting random_state to always get same files for docs ```
VOLUME_ID FILE_SPECIFICATION_NAME ORIGINAL_PRODUCT_ID PRODUCT_ID IMAGE_TIME INSTRUMENT_ID INSTRUMENT_MODE_ID LINE_SAMPLES LINES SPATIAL_SUMMING ... SUB_SOLAR_LATITUDE SUB_SPACECRAFT_LONGITUDE SUB_SPACECRAFT_LATITUDE SOLAR_DISTANCE SOLAR_LONGITUDE LOCAL_TIME IMAGE_SKEW_ANGLE RATIONALE_DESC DATA_QUALITY_DESC ORBIT_NUMBER
102927 MROX_3290 DATA/K09_056855_1472_XN_32S152W.IMG 4A_04_112001B600 K09_056855_1472_XN_32S152W 2018-09-12 15:27:23.819 CTX NIFL 5056 7168 1 ... -23.61 152.16 -32.84 206674590.7 248.70 15.12 90.1 Ride-along with HiRISE OK 56855
116952 MROX_3714 DATA/N08_065442_0965_XN_83S191W.IMG 4A_04_114C019800 N08_065442_0965_XN_83S191W 2020-07-12 17:31:23.962 CTX NIFL 5056 33792 1 ... -21.24 190.23 -83.51 207154930.4 237.37 17.12 91.4 Planum Australe OK 65442
16386 MROX_0690 DATA/B01_010083_2567_XI_76N181W.IMG 4A_04_103101E100 B01_010083_2567_XI_76N181W 2008-09-20 04:33:05.584 CTX ITL 5056 52224 1 ... 19.30 180.80 76.84 237461101.1 129.80 14.76 89.7 North polar outlier OK 10083
107515 MROX_3450 DATA/K15_059059_1434_XN_36S196W.IMG 4A_04_112C004300 K15_059059_1434_XN_36S196W 2019-03-03 08:44:14.027 CTX NIFL 2528 9216 1 ... -4.38 196.66 -36.69 229158765.3 349.79 14.21 90.1 Craters in Terra Cimmeria OK 59059
57288 MROX_1890 DATA/D16_033513_1653_XI_14S108W.IMG 4A_04_10A9016F00 D16_033513_1653_XI_14S108W 2013-09-19 20:45:34.363 CTX ITL 5056 15360 1 ... 10.17 108.53 -14.83 241359283.4 24.21 14.66 90.2 Syria/Claritas dust-raising event monitoring site OK 33513

5 rows × 51 columns

``` python hirise_rdr = get_index("mro.hirise", "rdr") hirise_rdr.sample(5, random_state=42) ```
VOLUME_ID FILE_NAME_SPECIFICATION INSTRUMENT_HOST_ID INSTRUMENT_ID OBSERVATION_ID PRODUCT_ID PRODUCT_VERSION_ID TARGET_NAME ORBIT_NUMBER MISSION_PHASE_NAME ... LINE_PROJECTION_OFFSET SAMPLE_PROJECTION_OFFSET CORNER1_LATITUDE CORNER1_LONGITUDE CORNER2_LATITUDE CORNER2_LONGITUDE CORNER3_LATITUDE CORNER3_LONGITUDE CORNER4_LATITUDE CORNER4_LONGITUDE
95782 MROHR_0001 RDR/ESP/ORB_049400_049499/ESP_049456_0945/ESP_... MRO HIRISE ESP_049456_0945 ESP_049456_0945_COLOR 1 MARS 49456 Extended Science Phase ... 289555.5 1014477.5 -85.6701 286.4690 -85.6815 286.3020 -85.5562 284.8560 -85.5452 285.0210
142902 MROHR_0001 RDR/ESP/ORB_072700_072799/ESP_072755_2030/ESP_... MRO HIRISE ESP_072755_2030 ESP_072755_2030_RED 1 MARS 72755 Extended Science Phase ... 5448057.5 -36148404.0 22.8511 342.4710 22.8408 342.3770 22.9836 342.3590 22.9940 342.4520
114241 MROHR_0001 RDR/ESP/ORB_057400_057499/ESP_057400_1150/ESP_... MRO HIRISE ESP_057400_1150 ESP_057400_1150_RED 1 MARS 57400 Extended Science Phase ... -15324106.0 9551808.0 -65.0631 99.2951 -65.0739 99.1184 -64.9297 99.0696 -64.9190 99.2454
260 MROHR_0001 RDR/PSP/ORB_001300_001399/PSP_001390_2290/PSP_... MRO HIRISE PSP_001390_2290 PSP_001390_2290_RED 2 MARS 1390 Primary Science Phase ... 11574100.0 -17349000.0 48.8086 283.9690 48.7969 283.8150 48.9486 283.7880 48.9603 283.9430
148555 MROHR_0001 RDR/ESP/ORB_075600_075699/ESP_075617_0955/ESP_... MRO HIRISE ESP_075617_0955 ESP_075617_0955_RED 1 MARS 75617 Extended Science Phase ... 1299053.5 -203581.5 -84.5200 10.3353 -84.5620 9.6666 -84.4557 8.9553 -84.4145 9.6167

5 rows × 54 columns

## Instrument tools ### CTX ``` python from planetarypy.ctx import CTX ``` Unable to display output for mime type(s): application/javascript, application/vnd.holoviews_load.v0+json Unable to display output for mime type(s): application/javascript, application/vnd.holoviews_load.v0+json ``` python pid = ctrindex.sample(random_state=42).squeeze().PRODUCT_ID pid ``` 'K09_056855_1472_XN_32S152W' ``` python ctx = CTX(pid) ctx ``` PRODUCT_ID: K09_056855_1472_XN_32S152W URL: https://pds-imaging.jpl.nasa.gov/data/mro/mars_reconnaissance_orbiter/ctx/mrox_3290/data/K09_056855_1472_XN_32S152W.IMG source_path: /home/ayek72/mnt/troveplanets/pds/mrox_3290/K09_056855_1472_XN_32S152W.IMG Shape: (7168, 5056) ``` python ctx.source_path ``` Path('/home/ayek72/mnt/troveplanets/pds/mrox_3290/K09_056855_1472_XN_32S152W.IMG') ``` python ctx.download() ``` File exists. Use `overwrite=True` to download fresh. ## Acknowledgements The creation of this library was in part supported by: - NASA Cassini UVIS mission - NASA SSW grant NNX15AH36G - NASA PDART grant 80NSSC20K0875 - NASA SSW grant 80NSSC20K0748 - German Space Agency (DLR Bonn), grant 50 OO 2204, on behalf of the German Federal Ministry for Economic Affairs and Climate Action. - This research has made use of the USGS Integrated Software for Imagers and Spectrometers (ISIS)(Laura et al. 2022).
Laura, Jason, Alex Acosta, Travis Addair, Lauren Adoram-Kershner, James Alexander, Oleg Alexandrov, Stacey Alley, et al. 2022. *Integrated Software for Imagers and Spectrometers* (version 7.2.0_RC1). Zenodo. .
%prep %autosetup -n planetarypy-0.26.5 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-planetarypy -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Thu Jun 08 2023 Python_Bot - 0.26.5-1 - Package Spec generated