WRF WPS多核并行运行

news/2024/9/18 7:22:26/文章来源:https://www.cnblogs.com/jiangleads/p/18413199

WRF运行前,需要利用WPS程序先对数据进行预处理,包括ungrib,geogrid和metgrid。其中,ungrib和geogrid可以独立运行。metgrid的运行依赖ungrib和geogrid的输出结果。

geogrid和megrid可以多核并行运行,生成的文件将按照并行数目N进行拆分,每个时次N个文件;ungrib是单核运行,每个时次仅一个文件。此后,的WRF程序运行时,需要CPU的核数需要与之前metgrid并行数目一致(即WRF程序real.exe, wrf.exe并行数目和拆分的metgrid文件数一致)。

geogrid和metgrid不一定都要并行,比如geogrid可以串行执行,但metgrid的运行必须多核运行(如果后面WRF也想开启分布式运行的话)。

 

具体步骤:

1. 修改namelist.wps,以下选项进行设置

io_form_geogrid = 102,

io_form_metgrid = 102,

然后并行运行ungrib,geogrid和metgrid

./ungrib.exe

mpirun -np 64 ./geogrid.exe

mpirun -np 64 ./metgrid.exe

分别将geogrid和metgrid进行拆分。

由于metgrid.exe有bug,在并行运行是,对于每个时次拆分的的met_em.d*文件,只有拆分的第一个文件的属性NUM_LAND_CAT为正确值,其他文件的NUM_LAND_CAT为0,这将造成后续运行real.exe出现错误,所以,需要先用nco命令,将met_em.d*文件的NUM_LAND_CAT属性的值设置成一致

#!/bin/bash
for fname in met_em.d0*
doecho "Working on $fname"ncatted -O -a NUM_LAND_CAT,global,o,i,28 $fname
done

其中上面的28要改成实际文件的NUM_LAND_CAT数目。

ls met*_.nc_0000| ncdump -h |grep -i NUM_LAND_CAT

 

2. 修改namelist.input

 io_form_auxinput1 = 102

运行real.exe

mpirun -np 64 ./real.exe

运行wrf.exe

mpirun -np 64 ./wrf.exe 

注意上述的红色数字为并行的数目,需要保持一致。

 

参考:https://forum.mmm.ucar.edu/threads/pnetcdf-capability-for-wps.12607/#post-30170

https://forum.mmm.ucar.edu/threads/mismatch-between-namelist-and-wrf-input-files-for-dimension-num_land_cat.13541/

https://forum.mmm.ucar.edu/threads/cannot-support-split-netcdf-option-for-real-exe.19038/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/796844.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决Spring Data JPA Hibernate的N+1问题的最佳方法

最佳方法:定制@NamedEntityGraph、定制查询和定制VO,可以做到按照需要最佳查询,需要注意的地方:定制VO的字段一定要等于或小于实际查询的字段,才不会复制的时候触发N+1查询。 1 问题复现 1.1 项目结构 1.2 entitypackage com.xkzhangsan.jpa.entity;import lombok.Getter;…

全网最适合入门的面向对象编程教程:48 Python函数方法与接口-位置参数、默认参数、可变参数和关键字参数

在 Python 中,函数可以接受多种不同类型的参数,包括位置参数、默认参数、可变参数和关键字参数等,理解这些参数类型对于编写灵活且可维护的代码非常重要。全网最适合入门的面向对象编程教程:48 Python 函数方法与接口-位置参数、默认参数、可变参数和关键字参数摘要: 在 P…

软工作业-个人介绍

一、自我介绍 我是广东工业大学大三的学生,我的爱好是打游戏 二、快速阅读软件工程教材之后的问题 软件工程中的需求分析如何做到全面而准确? 软件设计的原则有哪些,如何在实际项目中灵活运用? 软件测试的方法有哪些,如何确保测试的有效性? 项目管理在软件工程中的重要性…

浙江理工大学24软件技术基础第一次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zjlg/rjjc/这个作业的目标 介绍自己并发表对课程学习的期望姓名-学号 李想-2021330301036浙江理工大学24软件技术基础第一次作业 一、自我介绍 (一)、基本信息 大家好!我是22级自动化2班的李想,来自广东。我的爱好是动…

海贼女帝3D打印模型免费分享

链接:https://pan.quark.cn/s/fbe6cb7fd476

碧蓝航线-山城-猫娘3D打印模型免费分享

下载链接:https://pan.quark.cn/s/4c64df8eb54e

地牢里发生了什么3D模型免费分享

下载链接:https://pan.quark.cn/s/0c01c6fd4e90

斩赤红之瞳-艾斯德斯3D打印模型免费分享

链接:https://pan.quark.cn/s/c26ae6a17b69

18号3D打印模型分享

下载地址:https://pan.quark.cn/s/5c735ceee560

Redis 入门 - 收官

《Redis入门》系列完成,涵盖Redis基本信息、安装、可视化工具、基础数据类型、C#/.NETCore客户端库及封装。分享学习经验,帮助初学者少走弯路,形成系统性概念。后续将分享《Redis进阶》。《Redis 入门》系列文章总算完成了,希望这个系列文章可以想入门或刚入门的同学提供帮…

计算机桌面有去不掉的窗口边框 ,电脑屏幕有残留刷新去不掉怎么办

先允许任务管理器 ,结束explorer进程树 还可以参考 https://blog.csdn.net/weixin_42614269/article/details/118206476再重新运行explorer任务 桌面恢复正常。

对HTML基础详细拓展

1.什么是HMTL? HTML 是用来描述网页的一种语言。 HTML 指的是超文本标记语言: HyperText Markup Language HTML 不是一种编程语言,而是一种标记语言 标记语言是一套标记标签 (markup tag) HTML 使用标记标签来描述网页 HTML 文档包含了HTML 标签及文本内容 HTML文档也叫做 we…