agentsclimarketplace

Netcdf analysis

Skill cxcscmu/SkillLearnBench/skills/b1-one-shot-claude-opus-4-6/temperature-simulation/netcdf-analysis

Reading and analyzing GLM NetCDF output with Python netCDF4 and pandas for RMSE evaluation.From its SKILL.md

Install
npx -y skills add cxcscmu/SkillLearnBench --skill netcdf-analysis

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

1.2 KB, 282 tokens by cl100k_base, as published. Nobody here has run it

NetCDF Analysis for GLM Output

Reading GLM Output

import netCDF4 as nc
import numpy as np
import pandas as pd

ds = nc.Dataset('output/output.nc')
temp = ds.variables['temp'][:]  # masked array [time, layers]
z = ds.variables['z'][:]        # height above bottom [time, layers]
time_var = ds.variables['time']
times = nc.num2date(time_var[:], time_var.units)

Extracting Temperature at Specific Depths

GLM uses variable layer heights. For each timestep:

lake_depth = 25  # from morphometry (crest_elev - min(H))
for t in range(len(times)):
    valid = ~temp[t].mask if hasattr(temp[t], 'mask') else np.ones(temp.shape[1], bool)
    depths_from_surface = lake_depth - z[t, valid]
    temps = temp[t, valid]
    # Interpolate to desired depth

RMSE Calculation

# Merge on exact datetime and rounded depth
# rmse = sqrt(mean((obs - sim) ** 2))

Key Notes

  • GLM z is height from lake bottom; depth = lake_depth - z
  • Round depths to nearest integer for matching
  • Use exact datetime matching (no nearest-time)

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.