When porting cam3, in configure process we meet the error like cannot find “ncdf_xxxx”
In fact, this is not a very serious error because we are using brand new netcdf (after 2012 in fact) that it requires -lnetcdff to link to fortran lib instead of only -lnetcdf
Change the makefile template, search -lnetcdf and append -lnetcdff to it when using FC
http://www.unidata.ucar.edu/support/help/MailArchives/netcdf/msg11396.html
When finishing compiling, use SLURM method to submit the task with openMP configure, get the error
18 READ_NAMELIST: Namelist read returns -1 19 ENDRUN: called without a message string
It seems that the model cannot lock the namelist position.
So I’ve found that the script moved the cam.exe out of the bld dir after compiling. So it maybe the cam exe cannot find the inside namelist file. Actually it is true!
After moving the exe in, another problem occurs
18 READ_NAMELIST: Namelist read returns 19 19 ENDRUN: called without a message string
What the hell with 19 code??? Google and got this
http://www.ladon.iqfr.csic.es/intel/doc/main_for/mergedProjects/bldaps_for/ug1l_rt_errors.htm
severe (19): Invalid reference to variable in NAMELIST input
FOR$IOS_INVREFVAR. One of the following conditions occurred:
|
It’s possibly that some variables cannot be recognized by the exe.
Find it one by one, stop_option and stop_n!!!!
OMG, CAM3 even doesn’t have these two namelist variables!
After deleting that and configuring the running period by NELAPSE, the world back to normal.
vim用了三年了,现在还是在基础命令的水平上。
今天用到了个复杂的,记录下:
复制包含关键字的所有行
%g/KeyWord/normal yyGp
对于包含 KeyWord 的任何行,执行 normal mode 命令:复制此行yy、跳到文件末尾G、粘贴p
%g/KeyWord/normal yyp
对于包含 KeyWord 的任何行,执行 normal mode 命令:复制此行yy、粘贴p
复制完后替换下一行的关键字(比如通过var1增加var2经常用到)
:g/\%(^\1$\n)\@<=(.*)$/s/var1/var2/g
这个命令太复杂了,前面那堆符号啥意思回来再慢慢研究……
查了下,可以用bash的快捷键解决这个问题,并且bash快捷键适用范围是跨平台的哦
行首ctrl+A
行尾ctrl+E
记录下其他有用的
ctrl+u
: 删除光标左边所有ctrl+k
: 删除光标右边所有ctrl+xx
: 行首到当前光标替换
https://github.com/hokein/Wiki/wiki/Bash-Shell%E5%B8%B8%E7%94%A8%E5%BF%AB%E6%8D%B7%E9%94%AE