Code: Select all
INQUIRE - unable to find requested variable: zeta
in file: boundaryfile.nc
The error message made me wonder why ROMS was looking for a non-boundary variable in the boundary file.
After some investigation it turned out that zeta was actually missing in the forward file but the error message would falsely show the boundary file name. (Some background information: I was using a new ocean.in file with "Hout(idFsur) == F", and changing the F to a T did eliminate the error).
This bug affects ROMS version 689 but should still be present in the current version since inquire.F has not changed significantly
How the bug occurs:
The wrong error message gets printed by the following lines (320-321) in inquire.F:
Code: Select all
WRITE (stdout,50) TRIM(Vname(1,ifield)), 'file:'
WRITE (stdout,'(15x,a)') TRIM(ncfile)
Code: Select all
IF (foundit) THEN
got_var=.TRUE.
ncfile=Fname
...
I should point out that "S(1)%name" does contain the correct file name but ncfile does not.
I realize this is a relatively obscure bug that only affects the text of an error message, yet it quite confusing and made me look for errors in all the wrong places.