一、背景
现有ROMS官网无法获取roms软件包,只能通过其余途径获取软件包,但在编译过程中发现与现有移植指南中的编译指导有所出入,现总结如下。
二、编译
- 自定义build脚本
a. 寻找与文档中类似的文件进行编译,对应文件如下:

注意: 修改内容与官方文档一致
b. 修改build.bash文件中mpi和netcdf路径(注意:其余路径获取的build.bash脚本已将官方软件包中build_roms.sh脚本和my_build_path.sh脚本融合)
将第207行gfortran改为flang。
将第211行中的MPI改为实际环境中的路径 
将第363行gfortran改为flang。
将第364行gfortran改为flang。
将第366行注释去掉。
将第400行、第401行改为实际环境中netcdf的路径。

- 修改Linux-flang.mk文件。最终内容如下:

三、解决报错
1.执行./build.bash -j 8编译ROMS,报该文件不存在
分析思路: 进入build.bash文件查询文件格式 ,查询命令 :set ff ,经过查询文件格式为dos,经分析获取的源码包格式均不正确。
解决方法:
a. 执行以下命令,安装并使用dos2unix,将源码包的整个格式转换为Linux格式
b. 进入到环境中源码包解压的目录下执行如下命令
一、背景
现有ROMS官网无法获取roms软件包,只能通过其余途径获取软件包,但在编译过程中发现与现有移植指南中的编译指导有所出入,现总结如下。
二、编译
三、解决报错
1.执行./build.bash -j 8编译ROMS,报该文件不存在
分析思路: 进入build.bash文件查询文件格式 ,查询命令 :set ff ,经过查询文件格式为dos,经分析获取的源码包格式均不正确。
解决方法:
a. 执行以下命令,安装并使用dos2unix,将源码包的整个格式转换为Linux格式
b. 进入到环境中源码包解压的目录下执行如下命令
cd /home/public/software/roms-9.1.8 find . -type f -exec dos2unix {} \;