The error I get when trying to run ROMS is:
GET_CYCLE - starting time for variable: river
is greater than current model time.
TMIN = 1.0000 TDAYS = 0.0000
It seems like for the variable 'river' ROMS finds TMIN = 1 even though river_time in my netcdf file goes all the way from -1096 to 933 and the model start date lies somewhere in the middle. I've checked my varinfo.dat and river forcing files which are correct (and are working with older versions of ROMS).
So I opened the debugger and started to investigate. I think the following problem occurs:
(1) ROMS reads the varinfo.dat, containing
Code: Select all
'river_Xposition' ! Input
'river runoff XI-positions at RHO-points'
'nondimensional' ! [nondimensional]
'river_Xposition, scalar'
'river'
'idRxpo'
'nulvar'
1.0d0
Code: Select all
double river_Xposition(river) ;
river_Xposition:long_name = "river XI-position at RHO-points" ;
river_Xposition:units = "nondimensional" ;
river_Xposition:valid_min = 1. ;
river_Xposition:valid_max = 159. ;
river_Xposition:field = "river_Xposition, scalar" ;
Code: Select all
river = 1, 2, 3, 4, 5, 6, 7 ;
for the 7 rivers in that specific domain (ESPRESSO).
(2) ROMS calls the subroutine get_ngfld (ROMS/Utility/get_ngfld.F) with the index (ifield) corresponding to the variable 'river_Xposition'. Within that routine the dimension of 'river_Xposition' is queried and falsely assumed to be a time dimension. The name of that dimension, 'river', is copied into into the variable Tname:
ROMS/Utility/get_ngfld.F (line 158 ff)
Code: Select all
IF (foundit) THEN
IF (LEN_TRIM(Vname(5,ifield)).gt.0) THEN
Tname(ifield)=TRIM(Vname(5,ifield))
...
ROMS/Utility/get_cycle.F (line 174 ff)
Code: Select all
IF (INDEX(TRIM(TvarName),'period').eq.0) THEN
IF (.not.cycle.and.(ntime.gt.1)) THEN
IF (smday.lt.Tmin) THEN
IF (Master) WRITE (stdout,20) TRIM(TvarName), Tmin, smday
exit_flag=2
RETURN
END IF
END IF
END IF
NOTE: the same error would have occurred earlier with the variable 'tide_period' but there is a safeguard in the above code that prevents variables containing the name 'period' to throw that error.
PS: No, I have not tried to rename my variable to 'river_period' yet.