前言

最近在尝试跑WRF,WRF输出的数据想要快速查看画图的话ncview是一个很好的工具。然而在安装ncview的过程中遇到了诸多困难,搞了好几天才终于成功,需要总结一下经验。

安装ncview

ncview是一款linux系统上的软件,他可通过至少一下两种方法安装。

  1. conda 安装
1
$ conda install -c conda-forge ncview
  1. apt 安装(需要sudo)
1
$ sudo apt-get install ncview

我只试过第一种方法。在使用conda完成后,会出现几个包被自动升级。导致conda出现一些问题,具体报错信息我忘了。当时将报错信息贴到百度里,解决方法就是将那几个包降回原版本就可以了。

配置

安装完成后,需要修改.bashrc,添加

1
export DISPLAY=172.16.4.224:0.0

其中172.16.4.224是本地电脑的ip,可通过cmd命令ipconfig查看,IPv4地址那一行显示的就是ip。

.bashrc修改后后记得source .bashrc

在本地电脑中,需要下载安装Xming,安装完成后在Xming安装目录的下有一个X0.hosts 文件,在文件中添加

1
2
localhost
172.16.0.125

其中172.16.0.125是服务器ip。

运行

做完以上步骤后基本可以运行ncview了

1
$ ncview filename.nc

可能会出现说找不到.ncviewrc的情况,这个是不需要管的

一些坑

以上步骤看起来很简单,但是在这些天我却始终不能成功运行ncview。原因在于一直报错说

1
ncview error: can't open display: 192.168.1.186:0.0

其中192.168.1.186是在我成功之前本地电脑使用的ip地址。也就是ncview无法通过这个ip地址将图像展示到我的本地电脑上。

后来通过闲鱼咨询了解到,服务器ip的172开头,我的本地电脑通过连接路由器,路由器重新分配ip地址,将192开头的ip分配给了我。172和192不属于同一网段,因而无法实现ssh , ping 等远程连接。ncview无法成功运行的原因就在这。

那么我需要让路由器不要随便分配ip地址,我需要得到一个172开头的ip。进一步通过闲鱼了解到,进入路由器的管理页面,关闭DHCP服务(即关闭ip自动分配)。之后将路由器WAN口的线插在LAN口 (原先一个插在WAN口连接路由器和墙体,一个插在LAN口连接路由器和电脑)。然后断电重启路由器。之后果然得到172开头的ip,ncview也可以顺利运行了!

本地地址改成172后,我发现无法打开路由器的管理页面了。原因是路由器本身的ip也变了(百度说的),这时想再进入管理页面,需要将ip地址设置手动获取到192开头。步骤如下

piUFfxJ.md.jpg

手动输入ip地址192.168.1.2 , 这时本机ip就变回192了,就可以登陆路由器管理页面了。 如果要再变回172就将上图改为自动获得ip即可。