VIC Classic 驱动程序
一、VIC模型输入
可以使用不同的程序和数据集构建VIC输入文件。下面是对各输入文件的一般性描述,链接是对其结构和可能用到的构建方法。
运行VIC,以下是必须的输入数据:
①全局参数文件:这是VIC模型的主要输入文件;这里设定VIC输入输出文件的位置和掌控模拟的设置参数(例如,开始/结束日期,操作模式)。
②气象驱动文件:各气象驱动文件。
③土壤参数文件:网格ID值,lat/lon,土壤结构和其它特征。
④植被库文件:描述可获得的土地覆盖类型。
⑤植被参数文件:土地覆盖类型,面积比例,植被根深和在各网格单元中的不同土地覆盖瓦片季节LAI值。
除此之外,还有其它可选项:
①常量文件:模型参数在时空尺度是恒定的。
②初始状态文件:储水量(土壤湿度,积雪等),能量储存(土壤温度等)和其它描述当前系统状态的信息。先前VIC模拟的存储的状态文件可以用来当作另一个运行过程的初始状态。
③高程波段文件:文件描绘了各网格单元中高程分布。默认情况下,VIC假定网格单元高程是均一的。
④湖/湿地参数文件:文件包含湖模型参数。默认情况下,VIC不模拟湖或其它睡眠的截留。
⑤植被时序文件:VIC可以输入植被物候变量的逐日时序数据(LAI,albedo,植被覆盖比例)。pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、运行VIC Classic 驱动程序
2.1编译
- 依赖:经典驱动程序唯一的依赖是C编译器支持C-99标准。常规测试VIC使用下面编译器:
——GNU(gcc 版本4+)
——Clang(clang 版本3+)
VIC还可以用如下编译器:
——Intel(icc)
——PGI(pgcc) - 如果你想使用另外编译器,而不是gcc,要么编辑Makefile 或 设置 cc 环境变量,例如:
<export CC=icc>
- 更换目录, cd 到“classic driver”源码目录并输入 make
cd vic/drivers/classic
make
- 如果这些没有错误的完成之后,你将会在此目录中看见 vic_classic.exe 。 vic_classic.exe 是这个模型的可执行文件。
2.2运行VIC
在命令行下,输入:
./vic_classic.exe -g global_parameter_fliename
这里global_parameter_fliename = 你项目的相关的全局参数文件
2.3其它命令行选项
VIC还提供其它的命令行选项:
- vic_classic.exe -v : 说明VIC的版本
- vic_classic.exe -h:打印VIC命令行选项的列表
- vic_classic.exe -o:打印当前执行编译时间的设置;改变这些设置,你必须编辑vic_def.h,或使用make_full重新编译。
三、VIC模型输出
3.1模型结果
结果文件的内容是由用户通过在全局参数文件中的选项和设置来控制的。如果在全局参数文件中没有相关的输出文件设置,VIC将默认输出2或3个相同输出文件。
3.2VIC运行日志
如果在全局参数文件中提供了LOG_DIR变量,VIC将会把运行情况输出到日志文件(文件名由运行时间来判定)。默认记录位置是 stderr。这些日志的长度可以由Makefile中 LOG_LVL变量设置。
3.3状态文件(可选)
VIC可以保存模拟中的任一水文状态(通常是最终状态)到文件中,为了在后面重启模拟时作为初始状态文件。这在漫长的循环阶段或方法重现时很有用。
- 状态文件结构:链接
在全局参数文件中用户可以指定在何时保存水文状态,以及状态文件的名字和位置。