28 CHARACTER(15) :: restarttime
33 CHARACTER(5) :: updproc
49 SUBROUTINE w3nmluprstr (NDSI, INFILE, NML_RESTART, NML_UPDATE, IERR)
118 INTEGER,
INTENT(IN) :: NDSI
119 CHARACTER*(*),
INTENT(IN) :: INFILE
122 INTEGER,
INTENT(OUT) :: IERR
124 INTEGER,
SAVE :: IENT = 0
129 CALL strace (ient,
'W3NMLUPRSTR')
134 OPEN (
ndsn,
file=trim(infile)//
'.log', form=
'formatted', iostat=ierr)
136 WRITE (
ndse,
'(A)')
'ERROR: open full nml file '//trim(infile)//
'.log failed'
141 OPEN (ndsi,
file=trim(infile), form=
'formatted', status=
'old', iostat=ierr)
143 WRITE (
ndse,
'(A)')
'ERROR: open input file '//trim(infile)//
' failed'
231 INTEGER,
INTENT(IN) :: NDSI
237 namelist /restart_nml/ restart
239 INTEGER,
SAVE :: IENT = 0
244 CALL strace (ient,
'READ_RESTART_NML')
248 restart%RESTARTTIME =
'19680607 120000'
252 READ (ndsi, nml=restart_nml, iostat=ierr, iomsg=
msg)
254 WRITE (
ndse,
'(A,/A)') &
255 'ERROR: READ_RESTART_NML: namelist read error', &
261 nml_restart = restart
334 INTEGER,
INTENT(IN) :: NDSI
340 namelist /update_nml/ update
342 INTEGER,
SAVE :: IENT = 0
347 CALL strace (ient,
'READ_UPDATE_NML')
353 update%UPDPROC =
'UPD0F'
355 update%PRCNTGCAP = 10.0
357 update%FILE =
'anl.grbtxt'
361 READ (ndsi, nml=update_nml, iostat=ierr, iomsg=
msg)
363 WRITE (
ndse,
'(A,/A)') &
364 'ERROR: READ_UPDATE_NML: namelist read error', &
442 INTEGER,
SAVE :: IENT = 0
446 CALL strace (ient,
'REPORT_RESTART_NML')
449 WRITE (
msg,
'(A)')
'RESTART % '
451 WRITE (
ndsn,10) trim(
msg),
'RESTARTTIME = ', trim(nml_restart%RESTARTTIME)
525 INTEGER,
SAVE :: IENT = 0
529 CALL strace (ient,
'REPORT_UPDATE_NML')
532 WRITE (
msg,
'(A)')
'UPDATE % '
534 WRITE (
ndsn,10) trim(
msg),
'UPDPROC = ', trim(nml_update%UPDPROC)
536 IF (trim(nml_update%UPDPROC) .EQ.
'UPD0F')
THEN
537 WRITE (
ndsn,11) trim(
msg),
'PRCNTG = ', nml_update%PRCNTG
539 WRITE (
ndsn,11) trim(
msg),
'PRCNTGCAP = ', nml_update%PRCNTGCAP
541 IF ((trim(nml_update%UPDPROC) .EQ.
'UPD5') .OR. &
542 (trim(nml_update%UPDPROC) .EQ.
'UPD6'))
THEN
543 WRITE (
ndsn,11) trim(
msg),
'THRWSEA = ', nml_update%THRWSEA
545 WRITE (
ndsn,10) trim(
msg),
'FILE = ', trim(nml_update%FILE)
549 11
FORMAT (a,2x,a,f5.3)