diff --git a/CHANGELOG.md b/CHANGELOG.md index 3bd952b..a23c211 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,16 +1,24 @@ # Change Log + All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/). -## [0.1.1] - 2024-XX-XX +## [0.1.1] - 2025-XX-XX + * Update metadata standards +* Update variable names to indicate which dosimeter is used * Update setup instructions on readme file +* Removed chained indices for improved pandas 3.0 compatibility +* Disabled new multi-day tests inherited from pysat +* Update usage of pkg_resources to importlib ## [0.1.0] - 2023-07-23 + * Improved metadata standards for SPDF compatibility * New file naming convention for l1c data * Added download function * New script to check on files generated ## [0.0.1] - 2022-10-28 + * Initial release diff --git a/ops_reach/__init__.py b/ops_reach/__init__.py index 1e7aee4..0399d82 100644 --- a/ops_reach/__init__.py +++ b/ops_reach/__init__.py @@ -5,11 +5,11 @@ """ +import importlib import os -import pkg_resources from ops_reach import instruments # noqa F401 # set version __here__ = os.path.abspath(os.path.dirname(__file__)) -__version__ = pkg_resources.get_distribution('ops_reach').version +__version__ = importlib.metadata.distribution('ops_reach').version diff --git a/ops_reach/instruments/aero_reach.py b/ops_reach/instruments/aero_reach.py index 843af98..74483bc 100644 --- a/ops_reach/instruments/aero_reach.py +++ b/ops_reach/instruments/aero_reach.py @@ -41,6 +41,8 @@ # Only setting one inst_id to true since downloads all files. _test_dates = {'105': {'l1b': dt.datetime(2017, 2, 24)}} _test_download = {'105': {'l1b': True}} +# Disabling multi-day tests since this functionality is not used in this context +_new_tests = {'105': {'l1b': False}} def init(self): diff --git a/ops_reach/instruments/methods/reach.py b/ops_reach/instruments/methods/reach.py index 7a8bc65..13c1f65 100644 --- a/ops_reach/instruments/methods/reach.py +++ b/ops_reach/instruments/methods/reach.py @@ -330,60 +330,60 @@ def generate_metadata(header_data): meta['gei_z'] = {meta.labels.units: 'RE', meta.labels.min_val: -2.0, meta.labels.max_val: 2.0} - meta['dose1'] = {meta.labels.name: 'Dose rate from Dosimeter 1', + meta['dose1'] = {meta.labels.name: 'Dosimeter 1 dose rate', meta.labels.units: 'rad/s', meta.labels.min_val: 0.0, meta.labels.max_val: 1.0, 'SCALEMIN': 1.0e-5, 'SCALEMAX': 1.0, 'SCALETYP': 'log'} - meta['proton_flux1'] = {meta.labels.name: 'Proton flux from bowtie', + meta['proton_flux1'] = {meta.labels.name: 'Dosimeter 1 proton flux from bowtie', meta.labels.units: '#/cm^2/sr/s', meta.labels.min_val: 0.0, meta.labels.max_val: 1.0e7, 'SCALEMIN': 1.0, 'SCALEMAX': 1.0e7, 'SCALETYP': 'log'} - meta['electron_flux1'] = {meta.labels.name: 'Electron flux from bowtie', + meta['electron_flux1'] = {meta.labels.name: 'Dosimeter 1 electron flux from bowtie', meta.labels.units: '#/cm^2/sr/s', meta.labels.min_val: 0.0, meta.labels.max_val: 1.0e9, 'SCALEMIN': 1.0, 'SCALEMAX': 1.0e9, 'SCALETYP': 'log'} - meta['species1'] = {meta.labels.name: 'Most probable species', - meta.labels.notes: '; '.join(('0 (not currently used)', - '1-protons, 2-electrons', - 'and 3-both / ambiguous')), + meta['species1'] = {meta.labels.name: 'Dosimeter 1 most probable species', + meta.labels.notes: '; '.join(('0 = (not currently used)', + '1 = protons; 2 = electrons', + '3 = both / ambiguous')), meta.labels.units: 'unitless', meta.labels.min_val: 0, meta.labels.max_val: 3, meta.labels.fill_val: -999} - meta['dose2'] = {meta.labels.name: 'Dose rate from Dosimeter 2', + meta['dose2'] = {meta.labels.name: 'Dosimeter 2 dose rate', meta.labels.units: 'rad/s', meta.labels.min_val: 0.0, meta.labels.max_val: 1.0e9, 'SCALEMIN': 1.0, 'SCALEMAX': 1.0e9, 'SCALETYP': 'log'} - meta['proton_flux2'] = {meta.labels.name: 'Proton flux from bowtie', + meta['proton_flux2'] = {meta.labels.name: 'Dosimeter 2 proton flux from bowtie', meta.labels.units: '#/cm^2/sr/s', meta.labels.min_val: 0.0, meta.labels.max_val: 1.0e10, 'SCALEMIN': 1.0, 'SCALEMAX': 1.0e10, 'SCALETYP': 'log'} - meta['electron_flux2'] = {meta.labels.name: 'Electron flux from bowtie', + meta['electron_flux2'] = {meta.labels.name: 'Dosimeter 2 electron flux from bowtie', meta.labels.units: '#/cm^2/sr/s', meta.labels.min_val: 0.0, meta.labels.max_val: 1.0e11, 'SCALEMIN': 1.0, 'SCALEMAX': 1.0e11, 'SCALETYP': 'log'} - meta['species2'] = {meta.labels.name: 'Most probable species', - meta.labels.notes: '; '.join(('0 (not currently used)', - '1-protons, 2-electrons', - 'and 3-both / ambiguous')), + meta['species2'] = {meta.labels.name: 'Dosimeter 2 most probable species', + meta.labels.notes: '; '.join(('0 = (not currently used)', + '1 = protons; 2 = electrons', + '3 = both / ambiguous')), meta.labels.units: 'unitless', meta.labels.min_val: 0, meta.labels.max_val: 3, @@ -446,33 +446,33 @@ def generate_metadata(header_data): meta.labels.max_val: 90.0, meta.labels.fill_val: -1.0e31} meta['region_code'] = { - meta.labels.notes: '; '.join(('-4: Southern Polar Cap', - '-3: Outer Zone Untrapped', - '-2: Slot Untrapped', - '-1: Inner Zone Untrapped', - '0: Unknown', - '1: Inner Zone Trapped', - '2: Slot Trapped', - '3: Outer Zone Trapped', - '4: Northern Polar Cap')), + meta.labels.notes: '; '.join(('-4 = Southern Polar Cap', + '-3 = Outer Zone Untrapped', + '-2 = Slot Untrapped', + '-1 = Inner Zone Untrapped', + '0 = Unknown', + '1 = Inner Zone Trapped', + '2 = Slot Trapped', + '3 = Outer Zone Trapped', + '4 = Northern Polar Cap')), meta.labels.units: 'unitless', meta.labels.min_val: -4, meta.labels.max_val: 4, meta.labels.fill_val: -999} meta['orbit_status'] = {meta.labels.units: 'unitless', - meta.labels.notes: '1=Northbound; 2=Southbound', + meta.labels.notes: '1 = Northbound; 2 = Southbound', meta.labels.min_val: 1, meta.labels.max_val: 2, meta.labels.fill_val: -999} meta['flag'] = { meta.labels.notes: '; '.join(( - '-1: no data', - '0: No known problems', - '1: Test Mode', - '2: Possible temperature-related self-counting in Dosimeter A.', - '4: Possible temperature-related self-counting in Dosimeter B.', - '8: Duplicate packets detected.', - '16: Unknown issue with VID 163/Dosimeter B')), + '-1 = no data', + '0 = No known problems', + '1 = Test Mode', + '2 = Possible temperature-related self-counting in Dosimeter A', + '4 = Possible temperature-related self-counting in Dosimeter B', + '8 = Duplicate packets detected', + '16 = Unknown issue with VID 163/Dosimeter B')), meta.labels.units: 'unitless', meta.labels.min_val: -1, meta.labels.max_val: 16, @@ -480,7 +480,7 @@ def generate_metadata(header_data): # Set non-log SCALETYP to linear ind = meta.data['SCALETYP'] == '' - meta.data['SCALETYP'][ind] = 'linear' + meta.data.loc[ind, 'SCALETYP'] = 'linear' return meta diff --git a/pyproject.toml b/pyproject.toml index 66daf74..ee3af31 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -64,6 +64,7 @@ markers = [ "download", "no_download", "load_options", + "new_tests", "first", "second" ]