Parflow分布式水文模型安装与测试

一、下载以及相关资源参考地址

Github: https://github.com/parflow/parflow

Parflow blog: http://parflow.blogspot.com/

Parflow users: https://mailman.mines.edu/pipermail/parflow-users/

User manual: https://github.com/parflow/parflow/blob/master/user_manual.pdf


二、安装

主要参考 User manual(https://github.com/parflow/parflow/blob/master/user_manual.pdf)以及 Blog (http://parflow.blogspot.com/search/label/linux) 安装parflow

系统:window 下 Vmware 运行 lubuntu-19.10 desktop amd64

1. 安装准备

(1)Ubuntu下进入终端(Qterminal)

You will first need to download and install C, C++ and Fortran compilers and Tcl/Tk. The download list below also includes optional, but recommended text editors. Ubuntu ships with vim-lite, which sucks. At the very least, install the full version of vim. Downloading and installing these is very easy. All you have to do is enter the following commands:

提前安装如下工具:

sudo apt-get install gcc

sudo apt-get install g++

sudo apt-get install gdc

sudo apt-get install gfortran

sudo apt-get install tcl-dev

sudo apt-get install tk-dev

可选安装

sudo apt-get install vim [highly recommended]

sudo apt-get install jedit [my favorite text editor – allows vertical selection]

(2)下载Parflow安装包

https://parflow.org/#download

注:本次安装的parflow版本为3.3.1,最新版已经是3.6.0

2. 安装

(1)在home下新建一个文件夹名为 pfdir

cd

mkdir pfdir

cd pfdir

(2)将 parflow-3.3.1.tar.gz 复制到pfdir文件夹下,并进行解压

tar -xvf parflow-3.3.1.tar.gz

(3)将解压出来的parflow-3.3.1文件夹重命名为parflow(手动)

(4)承接(1)中的设置路径,继续新建文件夹build

mkdir build

cd build

(5)设定PARFLOW_DIR环境变量

 export PARFLOW_DIR=/home/pf/pfdir/parflow

(6)build 和 install Parflow

cd build

cmake ../parflow -DCMAKE_INSTALL_PREFIX=$PARFLOW_DIR   (或者 ccmake ../parflow 在gui下自行设置CMAKE_INSTALL_PREFIX的路径,即与PARFLOW_DIR一致)

make

make install

(7)测试parflow

cd $PARFLOW_DIR

cd test

tclsh default_single.tcl 1 1 1

若运行成功,会显示 :

(8)跳转至build路径,然后运行test

cd ../../build

make test

运行后,会有如下显示:

(9)运行example测试parflow。可以先回到home目录,新建一个foo文件夹,作为运行实例以及存储相关结果的文件夹,该文件夹可以完全独立于parflow文件夹,代码如下

cd

mkdir foo

cd foo

cp $PARFLOW_DIR/examples/default_single.tcl .   (注意最后有个点 .)

chmod 640 *  (foo赋予文件读写权限)

tclsh default_single.tcl

运行成功会显示一大段空白,如下:

同时,foo文件夹下会生成模型运行的结果


三、可能出现的问题

(1)build 和 install Parflow过程中出现,如下图所示问题

解决办法:打开pftools文件夹下的pkgindex.tcl文件,将代码替换为:

也可以自行去github下载该文件 https://github.com/parflow/parflow/blob/master/pftools/pkgIndex.tcl

# Tcl package index file, version 1.0

if {![package vsatisfies [package provide Tcl] 8.5]} {puts "ERROR : pftools requires TCL 8.5 or greater"; return}

package ifneeded parflow 1.0 [list apply {dir {

    uplevel 1 [list source [file join $dir parflow.tcl]]

    uplevel 1 [list source [file join $dir pfvtk.tcl]]

    if { [file exists [file join $dir parflow[info sharedlibextension]]] } {

load [file join $dir parflow[info sharedlibextension]]

    } else {

load [file join $dir libpftools[info sharedlibextension]] parflow

    }

}} $dir]

package ifneeded xparflow 1.0 [list apply {dir {

    package require parflow

    uplevel 1 [list source [file join $dir xpftools.tcl]]

    uplevel 1 [list source [file join $dir xpfthelp.tcl]]

    uplevel 1 [list source [file join $dir metaEListBox.tcl]]

    uplevel 1 [list source [file join $dir metaEntry.tcl]]

    uplevel 1 [list source [file join $dir xpftgeneral.tcl]]

    uplevel 1 [list source [file join $dir xpftdatadsp.tcl]]

    uplevel 1 [list source [file join $dir xpftdiffdsp.tcl]]

    uplevel 1 [list source [file join $dir xpftstatdsp.tcl]]

    uplevel 1 [list source [file join $dir xpftfunctions.tcl]]

    uplevel 1 [list source [file join $dir xpftfuncwin.tcl]]

    uplevel 1 [list source [file join $dir xpftinfowin.tcl]]

    uplevel 1 [list source [file join $dir xpftgriddsp.tcl]]

    uplevel 1 [list source [file join $dir pftformat.tcl]]

    uplevel 1 [list source [file join $dir fsb.tcl]]

    uplevel 1 [list source [file join $dir xpftpf.tcl]]

    uplevel 1 [list source [file join $dir xpftsds.tcl]]

    uplevel 1 [list source [file join $dir xpftnewgrid.tcl]]

}} $dir]


(2)build 路径下,执行make install 后出现 如下 /config permission denied 错误

解决办法:设置正确的PARFLOW_DIR路径,在本次运行中为 /home/pf/pfdir/parflow, 且通过ccmake检查CMAKE_INSTALL_PREFIX是否与PARFLOW_DIR一致

设置当前工作路径在build下,运行代码为

ccmake ../parflow

出现如下图所示的GUI。若不是/home/pf/pfdir/parflow,请按照最下栏的提示,修改路径。修改后,先按 c 进行configure,然后在新的显示界面按 e ,最后按 g 保存退出GUI


欢迎Parflow交流:memoryxu2015@outlook.com

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容