LZN's Blog CodePlayer

Porting CAM3 on SAVIO


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


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


severe (19): Invalid reference to variable in NAMELIST input FOR$IOS_INVREFVAR. One of the following conditions occurred:
  • The variable was not a member of the namelist group.
  • An attempt was made to subscript a scalar variable.
  • A subscript of the array variable was out-of-bounds.
  • An array variable was specified with too many or too few subscripts for the variable.
  • An attempt was made to specify a substring of a noncharacter variable or array name.
  • A substring specifier of the character variable was out-of-bounds.
  • A subscript or substring specifier of the variable was not an integer constant.
  • An attempt was made to specify a substring by using an unsubscripted array variable.

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.



Similar Posts