This is an automated email from the ASF dual-hosted git repository.

rkk pushed a commit to branch SDAP-534
in repository https://gitbox.apache.org/repos/asf/sdap-ingester.git


The following commit(s) were added to refs/heads/SDAP-534 by this push:
     new 513f12f  GI: Support pathed data variables
513f12f is described below

commit 513f12f86b8e7036d736df1182848085a476a385
Author: rileykk <[email protected]>
AuthorDate: Thu Feb 20 08:13:40 2025 -0800

    GI: Support pathed data variables
---
 .../granule_ingester/granule_loaders/GranuleLoader.py         | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/granule_ingester/granule_ingester/granule_loaders/GranuleLoader.py 
b/granule_ingester/granule_ingester/granule_loaders/GranuleLoader.py
index 9dcab14..d3ec0c0 100644
--- a/granule_ingester/granule_ingester/granule_loaders/GranuleLoader.py
+++ b/granule_ingester/granule_ingester/granule_loaders/GranuleLoader.py
@@ -42,6 +42,8 @@ class GranuleLoader:
         if 'preprocess' in kwargs:
             self._preprocess = [GranuleLoader._parse_module(module) for module 
in kwargs['preprocess']]
 
+        self._group_vars = kwargs.get('grouped_vars', {})
+
     async def __aenter__(self):
         return await self.open()
 
@@ -70,6 +72,15 @@ class GranuleLoader:
 
             ds = xr.open_dataset(file_path, lock=False, **additional_params)
 
+            for group_var in self._group_vars:
+                parts = group_var.split('/')
+
+                group = '/'.join(parts[:-1])
+                var_name = parts[-1]
+
+                ds_grp = xr.open_dataset(file_path, lock=False, group=group)
+                ds[group_var] = ds_grp[var_name]
+
             if self._preprocess is not None:
                 logger.info(f'There are {len(self._preprocess)} preprocessors 
to apply for granule {self._resource}')
                 while len(self._preprocess) > 0:

Reply via email to