Skip to content
Back to skills

Hydro Forecast

ASecurity

- 在Julia中运行 - 在julia中首先加载包,`using HydroTools` - 若没有包加载出错,则安装之,`using Pkg; Pkg.add("HydroTools")`

  • 666 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added February 9, 2026
toolsgo

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill hydro-forecast --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Hydro Forecast?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Hydro Forecast
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-hydro-forecast/badge)](https://www.skillsdirectory.com/skills/majiayu000-hydro-forecast)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: hydro-forecast
description: 
---

# 1 运行环境说明

- 在Julia中运行

- 在julia中首先加载包,`using HydroTools`

- 若没有包加载出错,则安装之,`using Pkg; Pkg.add("HydroTools")`


## 说明

先不要立即执行该skills,提醒用户输入的数据的格式。用户需要整理好的数据路径即可。

```

```

`model`模型选择

+ MarrMot
+ XAJ
+ TCN
+ LSTM
+ KAN

如果复杂、参数比较多的模型:要求用户输入模型参数`json`文件。
按照如下示例

```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`:

```julia

function 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

  + `output`: 三类数据集的输出,A DataFrame with columns of `date`, `Qsim`, 
  + `gof`: 三类数据的拟合优度
  + `info_flood`: 洪水场次信息,`id`, `time_beg`, `time_end`, `duration`, `Q_peak`, `Q_min`
  + `dat_flood`:洪水场次的驱动数据,
  + `evaluation`: 每个洪水场次上的模拟优度, csv

**绘图**:

  + 交给他绘图的函数,数据

**总结**:

  + `evaluation`总结模型预报精度 (`AI执行`)


**内部模块设计**:

  + `flood_division`: 采用R语言,划分洪水场次

  + `划分数据集`:train, test, valid

  + `loss`: 根据拟合优度指标去设计loss,例如KGE, NSE, RMSE,注意loss越小越优。根据loss去优选模型参数。
 
  + `evaluation`: 在三种数据集,train, test, valid。每个洪水场次的洪峰、峰现时间合格率。


### 1.1.2 `model`:水文模型、LSTM、TCN、KAN

  ```julia
  Ysim = Model(X, Y; params, state) # Lux的设计哲学
  ```

### 1.1.3 文件保存

文件保存采用Julia包`DataFrames`,`RTableTools`

```julia
using RTableTools
fwrite(df, "out.csv") # df is a DataFrame
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.