当前位置: 首页 > web >正文

MCV的安装和运行

25年5月27日拿到了MCV的代码和运行说明,我来按照这个说明安装和运行一下这个模式。

主要是按照下面的这个网站的说明进行的MCV学习笔记 — mcv-notes 0.1 文档

1.环境变量设置

vim ~/.bashrc
module load netcdf_no_pnetcdf/4.8.1/intel
module load jasper/1.900.19/intel 
module load libpng/1.6.39/intel
module load cmake/3.25.3/gnu
module load pnetcdf/1.12.3/intelexport NCEPLIBS_DIR=/g5/jiangqg/share/NCEPlibs 
export PNETCDF=/g1/app/mathlib/pnetcdf/1.12.3/intel

 2.MCV静态数据

在~/.bashrc 中添加

#静态数据目录
export FIX_DATA=/g5/jiangqg/share/FIX_DATA

3.源代码准备

MCV的代码似乎不是完全公开的,这个只能自己想办法要了。

我从giteadmin/MCV: MCV模式源代码仓库 - MCV - Gitea: Git with a cup of tea

下载了一个然后上传到我的超算上。解压之后可以看到mcv目录下有下面几个文件夹和一个主文件。

ccpl_dp_coupling IO parallel share dynamics main.F90 physics 

可是这样下载的是不全的,于是我采用git命令行的方式,将代码拷贝到我的机器上。

然后我就有了一个CCPL_PMCV的文件夹,里面有全部的代码了。再进行具体工作之前,我需要先把模式;跑起来。

 

4.MPS安装和运行

由于在mcv主模式的运行之前需要MPS,所以先来进行MPS的安装。

首先是获得代码

git clone --recursive https://github.com/DwyaneChou/MPS.gitgit clone http://10.28.30.184:3000/zhoull/MPS.git

通过这两个命令之一,因为一个是github ,一个是内网。获得MPS的代码

然后开始安装

 cd buildFC=ifort CC=icc cmake ..

然后会生成这几个文件

 

make -j 8

