glm-basics
Basic usage of the General Lake Model (GLM) for lake temperature simulation. Use when you need to run GLM, understand input files, or modify configuration parameters.
- License 许可
- MIT
- 最近更新
- 2026-04-21
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- glm-basics
- license
- MIT
- description
- Basic usage of the General Lake Model (GLM) for lake temperature simulation. Use when you need to run GLM, understand input files, or modify configuration parameters.
03 SKILL.md 正文
GLM Basics Guide
Overview
GLM (General Lake Model) is a 1D hydrodynamic model that simulates vertical temperature and mixing dynamics in lakes. It reads configuration from a namelist file and produces NetCDF output.
Running GLM
cd /root
glm
GLM reads glm3.nml in the current directory and produces output in output/output.nc.
Input File Structure
| File | Description |
|---|---|
glm3.nml |
Main configuration file (Fortran namelist format) |
bcs/*.csv |
Boundary condition files (meteorology, inflows, outflows) |
Configuration File Format
glm3.nml uses Fortran namelist format with multiple sections:
&glm_setup
sim_name = 'LakeName'
max_layers = 500
/
&light
Kw = 0.3
/
&mixing
coef_mix_hyp = 0.5
/
&meteorology
meteo_fl = 'bcs/meteo.csv'
wind_factor = 1
lw_factor = 1
ch = 0.0013
/
&inflow
inflow_fl = 'bcs/inflow1.csv','bcs/inflow2.csv'
/
&outflow
outflow_fl = 'bcs/outflow.csv'
/
Modifying Parameters with Python
import re
def modify_nml(nml_path, params):
with open(nml_path, 'r') as f:
content = f.read()
for param, value in params.items():
pattern = rf"({param}\s*=\s*)[\d\.\-e]+"
replacement = rf"\g<1>{value}"
content = re.sub(pattern, replacement, content)
with open(nml_path, 'w') as f:
f.write(content)
# Example usage
modify_nml('glm3.nml', {'Kw': 0.25, 'wind_factor': 0.9})
Common Issues
| Issue | Cause | Solution |
|---|---|---|
| GLM fails to start | Missing input files | Check bcs/ directory |
| No output generated | Invalid nml syntax | Check namelist format |
| Simulation crashes | Unrealistic parameters | Use values within valid ranges |
Best Practices
- Always backup
glm3.nmlbefore modifying - Run GLM after each parameter change to verify it works
- Check
output/directory for results after each run
04 同仓库更多 Skills
data-reconciliation
暂无简介
speech-to-text
Transcribe video to timestamped text using Whisper tiny model (pre-installed).
video-processor
Process videos by removing segments and concatenating remaining parts. Use when you need to remove detected pauses/openings from videos, create highlight reels, or batch process segment removals using ffmpeg filter_complex.
silence-detector
Detect initial silence segments in audio/video using energy-based analysis. Use when you need to find low-energy periods at the start of recordings (title slides, setup time, pre-roll silence).
segment-combiner
Combine multiple segment detection results into a unified list. Use when you need to merge segments from different detectors, prepare removal lists for video processing, or consolidate detection outputs.
report-generator
Generate compression reports for video processing. Use when you need to create structured JSON reports with duration statistics, compression ratios, and segment details after video processing.