爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 165|回复: 4

批量并行LBM模式

[复制链接]
发表于 前天 01:32 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 一大碗年糕 于 2025-9-12 13:01 编辑

一般来说T42L20的LBM模式运行30天所花的时间大概在几分钟,但是有时候需要运行上百个不同强迫源的case(如格林函数方法),特别是如果每次还要涉及耗散参数等调整,就需要批量并行提升速度了。由于编译LBM模式的时候一些路径设置都是默认为串行而设计的,所以并行的时候需要每个case单独文件夹。
晚上鼓捣了一下,记录下每个CASE下设置需要注意的部分:首先每个case文件夹下建立独立的frc和out文件,并复制独立的linear-run.t42l20.csh和SETPAR文件,文件中设置的路径指向CASE的frc和out文件夹
SETPAR:除下面参数外,强迫源根据不同CASE调整
  1. &nmfin cfm='/home/huangwenshuo/LBM/run_LBM/Green_132/ENS1/frc/frc.t42l20.mat',
  2.         cfg='/home/huangwenshuo/LBM/run_LBM/Green_132/ENS1/frc/frc.t42l20.grd'
  3.         fact=1.0,1.0,1.0,1.0,1.0
  4. &end

  5. &nmfgt cfs='/home/huangwenshuo/LBM/run_LBM/Green_132/ENS1/out/psi',
  6.         cfc='/home/huangwenshuo/LBM/run_LBM/Green_132/ENS1/out/chi',
  7.         cfu='/home/huangwenshuo/LBM/run_LBM/Green_132/ENS1/out/u',
  8.         cfv='/home/huangwenshuo/LBM/run_LBM/Green_132/ENS1/out/v',
  9.         cfw='/home/huangwenshuo/LBM/run_LBM/Green_132/ENS1/out/w',
  10.         cft='/home/huangwenshuo/LBM/run_LBM/Green_132/ENS1/out/t',
  11.         cfz='/home/huangwenshuo/LBM/run_LBM/Green_132/ENS1/out/z',
  12.         cfp='/home/huangwenshuo/LBM/run_LBM/Green_132/ENS1/out/p',
  13.         cfo='/home/huangwenshuo/LBM/run_LBM/Green_132/ENS1/out/linear.t42l20.grd',
  14.         fact=1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,
  15.         opl=f,
  16. &end
复制代码
linear-run.t42l20.csh:
  1. setenv FDIR     /home/huangwenshuo/LBM/run_LBM/Green_132/ENS1/frc      # Directory for Output
  2. setenv DIR      /home/huangwenshuo/LBM/run_LBM/Green_132/ENS1/out      # Directory for Output
复制代码
其余部分可以保持不变,先串行每次复制SETPAR至util文件夹以生成所有CASE的强迫源(这部分计算开销较小问题不大采用串行,主要避免同时运行污染的util文件夹),之后再用并行所有CASE即可。另外,我是将gt2gr软链接到各个CASE下以方便输出grd数据。
我刚开始复制的example目录结构,gt2gr放在一级目录下,主要是gt2gr应该要和SETPAR同一级,程序要读取CASE配置信息
(base) huangwenshuo@pop-os:~/LBM/run_LBM/Green_132/example$ tree -L 2
.
├── create_frc.sh
├── frc
│   └── frc.t42l20.ctl
├── frc_draw_test.ipynb
├── gt2gr -> /home/huangwenshuo/LBM/ln_solver/solver/util/gt2gr
├── linear-run.t42l20.csh
├── out
│   └── linear.t42l20.ctl
├── res_draw_python_wind.ipynb
├── run_LBM.sh
└── SETPAR


如果在服务器上的话照理是可以批量一次性完成,本地PC可根据自己的CPU核数调整并行






密码修改失败请联系微信:mofangbao
 成长值: 0
发表于 前天 09:25 | 显示全部楼层
确实 之前跑n组模式都要等很久 麻烦的很
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 前天 11:49 | 显示全部楼层
AuuuTi 发表于 2025-9-12 09:25
确实 之前跑n组模式都要等很久 麻烦的很

是的没有并行太难受了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 前天 12:07 | 显示全部楼层
请问下,gt2gr是不是软链接到各个CASE的out目录下?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 前天 12:59 | 显示全部楼层
本帖最后由 一大碗年糕 于 2025-9-12 13:02 编辑
海洋小卫士 发表于 2025-9-12 12:07
请问下,gt2gr是不是软链接到各个CASE的out目录下?

gt2gr要和SETPAR同级,我把目录结构更新了下到帖子里了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表