Windows下运行PCR-GLOBWB的学习和总结

本文分享了全球水文模型PCR-GLOBWB的学习与实践经历,包括模型下载、Python环境配置及运行调试等内容,最终成功获取了满意的结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1. 背景

2. PCR-GLOBWB介绍

3. PCR-GLOBWB下载与运行

3.1 下载

3.2 Python环境配置 

3.2.1 miniconda安装Python环境

3.2.2 miniconda安装模块

3.3 运行与debug

3.3.1 miniconda运行PCR-GLOBWB

3.3.2 python debug

4. PCR-GLOBWB部分结果展示

1. 背景

基于全球水文模型的计算需求,我花费接近一周的时间自学了PCR-GLOBWB模型,期间走了不少弯路,也学习到了很多知识,最终顺利运行了该模型,得到了较为满意的输出结果。现将学习过程整理如下,供大家参考。

2. PCR-GLOBWB介绍

PCR-GLOBWB模型是一种广泛使用的全球水文模型(Global Hydrological Model, GHM),能够对陆地水储量及其各个分量,以及产汇流过程进行高精度的模拟。相比于陆面模型(Land Surface Model, LSM),GHM在模拟地表水、地下水以及人类用水等方面有着显著的优势,这也是我学习它的主要原因。

更多内容参考:Global Hydrology | PCR-GLOBWB 2.0

3. PCR-GLOBWB下载与运行

3.1 下载

模型下载:模型

输入数据下载:输入数据

我们将它们解压,并放到同一文件夹下,如图所示。

3.2 Python环境配置 

PCR-GLOBWB2以软件包的形式发布,只需要运行相应的文件即可。模型使用Python编写,运行前须确保安装了Python环境,官方推荐使用miniconda,我们尝试使用miniconda安装Python环境,并安装模型运行必须的模块。

3.2.1 miniconda安装Python环境

进入miniconda官网:Miniconda — conda documentation,在"Windows installers"栏中选择合适的版本,我选择的是Python3.9,下载并安装;同时,参考windows下安装miniconda详细教程_JessieZeng aaa的博客-优快云博客_windows miniconda,我们将三个路径添加到环境变量中。这时,点击"Windows"键,出现这两个软件,即证明安装成功。

3.2.2 miniconda安装模块

打开软件Anaconda Prompt (miniconda3),进入PCR-GLOBWB_model-master\conda_env文件夹:

输入:

conda env create --name pcrglobwb_python39 -f pcrglobwb_py3_standard.yml

即可安装一个名为pcrglobwb_python39的python环境,并根据文件pcrglobwb_py3_standard.yml的内容,安装numpy、python-dateutil、zlib、pcraster等必须的模块。如下图所示,即证明安装成功。

注意,这时如果使用了代理VPN,可能会出现报错:ProxyError: Conda cannot proceed due to an error in your proxy configuration. Check for typos and other configuration errors in any ‘.netrc’ file in your home directory, any environment variables ending n ‘_PROXY’, and any other system-wide proxy configuration settings. 参考windows使用conda时出现报错ProxyError: Conda cannot proceed due to an error in your proxy configuration - 啦啦啦小石头 - 博客园,修改~/.condarc文件,可以解决问题。

3.3 运行与debug

3.3.1 miniconda运行PCR-GLOBWB

进入3.2.2新建的名为pcrglobwb_python39的python环境:

conda activate pcrglobwb_python39

在输入运行命令前,需要修改配置文件的各项参数。我们打开D:\PCR_GLOBWB\PCR-GLOBWB_model-master\config\setup_30min_windows.ini,该文件保存了各项配置参数,并会在后续的计算中一一调用,因此需要根据个人的计算需求一一修改。例如,输出文件路径、运行起始年份、运行终止年份、输入文件路径等。注意,很多输入文件的后缀为.map,但在该配置文件中则为.nc的后缀,一定要全部改正,否则模型会报错。这里,我提供了一份自己改完的版本,起始时间为:2000-01-01,终止时间为:2000-01-31,可以免费下载,供大家参考:PCR-GLOBWB运行的配置文件,测试有效-数据集文档类资源-优快云下载。进入文件夹:D:\PCR_GLOBWB\PCR-GLOBWB_model-master\model,输入:

python deterministic_runner.py D:\PCR_GLOBWB\PCR-GLOBWB_model-master\config\setup_30min_windows.ini

即可成功运行,下图为运行过程的截图。

但运行速度较慢。由于输出结果为日尺度,计算完一年约需要25分钟。运行成功后,可以在文件夹D:\PCR_GLOBWB\outputs\netcdf中获取模型输出。

3.3.2 python debug

在部分情况下,由于numpy模块的版本问题,可能会出现报错:AttributeError: module 'numpy' has no attribute 'int',参考module ‘numpy‘ has no attribute ‘int‘_AI视觉网奇的博客-优快云博客,根据报错信息找到相应文件,将np.int改为np.int64,问题得到解决。

同时,由于编码问题,可能会出现报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0xb0 in position 6538: illegal multibyte sequence,参考真正解决Windows下UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xff in position 0错误的方法_mighty13的博客-优快云博客,根据报错信息找到相应文件,将'encoding'参数改为'UTF-8',即可解决。

4. PCR-GLOBWB部分结果展示

如下图为PCR-GLOBWB估算的2000年1月,全球地表径流、陆面潜在蒸散发、地表水、地下水的空间分布,分辨率为0.5度。图片使用GMT绘制,强烈建议大家使用这款优秀的地学软件,功能非常强大,基本能够满足地学绘图的所有需求。最新版的GMT6十分新手友好,学习成本比较低,推荐大家学习使用。

​​​​​​​

 

 

### 关于PCR-Net深度学习教程资源 #### PCR-Net概述 PCR-Net是一种基于卷积神经网络(CNN)的方法,专门用于处理聚合酶链式反应(Polymerase Chain Reaction, PCR)数据。这种方法能够有效地分析基因表达模式并识别特定序列中的变异[^1]。 #### 学习路径建议 对于希望深入了解PCR-Net及其应用的研究人员来说,可以从以下几个方面入手: - **基础知识积累** 掌握基本的分子生物学概念以及PCR技术原理是非常重要的前提条件。这有助于理解如何将这些实验产生的大量复杂的数据输入到模型中去训练。 - **编程技能准备** Python是实现此类算法的主要工具之一,在开始之前应该熟悉NumPy、Pandas等科学计算库,并且掌握TensorFlow或者PyTorch框架来构建自己的神经网络结构。 - **阅读原始论文** 查阅最初提出此架构的文章可以获取最权威的第一手资料。通常这类文章会详细介绍设计思路技术细节,这对于后续实践具有指导意义。 - **在线课程与文档** 利用互联网上的开放教育资源也是一个不错的选择。例如Coursera上开设有关于生物信息学专项课程;GitHub上有许多开源项目可供参考学习- **参与社区讨论** 加入专业的论坛或社交平台小组(如优快云),与其他爱好者交流心得体验,共同解决问题,往往能获得意想不到的帮助支持。 ```python import tensorflow as tf from tensorflow.keras import layers def create_pcr_net(input_shape=(None,), num_classes=2): inputs = tf.keras.Input(shape=input_shape) # Define your custom architecture here outputs = layers.Dense(num_classes)(inputs) model = tf.keras.Model(inputs=inputs, outputs=outputs) return model ```
评论 64
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值