euroargodev / euroargodev/argopy

Add global Look-Up Table (LUT) of physiological ratios access and co-localisation method

Open
#541 0 comments 0 reactions 0 assignees View on GitHub
argo-BGC enhancement
Dominant language
Python
Stars
229
Forks
52
Avg merge
2d 10h
Merged PRs (30d)
8

Description

The "Global Look-Up Table of Physiological Ratios for the Real-Time Adjustment of Chlorophyll-a Fluorescence within the OneArgo Framework" netcdf file is on its to be published at Seanoe under [10.17882/105732](https://doi.org/10.17882/105732).

> This dataset provides a global Look-Up Table (LUT) of physiological ratios for the real-time adjustment of chlorophyll-a fluorescence measured by biogeochemical Argo (BGC-Argo) profiling floats. The physiological ratios aim to account for the global variability in the relationship between fluorescence and chlorophyll-a concentration, as influenced by phytoplankton physiology.

This is a small netcdf file used mainly in RTQC for CHLA.

It could be interesting for expert users to have an easy access to the file (packaged within argopy maybe) and run some colocalisation with a BGC float to be analysed for QC, replay RTQC or dev DMQC.

A possible API could look like this:
```python
from argopy import ArgoFloat

af = ArgoFloat(1902605) # Some BGC float with CHLA sensor

# Colocate physiological_ratio along the float trajectory
af.colocate.physiological_ratios() # returns a (lat,lon,ratio) tuple
```

The method could also be accessible as a ds.argo extension., and applied to some xarray dataset of multi profile files:
```python
from argopy import ArgoFloat

af = ArgoFloat(1902605) # Some BGC float with CHLA sensor
ds = af.open_dataset('Sprof')

# Colocate physiological_ratio along the float trajectory
ds.argo.colocate.physiological_ratios()
```

Or to some specific profile:
```python
from argopy import ArgoIndex, gdacfs

# Get a profile dataset from some BGC float with CHLA sensor
idx = ArgoIndex(index_file='bgc-s').query.wmo_cyc(1902605, 12)
ds = gdacfs(cache=True).open_dataset(idx.read_files()[0])

# Colocate physiological_ratio for this profile
ds.argo.colocate.physiological_ratios()
```

In these scenario, ratios would be added to the xarray dataset as a new variable

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the mentioned ArgoFloat, ds.argo, ArgoIndex, and gdacfs entry points, along with existing CHLA RTQC handling. Clarify how the NetCDF LUT should be packaged and how physiological ratios should be returned for float, multi-profile, and single-profile datasets; done means these access and colocalisation workflows are specified and supported.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.