Dear Help Desk-
I found an issue in ROMS/Utility/def_diags.F.
The variable zeta is now written out to the diagnostics file for CF compliance. It works fine for a new run.
But when we do a restart, the variable zeta is not given a varid. I fixed this in def_diags.F
Here is the section that needs to be modified:
! Scan variable list from input NetCDF and activate switches for
! diagnostics variables. Get variable IDs.
!
747 DO i=1,n_var
IF (TRIM(var_name(i)).eq.TRIM(Vname(1,idtime))) THEN
got_var(idtime)=.TRUE.
DIA(ng)%Vid(idtime)=var_id(i)
END IF
!!!!!!!!! here is the start for new code.
IF (TRIM(var_name(i)).eq.TRIM(Vname(1,idFsur))) THEN
got_var(idFsur)=.TRUE.
DIA(ng)%Vid(idFsur)=var_id(i)
END IF
!!!!!!!!! here is the end for new code.
....
Maybe further down you could add a block
IF (.not.got_var(idFsur)) THEN
IF (Master) WRITE (stdout,60) TRIM(Vname(1,ifield)), &
& TRIM(ncname)
exit_flag=3
RETURN
END IF
thanks
-j