Skip to content

Easy sensors#572

Draft
gmaze wants to merge 2 commits intomasterfrom
easy-sensors
Draft

Easy sensors#572
gmaze wants to merge 2 commits intomasterfrom
easy-sensors

Conversation

@gmaze
Copy link
Member

@gmaze gmaze commented Jan 5, 2026

This is a fresh start from v1.4.0 for #532 work
Still will close #529

Instead of packaging all new feature into a single class (!), we adopted a new design whereby sensor-related features are ccessible from 3 classes dedicated to specific tasks. Hopefully, this will make new features easier to use:

  • ArgoSensorReferences: Access meta-data from reference tables: SENSOR_MODEL (R27), SENSOR (R25) and SENSOR_MAKER (R26), as well as mapping in between these.
  • ArgoSensorSearch: [TBC]
  • ArgoSensorModel: [TBC]

ArgoSensorReferences

Facilitated access to meta-data from reference tables: SENSOR_MODEL (R27), SENSOR (R25) and SENSOR_MAKER (R26), as well as mapping in between these.

from argopy import ArgoSensorReferences

# Initialize
ref = ArgoSensorReferences()

# Access reference tables
ref.model.to_dataframe() # Return reference table R27 with the list of sensor models as a DataFrame
ref.model.hint()      # Return list of sensor model names (possible values for 'SENSOR_MODEL' parameter)

ref.type.to_dataframe()  # Return reference table R25 with the list of sensor types as a DataFrame
ref.type.hint()       # Return list of sensor types (possible values for 'SENSOR' parameter)

ref.maker.to_dataframe()  # Return reference table R26 with the list of manufacturer as a DataFrame
ref.maker.hint()       # Return list of manufacturer names (possible values for 'SENSOR_MAKER' parameter)

# Mapping between R27 and R25
ref.model.to_type('SBE61') # Return sensor type (R25) of a given model (R27)
ref.type.to_model('FLUOROMETER_CDOM') # Return all possible model names (R27) for a given sensor type (R25)

# Search in R27
ref.model.search('RBR')  # Search and return a DataFrame
ref.model.search('RBR', output='name') # Search and return a list of names instead
ref.model.search('SBE61*')  # Use of wildcards
ref.model.search('*Deep*')  # Search is case-insensitive

[TBC]

@gmaze gmaze self-assigned this Jan 5, 2026
@gmaze gmaze added the enhancement New feature or request, development label Jan 5, 2026
@gmaze gmaze moved this from Queued to In Progress in Argopy Management Dashboard Jan 5, 2026
@gmaze gmaze mentioned this pull request Jan 5, 2026
4 tasks
@euroargodev euroargodev deleted a comment from sonarqubecloud bot Jan 25, 2026
@gmaze gmaze mentioned this pull request Jan 25, 2026
28 tasks
@gmaze gmaze moved this from In Progress to Archived in Argopy Management Dashboard Jan 25, 2026
@gmaze gmaze moved this from Archived to Stalled in Argopy Management Dashboard Jan 25, 2026
@gmaze gmaze marked this pull request as draft February 9, 2026 09:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request, development

Projects

Status: Stalled

Development

Successfully merging this pull request may close these issues.

Interest for sensor related feature

1 participant