After debug, I think there is a bug in line 513-547 of Nonlinear/initial.F.
For a real case, We have INI_FILE, so the program won't goto line 529.
It will use line 519 to get wrong time state when restart.
I think line 519-527 should be changed to
Code: Select all
IF (nrrec(ng).eq.0) THEN
CALL get_state (ng, iNLM, 1, INIname(ng), IniRec, Tindex)
# ifdef DISTRIBUTE
CALL mp_bcasti (ng, iNLM, exit_flag)
# endif
IF (exit_flag.ne.NoError) RETURN
ELSE
!
! If restart, read in initial conditions restart NetCDF file.
!
CALL get_state (ng, 0, 1, INIname(ng), IniRec, Tindex)
# ifdef DISTRIBUTE
CALL mp_bcasti (ng, iNLM, exit_flag)
# endif
IF (exit_flag.ne.NoError) RETURN
END IF
NMEFC of China