28 CHARACTER(15) :: timestart
29 CHARACTER(15) :: timestride
30 CHARACTER(15) :: timecount
32 CHARACTER(1024) :: list
41 CHARACTER(30) :: prefix
66 LOGICAL :: interactions
67 LOGICAL :: dissipation
83 SUBROUTINE w3nmlounp (NDSI, INFILE, NML_POINT, NML_FILE, &
84 NML_SPECTRA, NML_PARAM, NML_SOURCE, IERR)
155 INTEGER,
INTENT(IN) :: NDSI
156 CHARACTER*(*),
INTENT(IN) :: INFILE
162 INTEGER,
INTENT(OUT) :: IERR
164 INTEGER,
SAVE :: IENT = 0
169 CALL strace (ient,
'W3NMLOUNP')
174 OPEN (
ndsn,
file=trim(infile)//
'.log', form=
'formatted', iostat=ierr)
176 WRITE (
ndse,
'(A)')
'ERROR: open full nml file '//trim(infile)//
'.log failed'
181 OPEN (ndsi,
file=trim(infile), form=
'formatted', status=
'old', iostat=ierr)
183 WRITE (
ndse,
'(A)')
'ERROR: open input file '//trim(infile)//
' failed'
286 INTEGER,
INTENT(IN) :: NDSI
292 namelist /point_nml/ point
294 INTEGER,
SAVE :: IENT = 0
299 CALL strace (ient,
'READ_POINT_NML')
303 point%TIMESTART =
'19000101 000000'
304 point%TIMESTRIDE =
'0'
305 point%TIMECOUNT =
'1000000000'
308 point%SAMEFILE = .true.
311 point%DIMORDER = .true.
315 READ (ndsi, nml=point_nml, iostat=ierr, iomsg=
msg)
317 WRITE (
ndse,
'(A,/A)') &
318 'ERROR: READ_POINT_NML: namelist read error', &
397 INTEGER,
INTENT(IN) :: NDSI
403 namelist /file_nml/ file
405 INTEGER,
SAVE :: IENT = 0
410 CALL strace (ient,
'READ_FILE_NML')
420 READ (ndsi, nml=file_nml, iostat=ierr, iomsg=
msg)
422 WRITE (
ndse,
'(A,/A)') &
423 'ERROR: READ_FILE_NML: namelist read error', &
502 INTEGER,
INTENT(IN) :: NDSI
508 namelist /spectra_nml/ spectra
510 INTEGER,
SAVE :: IENT = 0
515 CALL strace (ient,
'READ_SPECTRA_NML')
520 spectra%SCALE_FAC = 1
521 spectra%OUTPUT_FAC = 0
527 READ (ndsi, nml=spectra_nml, iostat=ierr, iomsg=
msg)
529 WRITE (
ndse,
'(A,/A)') &
530 'ERROR: READ_SPECTRA_NML: namelist read error', &
536 nml_spectra = spectra
608 INTEGER,
INTENT(IN) :: NDSI
614 namelist /param_nml/ param
616 INTEGER,
SAVE :: IENT = 0
621 CALL strace (ient,
'READ_PARAM_NML')
629 READ (ndsi, nml=param_nml, iostat=ierr, iomsg=
msg)
631 WRITE (
ndse,
'(A,/A)') &
632 'ERROR: READ_PARAM_NML: namelist read error', &
709 INTEGER,
INTENT(IN) :: NDSI
715 namelist /source_nml/ source
717 INTEGER,
SAVE :: IENT = 0
722 CALL strace (ient,
'READ_SOURCE_NML')
728 source%OUTPUT_FAC = 0
730 source%SPECTRUM = .true.
731 source%INPUT = .true.
732 source%INTERACTIONS= .true.
733 source%DISSIPATION = .true.
734 source%BOTTOM = .true.
736 source%TOTAL = .true.
740 READ (ndsi, nml=source_nml, iostat=ierr, iomsg=
msg)
742 WRITE (
ndse,
'(A,/A)') &
743 'ERROR: READ_SOURCE_NML: namelist read error', &
825 INTEGER,
SAVE :: IENT = 0
829 CALL strace (ient,
'REPORT_POINT_NML')
832 WRITE (
msg,
'(A)')
'POINT % '
834 WRITE (
ndsn,10) trim(
msg),
'TIMESTART = ', trim(nml_point%TIMESTART)
835 WRITE (
ndsn,10) trim(
msg),
'TIMESTRIDE = ', trim(nml_point%TIMESTRIDE)
836 WRITE (
ndsn,10) trim(
msg),
'TIMECOUNT = ', trim(nml_point%TIMECOUNT)
838 WRITE (
ndsn,11) trim(
msg),
'TIMESPLIT = ', nml_point%TIMESPLIT
839 WRITE (
ndsn,10) trim(
msg),
'LIST = ', trim(nml_point%LIST)
840 WRITE (
ndsn,13) trim(
msg),
'SAMEFILE = ', nml_point%SAMEFILE
841 WRITE (
ndsn,11) trim(
msg),
'BUFFER = ', nml_point%BUFFER
842 WRITE (
ndsn,11) trim(
msg),
'TYPE = ', nml_point%TYPE
843 WRITE (
ndsn,13) trim(
msg),
'DIMORDER = ', nml_point%DIMORDER
846 11
FORMAT (a,2x,a,i8)
847 13
FORMAT (a,2x,a,l1)
922 INTEGER,
SAVE :: IENT = 0
926 CALL strace (ient,
'REPORT_FILE_NML')
929 WRITE (
msg,
'(A)')
'FILE % '
931 WRITE (
ndsn,10) trim(
msg),
'PREFIX = ', trim(nml_file%PREFIX)
932 WRITE (
ndsn,11) trim(
msg),
'NETCDF = ', nml_file%NETCDF
936 11
FORMAT (a,2x,a,i8)
1007 INTEGER,
SAVE :: IENT = 0
1011 CALL strace (ient,
'REPORT_SPECTRA_NML')
1014 WRITE (
msg,
'(A)')
'SPECTRA % '
1016 WRITE (
ndsn,11) trim(
msg),
'OUTPUT = ', nml_spectra%OUTPUT
1017 WRITE (
ndsn,14) trim(
msg),
'SCALE_FAC = ', nml_spectra%SCALE_FAC
1018 WRITE (
ndsn,14) trim(
msg),
'OUTPUT_FAC = ', nml_spectra%OUTPUT_FAC
1019 WRITE (
ndsn,11) trim(
msg),
'TYPE = ', nml_spectra%TYPE
1022 11
FORMAT (a,2x,a,i8)
1023 14
FORMAT (a,2x,a,f8.2)
1094 INTEGER,
SAVE :: IENT = 0
1098 CALL strace (ient,
'REPORT_PARAM_NML')
1101 WRITE (
msg,
'(A)')
'PARAM % '
1103 WRITE (
ndsn,11) trim(
msg),
'OUTPUT = ', nml_param%OUTPUT
1105 11
FORMAT (a,2x,a,i8)
1175 INTEGER,
SAVE :: IENT = 0
1179 CALL strace (ient,
'REPORT_SOURCE_NML')
1182 WRITE (
msg,
'(A)')
'SOURCE % '
1184 WRITE (
ndsn,11) trim(
msg),
'OUTPUT = ', nml_source%OUTPUT
1185 WRITE (
ndsn,14) trim(
msg),
'SCALE_FAC = ', nml_source%SCALE_FAC
1186 WRITE (
ndsn,14) trim(
msg),
'OUTPUT_FAC = ', nml_source%OUTPUT_FAC
1187 WRITE (
ndsn,11) trim(
msg),
'TABLE_FAC = ', nml_source%TABLE_FAC
1188 WRITE (
ndsn,13) trim(
msg),
'SPECTRUM = ', nml_source%SPECTRUM
1189 WRITE (
ndsn,13) trim(
msg),
'INPUT = ', nml_source%INPUT
1190 WRITE (
ndsn,13) trim(
msg),
'INTERACTIONS = ', nml_source%INTERACTIONS
1191 WRITE (
ndsn,13) trim(
msg),
'DISSIPATION = ', nml_source%DISSIPATION
1192 WRITE (
ndsn,13) trim(
msg),
'ICE = ', nml_source%ICE
1193 WRITE (
ndsn,13) trim(
msg),
'TOTAL = ', nml_source%TOTAL
1197 11
FORMAT (a,2x,a,i8)
1198 13
FORMAT (a,2x,a,l1)
1199 14
FORMAT (a,2x,a,f8.2)