install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/hydro-forecast" ~/.claude/skills/majiayu000-claude-skill-registry-hydro-forecast && rm -rf "$T"
manifest:
skills/data/hydro-forecast/SKILL.mdsource content
1 运行环境说明
-
在Julia中运行
-
在julia中首先加载包,
using HydroTools -
若没有包加载出错,则安装之,
using Pkg; Pkg.add("HydroTools")
说明
先不要立即执行该skills,提醒用户输入的数据的格式。用户需要整理好的数据路径即可。
model模型选择
- MarrMot
- XAJ
- TCN
- LSTM
- KAN
如果复杂、参数比较多的模型:要求用户输入模型参数
json文件。
按照如下示例
{ "clumping_index": 0.62, "LAI_max_o": 4.5, "LAI_max_u": 2.4, "z00": 1.33, "mass_overstory": 35, "mass_understory": 10, "root_depth": 0.6, "α_canopy_vis": 0.035, "α_canopy_nir": 0.23, "r_root_decay": 0.95, "minimum_stomatal_resistance": 150, "z_canopy_o": 20, "z_canopy_u": 3, "g1_w": 8, "VCmax25": 62.5, "leaf_resp_co": 0.0015, "stem_resp_co": 0.0020, "root_resp_co": 0.0020, "fine_root_resp_co": 0.003, "N_leaf": 4.45, "slope_Vc": 0.33152 }
1.1 任务说明
1.1.1 framework
:
frameworkfunction hydro_forecast(f; model, outdir) res = ... fwrite(res.output, ...) fwrite(res.gof, ...) fwrite(res.info_flood, ...) fwrite(res.dat_flood, ...) fwrite(res.evaluation, ...) end function hydro_forecast(X::AbstractArray, Y::AbstractArray; model::Function, outdir = "OUTPUT") mkpath(outdir) res; # return a NamedTuple end
输入:X, Y, model
输出:Qsim, GOF, Pass_rate
: 三类数据集的输出,A DataFrame with columns ofoutput
,date
,Qsim
: 三类数据的拟合优度gof
: 洪水场次信息,info_flood
,id
,time_beg
,time_end
,duration
,Q_peakQ_min
:洪水场次的驱动数据,dat_flood
: 每个洪水场次上的模拟优度, csvevaluation
绘图:
- 交给他绘图的函数,数据
总结:
总结模型预报精度 (evaluation
)AI执行
内部模块设计:
-
: 采用R语言,划分洪水场次flood_division -
:train, test, valid划分数据集 -
: 根据拟合优度指标去设计loss,例如KGE, NSE, RMSE,注意loss越小越优。根据loss去优选模型参数。loss -
: 在三种数据集,train, test, valid。每个洪水场次的洪峰、峰现时间合格率。evaluation
1.1.2 model
:水文模型、LSTM、TCN、KAN
modelYsim = Model(X, Y; params, state) # Lux的设计哲学
1.1.3 文件保存
文件保存采用Julia包
DataFrames,RTableTools
using RTableTools fwrite(df, "out.csv") # df is a DataFrame