Opened 16 years ago
Last modified 16 years ago
#323 closed bug
sediment restart — at Initial Version
Reported by: | jcwarner | Owned by: | arango |
---|---|---|---|
Priority: | major | Milestone: | Release ROMS/TOMS 3.3 |
Component: | Nonlinear | Version: | 3.3 |
Keywords: | Cc: |
Description
Several users have had issues with some of the sediment related parameters when restarting. Two of these issues deal with morphology/bath and bedload.
1) Morphology/bath If an application is compiled without sed_morph, user runs an application, creates a restart. Then user activates sed_morph, recompiles, and restarts. This will result in an error because the ini file will not have var 'bath.' However, user just wants to start with bath = h and go forward. Suggested fix:
Modify checkvars.F and change lines ~420-430 from
#if defined SEDIMENT && defined SED_MORPH
IF (.not.have_var(idbath).and.get_var(idbath)) THEN
IF (Master) WRITE (stdout,10) string, TRIM(Vname(1,idbath)), &
& TRIM(ncname)
exit_flag=2 RETURN
END IF
#endif
to:
#if defined SEDIMENT && defined SED_MORPH
IF (.not.have_var(idbath).and.get_var(idbath)) THEN
get_var(idbath)=.FALSE.
! IF (Master) WRITE (stdout,10) string, TRIM(Vname(1,idbath)), & ! & TRIM(ncname) ! exit_flag=2 ! RETURN
END IF
#endif
The added line of get_var bath = false will prevent the get_state to load it.
2) bedload If a user runs an application that does not have bedload, creates a restart file. Then user activates bedload and recompiles and runs. This will result in an error because get_state is looking for bedload vars. Suggested fix: modify checkvers.F lines ~180-181 from
get_var(idUbld(itrc))=.TRUE. get_var(idVbld(itrc))=.TRUE.
to
get_var(idUbld(itrc))=.FALSE. get_var(idVbld(itrc))=.FALSE.
This will prevent get_state to look for these vars. They are not currently used from the restart. I tested these fixes with inlet test and they worked for my limited evaluation.