ROMS 编译upwelling.h

学习海洋模式ROMS的第2步:编译upwelling.h
【暂时还没有用上超算,先在自己电脑的虚拟机上编译一个简单的】

操作系统版本:Ubuntu18.04 64
ROMS版本:1030

1. 准备阶段

1.1 安装netcdf4

我参考的教程是https://blog.csdn.net/qq_31831923/article/details/103479374
按照上面的一步一步完成,亲测没啥问题
这个教程也比较详细
https://blog.csdn.net/qq_35906473/article/details/90138347

ps. 虚拟机如果连不上网,解决方法:
左上角 --> 管理 --> 虚拟机设置 --> 网络适配器 --> 桥接模式

1.2 修改关键文件内的信息

以下方法是针对单线程编译的
首先,修改/ROMS目录下makefile文件里的
①header路径(就是Include文件夹路径,里面有一堆.h文件)
②编译器名(gfortran)

其次,/ROMS/Compilers目录下的Linux_gfortran.mk【这个我没改过】
如果已经安装了netcdf4,那Linux_gfortran.mk基本不用改

2. 开始编译

>>> cd /home/joeyxu/ROMS
>>> make

运行成功后界面会弹出一大堆东西,大约需要3min,同时在makefile所在的文件夹下生成了一个可执行文件romsG

这里如果不确定哪个是新生成的可执行文件,可以通过下面的语句查看当前路径下所有文件/文件夹的生成时间,最新生成的那个就是了

>>> ls -ltrh

可执行文件生成成功后,到/ROMS/External下找到文件roms_upwelling.in,注意到External文件夹下还有一个文件varinfo.dat,这个文件接下来也要用
把roms_upwelling.in拷贝到makefile所在的文件夹

>>> cp roms_upwelling.in  /home/joeyxu/ROMS
>>> vim roms_upwelling.in   #修改roms_upwelling.in

roms_upwelling.in中有一个参数是varinfo.dat的路径,原本的值是不能用的,需要改成在自己虚拟机里的实际路径

改完之后,在命令行输入:

>>> ./romsG < roms_upwelling.in

回车,弹出一堆值,需要较长的运行时间。

以上就算是upwelling.h编译成功了。

!!!注意事项!!!

我第一次编译的时候,输入make,回车后出现了一行rm -f -r什么什么的,就一两行。我刚开始以为是makefile里的参数设置错了,检查了一遍发现不是参数设置的问题,回想起来是我make了两遍。
解决方案:

>>> make clean
>>> make   #重来一次

仅供参考,如果有其他的原因,欢迎讨论。

接下来可能会更新并行版的编译过程~~~

ROMS 编译upwelling.h相关推荐

  1. 【已解决】ORB_SLAM2 编译 ./build_ros.h错误

    编译 ./build_ros.h 出的错基本就是与这差不多的,方法相同,定位相关的库,然后移动位置,更改cmkelist.txt文件即可 我这里因为ORB_SLAM2用的opencv3,我装的也是op ...

  2. linux下gcc编译conio.h问题

    ubuntu下编译遇到  conio.h找不到文件的问题, conio.h非标准库,在windows平台可以,在linux平台用curses.h,ubuntu下通过sudo apt-get insta ...

  3. catkin_make编译时fatal error: ###_msgs/***.h: 没有那个文件或目录

    我们经常在GitHub上copy一些功能包,放到自己的工作空间里就编译,然而编译出现了问题,说没有文件或目录. 你有没有想过在编译A包时,A包有调用B包的头文件,然而我B包还没编译,还没生成头文件. ...

  4. c语言错误c1010怎么办,fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include stdafx.h...

    一.概念: 1.预编译:就是编译器首先编译某个文件(称为预编译头文件),然后将这个编译结果保存起来,之后如果有其他源文件include了这个"预编译头文件"的时候,则自动从这个编译 ...

  5. error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include stdafx.h”

    fatal error C1010: 在查找预编译头时遇到意外的文件结尾.是否忘记了向源中添加"#include "stdafx.h (2011-09-08 22:17:50) 错 ...

  6. ifndef/define/endif——主要目的是防止头文件的重复包含和编译

    原文:http://www.jb51.net/article/100939.htm 原文:https://blog.csdn.net/abc5382334/article/details/180527 ...

  7. Android JNI开发生成.h头文件问题(转)

    在JNI开发中,首先要将建立的anroid类编译成.h文件,编译用到命令javah,由于第一次用,以前对java的编译过程也不怎么了解,所以走了好多弯路,网络没有对这一步的详细介绍,这里讲一下: 通过 ...

  8. 关于头文件是否参与编译的讨论

    一.文章来由 写项目的时候发现了这个问题,又是一个比较底层的问题,首先说明,这篇文章只是我根据查阅的资料和做的实验提出的一个讨论,并不一定就是正确答案.因为这个问题网上众说纷纭,我很欢迎大家参与这个讨 ...

  9. 利用pre-compiled headers技术以加速编译速度(一)

    <初见pre-compiled headers技术> 过去我们撰写C/C++程序时,每个档案都必须利用编译器指令 #include 引入许多的系统标头文件才能够使程序顺利编译,接着经由连结 ...

  10. ndk+opencv安装+各种错误分析(新版安装,编译不需要Cygwin 和Sequoyah了)

    鼓捣了两三天,终于成功算跑通了一个简单的程序.下面说说具体的安装: 因为从同学那里拷过来的eclipse 就有adt cdt 的插件.所以这两个就不用再安装了.(需要的话自己安装) 具体说下安装过程: ...

最新文章

  1. R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、设置transpose参数转置三线表、变量作为列,子组(strata)作为行
  2. 65条最常用正则表达式
  3. mysql能安装的版本下载失败_mysql 安装失败 每次都安装失败 每个版本都失败
  4. 国外的幼儿数学竟然这样出题?来测测你的孩子都会做吗?
  5. 欧拉回路基本概念+判断+求解
  6. python 服务器框架_python 服务器框架
  7. windows 根据进程id获得进程名称 C++
  8. 浅尝JQ AJAX
  9. Activiti的历史记录级别
  10. python 匹配段落_python格式化段落
  11. 拓端tecdat|R语言markov switching model马尔可夫转换模型研究商业周期
  12. latex table 表格 文字太长 自动换行
  13. 重邮第八届ACM大赛-预赛题解报告
  14. 【Unity3D】摇杆
  15. 亿级用户下的新浪微博平台架构
  16. 计算机主板自动重启,电脑开机后自动重启,详细教您电脑开机后自动重启如何解决...
  17. ImportError: attempted relative import with no known parent package
  18. discuz配置阿里云企业邮箱smtp方法
  19. coredns服务器配置
  20. 网站锚点执行平滑滚动

热门文章

  1. 实验二 单管交流放大电路
  2. 两个程序的爱情故事(刘欣)
  3. 计算机专业术语,收藏用
  4. uWSGI, Gunincorn, 啥玩意儿?
  5. HTML5游子吟网页的完整代码,《游子吟》教学设计(5页)-原创力文档
  6. 银行加息有什么影响(央行加息,对股市和房价有何影响?)
  7. 2019计算机单招试题,(完整版)2019高职单招计算机类专业练习卷
  8. WinDbg实践--入门篇
  9. Windbg远程调试
  10. MTK6577+Android之Camera驱动) ~% d