Run3 glm output parser
Extract and transform water temperature data from GLM NetCDF files, handling dynamic layering, masked arrays, and temporal alignment.From its SKILL.md
npx -y skills add cxcscmu/SkillLearnBench --skill run3_glm-output-parserAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
1.2 KB, 266 tokens by cl100k_base, as published. Nobody here has run it
-
Time Alignment:
- Extract the
timevariable from the NetCDF file. - Use the
unitsattribute (e.g., "hours since 2009-01-01 00:00:00") and the&glm_setupstart time to convert numeric time values into standarddatetimeobjects. - Ensure the resolution (e.g., daily noon) is consistent for comparison with observations.
- Extract the
-
Dynamic Depth Calculation:
- For every timestep, retrieve the vertical height array
zand the temperature arraytemp. - Identify valid (non-masked) layers.
- Calculate the surface height ($H_{max}$) for that specific timestep as the maximum value of
z. - Calculate the depth for each layer: $Depth = H_{max} - z$.
- For every timestep, retrieve the vertical height array
-
Handling Masked Arrays:
- GLM output often contains masked or fill values for inactive layers. Explicitly filter out these values from both
zandtempbefore processing to avoid inclusion of invalid data in means or comparisons.
- GLM output often contains masked or fill values for inactive layers. Explicitly filter out these values from both
-
Data Structuring:
- Store processed data in a format suitable for merging (e.g., a DataFrame) containing columns for
datetime,depth, andtemp.
- Store processed data in a format suitable for merging (e.g., a DataFrame) containing columns for
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.