软件部署-NEMO在LIinux系统上的安装教程
创始人
2024-09-25 04:49:55
0

 NEMO(Nucleus for European Modelling of the Ocean)海洋模式是一个原始方程海洋环境模式,采用正交曲线坐标,Arkawa-C网格,垂直坐标采用z坐标或S坐标。其物理参数化方案和数值算法使得NEMO具备了支持更高的分辨率、支持更高的并行度、并行IO技术和单双向多层嵌套等特点,成为国际上用于海洋学研究、海洋季节性预测和气候研究的最新模型框架。

    NEMO包括OPA(Ocean PArallel)、TAM(Tangent linear and adjoint models)、LIM(laneuveice Model)和TOP(Tracer in the Ocean Paradigm)等模块,被广泛应用于27个国家的多项相关科研计划中,是目前世界各国海洋业务化预报系统的主力军。

    NEMO模式流程图如下:

01环境准备

  • 编译器:Intel 2022.1.0

  • MPI:IntelMPI 2021.6.0

  • NEMO的编译依赖Netcdf,Netcdf的安装具体可参考:

    WRF新手村

  • onepai的安装具体可参考:

    从0到1教你如何在Linux系统部署VASP,亲测有效

02NEMO编译安装

    NEMO模式目录下的makenemo用于模式的配置编译,在执行makenemo时可以指定算例、编译选项配置文件等,编译选项配置文件存储在arch文件夹中。本次测试使用的编译选项配置文件为arch-linux_ifort.fcm,样例为 BENCH。

    在 arch-linux_ifort.fcm 中需要根据环境修改如下选项。 

%NCDF_C_PREFIX  /PATH/netcdf/ %NCDF_F_PREFIX  /PATH/netcdf/ %HDF5_PREFIX    /PATH/netcdf/ %XIOS_PREFIX    notdef %OASIS_PREFIX   notdef %NCDF_INC       -I/PATH/netcdf/include %NCDF_LIB       -L/PATH/netcdf/lib -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lz -lm %XIOS_INC %XIOS_LIB %OASIS_INC %OASIS_LIB %CPP            cpp %FC             mpiifort %FCFLAGS        -i4 -r8 -O3 -fp-model strict -march=haswell -fno-alias %FFLAGS         %FCFLAGS %LD             %FC %LDFLAGS %FPPFLAGS       -P -traditional %AR             ar %ARFLAGS        rs %MK             make %USER_INC       %XIOS_INC %OASIS_INC %NCDF_INC %USER_LIB       %XIOS_LIB %OASIS_LIB %NCDF_LIB %CC             icc %CFLAGS         -O2

    -xHost是Intel编译器针对Intel处理器特定的编译优化选项,Intel编译器没有集成其他品牌处理器微架构相关信息。本实验环境处理器架构类似haswell,因此采用-march=haswell来帮助Intel编译器识别处理器的指令集特性。

    本次测试使用如下命令完成编译,编译时间较长。

./makenemo -m 'linux_ifort' -n BENCH -a BENCH

    编译完成后在tests/BENCH/BLD/bin下生成nemo.exe可执行文件,在 test/BENCH/EXP00文件夹下执行nemo.exe可执行文件。

03算例介绍

NEMO模式模拟区域为全球区域,网格大小为 1440*1206,垂直层为75层。本次测试模拟50步,时间步长900s,采用MPI并行方式。

在测试之前需要根据需要修改配置文件。test/BENCH/EXP00下的namelist_cfg是nemo的输入文件,可以根据需要修改如下选项。

  • nn_it000为第一个时间步

  • nn_itend为最后一个时间步

  • nn_isize为X方向网格点数

  • nn_jsize为Y方向网格点数

  • nn_ksize为垂直方向层数

  • jpni和jpnj为X方向和Y方向的进程数,当设置为0时表示自动分配,但自动分配时总进程数不能超过255,若使用256进程运行时需要手动指定

&namrun ! parameters of the run   cn_exp = 'BENCH' ! experience name   nn_it000 = 1 ! first time step   nn_itend = 50 ! last time step / &namusr_def   nn_isize = 1440 ! number of point in i-direction of global(local) domain if >0 (<0)   nn_jsize = 1206 !! 1049 ! number of point in j-direction of global(local) domain if >0 (<0)   nn_ksize = 75 ! total number of point in k-direction   ln_Iperio = .true. ! i-periodicity   ln_Jperio = .false. ! j-periodicity   ln_NFold = .true. ! North pole folding   cn_NFtype = 'T' ! Folding type: T or F / &nammpp ! Massively Parallel Processing   ln_nnogather= .true. ! activate code to avoid mpi_allgather use at the northfold   jpni = 0 ! jpni number of processors followingi   jpnj = 0 ! jpnj number of processors followingj /

04运行方式

  首先设置环境变量,加载oneapi环境。