会生成好几个可执行文件。

 cd ../runln -sf ../build/*.exe .

这一步把可执行文件移到run文件夹下面

然后开始运行MPS

# 进入MPS根目录cd MPS# 链接MPS所需静态数据到运行目录下ln -sf $FIX_DATA/source_data .# 进入MPS运行目录cd run# 编辑namelist.input文件# 执行gengeo程序生成MCV网格和地形文件mcv_geog.nc./gengeo.exe# 链接GRIB文件,生成GRIBFILE.XXX文件
# NCEP GFS测试数据示例./link_grib.csh FIX_DATA/source_data/met_data/NCEP_GFS/2022081000/gfs.t00z.pgrb2.0p50.f000# 解码GRIB文件,生成FILE:YYYY-MM-DD_HH的二进制文件./ungrib.exe# 进行变量场水平插值,生成mcv_met_YYYYMMDDhhmmss.nc./interpmet.exe# 进行变量场垂向插值,生成最终MCV驱动场mcv_input_$YYYYMMDDhhmmss.nc(区域版本同时生成侧边界条件数据)./realdata.exe

 ./ungrib.exe 成功

 

./interpmet.exe的时候又出现了问题,是怎么回事

可能这个时次的文件没有问题

 最后再运行这个可执行文件./realdata.exe

最终成功得到了我们想要的数据文件,这样前处理应该是成功了的。

我们也可以看到这里面的过程非常类似于之前的WRF模式,那时候WRF的前处理系统叫WPS.

 5.MCV模式安装

这里把CCPL_PMCV作为根目录,然后进到PMCV路径下

CCPL_PMCV/Experiments/PMCV

然后运行下设置环境的脚本。 

source setenv.sh

然后修改一下wckey,这是气象局新超算上的一个神奇的代号,

vim config/common/machine/generic_linux/submit.sbatch.generic_linux

在里面80行,修改一下wckey为自己的。

然后就是准备和编译

 ./configure./clean all./compile

但是我果然出错了,

 

/g5/mayb/CCPL_PMCV/model_platform/scripts/utils/configure_system: line 856: /g5/mayb/CCPL_PMCV/Experiments/PMCV/config/common/reprod

ucibility/input_data_list: No such file or directory

Recording the version of compilers used ... done

fatal: ambiguous argument 'origin/master': unknown revision or path not in the working tree.

Use '--' to separate paths from revisions, like this:

'git [...] -- [...]'

Archiving this configuration into PMCV.config.20250604-043943.nochecksum.tar ... done

 看起来说的是缺少文件或者文件夹。我猜是因为前面的MPS没有弄好,MPS是预处理部分,专门准备模式需要的数据的。

所以在此之前需要加一个步骤就是MPS安装。

 好,我安装好了MPS,现在继续回来进行MCV的安装和运行。

 

/g5/mayb/MCV_PUBLIC/CCPL_PMCV/model_platform/scripts/utils/configure_system: line 856: /g5/mayb/MCV_PUBLIC/CCPL_PMCV/Experiments/PMC

V/config/common/reproducibility/input_data_list: No such file or directory

还是出现了这个问题。

到了今天结束,依然还是困于这个问题 。不过还是能够编译,不知能否成功

不过好在的是

似乎是编译成功了!!!

那么接下来就是运行MCV了。

6.MCV模式运行

昨天搞好了安装,今天开始运行。

首先是数据的准备

cp mcv_input_20220810000000.nc ../../CCPL_PMCV/Experiments/PMCV/r
un/atm/MCV/data/

这些复制的命令行真的太长了,之后得想想办法。

然后运行链接的脚本的时候感觉很多的文件都没链接对,是FIX_DATA的文件夹中没有相应的文件。

原来这些文件在/g5/jiangqg/share/FIX_DATA/v16.1.5/fix_am中

这下终于搞对了。

什么叫自由度为1度,看不懂。应该是分辨率为1度吧

env_run.xml 类似于cesm 的设置文件

 

 

 我建立了一个脚本,然后提交,结果运行不到一小会就断了,

这是什么情况呢?

从网上查了一下,是mpi运行时候的问题,和内存有关系,内存越界或者是内存不够的原因。

我尝试调整并行节点数,384 768 等等都不行,而且我发现我不能用太多的节点,30个节点都不行,然后我尝试改内存,500G不行,但是400G可以,然而这些都不是产生这个问题的原因。依然还是会出现这个问题。

 

当我用60节点的时候,出现了一个新的问题,但是如果节点少点就没有这个问题。这些问题都和并行有关系。

这是mcv安装运行的全部步骤了。之后看解决了这个报错问题再更新。

 

http://www.xdnf.cn/news/12589.html

相关文章:

  • 第4天:RNN应用(心脏病预测)
  • 前端异步编程全场景解读
  • Java多态中的类型转换详解
  • Cesium添加图片标记点、glb模型
  • 双面沉金电路板工艺全解析:关键技术要点与行业应用实践
  • 飞凌嵌入式AM62x核心板驱动微电网智能化创新
  • ABAT100蓄电池在线监测系统:准确预警,保障电池安全运行
  • 使用python把json数据追加进文件,然后每次读取时,读取第一行并删除
  • [蓝桥杯]兰顿蚂蚁
  • 2025年全国青少年信息素养大赛 scratch图形化编程挑战赛 小高组初赛 真题详细解析
  • vue3学习(toRefs和toRef,computed计算属性 ,v-model指令,箭头函数)
  • 2025/6/4知识点总结—HALCON像素坐标转物理坐标
  • chatlog:一个基于MCP实现聊天记录总结和查询的开源工具
  • WebFuture:Syncthing配置以www-data用户运行
  • LINUX 66 FTP 2 ;FTP被动模式;FTP客户服务系统
  • Python训练营---Day46
  • R²ec: 构建具有推理能力的大型推荐模型,显著提示推荐系统性能!!
  • python中的逻辑运算
  • 什么是强化学习:设置奖励函数最为loss, 监督学习:标签准确率作为loss
  • 三维GIS开发cesium智慧地铁教程(4)城市白模加载与样式控制
  • 【正念365】助你好“眠”
  • python实战:如何对word文档的格式进行定制化排版
  • C++ const 修饰符深入浅出详解
  • leetcode1609. 奇偶树-meidum
  • untiy 模拟人物在街道走路和跑步
  • Shell编程核心符号与格式化操作详解
  • [electron]预脚本不显示内联script
  • 使用docker安装vLLM、并安装modelscope本地模型
  • 三格电子——EtherCAT分支器的应用场景
  • 2025年硬盘坏道修复工具指南:让您的硬盘焕发新生