source /PATH/oneapi/setvars.sh

    默认情况下,UCX尝试使用计算机上的所有可用设备,并根据性能特征(带宽、延迟、NUMA 位置等)选择最佳设备,这里使用UCX_NET_DEVICES指定通信时所使用的设备,用户可以根据自身机器配置灵活设置。

    I_MPI_FABRICS指定MPI通信时的通信方法,这里在节点内使用share memory,节点间使用ofi通信。

    I_MPI_SHM指定使用share memory通信时的通信方法。

export UCX_NET_DEVICES=mlx5_0:1 export I_MPI_FABRICS=shm:ofi export I_MPI_SHM=bdw_sse

之后使用mpirun启动作业,启动作业时无需指定输入配置文件。

mpirun -n 128 ./nemo

    运行结束后,NEMO输出文件ocean.output会显示如下结果:

    run.stat会显示每一步的结果概要。

相关内容

热门资讯

windows系统可以改安卓系... 亲爱的读者们,你是否曾想过,你的Windows电脑上运行的系统,能否变成安卓系统呢?想象你那熟悉的W...
安卓系统使用过程,安卓系统使用... 解锁安卓世界,你的专属指南亲爱的安卓用户们,你是否曾为初次接触安卓系统而感到困惑?又或者,在系统使用...
荐片安卓系统下载,安卓系统下载... 亲爱的手机控们,你是否在寻找一款全新的观影体验?别急,今天我要给你安利一款超级好用的安卓系统下载——...
安卓系统语音卡,Android... 你有没有想过,你的安卓手机里藏着一个小小的语音魔法师?没错,就是那个神秘的语音卡!今天,就让我带你一...
怎么找安卓手机系统,安卓手机系... 想知道怎么找安卓手机系统?别急,我来带你一探究竟! 话题引入:手机,这个我们每天离不开的小玩意儿,里...
现在系统是安卓几,从早期版本到... 你有没有发现,手机里的那个小玩意儿——系统,它也在悄悄地变着魔术呢!现在,就让我带你一探究竟,看看安...
儿童手表安卓6.0系统,功能升... 亲爱的家长们,你们是不是在为孩子的安全担忧呢?现在科技这么发达,一款功能强大的儿童手表就能解决大问题...
安卓系统吃鸡外挂,技术解析与防... 哎呀呀,亲爱的吃鸡迷们,你们是不是在电脑上玩吃鸡游戏时,总是觉得手机屏幕太小,操作不够灵活呢?别急,...
安卓的系统怎么写,核心特性与开... 你有没有想过,自己动手写一个安卓系统会是怎样的体验呢?想象你不再是那个只能使用现成系统的用户,而是变...
安卓系统怎么关网,详解如何关闭... 手机里的流量就像小河里的水,不关网就哗哗地流个不停。别担心,今天就来教你怎么轻松关掉安卓手机的网,让...
安卓系统可以办公吗,移动办公的... 你有没有想过,你的安卓手机或者平板,除了刷刷抖音、看看视频,还能干些什么呢?没错,今天就来给你揭秘安...
win系统安装安卓软件,一站式... 揭秘!Win系统安装安卓软件,轻松玩转双系统亲爱的电脑迷们,你是否曾想过在Windows系统上也能畅...
安卓变ios系统锁定,解锁隐私... 你有没有想过,如果你的安卓手机突然变成了苹果的iOS系统,那会是怎样的体验呢?想象你的手机屏幕上不再...
mib是否支持安卓系统,创新车... 亲爱的车友们,你们有没有想过,你的爱车MIB系统是不是也能和你的安卓手机来个亲密接触呢?今天,就让我...
安卓机器升级鸿蒙系统,操作指南... 亲爱的读者们,你们有没有想过,你的安卓机器升级鸿蒙系统后会发生什么奇妙的事情呢?今天,就让我带你一起...
闹钟安卓系统个人总结,闹钟安卓... 闹钟,这个看似普通的小玩意儿,却在我日常生活中扮演着不可或缺的角色。自从我拥有了安卓手机,这个系统自...
华为安卓系统不能更新,迈向自主... 最近网上闹得沸沸扬扬的,说华为的安卓系统不能更新了,这可把咱们这些华为手机用户给急坏了。别急,别急,...
苹果系统安装安卓应用,轻松体验... 亲爱的果粉们,你是不是也和我一样,对安卓应用爱得深沉呢?虽然苹果手机自带的应用商店琳琅满目,但有时候...
安卓机重装系统windows系... 亲爱的手机控们,你们有没有想过,你的安卓手机也能变身成Windows系统的超级战士呢?没错,就是那个...
安卓系统安装xp系统教程视频,... 你有没有想过,在手机上也能玩Windows XP呢?没错,就是那个经典的操作系统,现在它竟然能在安卓...