WAVEWATCH III  beta 0.0.1
w3nmlgridmd.F90
Go to the documentation of this file.
1 #include "w3macros.h"
2 !/ ------------------------------------------------------------------- /
3 MODULE w3nmlgridmd
4  !/
5  !/ +-----------------------------------+
6  !/ | WAVEWATCH III NOAA/NCEP |
7  !/ | M. Accensi |
8  !/ | |
9  !/ | FORTRAN 90 |
10  !/ | Last update : 15-May-2018 |
11  !/ +-----------------------------------+
12  !/
13  !/ For updates see subroutines.
14  !/
15  ! 1. Purpose :
16  !
17  ! Manages namelists from configuration file ww3_grid.nml for ww3_grid program
18  !
19  !/ ------------------------------------------------------------------- /
20 
21  ! module defaults
22  IMPLICIT NONE
23 
24  PUBLIC
25 
26  ! coord file structure
28  REAL :: sf
29  REAL :: off
30  CHARACTER(256) :: filename
31  INTEGER :: idf
32  INTEGER :: idla
33  INTEGER :: idfm
34  CHARACTER(256) :: format
35  CHARACTER(256) :: from
36  END TYPE nml_coord_file_t
37 
38  ! file structure
40  REAL :: sf
41  CHARACTER(256) :: filename
42  INTEGER :: idf
43  INTEGER :: idla
44  INTEGER :: idfm
45  CHARACTER(256) :: format
46  CHARACTER(256) :: from
47  END TYPE nml_file_t
48 
49  ! smc file structure
51  CHARACTER(256) :: filename
52  INTEGER :: idf
53  INTEGER :: idla
54  INTEGER :: idfm
55  CHARACTER(256) :: format
56  END TYPE nml_smc_file_t
57 
58 
59  ! spectrum structure
61  REAL :: xfr
62  REAL :: freq1
63  INTEGER :: nk
64  INTEGER :: nth
65  REAL :: thoff
66  END TYPE nml_spectrum_t
67 
68  ! run structure
69  TYPE nml_run_t
70  LOGICAL :: fldry
71  LOGICAL :: flcx
72  LOGICAL :: flcy
73  LOGICAL :: flcth
74  LOGICAL :: flck
75  LOGICAL :: flsou
76  END TYPE nml_run_t
77 
78  ! timesteps structure
80  REAL :: dtmax
81  REAL :: dtxy
82  REAL :: dtkth
83  REAL :: dtmin
84  END TYPE nml_timesteps_t
85 
86  ! grid structure
88  CHARACTER(256) :: name
89  CHARACTER(256) :: nml
90  CHARACTER(256) :: type
91  CHARACTER(256) :: coord
92  CHARACTER(256) :: clos
93  REAL :: zlim
94  REAL :: dmin
95  END TYPE nml_grid_t
96 
97  ! rect structure
99  INTEGER :: nx
100  INTEGER :: ny
101  REAL :: sx
102  REAL :: sy
103  REAL :: sf
104  REAL :: x0
105  REAL :: y0
106  REAL :: sf0
107  END TYPE nml_rect_t
108 
109  ! curv structure
111  INTEGER :: nx
112  INTEGER :: ny
113  TYPE(nml_coord_file_t) :: xcoord
114  TYPE(nml_coord_file_t) :: ycoord
115  END TYPE nml_curv_t
116 
117  ! unst structure
119  REAL :: sf
120  CHARACTER(256) :: filename
121  INTEGER :: idf
122  INTEGER :: idla
123  INTEGER :: idfm
124  CHARACTER(256) :: format
125  CHARACTER(256) :: ugobcfile
126  END TYPE nml_unst_t
127 
128  ! smc structure
130  TYPE(nml_smc_file_t) :: mcels
131  TYPE(nml_smc_file_t) :: iside
132  TYPE(nml_smc_file_t) :: jside
133  TYPE(nml_smc_file_t) :: subtr
134  TYPE(nml_smc_file_t) :: bundy
135  TYPE(nml_smc_file_t) :: mbarc
136  TYPE(nml_smc_file_t) :: aisid
137  TYPE(nml_smc_file_t) :: ajsid
138  END TYPE nml_smc_t
139 
140  ! depth structure
142  REAL :: sf
143  CHARACTER(256) :: filename
144  INTEGER :: idf
145  INTEGER :: idla
146  INTEGER :: idfm
147  CHARACTER(256) :: format
148  CHARACTER(256) :: from
149  END TYPE nml_depth_t
150 
151  ! mask structure
153  REAL :: sf
154  CHARACTER(256) :: filename
155  INTEGER :: idf
156  INTEGER :: idla
157  INTEGER :: idfm
158  CHARACTER(256) :: format
159  CHARACTER(256) :: from
160  END TYPE nml_mask_t
161 
162  ! obst structure
164  REAL :: sf
165  CHARACTER(256) :: filename
166  INTEGER :: idf
167  INTEGER :: idla
168  INTEGER :: idfm
169  CHARACTER(256) :: format
170  CHARACTER(256) :: from
171  END TYPE nml_obst_t
172 
173  ! slope structure
175  REAL :: sf
176  CHARACTER(256) :: filename
177  INTEGER :: idf
178  INTEGER :: idla
179  INTEGER :: idfm
180  CHARACTER(256) :: format
181  CHARACTER(256) :: from
182  END TYPE nml_slope_t
183 
184  ! sed structure
186  REAL :: sf
187  CHARACTER(256) :: filename
188  INTEGER :: idf
189  INTEGER :: idla
190  INTEGER :: idfm
191  CHARACTER(256) :: format
192  CHARACTER(256) :: from
193  END TYPE nml_sed_t
194 
195  ! inbound structure
197  INTEGER :: n_point
198  END TYPE nml_inbnd_count_t
199 
201  INTEGER :: x_index
202  INTEGER :: y_index
203  LOGICAL :: connect
204  END TYPE nml_inbnd_point_t
205 
206 
207  ! excluded structure
209  INTEGER :: n_point
210  INTEGER :: n_body
211  END TYPE nml_excl_count_t
212 
214  INTEGER :: x_index
215  INTEGER :: y_index
216  LOGICAL :: connect
217  END TYPE nml_excl_point_t
218 
220  INTEGER :: x_index
221  INTEGER :: y_index
222  END TYPE nml_excl_body_t
223 
224 
225  ! outbound structure
227  INTEGER :: n_line
228  END TYPE nml_outbnd_count_t
229 
231  REAL :: x0
232  REAL :: y0
233  REAL :: dx
234  REAL :: dy
235  INTEGER :: np
236  END TYPE nml_outbnd_line_t
237 
238 
239 
240  ! miscellaneous
241  CHARACTER(256) :: msg
242  INTEGER :: ndsn
243 
244 
245 
246 CONTAINS
247  !/ ------------------------------------------------------------------- /
248  SUBROUTINE w3nmlgrid (NDSI, INFILE, NML_SPECTRUM, NML_RUN, &
249  NML_TIMESTEPS, NML_GRID, NML_RECT, NML_CURV, &
250  NML_UNST, NML_SMC, NML_DEPTH, NML_MASK, &
251  NML_OBST, NML_SLOPE, NML_SED, NML_INBND_COUNT, &
252  NML_INBND_POINT, NML_EXCL_COUNT, &
253  NML_EXCL_POINT, NML_EXCL_BODY, &
254  NML_OUTBND_COUNT, NML_OUTBND_LINE, IERR)
255  !/
256  !/ +-----------------------------------+
257  !/ | WAVEWATCH III NOAA/NCEP |
258  !/ | M. Accensi |
259  !/ | |
260  !/ | FORTRAN 90 |
261  !/ | Last update : 15-May-2018 |
262  !/ +-----------------------------------+
263  !/
264  !
265  ! 1. Purpose :
266  !
267  ! Reads all the namelist to define the model grid
268  !
269  ! 2. Method :
270  !
271  ! See source term routines.
272  !
273  ! 3. Parameters :
274  !
275  ! Parameter list
276  ! ----------------------------------------------------------------
277  ! NDSI Int.
278  ! INFILE Char.
279  ! NML_SPECTRUM Type
280  ! NML_RUN Type
281  ! NML_TIMESTEPS Type
282  ! NML_GRID Type
283  ! NML_RECT Type
284  ! NML_CURV Type
285  ! NML_UNST Type
286  ! NML_SMC Type
287  ! NML_DEPTH Type
288  ! NML_MASK Type
289  ! NML_OBST Type
290  ! NML_SLOPE Type
291  ! NML_SED Type
292  ! NML_INBND_COUNT Type
293  ! NML_INBND_POINT Type
294  ! NML_EXCL_COUNT Type
295  ! NML_EXCL_POINT Type
296  ! NML_EXCL_BODY Type
297  ! NML_OUTBND_COUNT Type
298  ! NML_OUTBND_LINE Type
299  ! IERR Int.
300  ! ----------------------------------------------------------------
301  !
302  ! 4. Subroutines used :
303  !
304  ! Name TYPE Module Description
305  ! ----------------------------------------------------------------
306  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
307  ! READ_SPECTRUM_NML
308  ! REPORT_SPECTRUM_NML
309  ! READ_RUN_NML
310  ! REPORT_RUN_NML
311  ! READ_TIMESTEPS_NML
312  ! REPORT_TIMESTEPS_NML
313  ! READ_GRID_NML
314  ! REPORT_GRID_NML
315  ! READ_RECT_NML
316  ! REPORT_RECT_NML
317  ! READ_CURV_NML
318  ! REPORT_CURV_NML
319  ! READ_UNST_NML
320  ! REPORT_UNST_NML
321  ! READ_SMC_NML
322  ! REPORT_SMC_NML
323  ! READ_DEPTH_NML
324  ! REPORT_DEPTH_NML
325  ! READ_MASK_NML
326  ! REPORT_MASK_NML
327  ! READ_OBST_NML
328  ! REPORT_OBST_NML
329  ! READ_SLOPE_NML
330  ! REPORT_SLOPE_NML
331  ! READ_SED_NML
332  ! REPORT_SED_NML
333  ! READ_INBOUND_NML
334  ! REPORT_INBOUND_NML
335  ! READ_EXCLUDED_NML
336  ! REPORT_EXCLUDED_NML
337  ! READ_OUTBOUND_NML
338  ! REPORT_OUTBOUND_NML
339  ! ----------------------------------------------------------------
340  !
341  ! 5. Called by :
342  !
343  ! Name TYPE Module Description
344  ! ----------------------------------------------------------------
345  ! WW3_GRID Prog. N/A Preprocess model grid.
346  ! ----------------------------------------------------------------
347  !
348  ! 6. Error messages :
349  !
350  ! None.
351  !
352  ! 7. Remarks :
353  !
354  ! 8. Structure :
355  !
356  ! See source code.
357  !
358  ! 9. Switches :
359  !
360  ! 10. Source code :
361  !
362  !/ ------------------------------------------------------------------- /
363 
364  USE w3odatmd, ONLY: ndse
365 #ifdef W3_S
366  USE w3servmd, ONLY: strace
367 #endif
368 
369  IMPLICIT NONE
370 
371  INTEGER, INTENT(IN) :: NDSI
372  CHARACTER*(*), INTENT(IN) :: INFILE
373  TYPE(nml_spectrum_t), INTENT(INOUT) :: NML_SPECTRUM
374  TYPE(nml_run_t), INTENT(INOUT) :: NML_RUN
375  TYPE(nml_timesteps_t), INTENT(INOUT) :: NML_TIMESTEPS
376  TYPE(nml_grid_t), INTENT(INOUT) :: NML_GRID
377  TYPE(nml_rect_t), INTENT(INOUT) :: NML_RECT
378  TYPE(nml_curv_t), INTENT(INOUT) :: NML_CURV
379  TYPE(nml_unst_t), INTENT(INOUT) :: NML_UNST
380  TYPE(nml_smc_t), INTENT(INOUT) :: NML_SMC
381  TYPE(nml_depth_t), INTENT(INOUT) :: NML_DEPTH
382  TYPE(nml_mask_t), INTENT(INOUT) :: NML_MASK
383  TYPE(nml_obst_t), INTENT(INOUT) :: NML_OBST
384  TYPE(nml_slope_t), INTENT(INOUT) :: NML_SLOPE
385  TYPE(nml_sed_t), INTENT(INOUT) :: NML_SED
386  TYPE(nml_inbnd_count_t), INTENT(INOUT) :: NML_INBND_COUNT
387  TYPE(nml_inbnd_point_t), ALLOCATABLE, INTENT(INOUT) :: NML_INBND_POINT(:)
388  TYPE(nml_excl_count_t), INTENT(INOUT) :: NML_EXCL_COUNT
389  TYPE(nml_excl_point_t), ALLOCATABLE, INTENT(INOUT) :: NML_EXCL_POINT(:)
390  TYPE(nml_excl_body_t), ALLOCATABLE, INTENT(INOUT) :: NML_EXCL_BODY(:)
391  TYPE(nml_outbnd_count_t), INTENT(INOUT) :: NML_OUTBND_COUNT
392  TYPE(nml_outbnd_line_t), ALLOCATABLE, INTENT(INOUT) :: NML_OUTBND_LINE(:)
393  INTEGER, INTENT(OUT) :: IERR
394 #ifdef W3_S
395  INTEGER, SAVE :: IENT = 0
396 #endif
397 
398  ierr = 0
399 #ifdef W3_S
400  CALL strace (ient, 'W3NMLGRID')
401 #endif
402 
403  ! open namelist log file
404  ndsn = 3
405  OPEN (ndsn, file=trim(infile)//'.log', form='formatted', iostat=ierr)
406  IF (ierr.NE.0) THEN
407  WRITE (ndse,'(A)') 'ERROR: open full nml file '//trim(infile)//'.log failed'
408  RETURN
409  END IF
410 
411  ! open input file
412  OPEN (ndsi, file=trim(infile), form='formatted', status='old', iostat=ierr)
413  IF (ierr.NE.0) THEN
414  WRITE (ndse,'(A)') 'ERROR: open input file '//trim(infile)//' failed'
415  RETURN
416  END IF
417 
418  ! read spectrum namelist
419  CALL read_spectrum_nml (ndsi, nml_spectrum)
420  CALL report_spectrum_nml (nml_spectrum)
421 
422  ! read run namelist
423  CALL read_run_nml (ndsi, nml_run)
424  CALL report_run_nml (nml_run)
425 
426  ! read timesteps namelist
427  CALL read_timesteps_nml (ndsi, nml_timesteps)
428  CALL report_timesteps_nml (nml_timesteps)
429 
430  ! read grid namelist
431  CALL read_grid_nml (ndsi, nml_grid)
432  CALL report_grid_nml (nml_grid)
433 
434  ! read rect namelist
435  CALL read_rect_nml (ndsi, nml_rect)
436  CALL report_rect_nml (nml_rect)
437 
438  ! read curv namelist
439  CALL read_curv_nml (ndsi, nml_curv)
440  CALL report_curv_nml (nml_curv)
441 
442  ! read unst namelist
443  CALL read_unst_nml (ndsi, nml_unst)
444  CALL report_unst_nml (nml_unst)
445 
446  ! read smc namelist
447  CALL read_smc_nml (ndsi, nml_smc)
448  CALL report_smc_nml (nml_smc)
449 
450  ! read depth namelist
451  CALL read_depth_nml (ndsi, nml_depth)
452  CALL report_depth_nml (nml_depth)
453 
454  ! read mask namelist
455  CALL read_mask_nml (ndsi, nml_mask)
456  CALL report_mask_nml (nml_mask)
457 
458  ! read obst namelist
459  CALL read_obst_nml (ndsi, nml_obst)
460  CALL report_obst_nml (nml_obst)
461 
462  ! read slope namelist
463  CALL read_slope_nml (ndsi, nml_slope)
464  CALL report_slope_nml (nml_slope)
465 
466  ! read sed namelist
467  CALL read_sed_nml (ndsi, nml_sed)
468  CALL report_sed_nml (nml_sed)
469 
470  ! read inbound namelist
471  CALL read_inbound_nml (ndsi, nml_inbnd_count, nml_inbnd_point)
472  CALL report_inbound_nml (nml_inbnd_count, nml_inbnd_point)
473 
474  ! read excluded namelist
475  CALL read_excluded_nml (ndsi, nml_excl_count, nml_excl_point, nml_excl_body)
476  CALL report_excluded_nml (nml_excl_count, nml_excl_point, nml_excl_body)
477 
478  ! read outbound namelist
479  CALL read_outbound_nml (ndsi, nml_outbnd_count, nml_outbnd_line)
480  CALL report_outbound_nml (nml_outbnd_count, nml_outbnd_line)
481 
482  ! close namelist files
483  CLOSE (ndsi)
484  CLOSE (ndsn)
485 
486  END SUBROUTINE w3nmlgrid
487 
488 
489  !/ ------------------------------------------------------------------- /
490 
491 
492 
493 
494 
495 
496  !/ ------------------------------------------------------------------- /
497 
498  SUBROUTINE read_spectrum_nml (NDSI, NML_SPECTRUM)
499  !/
500  !/ +-----------------------------------+
501  !/ | WAVEWATCH III NOAA/NCEP |
502  !/ | M. Accensi |
503  !/ | |
504  !/ | FORTRAN 90 |
505  !/ | Last update : 15-May-2018 |
506  !/ +-----------------------------------+
507  !/
508  ! 1. Purpose :
509  !
510  !
511  ! 2. Method :
512  !
513  ! See source term routines.
514  !
515  ! 3. Parameters :
516  !
517  ! Parameter list
518  ! ----------------------------------------------------------------
519  ! NDSI Int.
520  ! NML_SPECTRUM Type.
521  ! ----------------------------------------------------------------
522  !
523  ! 4. Subroutines used :
524  !
525  ! Name TYPE Module Description
526  ! ----------------------------------------------------------------
527  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
528  ! ----------------------------------------------------------------
529  !
530  ! 5. Called by :
531  !
532  ! Name TYPE Module Description
533  ! ----------------------------------------------------------------
534  ! W3NMLGRID Subr. N/A Namelist configuration routine.
535  ! ----------------------------------------------------------------
536  !
537  ! 6. Error messages :
538  !
539  ! None.
540  !
541  ! 7. Remarks :
542  !
543  ! 8. Structure :
544  !
545  ! See source code.
546  !
547  ! 9. Switches :
548  !
549  ! 10. Source code :
550  !
551  !/ ------------------------------------------------------------------- /
552 
553  USE w3odatmd, ONLY: ndse
554  USE w3servmd, ONLY: extcde
555 #ifdef W3_S
556  USE w3servmd, ONLY: strace
557 #endif
558 
559  IMPLICIT NONE
560 
561  INTEGER, INTENT(IN) :: NDSI
562  TYPE(nml_spectrum_t), INTENT(INOUT) :: NML_SPECTRUM
563 
564  ! locals
565  INTEGER :: IERR
566  TYPE(nml_spectrum_t) :: SPECTRUM
567  namelist /spectrum_nml/ spectrum
568 #ifdef W3_S
569  INTEGER, SAVE :: IENT = 0
570 #endif
571 
572  ierr = 0
573 #ifdef W3_S
574  CALL strace (ient, 'READ_SPECTRUM_NML')
575 #endif
576 
577  ! set default values for spectrum structure
578  spectrum%XFR = 0.
579  spectrum%FREQ1 = 0.
580  spectrum%NK = 0
581  spectrum%NTH = 0
582  spectrum%THOFF = 0.
583 
584  ! read spectrum namelist
585  rewind(ndsi)
586  READ (ndsi, nml=spectrum_nml, iostat=ierr, iomsg=msg)
587  IF (ierr.NE.0) THEN
588  WRITE (ndse,'(A,/A)') &
589  'ERROR: READ_SPECTRUM_NML: namelist read error', &
590  'ERROR: '//trim(msg)
591  CALL extcde (1)
592  END IF
593 
594  ! save namelist
595  nml_spectrum = spectrum
596 
597  END SUBROUTINE read_spectrum_nml
598 
599  !/ ------------------------------------------------------------------- /
600 
601 
602 
603  !/ ------------------------------------------------------------------- /
604 
605  SUBROUTINE read_run_nml (NDSI, NML_RUN)
606  !/
607  !/ +-----------------------------------+
608  !/ | WAVEWATCH III NOAA/NCEP |
609  !/ | M. Accensi |
610  !/ | |
611  !/ | FORTRAN 90 |
612  !/ | Last update : 15-May-2018 |
613  !/ +-----------------------------------+
614  !/
615  ! 1. Purpose :
616  !
617  !
618  ! 2. Method :
619  !
620  ! See source term routines.
621  !
622  ! 3. Parameters :
623  !
624  ! Parameter list
625  ! ----------------------------------------------------------------
626  ! NDSI Int.
627  ! NML_RUN Type.
628  ! ----------------------------------------------------------------
629  !
630  ! 4. Subroutines used :
631  !
632  ! Name TYPE Module Description
633  ! ----------------------------------------------------------------
634  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
635  ! ----------------------------------------------------------------
636  !
637  ! 5. Called by :
638  !
639  ! Name TYPE Module Description
640  ! ----------------------------------------------------------------
641  ! W3NMLGRID Subr. N/A Namelist configuration routine.
642  ! ----------------------------------------------------------------
643  !
644  ! 6. Error messages :
645  !
646  ! None.
647  !
648  ! 7. Remarks :
649  !
650  ! 8. Structure :
651  !
652  ! See source code.
653  !
654  ! 9. Switches :
655  !
656  ! 10. Source code :
657  !
658  !/ ------------------------------------------------------------------- /
659 
660  USE w3odatmd, ONLY: ndse
661  USE w3servmd, ONLY: extcde
662 #ifdef W3_S
663  USE w3servmd, ONLY: strace
664 #endif
665 
666  IMPLICIT NONE
667 
668  INTEGER, INTENT(IN) :: NDSI
669  TYPE(nml_run_t), INTENT(INOUT) :: NML_RUN
670 
671  ! locals
672  INTEGER :: IERR
673  TYPE(nml_run_t) :: RUN
674  namelist /run_nml/ run
675 #ifdef W3_S
676  INTEGER, SAVE :: IENT = 0
677 #endif
678 
679  ierr = 0
680 #ifdef W3_S
681  CALL strace (ient, 'READ_RUN_NML')
682 #endif
683 
684  ! set default values for run structure
685  run%FLDRY = .false.
686  run%FLCX = .false.
687  run%FLCY = .false.
688  run%FLCTH = .false.
689  run%FLCK = .false.
690  run%FLSOU = .false.
691 
692  ! read run namelist
693  rewind(ndsi)
694  READ (ndsi, nml=run_nml, iostat=ierr, iomsg=msg)
695  IF (ierr.GT.0) THEN
696  WRITE (ndse,'(A,/A)') &
697  'ERROR: READ_RUN_NML: namelist read error', &
698  'ERROR: '//trim(msg)
699  CALL extcde (2)
700  END IF
701 
702  ! save namelist
703  nml_run = run
704 
705  END SUBROUTINE read_run_nml
706 
707  !/ ------------------------------------------------------------------- /
708 
709 
710 
711  !/ ------------------------------------------------------------------- /
712 
713  SUBROUTINE read_timesteps_nml (NDSI, NML_TIMESTEPS)
714  !/
715  !/ +-----------------------------------+
716  !/ | WAVEWATCH III NOAA/NCEP |
717  !/ | M. Accensi |
718  !/ | |
719  !/ | FORTRAN 90 |
720  !/ | Last update : 15-May-2018 |
721  !/ +-----------------------------------+
722  !/
723  ! 1. Purpose :
724  !
725  !
726  ! 2. Method :
727  !
728  ! See source term routines.
729  !
730  ! 3. Parameters :
731  !
732  ! Parameter list
733  ! ----------------------------------------------------------------
734  ! NDSI Int.
735  ! NML_TIMESTEPS Type.
736  ! ----------------------------------------------------------------
737  !
738  ! 4. Subroutines used :
739  !
740  ! Name TYPE Module Description
741  ! ----------------------------------------------------------------
742  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
743  ! ----------------------------------------------------------------
744  !
745  ! 5. Called by :
746  !
747  ! Name TYPE Module Description
748  ! ----------------------------------------------------------------
749  ! W3NMLGRID Subr. N/A Namelist configuration routine.
750  ! ----------------------------------------------------------------
751  !
752  ! 6. Error messages :
753  !
754  ! None.
755  !
756  ! 7. Remarks :
757  !
758  ! 8. Structure :
759  !
760  ! See source code.
761  !
762  ! 9. Switches :
763  !
764  ! 10. Source code :
765  !
766  !/ ------------------------------------------------------------------- /
767 
768  USE w3odatmd, ONLY: ndse
769  USE w3servmd, ONLY: extcde
770 #ifdef W3_S
771  USE w3servmd, ONLY: strace
772 #endif
773 
774  IMPLICIT NONE
775 
776  INTEGER, INTENT(IN) :: NDSI
777  TYPE(nml_timesteps_t), INTENT(INOUT) :: NML_TIMESTEPS
778 
779  ! locals
780  INTEGER :: IERR
781  TYPE(nml_timesteps_t) :: TIMESTEPS
782  namelist /timesteps_nml/ timesteps
783 #ifdef W3_S
784  INTEGER, SAVE :: IENT = 0
785 #endif
786 
787  ierr = 0
788 #ifdef W3_S
789  CALL strace (ient, 'READ_TIMESTEPS_NML')
790 #endif
791 
792  ! set default values for timesteps structure
793  timesteps%DTMAX = 0.
794  timesteps%DTXY = 0.
795  timesteps%DTKTH = 0.
796  timesteps%DTMIN = 0.
797 
798  ! read timesteps namelist
799  rewind(ndsi)
800  READ (ndsi, nml=timesteps_nml, iostat=ierr, iomsg=msg)
801  IF (ierr.NE.0) THEN
802  WRITE (ndse,'(A,/A)') &
803  'ERROR: READ_TIMESTEPS_NML: namelist read error', &
804  'ERROR: '//trim(msg)
805  CALL extcde (3)
806  END IF
807 
808  ! save namelist
809  nml_timesteps = timesteps
810 
811  END SUBROUTINE read_timesteps_nml
812 
813  !/ ------------------------------------------------------------------- /
814 
815 
816 
817 
818  !/ ------------------------------------------------------------------- /
819 
820  SUBROUTINE read_grid_nml (NDSI, NML_GRID)
821  !/
822  !/ +-----------------------------------+
823  !/ | WAVEWATCH III NOAA/NCEP |
824  !/ | M. Accensi |
825  !/ | |
826  !/ | FORTRAN 90 |
827  !/ | Last update : 15-May-2018 |
828  !/ +-----------------------------------+
829  !/
830  ! 1. Purpose :
831  !
832  !
833  ! 2. Method :
834  !
835  ! See source term routines.
836  !
837  ! 3. Parameters :
838  !
839  ! Parameter list
840  ! ----------------------------------------------------------------
841  ! NDSI Int.
842  ! NML_GRID Type.
843  ! ----------------------------------------------------------------
844  !
845  ! 4. Subroutines used :
846  !
847  ! Name TYPE Module Description
848  ! ----------------------------------------------------------------
849  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
850  ! ----------------------------------------------------------------
851  !
852  ! 5. Called by :
853  !
854  ! Name TYPE Module Description
855  ! ----------------------------------------------------------------
856  ! W3NMLGRID Subr. N/A Namelist configuration routine.
857  ! ----------------------------------------------------------------
858  !
859  ! 6. Error messages :
860  !
861  ! None.
862  !
863  ! 7. Remarks :
864  !
865  ! 8. Structure :
866  !
867  ! See source code.
868  !
869  ! 9. Switches :
870  !
871  ! 10. Source code :
872  !
873  !/ ------------------------------------------------------------------- /
874 
875  USE w3odatmd, ONLY: ndse
876  USE w3servmd, ONLY: extcde
877 #ifdef W3_S
878  USE w3servmd, ONLY: strace
879 #endif
880 
881  IMPLICIT NONE
882 
883  INTEGER, INTENT(IN) :: NDSI
884  TYPE(nml_grid_t), INTENT(INOUT) :: NML_GRID
885 
886  ! locals
887  INTEGER :: IERR
888  TYPE(nml_grid_t) :: GRID
889  namelist /grid_nml/ grid
890 #ifdef W3_S
891  INTEGER, SAVE :: IENT = 0
892 #endif
893 
894  ierr = 0
895 #ifdef W3_S
896  CALL strace (ient, 'READ_GRID_NML')
897 #endif
898 
899  ! set default values for grid structure
900  grid%NAME = 'unset'
901  grid%NML = 'namelists.nml'
902  grid%TYPE = 'unset'
903  grid%COORD = 'unset'
904  grid%CLOS = 'unset'
905  grid%ZLIM = 0.
906  grid%DMIN = 0.
907 
908  ! read grid namelist
909  rewind(ndsi)
910  READ (ndsi, nml=grid_nml, iostat=ierr, iomsg=msg)
911  IF (ierr.NE.0) THEN
912  WRITE (ndse,'(A,/A)') &
913  'ERROR: READ_GRID_NML: namelist read error', &
914  'ERROR: '//trim(msg)
915  CALL extcde (4)
916  END IF
917 
918  ! save namelist
919  nml_grid = grid
920 
921  END SUBROUTINE read_grid_nml
922 
923  !/ ------------------------------------------------------------------- /
924 
925 
926 
927  !/ ------------------------------------------------------------------- /
928 
929  SUBROUTINE read_rect_nml (NDSI, NML_RECT)
930  !/
931  !/ +-----------------------------------+
932  !/ | WAVEWATCH III NOAA/NCEP |
933  !/ | M. Accensi |
934  !/ | |
935  !/ | FORTRAN 90 |
936  !/ | Last update : 15-May-2018 |
937  !/ +-----------------------------------+
938  !/
939  ! 1. Purpose :
940  !
941  !
942  ! 2. Method :
943  !
944  ! See source term routines.
945  !
946  ! 3. Parameters :
947  !
948  ! Parameter list
949  ! ----------------------------------------------------------------
950  ! NDSI Int.
951  ! NML_RECT Type.
952  ! ----------------------------------------------------------------
953  !
954  ! 4. Subroutines used :
955  !
956  ! Name TYPE Module Description
957  ! ----------------------------------------------------------------
958  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
959  ! ----------------------------------------------------------------
960  !
961  ! 5. Called by :
962  !
963  ! Name TYPE Module Description
964  ! ----------------------------------------------------------------
965  ! W3NMLGRID Subr. N/A Namelist configuration routine.
966  ! ----------------------------------------------------------------
967  !
968  ! 6. Error messages :
969  !
970  ! None.
971  !
972  ! 7. Remarks :
973  !
974  ! 8. Structure :
975  !
976  ! See source code.
977  !
978  ! 9. Switches :
979  !
980  ! 10. Source code :
981  !
982  !/ ------------------------------------------------------------------- /
983 
984  USE w3odatmd, ONLY: ndse
985  USE w3servmd, ONLY: extcde
986 #ifdef W3_S
987  USE w3servmd, ONLY: strace
988 #endif
989 
990  IMPLICIT NONE
991 
992  INTEGER, INTENT(IN) :: NDSI
993  TYPE(nml_rect_t), INTENT(INOUT) :: NML_RECT
994 
995  ! locals
996  INTEGER :: IERR
997  TYPE(nml_rect_t) :: RECT
998  namelist /rect_nml/ rect
999 #ifdef W3_S
1000  INTEGER, SAVE :: IENT = 0
1001 #endif
1002 
1003  ierr = 0
1004 #ifdef W3_S
1005  CALL strace (ient, 'READ_RECT_NML')
1006 #endif
1007 
1008  ! set default values for rect structure
1009  rect%NX = 0
1010  rect%NY = 0
1011  rect%SX = 0.
1012  rect%SY = 0.
1013  rect%SF = 1.
1014  rect%X0 = 0.
1015  rect%Y0 = 0.
1016  rect%SF0 = 1.
1017 
1018  ! read rect namelist
1019  rewind(ndsi)
1020  READ (ndsi, nml=rect_nml, iostat=ierr, iomsg=msg)
1021  IF (ierr.GT.0) THEN
1022  WRITE (ndse,'(A,/A)') &
1023  'ERROR: READ_RECT_NML: namelist read error', &
1024  'ERROR: '//trim(msg)
1025  CALL extcde (5)
1026  END IF
1027 
1028  ! save namelist
1029  nml_rect = rect
1030 
1031  END SUBROUTINE read_rect_nml
1032 
1033  !/ ------------------------------------------------------------------- /
1034 
1035 
1036 
1037  !/ ------------------------------------------------------------------- /
1038 
1039  SUBROUTINE read_curv_nml (NDSI, NML_CURV)
1040  !/
1041  !/ +-----------------------------------+
1042  !/ | WAVEWATCH III NOAA/NCEP |
1043  !/ | M. Accensi |
1044  !/ | |
1045  !/ | FORTRAN 90 |
1046  !/ | Last update : 15-May-2018 |
1047  !/ +-----------------------------------+
1048  !/
1049  ! 1. Purpose :
1050  !
1051  !
1052  ! 2. Method :
1053  !
1054  ! See source term routines.
1055  !
1056  ! 3. Parameters :
1057  !
1058  ! Parameter list
1059  ! ----------------------------------------------------------------
1060  ! NDSI Int.
1061  ! NML_CURV Type.
1062  ! ----------------------------------------------------------------
1063  !
1064  ! 4. Subroutines used :
1065  !
1066  ! Name TYPE Module Description
1067  ! ----------------------------------------------------------------
1068  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
1069  ! ----------------------------------------------------------------
1070  !
1071  ! 5. Called by :
1072  !
1073  ! Name TYPE Module Description
1074  ! ----------------------------------------------------------------
1075  ! W3NMLGRID Subr. N/A Namelist configuration routine.
1076  ! ----------------------------------------------------------------
1077  !
1078  ! 6. Error messages :
1079  !
1080  ! None.
1081  !
1082  ! 7. Remarks :
1083  !
1084  ! 8. Structure :
1085  !
1086  ! See source code.
1087  !
1088  ! 9. Switches :
1089  !
1090  ! 10. Source code :
1091  !
1092  !/ ------------------------------------------------------------------- /
1093 
1094  USE w3odatmd, ONLY: ndse
1095  USE w3servmd, ONLY: extcde
1096 #ifdef W3_S
1097  USE w3servmd, ONLY: strace
1098 #endif
1099 
1100  IMPLICIT NONE
1101 
1102  INTEGER, INTENT(IN) :: NDSI
1103  TYPE(nml_curv_t), INTENT(INOUT) :: NML_CURV
1104 
1105  ! locals
1106  INTEGER :: IERR
1107  TYPE(nml_curv_t) :: CURV
1108  namelist /curv_nml/ curv
1109 #ifdef W3_S
1110  INTEGER, SAVE :: IENT = 0
1111 #endif
1112 
1113  ierr = 0
1114 #ifdef W3_S
1115  CALL strace (ient, 'READ_CURV_NML')
1116 #endif
1117 
1118  ! set default values for curv structure
1119  curv%NX = 0
1120  curv%NY = 0
1121  !
1122  curv%XCOORD%SF = 1.
1123  curv%XCOORD%OFF = 0.
1124  curv%XCOORD%FILENAME = 'unset'
1125  curv%XCOORD%IDF = 21
1126  curv%XCOORD%IDLA = 1
1127  curv%XCOORD%IDFM = 1
1128  curv%XCOORD%FORMAT = '(....)'
1129  curv%XCOORD%FROM = 'NAME'
1130  !
1131  curv%YCOORD%SF = 1.
1132  curv%YCOORD%OFF = 0.
1133  curv%YCOORD%FILENAME = 'unset'
1134  curv%YCOORD%IDF = 22
1135  curv%YCOORD%IDLA = 1
1136  curv%YCOORD%IDFM = 1
1137  curv%YCOORD%FORMAT = '(....)'
1138  curv%YCOORD%FROM = 'NAME'
1139 
1140  ! read curv namelist
1141  rewind(ndsi)
1142  READ (ndsi, nml=curv_nml, iostat=ierr, iomsg=msg)
1143  IF (ierr.GT.0) THEN
1144  WRITE (ndse,'(A,/A)') &
1145  'ERROR: READ_CURV_NML: namelist read error', &
1146  'ERROR: '//trim(msg)
1147  CALL extcde (6)
1148  END IF
1149 
1150  ! save namelist
1151  nml_curv = curv
1152 
1153  END SUBROUTINE read_curv_nml
1154 
1155  !/ ------------------------------------------------------------------- /
1156 
1157 
1158 
1159  !/ ------------------------------------------------------------------- /
1160 
1161  SUBROUTINE read_unst_nml (NDSI, NML_UNST)
1162  !/
1163  !/ +-----------------------------------+
1164  !/ | WAVEWATCH III NOAA/NCEP |
1165  !/ | M. Accensi |
1166  !/ | |
1167  !/ | FORTRAN 90 |
1168  !/ | Last update : 15-May-2018 |
1169  !/ +-----------------------------------+
1170  !/
1171  ! 1. Purpose :
1172  !
1173  !
1174  ! 2. Method :
1175  !
1176  ! See source term routines.
1177  !
1178  ! 3. Parameters :
1179  !
1180  ! Parameter list
1181  ! ----------------------------------------------------------------
1182  ! NDSI Int.
1183  ! NML_UNST Type.
1184  ! ----------------------------------------------------------------
1185  !
1186  ! 4. Subroutines used :
1187  !
1188  ! Name TYPE Module Description
1189  ! ----------------------------------------------------------------
1190  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
1191  ! ----------------------------------------------------------------
1192  !
1193  ! 5. Called by :
1194  !
1195  ! Name TYPE Module Description
1196  ! ----------------------------------------------------------------
1197  ! W3NMLGRID Subr. N/A Namelist configuration routine.
1198  ! ----------------------------------------------------------------
1199  !
1200  ! 6. Error messages :
1201  !
1202  ! None.
1203  !
1204  ! 7. Remarks :
1205  !
1206  ! 8. Structure :
1207  !
1208  ! See source code.
1209  !
1210  ! 9. Switches :
1211  !
1212  ! 10. Source code :
1213  !
1214  !/ ------------------------------------------------------------------- /
1215 
1216  USE w3odatmd, ONLY: ndse
1217  USE w3servmd, ONLY: extcde
1218 #ifdef W3_S
1219  USE w3servmd, ONLY: strace
1220 #endif
1221 
1222  IMPLICIT NONE
1223 
1224  INTEGER, INTENT(IN) :: NDSI
1225  TYPE(nml_unst_t), INTENT(INOUT) :: NML_UNST
1226 
1227  ! locals
1228  INTEGER :: IERR
1229  TYPE(nml_unst_t) :: UNST
1230  namelist /unst_nml/ unst
1231 #ifdef W3_S
1232  INTEGER, SAVE :: IENT = 0
1233 #endif
1234 
1235  ierr = 0
1236 #ifdef W3_S
1237  CALL strace (ient, 'READ_UNST_NML')
1238 #endif
1239 
1240  ! set default values for unst structure
1241  unst%SF = 0
1242  unst%FILENAME = 'unset'
1243  unst%IDF = 20
1244  unst%IDLA = 1
1245  unst%IDFM = 1
1246  unst%FORMAT = '(....)'
1247  unst%UGOBCFILE = 'unset'
1248 
1249  ! read unst namelist
1250  rewind(ndsi)
1251  READ (ndsi, nml=unst_nml, iostat=ierr, iomsg=msg)
1252  IF (ierr.GT.0) THEN
1253  WRITE (ndse,'(A,/A)') &
1254  'ERROR: READ_UNST_NML: namelist read error', &
1255  'ERROR: '//trim(msg)
1256  CALL extcde (7)
1257  END IF
1258 
1259  ! save namelist
1260  nml_unst = unst
1261 
1262  END SUBROUTINE read_unst_nml
1263 
1264  !/ ------------------------------------------------------------------- /
1265 
1266 
1267 
1268 
1269  !/ ------------------------------------------------------------------- /
1270 
1271  SUBROUTINE read_smc_nml (NDSI, NML_SMC)
1272  !/
1273  !/ +-----------------------------------+
1274  !/ | WAVEWATCH III NOAA/NCEP |
1275  !/ | M. Accensi |
1276  !/ | |
1277  !/ | FORTRAN 90 |
1278  !/ | Last update : 15-May-2018 |
1279  !/ +-----------------------------------+
1280  !/
1281  ! 1. Purpose :
1282  !
1283  !
1284  ! 2. Method :
1285  !
1286  ! See source term routines.
1287  !
1288  ! 3. Parameters :
1289  !
1290  ! Parameter list
1291  ! ----------------------------------------------------------------
1292  ! NDSI Int.
1293  ! NML_SMC Type.
1294  ! ----------------------------------------------------------------
1295  !
1296  ! 4. Subroutines used :
1297  !
1298  ! Name TYPE Module Description
1299  ! ----------------------------------------------------------------
1300  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
1301  ! ----------------------------------------------------------------
1302  !
1303  ! 5. Called by :
1304  !
1305  ! Name TYPE Module Description
1306  ! ----------------------------------------------------------------
1307  ! W3NMLGRID Subr. N/A Namelist configuration routine.
1308  ! ----------------------------------------------------------------
1309  !
1310  ! 6. Error messages :
1311  !
1312  ! None.
1313  !
1314  ! 7. Remarks :
1315  !
1316  ! 8. Structure :
1317  !
1318  ! See source code.
1319  !
1320  ! 9. Switches :
1321  !
1322  ! 10. Source code :
1323  !
1324  !/ ------------------------------------------------------------------- /
1325 
1326  USE w3odatmd, ONLY: ndse
1327  USE w3servmd, ONLY: extcde
1328 #ifdef W3_S
1329  USE w3servmd, ONLY: strace
1330 #endif
1331 
1332  IMPLICIT NONE
1333 
1334  INTEGER, INTENT(IN) :: NDSI
1335  TYPE(nml_smc_t), INTENT(INOUT) :: NML_SMC
1336 
1337  ! locals
1338  INTEGER :: IERR
1339  TYPE(nml_smc_t) :: SMC
1340  namelist /smc_nml/ smc
1341 #ifdef W3_S
1342  INTEGER, SAVE :: IENT = 0
1343 #endif
1344 
1345  ierr = 0
1346 #ifdef W3_S
1347  CALL strace (ient, 'READ_SMC_NML')
1348 #endif
1349 
1350  ! set default values for smc structure
1351  smc%MCELS%FILENAME = 'unset'
1352  smc%MCELS%IDF = 31
1353  smc%MCELS%IDLA = 1
1354  smc%MCELS%IDFM = 1
1355  smc%MCELS%FORMAT = '(....)'
1356  !
1357  smc%ISIDE%FILENAME = 'unset'
1358  smc%ISIDE%IDF = 32
1359  smc%ISIDE%IDLA = 1
1360  smc%ISIDE%IDFM = 1
1361  smc%ISIDE%FORMAT = '(....)'
1362  !
1363  smc%JSIDE%FILENAME = 'unset'
1364  smc%JSIDE%IDF = 33
1365  smc%JSIDE%IDLA = 1
1366  smc%JSIDE%IDFM = 1
1367  smc%JSIDE%FORMAT = '(....)'
1368  !
1369  smc%SUBTR%FILENAME = 'unset'
1370  smc%SUBTR%IDF = 34
1371  smc%SUBTR%IDLA = 1
1372  smc%SUBTR%IDFM = 1
1373  smc%SUBTR%FORMAT = '(....)'
1374  !
1375  smc%BUNDY%FILENAME = 'unset'
1376  smc%BUNDY%IDF = 35
1377  smc%BUNDY%IDLA = 1
1378  smc%BUNDY%IDFM = 1
1379  smc%BUNDY%FORMAT = '(....)'
1380  !
1381  smc%MBARC%FILENAME = 'unset'
1382  smc%MBARC%IDF = 36
1383  smc%MBARC%IDLA = 1
1384  smc%MBARC%IDFM = 1
1385  smc%MBARC%FORMAT = '(....)'
1386  !
1387  smc%AISID%FILENAME = 'unset'
1388  smc%AISID%IDF = 37
1389  smc%AISID%IDLA = 1
1390  smc%AISID%IDFM = 1
1391  smc%AISID%FORMAT = '(....)'
1392  !
1393  smc%AJSID%FILENAME = 'unset'
1394  smc%AJSID%IDF = 38
1395  smc%AJSID%IDLA = 1
1396  smc%AJSID%IDFM = 1
1397  smc%AJSID%FORMAT = '(....)'
1398 
1399 
1400  ! read smc namelist
1401  rewind(ndsi)
1402  READ (ndsi, nml=smc_nml, iostat=ierr, iomsg=msg)
1403  IF (ierr.GT.0) THEN
1404  WRITE (ndse,'(A,/A)') &
1405  'ERROR: READ_SMC_NML: namelist read error', &
1406  'ERROR: '//trim(msg)
1407  CALL extcde (8)
1408  END IF
1409 
1410  ! save namelist
1411  nml_smc = smc
1412 
1413  END SUBROUTINE read_smc_nml
1414 
1415  !/ ------------------------------------------------------------------- /
1416 
1417 
1418 
1419  !/ ------------------------------------------------------------------- /
1420 
1421  SUBROUTINE read_depth_nml (NDSI, NML_DEPTH)
1422  !/
1423  !/ +-----------------------------------+
1424  !/ | WAVEWATCH III NOAA/NCEP |
1425  !/ | M. Accensi |
1426  !/ | |
1427  !/ | FORTRAN 90 |
1428  !/ | Last update : 15-May-2018 |
1429  !/ +-----------------------------------+
1430  !/
1431  ! 1. Purpose :
1432  !
1433  !
1434  ! 2. Method :
1435  !
1436  ! See source term routines.
1437  !
1438  ! 3. Parameters :
1439  !
1440  ! Parameter list
1441  ! ----------------------------------------------------------------
1442  ! NDSI Int.
1443  ! NML_DEPTH Type.
1444  ! ----------------------------------------------------------------
1445  !
1446  ! 4. Subroutines used :
1447  !
1448  ! Name TYPE Module Description
1449  ! ----------------------------------------------------------------
1450  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
1451  ! ----------------------------------------------------------------
1452  !
1453  ! 5. Called by :
1454  !
1455  ! Name TYPE Module Description
1456  ! ----------------------------------------------------------------
1457  ! W3NMLGRID Subr. N/A Namelist configuration routine.
1458  ! ----------------------------------------------------------------
1459  !
1460  ! 6. Error messages :
1461  !
1462  ! None.
1463  !
1464  ! 7. Remarks :
1465  !
1466  ! 8. Structure :
1467  !
1468  ! See source code.
1469  !
1470  ! 9. Switches :
1471  !
1472  ! 10. Source code :
1473  !
1474  !/ ------------------------------------------------------------------- /
1475 
1476  USE w3odatmd, ONLY: ndse
1477  USE w3servmd, ONLY: extcde
1478 #ifdef W3_S
1479  USE w3servmd, ONLY: strace
1480 #endif
1481 
1482  IMPLICIT NONE
1483 
1484  INTEGER, INTENT(IN) :: NDSI
1485  TYPE(nml_depth_t), INTENT(INOUT) :: NML_DEPTH
1486 
1487  ! locals
1488  INTEGER :: IERR
1489  TYPE(nml_depth_t) :: DEPTH
1490  namelist /depth_nml/ depth
1491 #ifdef W3_S
1492  INTEGER, SAVE :: IENT = 0
1493 #endif
1494 
1495  ierr = 0
1496 #ifdef W3_S
1497  CALL strace (ient, 'READ_DEPTH_NML')
1498 #endif
1499 
1500  ! set default values for depth structure
1501  depth%SF = 1.
1502  depth%FILENAME = 'unset'
1503  depth%IDF = 50
1504  depth%IDLA = 1
1505  depth%IDFM = 1
1506  depth%FORMAT = '(....)'
1507  depth%FROM = 'NAME'
1508 
1509  ! read depth namelist
1510  rewind(ndsi)
1511  READ (ndsi, nml=depth_nml, iostat=ierr, iomsg=msg)
1512  IF (ierr.GT.0) THEN
1513  WRITE (ndse,'(A,/A)') &
1514  'ERROR: READ_DEPTH_NML: namelist read error', &
1515  'ERROR: '//trim(msg)
1516  CALL extcde (9)
1517  END IF
1518 
1519  ! save namelist
1520  nml_depth = depth
1521 
1522  END SUBROUTINE read_depth_nml
1523 
1524  !/ ------------------------------------------------------------------- /
1525 
1526 
1527 
1528  !/ ------------------------------------------------------------------- /
1529 
1530  SUBROUTINE read_mask_nml (NDSI, NML_MASK)
1531  !/
1532  !/ +-----------------------------------+
1533  !/ | WAVEWATCH III NOAA/NCEP |
1534  !/ | M. Accensi |
1535  !/ | |
1536  !/ | FORTRAN 90 |
1537  !/ | Last update : 15-May-2018 |
1538  !/ +-----------------------------------+
1539  !/
1540  ! 1. Purpose :
1541  !
1542  !
1543  ! 2. Method :
1544  !
1545  ! See source term routines.
1546  !
1547  ! 3. Parameters :
1548  !
1549  ! Parameter list
1550  ! ----------------------------------------------------------------
1551  ! NDSI Int.
1552  ! NML_MASK Type.
1553  ! ----------------------------------------------------------------
1554  !
1555  ! 4. Subroutines used :
1556  !
1557  ! Name TYPE Module Description
1558  ! ----------------------------------------------------------------
1559  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
1560  ! ----------------------------------------------------------------
1561  !
1562  ! 5. Called by :
1563  !
1564  ! Name TYPE Module Description
1565  ! ----------------------------------------------------------------
1566  ! W3NMLGRID Subr. N/A Namelist configuration routine.
1567  ! ----------------------------------------------------------------
1568  !
1569  ! 6. Error messages :
1570  !
1571  ! None.
1572  !
1573  ! 7. Remarks :
1574  !
1575  ! 8. Structure :
1576  !
1577  ! See source code.
1578  !
1579  ! 9. Switches :
1580  !
1581  ! 10. Source code :
1582  !
1583  !/ ------------------------------------------------------------------- /
1584 
1585  USE w3odatmd, ONLY: ndse
1586  USE w3servmd, ONLY: extcde
1587 #ifdef W3_S
1588  USE w3servmd, ONLY: strace
1589 #endif
1590 
1591  IMPLICIT NONE
1592 
1593  INTEGER, INTENT(IN) :: NDSI
1594  TYPE(nml_mask_t), INTENT(INOUT) :: NML_MASK
1595 
1596  ! locals
1597  INTEGER :: IERR
1598  TYPE(nml_mask_t) :: MASK
1599  namelist /mask_nml/ mask
1600 #ifdef W3_S
1601  INTEGER, SAVE :: IENT = 0
1602 #endif
1603 
1604  ierr = 0
1605 #ifdef W3_S
1606  CALL strace (ient, 'READ_MASK_NML')
1607 #endif
1608 
1609  ! set default values for mask structure
1610  mask%SF = 1.
1611  mask%FILENAME = 'unset'
1612  mask%IDF = 60
1613  mask%IDLA = 1
1614  mask%IDFM = 1
1615  mask%FORMAT = '(....)'
1616  mask%FROM = 'NAME'
1617 
1618  ! read mask namelist
1619  rewind(ndsi)
1620  READ (ndsi, nml=mask_nml, iostat=ierr, iomsg=msg)
1621  IF (ierr.GT.0) THEN
1622  WRITE (ndse,'(A,/A)') &
1623  'ERROR: READ_MASK_NML: namelist read error', &
1624  'ERROR: '//trim(msg)
1625  CALL extcde (10)
1626  END IF
1627 
1628  ! save namelist
1629  nml_mask = mask
1630 
1631  END SUBROUTINE read_mask_nml
1632 
1633  !/ ------------------------------------------------------------------- /
1634 
1635 
1636 
1637 
1638  !/ ------------------------------------------------------------------- /
1639 
1640  SUBROUTINE read_obst_nml (NDSI, NML_OBST)
1641  !/
1642  !/ +-----------------------------------+
1643  !/ | WAVEWATCH III NOAA/NCEP |
1644  !/ | M. Accensi |
1645  !/ | |
1646  !/ | FORTRAN 90 |
1647  !/ | Last update : 15-May-2018 |
1648  !/ +-----------------------------------+
1649  !/
1650  ! 1. Purpose :
1651  !
1652  !
1653  ! 2. Method :
1654  !
1655  ! See source term routines.
1656  !
1657  ! 3. Parameters :
1658  !
1659  ! Parameter list
1660  ! ----------------------------------------------------------------
1661  ! NDSI Int.
1662  ! NML_OBST Type.
1663  ! ----------------------------------------------------------------
1664  !
1665  ! 4. Subroutines used :
1666  !
1667  ! Name TYPE Module Description
1668  ! ----------------------------------------------------------------
1669  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
1670  ! ----------------------------------------------------------------
1671  !
1672  ! 5. Called by :
1673  !
1674  ! Name TYPE Module Description
1675  ! ----------------------------------------------------------------
1676  ! W3NMLGRID Subr. N/A Namelist configuration routine.
1677  ! ----------------------------------------------------------------
1678  !
1679  ! 6. Error messages :
1680  !
1681  ! None.
1682  !
1683  ! 7. Remarks :
1684  !
1685  ! 8. Structure :
1686  !
1687  ! See source code.
1688  !
1689  ! 9. Switches :
1690  !
1691  ! 10. Source code :
1692  !
1693  !/ ------------------------------------------------------------------- /
1694 
1695  USE w3odatmd, ONLY: ndse
1696  USE w3servmd, ONLY: extcde
1697 #ifdef W3_S
1698  USE w3servmd, ONLY: strace
1699 #endif
1700 
1701  IMPLICIT NONE
1702 
1703  INTEGER, INTENT(IN) :: NDSI
1704  TYPE(nml_obst_t), INTENT(INOUT) :: NML_OBST
1705 
1706  ! locals
1707  INTEGER :: IERR
1708  TYPE(nml_obst_t) :: OBST
1709  namelist /obst_nml/ obst
1710 #ifdef W3_S
1711  INTEGER, SAVE :: IENT = 0
1712 #endif
1713 
1714  ierr = 0
1715 #ifdef W3_S
1716  CALL strace (ient, 'READ_OBST_NML')
1717 #endif
1718 
1719  ! set default values for obst structure
1720  obst%SF = 1.
1721  obst%FILENAME = 'unset'
1722  obst%IDF = 70
1723  obst%IDLA = 1
1724  obst%IDFM = 1
1725  obst%FORMAT = '(....)'
1726  obst%FROM = 'NAME'
1727 
1728  ! read obst namelist
1729  rewind(ndsi)
1730  READ (ndsi, nml=obst_nml, iostat=ierr, iomsg=msg)
1731  IF (ierr.GT.0) THEN
1732  WRITE (ndse,'(A,/A)') &
1733  'ERROR: READ_OBST_NML: namelist read error', &
1734  'ERROR: '//trim(msg)
1735  CALL extcde (11)
1736  END IF
1737 
1738  ! save namelist
1739  nml_obst = obst
1740 
1741  END SUBROUTINE read_obst_nml
1742 
1743  !/ ------------------------------------------------------------------- /
1744 
1745 
1746 
1747 
1748  !/ ------------------------------------------------------------------- /
1749 
1750  SUBROUTINE read_slope_nml (NDSI, NML_SLOPE)
1751  !/
1752  !/ +-----------------------------------+
1753  !/ | WAVEWATCH III NOAA/NCEP |
1754  !/ | M. Accensi |
1755  !/ | |
1756  !/ | FORTRAN 90 |
1757  !/ | Last update : 15-May-2018 |
1758  !/ +-----------------------------------+
1759  !/
1760  ! 1. Purpose :
1761  !
1762  !
1763  ! 2. Method :
1764  !
1765  ! See source term routines.
1766  !
1767  ! 3. Parameters :
1768  !
1769  ! Parameter list
1770  ! ----------------------------------------------------------------
1771  ! NDSI Int.
1772  ! NML_SLOPE Type.
1773  ! ----------------------------------------------------------------
1774  !
1775  ! 4. Subroutines used :
1776  !
1777  ! Name TYPE Module Description
1778  ! ----------------------------------------------------------------
1779  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
1780  ! ----------------------------------------------------------------
1781  !
1782  ! 5. Called by :
1783  !
1784  ! Name TYPE Module Description
1785  ! ----------------------------------------------------------------
1786  ! W3NMLGRID Subr. N/A Namelist configuration routine.
1787  ! ----------------------------------------------------------------
1788  !
1789  ! 6. Error messages :
1790  !
1791  ! None.
1792  !
1793  ! 7. Remarks :
1794  !
1795  ! 8. Structure :
1796  !
1797  ! See source code.
1798  !
1799  ! 9. Switches :
1800  !
1801  ! 10. Source code :
1802  !
1803  !/ ------------------------------------------------------------------- /
1804 
1805  USE w3odatmd, ONLY: ndse
1806  USE w3servmd, ONLY: extcde
1807 #ifdef W3_S
1808  USE w3servmd, ONLY: strace
1809 #endif
1810 
1811  IMPLICIT NONE
1812 
1813  INTEGER, INTENT(IN) :: NDSI
1814  TYPE(nml_slope_t), INTENT(INOUT) :: NML_SLOPE
1815 
1816  ! locals
1817  INTEGER :: IERR
1818  TYPE(nml_slope_t) :: SLOPE
1819  namelist /slope_nml/ slope
1820 #ifdef W3_S
1821  INTEGER, SAVE :: IENT = 0
1822 #endif
1823 
1824  ierr = 0
1825 #ifdef W3_S
1826  CALL strace (ient, 'READ_SLOPE_NML')
1827 #endif
1828 
1829  ! set default values for slope structure
1830  slope%SF = 1.
1831  slope%FILENAME = 'unset'
1832  slope%IDF = 80
1833  slope%IDLA = 1
1834  slope%IDFM = 1
1835  slope%FORMAT = '(....)'
1836  slope%FROM = 'NAME'
1837 
1838  ! read slope namelist
1839  rewind(ndsi)
1840  READ (ndsi, nml=slope_nml, iostat=ierr, iomsg=msg)
1841  IF (ierr.GT.0) THEN
1842  WRITE (ndse,'(A,/A)') &
1843  'ERROR: READ_SLOPE_NML: namelist read error', &
1844  'ERROR: '//trim(msg)
1845  CALL extcde (12)
1846  END IF
1847 
1848  ! save namelist
1849  nml_slope = slope
1850 
1851  END SUBROUTINE read_slope_nml
1852 
1853  !/ ------------------------------------------------------------------- /
1854 
1855 
1856 
1857 
1858 
1859  !/ ------------------------------------------------------------------- /
1860 
1861  SUBROUTINE read_sed_nml (NDSI, NML_SED)
1862  !/
1863  !/ +-----------------------------------+
1864  !/ | WAVEWATCH III NOAA/NCEP |
1865  !/ | M. Accensi |
1866  !/ | |
1867  !/ | FORTRAN 90 |
1868  !/ | Last update : 15-May-2018 |
1869  !/ +-----------------------------------+
1870  !/
1871  ! 1. Purpose :
1872  !
1873  !
1874  ! 2. Method :
1875  !
1876  ! See source term routines.
1877  !
1878  ! 3. Parameters :
1879  !
1880  ! Parameter list
1881  ! ----------------------------------------------------------------
1882  ! NDSI Int.
1883  ! NML_SED Type.
1884  ! ----------------------------------------------------------------
1885  !
1886  ! 4. Subroutines used :
1887  !
1888  ! Name TYPE Module Description
1889  ! ----------------------------------------------------------------
1890  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
1891  ! ----------------------------------------------------------------
1892  !
1893  ! 5. Called by :
1894  !
1895  ! Name TYPE Module Description
1896  ! ----------------------------------------------------------------
1897  ! W3NMLGRID Subr. N/A Namelist configuration routine.
1898  ! ----------------------------------------------------------------
1899  !
1900  ! 6. Error messages :
1901  !
1902  ! None.
1903  !
1904  ! 7. Remarks :
1905  !
1906  ! 8. Structure :
1907  !
1908  ! See source code.
1909  !
1910  ! 9. Switches :
1911  !
1912  ! 10. Source code :
1913  !
1914  !/ ------------------------------------------------------------------- /
1915 
1916  USE w3odatmd, ONLY: ndse
1917  USE w3servmd, ONLY: extcde
1918 #ifdef W3_S
1919  USE w3servmd, ONLY: strace
1920 #endif
1921 
1922  IMPLICIT NONE
1923 
1924  INTEGER, INTENT(IN) :: NDSI
1925  TYPE(nml_sed_t), INTENT(INOUT) :: NML_SED
1926 
1927  ! locals
1928  INTEGER :: IERR
1929  TYPE(nml_sed_t) :: SED
1930  namelist /sed_nml/ sed
1931 #ifdef W3_S
1932  INTEGER, SAVE :: IENT = 0
1933 #endif
1934 
1935  ierr = 0
1936 #ifdef W3_S
1937  CALL strace (ient, 'READ_SED_NML')
1938 #endif
1939 
1940  ! set default values for sed structure
1941  sed%SF = 1.
1942  sed%FILENAME = 'unset'
1943  sed%IDF = 90
1944  sed%IDLA = 1
1945  sed%IDFM = 1
1946  sed%FORMAT = '(....)'
1947  sed%FROM = 'NAME'
1948 
1949  ! read sed namelist
1950  rewind(ndsi)
1951  READ (ndsi, nml=sed_nml, iostat=ierr, iomsg=msg)
1952  IF (ierr.GT.0) THEN
1953  WRITE (ndse,'(A,/A)') &
1954  'ERROR: READ_SED_NML: namelist read error', &
1955  'ERROR: '//trim(msg)
1956  CALL extcde (13)
1957  END IF
1958 
1959  ! save namelist
1960  nml_sed = sed
1961 
1962  END SUBROUTINE read_sed_nml
1963 
1964  !/ ------------------------------------------------------------------- /
1965 
1966 
1967 
1968 
1969 
1970  !/ ------------------------------------------------------------------- /
1971 
1972  SUBROUTINE read_inbound_nml (NDSI, NML_INBND_COUNT, NML_INBND_POINT)
1973  !/
1974  !/ +-----------------------------------+
1975  !/ | WAVEWATCH III NOAA/NCEP |
1976  !/ | M. Accensi |
1977  !/ | |
1978  !/ | FORTRAN 90 |
1979  !/ | Last update : 15-May-2018 |
1980  !/ +-----------------------------------+
1981  !/
1982  ! 1. Purpose :
1983  !
1984  !
1985  ! 2. Method :
1986  !
1987  ! See source term routines.
1988  !
1989  ! 3. Parameters :
1990  !
1991  ! Parameter list
1992  ! ----------------------------------------------------------------
1993  ! NDSI Int.
1994  ! NML_INBND_COUNT Type.
1995  ! NML_INBND_POINT Type.
1996  ! ----------------------------------------------------------------
1997  !
1998  ! 4. Subroutines used :
1999  !
2000  ! Name TYPE Module Description
2001  ! ----------------------------------------------------------------
2002  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
2003  ! ----------------------------------------------------------------
2004  !
2005  ! 5. Called by :
2006  !
2007  ! Name TYPE Module Description
2008  ! ----------------------------------------------------------------
2009  ! W3NMLGRID Subr. N/A Namelist configuration routine.
2010  ! ----------------------------------------------------------------
2011  !
2012  ! 6. Error messages :
2013  !
2014  ! None.
2015  !
2016  ! 7. Remarks :
2017  !
2018  ! 8. Structure :
2019  !
2020  ! See source code.
2021  !
2022  ! 9. Switches :
2023  !
2024  ! 10. Source code :
2025  !
2026  !/ ------------------------------------------------------------------- /
2027 
2028  USE w3odatmd, ONLY: ndse
2029  USE w3servmd, ONLY: extcde
2030 #ifdef W3_S
2031  USE w3servmd, ONLY: strace
2032 #endif
2033 
2034  IMPLICIT NONE
2035 
2036  INTEGER, INTENT(IN) :: NDSI
2037  TYPE(nml_inbnd_count_t), INTENT(INOUT) :: NML_INBND_COUNT
2038  TYPE(nml_inbnd_point_t), ALLOCATABLE, INTENT(INOUT) :: NML_INBND_POINT(:)
2039 
2040  ! locals
2041  INTEGER :: IERR, I
2042  TYPE(nml_inbnd_count_t) :: INBND_COUNT
2043  namelist /inbnd_count_nml/ inbnd_count
2044  TYPE(nml_inbnd_point_t), ALLOCATABLE :: INBND_POINT(:)
2045  namelist /inbnd_point_nml/ inbnd_point
2046 #ifdef W3_S
2047  INTEGER, SAVE :: IENT = 0
2048 #endif
2049 
2050  ierr = 0
2051 #ifdef W3_S
2052  CALL strace (ient, 'READ_INBOUND_NML')
2053 #endif
2054 
2055  ! set default values for inbnd count structure
2056  inbnd_count%N_POINT = 0
2057 
2058  ! read inbnd count namelist
2059  rewind(ndsi)
2060  READ (ndsi, nml=inbnd_count_nml, iostat=ierr, iomsg=msg)
2061  IF (ierr.GT.0) THEN
2062  WRITE (ndse,'(A,/A)') &
2063  'ERROR: READ_INBND_COUNT_NML: namelist read error', &
2064  'ERROR: '//trim(msg)
2065  CALL extcde (14)
2066  END IF
2067 
2068  ! allocate the total count of inbound points
2069  ALLOCATE(inbnd_point(inbnd_count%N_POINT))
2070  ALLOCATE(nml_inbnd_point(inbnd_count%N_POINT))
2071 
2072  ! set default values for inbnd point structure
2073  IF (inbnd_count%N_POINT .NE. 0 ) THEN
2074  DO i=1,inbnd_count%N_POINT
2075  inbnd_point(i)%X_INDEX = 0
2076  inbnd_point(i)%Y_INDEX = 0
2077  inbnd_point(i)%CONNECT = .false.
2078  END DO
2079  END IF
2080 
2081  ! read inbnd point namelist
2082  rewind(ndsi)
2083  READ (ndsi, nml=inbnd_point_nml, iostat=ierr, iomsg=msg)
2084  IF (ierr.GT.0) THEN
2085  WRITE (ndse,'(A,/A)') &
2086  'ERROR: READ_INBND_POINT_NML: namelist read error', &
2087  'ERROR: '//trim(msg)
2088  CALL extcde (15)
2089  END IF
2090 
2091  ! save namelist
2092  nml_inbnd_count = inbnd_count
2093  nml_inbnd_point = inbnd_point
2094 
2095  END SUBROUTINE read_inbound_nml
2096 
2097  !/ ------------------------------------------------------------------- /
2098 
2099 
2100 
2101 
2102  !/ ------------------------------------------------------------------- /
2103 
2104  SUBROUTINE read_excluded_nml (NDSI, NML_EXCL_COUNT, NML_EXCL_POINT, &
2105  NML_EXCL_BODY)
2106  !/
2107  !/ +-----------------------------------+
2108  !/ | WAVEWATCH III NOAA/NCEP |
2109  !/ | M. Accensi |
2110  !/ | |
2111  !/ | FORTRAN 90 |
2112  !/ | Last update : 15-May-2018 |
2113  !/ +-----------------------------------+
2114  !/
2115  ! 1. Purpose :
2116  !
2117  !
2118  ! 2. Method :
2119  !
2120  ! See source term routines.
2121  !
2122  ! 3. Parameters :
2123  !
2124  ! Parameter list
2125  ! ----------------------------------------------------------------
2126  ! NDSI Int.
2127  ! NML_EXCL_COUNT Type.
2128  ! NML_EXCL_POINT Type.
2129  ! NML_EXCL_BODY Type.
2130  ! ----------------------------------------------------------------
2131  !
2132  ! 4. Subroutines used :
2133  !
2134  ! Name TYPE Module Description
2135  ! ----------------------------------------------------------------
2136  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
2137  ! ----------------------------------------------------------------
2138  !
2139  ! 5. Called by :
2140  !
2141  ! Name TYPE Module Description
2142  ! ----------------------------------------------------------------
2143  ! W3NMLGRID Subr. N/A Namelist configuration routine.
2144  ! ----------------------------------------------------------------
2145  !
2146  ! 6. Error messages :
2147  !
2148  ! None.
2149  !
2150  ! 7. Remarks :
2151  !
2152  ! 8. Structure :
2153  !
2154  ! See source code.
2155  !
2156  ! 9. Switches :
2157  !
2158  ! 10. Source code :
2159  !
2160  !/ ------------------------------------------------------------------- /
2161 
2162  USE w3odatmd, ONLY: ndse
2163  USE w3servmd, ONLY: extcde
2164 #ifdef W3_S
2165  USE w3servmd, ONLY: strace
2166 #endif
2167 
2168  IMPLICIT NONE
2169 
2170  INTEGER, INTENT(IN) :: NDSI
2171  TYPE(nml_excl_count_t), INTENT(INOUT) :: NML_EXCL_COUNT
2172  TYPE(nml_excl_point_t), ALLOCATABLE, INTENT(INOUT) :: NML_EXCL_POINT(:)
2173  TYPE(nml_excl_body_t), ALLOCATABLE, INTENT(INOUT) :: NML_EXCL_BODY(:)
2174 
2175  ! locals
2176  INTEGER :: IERR, J, K
2177  TYPE(nml_excl_count_t) :: EXCL_COUNT
2178  namelist /excl_count_nml/ excl_count
2179  TYPE(nml_excl_point_t), ALLOCATABLE :: EXCL_POINT(:)
2180  namelist /excl_point_nml/ excl_point
2181  TYPE(nml_excl_body_t), ALLOCATABLE :: EXCL_BODY(:)
2182  namelist /excl_body_nml/ excl_body
2183 #ifdef W3_S
2184  INTEGER, SAVE :: IENT = 0
2185 #endif
2186 
2187  ierr = 0
2188 #ifdef W3_S
2189  CALL strace (ient, 'READ_EXCLUDED_NML')
2190 #endif
2191 
2192  ! set default values for excl count structure
2193  excl_count%N_POINT = 0
2194  excl_count%N_BODY = 0
2195 
2196  ! read excl count namelist
2197  rewind(ndsi)
2198  READ (ndsi, nml=excl_count_nml, iostat=ierr, iomsg=msg)
2199  IF (ierr.GT.0) THEN
2200  WRITE (ndse,'(A,/A)') &
2201  'ERROR: READ_EXCL_COUNT_NML: namelist read error', &
2202  'ERROR: '//trim(msg)
2203  CALL extcde (16)
2204  END IF
2205 
2206  ! allocate the total count of excluded points
2207  ALLOCATE(excl_point(excl_count%N_POINT))
2208  ALLOCATE(nml_excl_point(excl_count%N_POINT))
2209 
2210  ! set default values for excl point structure
2211  IF (excl_count%N_POINT .NE. 0 ) THEN
2212  DO j=1,excl_count%N_POINT
2213  excl_point(j)%X_INDEX = 0
2214  excl_point(j)%Y_INDEX = 0
2215  excl_point(j)%CONNECT = .false.
2216  END DO
2217  END IF
2218 
2219  ! read excl point namelist
2220  rewind(ndsi)
2221  READ (ndsi, nml=excl_point_nml, iostat=ierr, iomsg=msg)
2222  IF (ierr.GT.0) THEN
2223  WRITE (ndse,'(A,/A)') &
2224  'ERROR: READ_EXCL_POINT_NML: namelist read error', &
2225  'ERROR: '//trim(msg)
2226  CALL extcde (17)
2227  END IF
2228 
2229  ! allocate the total count of excluded bodies
2230  ALLOCATE(excl_body(excl_count%N_BODY))
2231  ALLOCATE(nml_excl_body(excl_count%N_BODY))
2232 
2233  ! set default values for excl body structure
2234  IF (excl_count%N_BODY .NE. 0 ) THEN
2235  DO k=1,excl_count%N_BODY
2236  excl_body(k)%X_INDEX = 0
2237  excl_body(k)%Y_INDEX = 0
2238  END DO
2239  END IF
2240 
2241  ! read excl body namelist
2242  rewind(ndsi)
2243  READ (ndsi, nml=excl_point_nml, iostat=ierr, iomsg=msg)
2244  IF (ierr.GT.0) THEN
2245  WRITE (ndse,'(A,/A)') &
2246  'ERROR: READ_EXCL_POINT_NML: namelist read error', &
2247  'ERROR: '//trim(msg)
2248  CALL extcde (18)
2249  END IF
2250 
2251  ! save namelist
2252  nml_excl_count = excl_count
2253  nml_excl_point = excl_point
2254  nml_excl_body = excl_body
2255 
2256  END SUBROUTINE read_excluded_nml
2257 
2258  !/ ------------------------------------------------------------------- /
2259 
2260 
2261 
2262 
2263  !/ ------------------------------------------------------------------- /
2264 
2265  SUBROUTINE read_outbound_nml (NDSI, NML_OUTBND_COUNT, NML_OUTBND_LINE)
2266  !/
2267  !/ +-----------------------------------+
2268  !/ | WAVEWATCH III NOAA/NCEP |
2269  !/ | M. Accensi |
2270  !/ | |
2271  !/ | FORTRAN 90 |
2272  !/ | Last update : 15-May-2018 |
2273  !/ +-----------------------------------+
2274  !/
2275  ! 1. Purpose :
2276  !
2277  !
2278  ! 2. Method :
2279  !
2280  ! See source term routines.
2281  !
2282  ! 3. Parameters :
2283  !
2284  ! Parameter list
2285  ! ----------------------------------------------------------------
2286  ! NDSI Int.
2287  ! NML_OUTBND_COUNT Type.
2288  ! NML_OUTBND_LINE Type.
2289  ! ----------------------------------------------------------------
2290  !
2291  ! 4. Subroutines used :
2292  !
2293  ! Name TYPE Module Description
2294  ! ----------------------------------------------------------------
2295  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
2296  ! ----------------------------------------------------------------
2297  !
2298  ! 5. Called by :
2299  !
2300  ! Name TYPE Module Description
2301  ! ----------------------------------------------------------------
2302  ! W3NMLGRID Subr. N/A Namelist configuration routine.
2303  ! ----------------------------------------------------------------
2304  !
2305  ! 6. Error messages :
2306  !
2307  ! None.
2308  !
2309  ! 7. Remarks :
2310  !
2311  ! 8. Structure :
2312  !
2313  ! See source code.
2314  !
2315  ! 9. Switches :
2316  !
2317  ! 10. Source code :
2318  !
2319  !/ ------------------------------------------------------------------- /
2320 
2321  USE w3odatmd, ONLY: ndse
2322  USE w3servmd, ONLY: extcde
2323 #ifdef W3_S
2324  USE w3servmd, ONLY: strace
2325 #endif
2326 
2327  IMPLICIT NONE
2328 
2329  INTEGER, INTENT(IN) :: NDSI
2330  TYPE(nml_outbnd_count_t), INTENT(INOUT) :: NML_OUTBND_COUNT
2331  TYPE(nml_outbnd_line_t), ALLOCATABLE, INTENT(INOUT) :: NML_OUTBND_LINE(:)
2332 
2333  ! locals
2334  INTEGER :: IERR, I
2335  TYPE(nml_outbnd_count_t) :: OUTBND_COUNT
2336  namelist /outbnd_count_nml/ outbnd_count
2337  TYPE(nml_outbnd_line_t), ALLOCATABLE :: OUTBND_LINE(:)
2338  namelist /outbnd_line_nml/ outbnd_line
2339 
2340 #ifdef W3_S
2341  INTEGER, SAVE :: IENT = 0
2342 #endif
2343 
2344  ierr = 0
2345 #ifdef W3_S
2346  CALL strace (ient, 'READ_OUTBOUND_NML')
2347 #endif
2348 
2349  ! set default values for outbnd count structure
2350  outbnd_count%N_LINE = 0
2351 
2352  ! read outbnd count namelist
2353  rewind(ndsi)
2354  READ (ndsi, nml=outbnd_count_nml, iostat=ierr, iomsg=msg)
2355  IF (ierr.GT.0) THEN
2356  WRITE (ndse,'(A,/A)') &
2357  'ERROR: READ_OUTBND_COUNT_NML: namelist read error', &
2358  'ERROR: '//trim(msg)
2359  CALL extcde (19)
2360  END IF
2361 
2362  ! allocate the total count of outbound lines
2363  ALLOCATE(outbnd_line(outbnd_count%N_LINE))
2364  ALLOCATE(nml_outbnd_line(outbnd_count%N_LINE))
2365 
2366  ! set default values for outbnd line structure
2367  IF (outbnd_count%N_LINE .NE. 0 ) THEN
2368  DO i=1,outbnd_count%N_LINE
2369  outbnd_line(i)%X0 = 0.
2370  outbnd_line(i)%Y0 = 0.
2371  outbnd_line(i)%DX = 0.
2372  outbnd_line(i)%DY = 0.
2373  outbnd_line(i)%NP = 0
2374  END DO
2375  END IF
2376 
2377  ! read outbnd line namelist
2378  rewind(ndsi)
2379  READ (ndsi, nml=outbnd_line_nml, iostat=ierr, iomsg=msg)
2380  IF (ierr.GT.0) THEN
2381  WRITE (ndse,'(A,/A)') &
2382  'ERROR: READ_OUTBND_LINE_NML: namelist read error', &
2383  'ERROR: '//trim(msg)
2384  CALL extcde (20)
2385  END IF
2386 
2387  ! save namelist
2388  nml_outbnd_count = outbnd_count
2389  nml_outbnd_line = outbnd_line
2390 
2391  END SUBROUTINE read_outbound_nml
2392 
2393  !/ ------------------------------------------------------------------- /
2394 
2395 
2396 
2397 
2398 
2399  !/ ------------------------------------------------------------------- /
2400 
2401  SUBROUTINE report_spectrum_nml (NML_SPECTRUM)
2402  !/
2403  !/ +-----------------------------------+
2404  !/ | WAVEWATCH III NOAA/NCEP |
2405  !/ | M. Accensi |
2406  !/ | FORTRAN 90 |
2407  !/ | Last update : 15-May-2018 |
2408  !/ +-----------------------------------+
2409  !/
2410  !/
2411  ! 1. Purpose :
2412  !
2413  !
2414  ! 2. Method :
2415  !
2416  ! See source term routines.
2417  !
2418  ! 3. Parameters :
2419  !
2420  ! Parameter list
2421  ! ----------------------------------------------------------------
2422  ! NML_SPECTRUM Type.
2423  ! ----------------------------------------------------------------
2424  !
2425  ! 4. Subroutines used :
2426  !
2427  ! Name TYPE Module Description
2428  ! ----------------------------------------------------------------
2429  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
2430  ! ----------------------------------------------------------------
2431  !
2432  ! 5. Called by :
2433  !
2434  ! Name TYPE Module Description
2435  ! ----------------------------------------------------------------
2436  ! W3NMLGRID Subr. N/A Namelist configuration routine.
2437  ! ----------------------------------------------------------------
2438  !
2439  ! 6. Error messages :
2440  !
2441  ! None.
2442  !
2443  ! 7. Remarks :
2444  !
2445  ! 8. Structure :
2446  !
2447  ! See source code.
2448  !
2449  ! 9. Switches :
2450  !
2451  ! 10. Source code :
2452  !
2453  !/ ------------------------------------------------------------------- /
2454 
2455 #ifdef W3_S
2456  USE w3servmd, ONLY: strace
2457 #endif
2458 
2459  IMPLICIT NONE
2460 
2461  TYPE(nml_spectrum_t), INTENT(IN) :: NML_SPECTRUM
2462 #ifdef W3_S
2463  INTEGER, SAVE :: IENT = 0
2464 #endif
2465 
2466 #ifdef W3_S
2467  CALL strace (ient, 'REPORT_SPECTRUM_NML')
2468 #endif
2469 
2470  WRITE (msg,'(A)') 'SPECTRUM % '
2471  WRITE (ndsn,'(A)')
2472  WRITE (ndsn,14) trim(msg),'XFR = ', nml_spectrum%XFR
2473  WRITE (ndsn,14) trim(msg),'FREQ1 = ', nml_spectrum%FREQ1
2474  WRITE (ndsn,11) trim(msg),'NK = ', nml_spectrum%NK
2475  WRITE (ndsn,11) trim(msg),'NTH = ', nml_spectrum%NTH
2476  WRITE (ndsn,14) trim(msg),'THOFF = ', nml_spectrum%THOFF
2477 
2478 10 FORMAT (a,2x,a,a)
2479 11 FORMAT (a,2x,a,i8)
2480 13 FORMAT (a,2x,a,l1)
2481 14 FORMAT (a,2x,a,f8.2)
2482 
2483  END SUBROUTINE report_spectrum_nml
2484 
2485  !/ ------------------------------------------------------------------- /
2486 
2487 
2488 
2489  !/ ------------------------------------------------------------------- /
2490 
2491  SUBROUTINE report_run_nml (NML_RUN)
2492  !/
2493  !/ +-----------------------------------+
2494  !/ | WAVEWATCH III NOAA/NCEP |
2495  !/ | M. Accensi |
2496  !/ | FORTRAN 90 |
2497  !/ | Last update : 15-May-2018 |
2498  !/ +-----------------------------------+
2499  !/
2500  !/
2501  ! 1. Purpose :
2502  !
2503  !
2504  ! 2. Method :
2505  !
2506  ! See source term routines.
2507  !
2508  ! 3. Parameters :
2509  !
2510  ! Parameter list
2511  ! ----------------------------------------------------------------
2512  ! NML_RUN Type.
2513  ! ----------------------------------------------------------------
2514  !
2515  ! 4. Subroutines used :
2516  !
2517  ! Name TYPE Module Description
2518  ! ----------------------------------------------------------------
2519  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
2520  ! ----------------------------------------------------------------
2521  !
2522  ! 5. Called by :
2523  !
2524  ! Name TYPE Module Description
2525  ! ----------------------------------------------------------------
2526  ! W3NMLGRID Subr. N/A Namelist configuration routine.
2527  ! ----------------------------------------------------------------
2528  !
2529  ! 6. Error messages :
2530  !
2531  ! None.
2532  !
2533  ! 7. Remarks :
2534  !
2535  ! 8. Structure :
2536  !
2537  ! See source code.
2538  !
2539  ! 9. Switches :
2540  !
2541  ! 10. Source code :
2542  !
2543  !/ ------------------------------------------------------------------- /
2544 
2545 #ifdef W3_S
2546  USE w3servmd, ONLY: strace
2547 #endif
2548 
2549  IMPLICIT NONE
2550 
2551  TYPE(nml_run_t), INTENT(IN) :: NML_RUN
2552 #ifdef W3_S
2553  INTEGER, SAVE :: IENT = 0
2554 #endif
2555 
2556 #ifdef W3_S
2557  CALL strace (ient, 'REPORT_RUN_NML')
2558 #endif
2559 
2560  WRITE (msg,'(A)') 'RUN % '
2561  WRITE (ndsn,'(A)')
2562  WRITE (ndsn,13) trim(msg),'FLDRY = ', nml_run%FLDRY
2563  WRITE (ndsn,13) trim(msg),'FLCX = ', nml_run%FLCX
2564  WRITE (ndsn,13) trim(msg),'FLCY = ', nml_run%FLCY
2565  WRITE (ndsn,13) trim(msg),'FLCTH = ', nml_run%FLCTH
2566  WRITE (ndsn,13) trim(msg),'FLCK = ', nml_run%FLCK
2567  WRITE (ndsn,13) trim(msg),'FLSOU = ', nml_run%FLSOU
2568 
2569 
2570 10 FORMAT (a,2x,a,a)
2571 11 FORMAT (a,2x,a,i8)
2572 13 FORMAT (a,2x,a,l1)
2573 14 FORMAT (a,2x,a,f8.2)
2574 
2575  END SUBROUTINE report_run_nml
2576 
2577  !/ ------------------------------------------------------------------- /
2578 
2579 
2580  !/ ------------------------------------------------------------------- /
2581 
2582  SUBROUTINE report_timesteps_nml (NML_TIMESTEPS)
2583  !/
2584  !/ +-----------------------------------+
2585  !/ | WAVEWATCH III NOAA/NCEP |
2586  !/ | M. Accensi |
2587  !/ | FORTRAN 90 |
2588  !/ | Last update : 15-May-2018 |
2589  !/ +-----------------------------------+
2590  !/
2591  !/
2592  ! 1. Purpose :
2593  !
2594  !
2595  ! 2. Method :
2596  !
2597  ! See source term routines.
2598  !
2599  ! 3. Parameters :
2600  !
2601  ! Parameter list
2602  ! ----------------------------------------------------------------
2603  ! NML_TIMESTEPS Type.
2604  ! ----------------------------------------------------------------
2605  !
2606  ! 4. Subroutines used :
2607  !
2608  ! Name TYPE Module Description
2609  ! ----------------------------------------------------------------
2610  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
2611  ! ----------------------------------------------------------------
2612  !
2613  ! 5. Called by :
2614  !
2615  ! Name TYPE Module Description
2616  ! ----------------------------------------------------------------
2617  ! W3NMLGRID Subr. N/A Namelist configuration routine.
2618  ! ----------------------------------------------------------------
2619  !
2620  ! 6. Error messages :
2621  !
2622  ! None.
2623  !
2624  ! 7. Remarks :
2625  !
2626  ! 8. Structure :
2627  !
2628  ! See source code.
2629  !
2630  ! 9. Switches :
2631  !
2632  ! 10. Source code :
2633  !
2634  !/ ------------------------------------------------------------------- /
2635 
2636 #ifdef W3_S
2637  USE w3servmd, ONLY: strace
2638 #endif
2639 
2640  IMPLICIT NONE
2641 
2642  TYPE(nml_timesteps_t), INTENT(IN) :: NML_TIMESTEPS
2643 #ifdef W3_S
2644  INTEGER, SAVE :: IENT = 0
2645 #endif
2646 
2647 #ifdef W3_S
2648  CALL strace (ient, 'REPORT_TIMESTEPS_NML')
2649 #endif
2650 
2651  WRITE (msg,'(A)') 'TIMESTEPS % '
2652  WRITE (ndsn,'(A)')
2653  WRITE (ndsn,14) trim(msg),'DTMAX = ', nml_timesteps%DTMAX
2654  WRITE (ndsn,14) trim(msg),'DTXY = ', nml_timesteps%DTXY
2655  WRITE (ndsn,14) trim(msg),'DTKTH = ', nml_timesteps%DTKTH
2656  WRITE (ndsn,14) trim(msg),'DTMIN = ', nml_timesteps%DTMIN
2657 
2658 10 FORMAT (a,2x,a,a)
2659 11 FORMAT (a,2x,a,i8)
2660 13 FORMAT (a,2x,a,l1)
2661 14 FORMAT (a,2x,a,f8.2)
2662 
2663  END SUBROUTINE report_timesteps_nml
2664 
2665  !/ ------------------------------------------------------------------- /
2666 
2667 
2668 
2669  !/ ------------------------------------------------------------------- /
2670 
2671  SUBROUTINE report_grid_nml (NML_GRID)
2672  !/
2673  !/ +-----------------------------------+
2674  !/ | WAVEWATCH III NOAA/NCEP |
2675  !/ | M. Accensi |
2676  !/ | FORTRAN 90 |
2677  !/ | Last update : 15-May-2018 |
2678  !/ +-----------------------------------+
2679  !/
2680  !/
2681  ! 1. Purpose :
2682  !
2683  !
2684  ! 2. Method :
2685  !
2686  ! See source term routines.
2687  !
2688  ! 3. Parameters :
2689  !
2690  ! Parameter list
2691  ! ----------------------------------------------------------------
2692  ! NML_GRID Type.
2693  ! ----------------------------------------------------------------
2694  !
2695  ! 4. Subroutines used :
2696  !
2697  ! Name TYPE Module Description
2698  ! ----------------------------------------------------------------
2699  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
2700  ! ----------------------------------------------------------------
2701  !
2702  ! 5. Called by :
2703  !
2704  ! Name TYPE Module Description
2705  ! ----------------------------------------------------------------
2706  ! W3NMLGRID Subr. N/A Namelist configuration routine.
2707  ! ----------------------------------------------------------------
2708  !
2709  ! 6. Error messages :
2710  !
2711  ! None.
2712  !
2713  ! 7. Remarks :
2714  !
2715  ! 8. Structure :
2716  !
2717  ! See source code.
2718  !
2719  ! 9. Switches :
2720  !
2721  ! 10. Source code :
2722  !
2723  !/ ------------------------------------------------------------------- /
2724 
2725 #ifdef W3_S
2726  USE w3servmd, ONLY: strace
2727 #endif
2728 
2729  IMPLICIT NONE
2730 
2731  TYPE(nml_grid_t), INTENT(IN) :: NML_GRID
2732 #ifdef W3_S
2733  INTEGER, SAVE :: IENT = 0
2734 #endif
2735 
2736 #ifdef W3_S
2737  CALL strace (ient, 'REPORT_GRID_NML')
2738 #endif
2739 
2740  WRITE (msg,'(A)') 'GRID % '
2741  WRITE (ndsn,'(A)')
2742  WRITE (ndsn,10) trim(msg),'NAME = ', trim(nml_grid%NAME)
2743  WRITE (ndsn,10) trim(msg),'NML = ', trim(nml_grid%NML)
2744  WRITE (ndsn,10) trim(msg),'TYPE = ', trim(nml_grid%TYPE)
2745  WRITE (ndsn,10) trim(msg),'COORD = ', trim(nml_grid%COORD)
2746  WRITE (ndsn,10) trim(msg),'CLOS = ', trim(nml_grid%CLOS)
2747  WRITE (ndsn,14) trim(msg),'ZLIM = ', nml_grid%ZLIM
2748  WRITE (ndsn,14) trim(msg),'DMIN = ', nml_grid%DMIN
2749 
2750 10 FORMAT (a,2x,a,a)
2751 11 FORMAT (a,2x,a,i8)
2752 13 FORMAT (a,2x,a,l1)
2753 14 FORMAT (a,2x,a,f8.2)
2754 
2755  END SUBROUTINE report_grid_nml
2756 
2757  !/ ------------------------------------------------------------------- /
2758 
2759 
2760  !/ ------------------------------------------------------------------- /
2761 
2762  SUBROUTINE report_rect_nml (NML_RECT)
2763  !/
2764  !/ +-----------------------------------+
2765  !/ | WAVEWATCH III NOAA/NCEP |
2766  !/ | M. Accensi |
2767  !/ | FORTRAN 90 |
2768  !/ | Last update : 15-May-2018 |
2769  !/ +-----------------------------------+
2770  !/
2771  !/
2772  ! 1. Purpose :
2773  !
2774  !
2775  ! 2. Method :
2776  !
2777  ! See source term routines.
2778  !
2779  ! 3. Parameters :
2780  !
2781  ! Parameter list
2782  ! ----------------------------------------------------------------
2783  ! NML_RECT Type.
2784  ! ----------------------------------------------------------------
2785  !
2786  ! 4. Subroutines used :
2787  !
2788  ! Name TYPE Module Description
2789  ! ----------------------------------------------------------------
2790  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
2791  ! ----------------------------------------------------------------
2792  !
2793  ! 5. Called by :
2794  !
2795  ! Name TYPE Module Description
2796  ! ----------------------------------------------------------------
2797  ! W3NMLGRID Subr. N/A Namelist configuration routine.
2798  ! ----------------------------------------------------------------
2799  !
2800  ! 6. Error messages :
2801  !
2802  ! None.
2803  !
2804  ! 7. Remarks :
2805  !
2806  ! 8. Structure :
2807  !
2808  ! See source code.
2809  !
2810  ! 9. Switches :
2811  !
2812  ! 10. Source code :
2813  !
2814  !/ ------------------------------------------------------------------- /
2815 
2816 #ifdef W3_S
2817  USE w3servmd, ONLY: strace
2818 #endif
2819 
2820  IMPLICIT NONE
2821 
2822  TYPE(nml_rect_t), INTENT(IN) :: NML_RECT
2823 #ifdef W3_S
2824  INTEGER, SAVE :: IENT = 0
2825 #endif
2826 
2827 #ifdef W3_S
2828  CALL strace (ient, 'REPORT_RECT_NML')
2829 #endif
2830 
2831  WRITE (msg,'(A)') 'RECT % '
2832  WRITE (ndsn,'(A)')
2833  WRITE (ndsn,11) trim(msg),'NX = ', nml_rect%NX
2834  WRITE (ndsn,11) trim(msg),'NY = ', nml_rect%NY
2835  WRITE (ndsn,14) trim(msg),'SX = ', nml_rect%SX
2836  WRITE (ndsn,14) trim(msg),'SY = ', nml_rect%SY
2837  WRITE (ndsn,14) trim(msg),'SF = ', nml_rect%SF
2838  WRITE (ndsn,14) trim(msg),'X0 = ', nml_rect%X0
2839  WRITE (ndsn,14) trim(msg),'Y0 = ', nml_rect%Y0
2840  WRITE (ndsn,14) trim(msg),'SF0 = ', nml_rect%SF0
2841 
2842 10 FORMAT (a,2x,a,a)
2843 11 FORMAT (a,2x,a,i8)
2844 13 FORMAT (a,2x,a,l1)
2845 14 FORMAT (a,2x,a,f12.2)
2846 
2847  END SUBROUTINE report_rect_nml
2848 
2849  !/ ------------------------------------------------------------------- /
2850 
2851 
2852 
2853  !/ ------------------------------------------------------------------- /
2854 
2855  SUBROUTINE report_curv_nml (NML_CURV)
2856  !/
2857  !/ +-----------------------------------+
2858  !/ | WAVEWATCH III NOAA/NCEP |
2859  !/ | M. Accensi |
2860  !/ | FORTRAN 90 |
2861  !/ | Last update : 15-May-2018 |
2862  !/ +-----------------------------------+
2863  !/
2864  !/
2865  ! 1. Purpose :
2866  !
2867  !
2868  ! 2. Method :
2869  !
2870  ! See source term routines.
2871  !
2872  ! 3. Parameters :
2873  !
2874  ! Parameter list
2875  ! ----------------------------------------------------------------
2876  ! NML_CURV Type.
2877  ! ----------------------------------------------------------------
2878  !
2879  ! 4. Subroutines used :
2880  !
2881  ! Name TYPE Module Description
2882  ! ----------------------------------------------------------------
2883  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
2884  ! ----------------------------------------------------------------
2885  !
2886  ! 5. Called by :
2887  !
2888  ! Name TYPE Module Description
2889  ! ----------------------------------------------------------------
2890  ! W3NMLGRID Subr. N/A Namelist configuration routine.
2891  ! ----------------------------------------------------------------
2892  !
2893  ! 6. Error messages :
2894  !
2895  ! None.
2896  !
2897  ! 7. Remarks :
2898  !
2899  ! 8. Structure :
2900  !
2901  ! See source code.
2902  !
2903  ! 9. Switches :
2904  !
2905  ! 10. Source code :
2906  !
2907  !/ ------------------------------------------------------------------- /
2908 
2909 #ifdef W3_S
2910  USE w3servmd, ONLY: strace
2911 #endif
2912 
2913  IMPLICIT NONE
2914 
2915  TYPE(nml_curv_t), INTENT(IN) :: NML_CURV
2916 #ifdef W3_S
2917  INTEGER, SAVE :: IENT = 0
2918 #endif
2919 
2920 #ifdef W3_S
2921  CALL strace (ient, 'REPORT_CURV_NML')
2922 #endif
2923 
2924  WRITE (msg,'(A)') 'CURV % '
2925  WRITE (ndsn,'(A)')
2926  WRITE (ndsn,11) trim(msg),'NX = ', nml_curv%NX
2927  WRITE (ndsn,11) trim(msg),'NY = ', nml_curv%NY
2928  !
2929  WRITE (ndsn,14) trim(msg),'XCOORD % SF = ', nml_curv%XCOORD%SF
2930  WRITE (ndsn,14) trim(msg),'XCOORD % OFF = ', nml_curv%XCOORD%OFF
2931  WRITE (ndsn,10) trim(msg),'XCOORD % FILENAME = ', trim(nml_curv%XCOORD%FILENAME)
2932  WRITE (ndsn,11) trim(msg),'XCOORD % IDF = ', nml_curv%XCOORD%IDF
2933  WRITE (ndsn,11) trim(msg),'XCOORD % IDLA = ', nml_curv%XCOORD%IDLA
2934  WRITE (ndsn,11) trim(msg),'XCOORD % IDFM = ', nml_curv%XCOORD%IDFM
2935  WRITE (ndsn,10) trim(msg),'XCOORD % FORMAT = ', trim(nml_curv%XCOORD%FORMAT)
2936  WRITE (ndsn,10) trim(msg),'XCOORD % FROM = ', trim(nml_curv%XCOORD%FROM)
2937  !
2938  WRITE (ndsn,14) trim(msg),'YCOORD % SF = ', nml_curv%YCOORD%SF
2939  WRITE (ndsn,14) trim(msg),'YCOORD % OFF = ', nml_curv%YCOORD%OFF
2940  WRITE (ndsn,10) trim(msg),'YCOORD % FILENAME = ', trim(nml_curv%YCOORD%FILENAME)
2941  WRITE (ndsn,11) trim(msg),'YCOORD % IDF = ', nml_curv%YCOORD%IDF
2942  WRITE (ndsn,11) trim(msg),'YCOORD % IDLA = ', nml_curv%YCOORD%IDLA
2943  WRITE (ndsn,11) trim(msg),'YCOORD % IDFM = ', nml_curv%YCOORD%IDFM
2944  WRITE (ndsn,10) trim(msg),'YCOORD % FORMAT = ', trim(nml_curv%YCOORD%FORMAT)
2945  WRITE (ndsn,10) trim(msg),'YCOORD % FROM = ', trim(nml_curv%YCOORD%FROM)
2946 
2947 
2948 10 FORMAT (a,2x,a,a)
2949 11 FORMAT (a,2x,a,i8)
2950 13 FORMAT (a,2x,a,l1)
2951 14 FORMAT (a,2x,a,f8.2)
2952 
2953  END SUBROUTINE report_curv_nml
2954 
2955  !/ ------------------------------------------------------------------- /
2956 
2957 
2958 
2959  !/ ------------------------------------------------------------------- /
2960 
2961  SUBROUTINE report_unst_nml (NML_UNST)
2962  !/
2963  !/ +-----------------------------------+
2964  !/ | WAVEWATCH III NOAA/NCEP |
2965  !/ | M. Accensi |
2966  !/ | FORTRAN 90 |
2967  !/ | Last update : 15-May-2018 |
2968  !/ +-----------------------------------+
2969  !/
2970  !/
2971  ! 1. Purpose :
2972  !
2973  !
2974  ! 2. Method :
2975  !
2976  ! See source term routines.
2977  !
2978  ! 3. Parameters :
2979  !
2980  ! Parameter list
2981  ! ----------------------------------------------------------------
2982  ! NML_UNST Type.
2983  ! ----------------------------------------------------------------
2984  !
2985  ! 4. Subroutines used :
2986  !
2987  ! Name TYPE Module Description
2988  ! ----------------------------------------------------------------
2989  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
2990  ! ----------------------------------------------------------------
2991  !
2992  ! 5. Called by :
2993  !
2994  ! Name TYPE Module Description
2995  ! ----------------------------------------------------------------
2996  ! W3NMLGRID Subr. N/A Namelist configuration routine.
2997  ! ----------------------------------------------------------------
2998  !
2999  ! 6. Error messages :
3000  !
3001  ! None.
3002  !
3003  ! 7. Remarks :
3004  !
3005  ! 8. Structure :
3006  !
3007  ! See source code.
3008  !
3009  ! 9. Switches :
3010  !
3011  ! 10. Source code :
3012  !
3013  !/ ------------------------------------------------------------------- /
3014 
3015 #ifdef W3_S
3016  USE w3servmd, ONLY: strace
3017 #endif
3018 
3019  IMPLICIT NONE
3020 
3021  TYPE(nml_unst_t), INTENT(IN) :: NML_UNST
3022 #ifdef W3_S
3023  INTEGER, SAVE :: IENT = 0
3024 #endif
3025 
3026 #ifdef W3_S
3027  CALL strace (ient, 'REPORT_UNST_NML')
3028 #endif
3029 
3030  WRITE (msg,'(A)') 'UNST % '
3031  WRITE (ndsn,'(A)')
3032  WRITE (ndsn,14) trim(msg),'SF = ', nml_unst%SF
3033  WRITE (ndsn,10) trim(msg),'FILENAME = ', trim(nml_unst%FILENAME)
3034  WRITE (ndsn,11) trim(msg),'IDF = ', nml_unst%IDF
3035  WRITE (ndsn,11) trim(msg),'IDLA = ', nml_unst%IDLA
3036  WRITE (ndsn,11) trim(msg),'IDFM = ', nml_unst%IDFM
3037  WRITE (ndsn,10) trim(msg),'FORMAT = ', trim(nml_unst%FORMAT)
3038  !
3039  WRITE (ndsn,10) trim(msg),'UGOBCFILE = ', trim(nml_unst%UGOBCFILE)
3040 
3041 
3042 10 FORMAT (a,2x,a,a)
3043 11 FORMAT (a,2x,a,i8)
3044 13 FORMAT (a,2x,a,l1)
3045 14 FORMAT (a,2x,a,f8.2)
3046 
3047  END SUBROUTINE report_unst_nml
3048 
3049  !/ ------------------------------------------------------------------- /
3050 
3051 
3052 
3053  !/ ------------------------------------------------------------------- /
3054 
3055  SUBROUTINE report_smc_nml (NML_SMC)
3056  !/
3057  !/ +-----------------------------------+
3058  !/ | WAVEWATCH III NOAA/NCEP |
3059  !/ | M. Accensi |
3060  !/ | FORTRAN 90 |
3061  !/ | Last update : 15-May-2018 |
3062  !/ +-----------------------------------+
3063  !/
3064  !/
3065  ! 1. Purpose :
3066  !
3067  !
3068  ! 2. Method :
3069  !
3070  ! See source term routines.
3071  !
3072  ! 3. Parameters :
3073  !
3074  ! Parameter list
3075  ! ----------------------------------------------------------------
3076  ! NML_SMC Type.
3077  ! ----------------------------------------------------------------
3078  !
3079  ! 4. Subroutines used :
3080  !
3081  ! Name TYPE Module Description
3082  ! ----------------------------------------------------------------
3083  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
3084  ! ----------------------------------------------------------------
3085  !
3086  ! 5. Called by :
3087  !
3088  ! Name TYPE Module Description
3089  ! ----------------------------------------------------------------
3090  ! W3NMLGRID Subr. N/A Namelist configuration routine.
3091  ! ----------------------------------------------------------------
3092  !
3093  ! 6. Error messages :
3094  !
3095  ! None.
3096  !
3097  ! 7. Remarks :
3098  !
3099  ! 8. Structure :
3100  !
3101  ! See source code.
3102  !
3103  ! 9. Switches :
3104  !
3105  ! 10. Source code :
3106  !
3107  !/ ------------------------------------------------------------------- /
3108 
3109 #ifdef W3_S
3110  USE w3servmd, ONLY: strace
3111 #endif
3112 
3113  IMPLICIT NONE
3114 
3115  TYPE(nml_smc_t), INTENT(IN) :: NML_SMC
3116 #ifdef W3_S
3117  INTEGER, SAVE :: IENT = 0
3118 #endif
3119 
3120 #ifdef W3_S
3121  CALL strace (ient, 'REPORT_SMC_NML')
3122 #endif
3123 
3124  WRITE (msg,'(A)') 'SMC % '
3125  WRITE (ndsn,'(A)')
3126  !
3127  WRITE (ndsn,10) trim(msg),'MCELS % FILENAME = ', trim(nml_smc%MCELS%FILENAME)
3128  WRITE (ndsn,11) trim(msg),'MCELS % IDF = ', nml_smc%MCELS%IDF
3129  WRITE (ndsn,11) trim(msg),'MCELS % IDLA = ', nml_smc%MCELS%IDLA
3130  WRITE (ndsn,11) trim(msg),'MCELS % IDFM = ', nml_smc%MCELS%IDFM
3131  WRITE (ndsn,10) trim(msg),'MCELS % FORMAT = ', trim(nml_smc%MCELS%FORMAT)
3132  !
3133  WRITE (ndsn,10) trim(msg),'ISIDE % FILENAME = ', trim(nml_smc%ISIDE%FILENAME)
3134  WRITE (ndsn,11) trim(msg),'ISIDE % IDF = ', nml_smc%ISIDE%IDF
3135  WRITE (ndsn,11) trim(msg),'ISIDE % IDLA = ', nml_smc%ISIDE%IDLA
3136  WRITE (ndsn,11) trim(msg),'ISIDE % IDFM = ', nml_smc%ISIDE%IDFM
3137  WRITE (ndsn,10) trim(msg),'ISIDE % FORMAT = ', trim(nml_smc%ISIDE%FORMAT)
3138  !
3139  WRITE (ndsn,10) trim(msg),'JSIDE % FILENAME = ', trim(nml_smc%JSIDE%FILENAME)
3140  WRITE (ndsn,11) trim(msg),'JSIDE % IDF = ', nml_smc%JSIDE%IDF
3141  WRITE (ndsn,11) trim(msg),'JSIDE % IDLA = ', nml_smc%JSIDE%IDLA
3142  WRITE (ndsn,11) trim(msg),'JSIDE % IDFM = ', nml_smc%JSIDE%IDFM
3143  WRITE (ndsn,10) trim(msg),'JSIDE % FORMAT = ', trim(nml_smc%JSIDE%FORMAT)
3144  !
3145  WRITE (ndsn,10) trim(msg),'SUBTR % FILENAME = ', trim(nml_smc%SUBTR%FILENAME)
3146  WRITE (ndsn,11) trim(msg),'SUBTR % IDF = ', nml_smc%SUBTR%IDF
3147  WRITE (ndsn,11) trim(msg),'SUBTR % IDLA = ', nml_smc%SUBTR%IDLA
3148  WRITE (ndsn,11) trim(msg),'SUBTR % IDFM = ', nml_smc%SUBTR%IDFM
3149  WRITE (ndsn,10) trim(msg),'SUBTR % FORMAT = ', trim(nml_smc%SUBTR%FORMAT)
3150  !
3151  WRITE (ndsn,10) trim(msg),'BUNDY % FILENAME = ', trim(nml_smc%BUNDY%FILENAME)
3152  WRITE (ndsn,11) trim(msg),'BUNDY % IDF = ', nml_smc%BUNDY%IDF
3153  WRITE (ndsn,11) trim(msg),'BUNDY % IDLA = ', nml_smc%BUNDY%IDLA
3154  WRITE (ndsn,11) trim(msg),'BUNDY % IDFM = ', nml_smc%BUNDY%IDFM
3155  WRITE (ndsn,10) trim(msg),'BUNDY % FORMAT = ', trim(nml_smc%BUNDY%FORMAT)
3156  !
3157  WRITE (ndsn,10) trim(msg),'MBARC % FILENAME = ', trim(nml_smc%MBARC%FILENAME)
3158  WRITE (ndsn,11) trim(msg),'MBARC % IDF = ', nml_smc%MBARC%IDF
3159  WRITE (ndsn,11) trim(msg),'MBARC % IDLA = ', nml_smc%MBARC%IDLA
3160  WRITE (ndsn,11) trim(msg),'MBARC % IDFM = ', nml_smc%MBARC%IDFM
3161  WRITE (ndsn,10) trim(msg),'MBARC % FORMAT = ', trim(nml_smc%MBARC%FORMAT)
3162  !
3163  WRITE (ndsn,10) trim(msg),'AISID % FILENAME = ', trim(nml_smc%AISID%FILENAME)
3164  WRITE (ndsn,11) trim(msg),'AISID % IDF = ', nml_smc%AISID%IDF
3165  WRITE (ndsn,11) trim(msg),'AISID % IDLA = ', nml_smc%AISID%IDLA
3166  WRITE (ndsn,11) trim(msg),'AISID % IDFM = ', nml_smc%AISID%IDFM
3167  WRITE (ndsn,10) trim(msg),'AISID % FORMAT = ', trim(nml_smc%AISID%FORMAT)
3168  !
3169  WRITE (ndsn,10) trim(msg),'AJSID % FILENAME = ', trim(nml_smc%AJSID%FILENAME)
3170  WRITE (ndsn,11) trim(msg),'AJSID % IDF = ', nml_smc%AJSID%IDF
3171  WRITE (ndsn,11) trim(msg),'AJSID % IDLA = ', nml_smc%AJSID%IDLA
3172  WRITE (ndsn,11) trim(msg),'AJSID % IDFM = ', nml_smc%AJSID%IDFM
3173  WRITE (ndsn,10) trim(msg),'AJSID % FORMAT = ', trim(nml_smc%AJSID%FORMAT)
3174 
3175 
3176 10 FORMAT (a,2x,a,a)
3177 11 FORMAT (a,2x,a,i8)
3178 13 FORMAT (a,2x,a,l1)
3179 14 FORMAT (a,2x,a,f8.2)
3180 
3181 
3182  END SUBROUTINE report_smc_nml
3183 
3184  !/ ------------------------------------------------------------------- /
3185 
3186 
3187 
3188 
3189 
3190  !/ ------------------------------------------------------------------- /
3191 
3192  SUBROUTINE report_depth_nml (NML_DEPTH)
3193  !/
3194  !/ +-----------------------------------+
3195  !/ | WAVEWATCH III NOAA/NCEP |
3196  !/ | M. Accensi |
3197  !/ | FORTRAN 90 |
3198  !/ | Last update : 15-May-2018 |
3199  !/ +-----------------------------------+
3200  !/
3201  !/
3202  ! 1. Purpose :
3203  !
3204  !
3205  ! 2. Method :
3206  !
3207  ! See source term routines.
3208  !
3209  ! 3. Parameters :
3210  !
3211  ! Parameter list
3212  ! ----------------------------------------------------------------
3213  ! NML_DEPTH Type.
3214  ! ----------------------------------------------------------------
3215  !
3216  ! 4. Subroutines used :
3217  !
3218  ! Name TYPE Module Description
3219  ! ----------------------------------------------------------------
3220  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
3221  ! ----------------------------------------------------------------
3222  !
3223  ! 5. Called by :
3224  !
3225  ! Name TYPE Module Description
3226  ! ----------------------------------------------------------------
3227  ! W3NMLGRID Subr. N/A Namelist configuration routine.
3228  ! ----------------------------------------------------------------
3229  !
3230  ! 6. Error messages :
3231  !
3232  ! None.
3233  !
3234  ! 7. Remarks :
3235  !
3236  ! 8. Structure :
3237  !
3238  ! See source code.
3239  !
3240  ! 9. Switches :
3241  !
3242  ! 10. Source code :
3243  !
3244  !/ ------------------------------------------------------------------- /
3245 
3246 #ifdef W3_S
3247  USE w3servmd, ONLY: strace
3248 #endif
3249 
3250  IMPLICIT NONE
3251 
3252  TYPE(nml_depth_t), INTENT(IN) :: NML_DEPTH
3253 #ifdef W3_S
3254  INTEGER, SAVE :: IENT = 0
3255 #endif
3256 
3257 #ifdef W3_S
3258  CALL strace (ient, 'REPORT_DEPTH_NML')
3259 #endif
3260 
3261  WRITE (msg,'(A)') 'DEPTH % '
3262  WRITE (ndsn,'(A)')
3263  WRITE (ndsn,14) trim(msg),'SF = ', nml_depth%SF
3264  WRITE (ndsn,10) trim(msg),'FILENAME = ', trim(nml_depth%FILENAME)
3265  WRITE (ndsn,11) trim(msg),'IDF = ', nml_depth%IDF
3266  WRITE (ndsn,11) trim(msg),'IDLA = ', nml_depth%IDLA
3267  WRITE (ndsn,11) trim(msg),'IDFM = ', nml_depth%IDFM
3268  WRITE (ndsn,10) trim(msg),'FORMAT = ', trim(nml_depth%FORMAT)
3269  WRITE (ndsn,10) trim(msg),'FROM = ', trim(nml_depth%FROM)
3270 
3271 
3272 10 FORMAT (a,2x,a,a)
3273 11 FORMAT (a,2x,a,i8)
3274 13 FORMAT (a,2x,a,l1)
3275 14 FORMAT (a,2x,a,f8.2)
3276 
3277  END SUBROUTINE report_depth_nml
3278 
3279  !/ ------------------------------------------------------------------- /
3280 
3281 
3282 
3283 
3284  !/ ------------------------------------------------------------------- /
3285 
3286  SUBROUTINE report_mask_nml (NML_MASK)
3287  !/
3288  !/ +-----------------------------------+
3289  !/ | WAVEWATCH III NOAA/NCEP |
3290  !/ | M. Accensi |
3291  !/ | FORTRAN 90 |
3292  !/ | Last update : 15-May-2018 |
3293  !/ +-----------------------------------+
3294  !/
3295  !/
3296  ! 1. Purpose :
3297  !
3298  !
3299  ! 2. Method :
3300  !
3301  ! See source term routines.
3302  !
3303  ! 3. Parameters :
3304  !
3305  ! Parameter list
3306  ! ----------------------------------------------------------------
3307  ! NML_MASK Type.
3308  ! ----------------------------------------------------------------
3309  !
3310  ! 4. Subroutines used :
3311  !
3312  ! Name TYPE Module Description
3313  ! ----------------------------------------------------------------
3314  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
3315  ! ----------------------------------------------------------------
3316  !
3317  ! 5. Called by :
3318  !
3319  ! Name TYPE Module Description
3320  ! ----------------------------------------------------------------
3321  ! W3NMLGRID Subr. N/A Namelist configuration routine.
3322  ! ----------------------------------------------------------------
3323  !
3324  ! 6. Error messages :
3325  !
3326  ! None.
3327  !
3328  ! 7. Remarks :
3329  !
3330  ! 8. Structure :
3331  !
3332  ! See source code.
3333  !
3334  ! 9. Switches :
3335  !
3336  ! 10. Source code :
3337  !
3338  !/ ------------------------------------------------------------------- /
3339 
3340 #ifdef W3_S
3341  USE w3servmd, ONLY: strace
3342 #endif
3343 
3344  IMPLICIT NONE
3345 
3346  TYPE(nml_mask_t), INTENT(IN) :: NML_MASK
3347 #ifdef W3_S
3348  INTEGER, SAVE :: IENT = 0
3349 #endif
3350 
3351 #ifdef W3_S
3352  CALL strace (ient, 'REPORT_MASK_NML')
3353 #endif
3354 
3355  WRITE (msg,'(A)') 'MASK % '
3356  WRITE (ndsn,'(A)')
3357  WRITE (ndsn,10) trim(msg),'FILENAME = ', trim(nml_mask%FILENAME)
3358  WRITE (ndsn,11) trim(msg),'IDF = ', nml_mask%IDF
3359  WRITE (ndsn,11) trim(msg),'IDLA = ', nml_mask%IDLA
3360  WRITE (ndsn,11) trim(msg),'IDFM = ', nml_mask%IDFM
3361  WRITE (ndsn,10) trim(msg),'FORMAT = ', trim(nml_mask%FORMAT)
3362  WRITE (ndsn,10) trim(msg),'FROM = ', trim(nml_mask%FROM)
3363 
3364 
3365 10 FORMAT (a,2x,a,a)
3366 11 FORMAT (a,2x,a,i8)
3367 13 FORMAT (a,2x,a,l1)
3368 14 FORMAT (a,2x,a,f8.2)
3369 
3370  END SUBROUTINE report_mask_nml
3371 
3372  !/ ------------------------------------------------------------------- /
3373 
3374 
3375 
3376 
3377 
3378 
3379  !/ ------------------------------------------------------------------- /
3380 
3381  SUBROUTINE report_obst_nml (NML_OBST)
3382  !/
3383  !/ +-----------------------------------+
3384  !/ | WAVEWATCH III NOAA/NCEP |
3385  !/ | M. Accensi |
3386  !/ | FORTRAN 90 |
3387  !/ | Last update : 15-May-2018 |
3388  !/ +-----------------------------------+
3389  !/
3390  !/
3391  ! 1. Purpose :
3392  !
3393  !
3394  ! 2. Method :
3395  !
3396  ! See source term routines.
3397  !
3398  ! 3. Parameters :
3399  !
3400  ! Parameter list
3401  ! ----------------------------------------------------------------
3402  ! NML_OBST Type.
3403  ! ----------------------------------------------------------------
3404  !
3405  ! 4. Subroutines used :
3406  !
3407  ! Name TYPE Module Description
3408  ! ----------------------------------------------------------------
3409  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
3410  ! ----------------------------------------------------------------
3411  !
3412  ! 5. Called by :
3413  !
3414  ! Name TYPE Module Description
3415  ! ----------------------------------------------------------------
3416  ! W3NMLGRID Subr. N/A Namelist configuration routine.
3417  ! ----------------------------------------------------------------
3418  !
3419  ! 6. Error messages :
3420  !
3421  ! None.
3422  !
3423  ! 7. Remarks :
3424  !
3425  ! 8. Structure :
3426  !
3427  ! See source code.
3428  !
3429  ! 9. Switches :
3430  !
3431  ! 10. Source code :
3432  !
3433  !/ ------------------------------------------------------------------- /
3434 
3435 #ifdef W3_S
3436  USE w3servmd, ONLY: strace
3437 #endif
3438 
3439  IMPLICIT NONE
3440 
3441  TYPE(nml_obst_t), INTENT(IN) :: NML_OBST
3442 #ifdef W3_S
3443  INTEGER, SAVE :: IENT = 0
3444 #endif
3445 
3446 #ifdef W3_S
3447  CALL strace (ient, 'REPORT_OBST_NML')
3448 #endif
3449 
3450  WRITE (msg,'(A)') 'OBST % '
3451  WRITE (ndsn,'(A)')
3452  WRITE (ndsn,14) trim(msg),'SF = ', nml_obst%SF
3453  WRITE (ndsn,10) trim(msg),'FILENAME = ', trim(nml_obst%FILENAME)
3454  WRITE (ndsn,11) trim(msg),'IDF = ', nml_obst%IDF
3455  WRITE (ndsn,11) trim(msg),'IDLA = ', nml_obst%IDLA
3456  WRITE (ndsn,11) trim(msg),'IDFM = ', nml_obst%IDFM
3457  WRITE (ndsn,10) trim(msg),'FORMAT = ', trim(nml_obst%FORMAT)
3458  WRITE (ndsn,10) trim(msg),'FROM = ', trim(nml_obst%FROM)
3459 
3460 
3461 10 FORMAT (a,2x,a,a)
3462 11 FORMAT (a,2x,a,i8)
3463 13 FORMAT (a,2x,a,l1)
3464 14 FORMAT (a,2x,a,f8.2)
3465 
3466  END SUBROUTINE report_obst_nml
3467 
3468  !/ ------------------------------------------------------------------- /
3469 
3470 
3471 
3472 
3473 
3474 
3475 
3476  !/ ------------------------------------------------------------------- /
3477 
3478  SUBROUTINE report_slope_nml (NML_SLOPE)
3479  !/
3480  !/ +-----------------------------------+
3481  !/ | WAVEWATCH III NOAA/NCEP |
3482  !/ | M. Accensi |
3483  !/ | FORTRAN 90 |
3484  !/ | Last update : 15-May-2018 |
3485  !/ +-----------------------------------+
3486  !/
3487  !/
3488  ! 1. Purpose :
3489  !
3490  !
3491  ! 2. Method :
3492  !
3493  ! See source term routines.
3494  !
3495  ! 3. Parameters :
3496  !
3497  ! Parameter list
3498  ! ----------------------------------------------------------------
3499  ! NML_SLOPE Type.
3500  ! ----------------------------------------------------------------
3501  !
3502  ! 4. Subroutines used :
3503  !
3504  ! Name TYPE Module Description
3505  ! ----------------------------------------------------------------
3506  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
3507  ! ----------------------------------------------------------------
3508  !
3509  ! 5. Called by :
3510  !
3511  ! Name TYPE Module Description
3512  ! ----------------------------------------------------------------
3513  ! W3NMLGRID Subr. N/A Namelist configuration routine.
3514  ! ----------------------------------------------------------------
3515  !
3516  ! 6. Error messages :
3517  !
3518  ! None.
3519  !
3520  ! 7. Remarks :
3521  !
3522  ! 8. Structure :
3523  !
3524  ! See source code.
3525  !
3526  ! 9. Switches :
3527  !
3528  ! 10. Source code :
3529  !
3530  !/ ------------------------------------------------------------------- /
3531 
3532 #ifdef W3_S
3533  USE w3servmd, ONLY: strace
3534 #endif
3535 
3536  IMPLICIT NONE
3537 
3538  TYPE(nml_slope_t), INTENT(IN) :: NML_SLOPE
3539 #ifdef W3_S
3540  INTEGER, SAVE :: IENT = 0
3541 #endif
3542 
3543 #ifdef W3_S
3544  CALL strace (ient, 'REPORT_SLOPE_NML')
3545 #endif
3546 
3547  WRITE (msg,'(A)') 'SLOPE % '
3548  WRITE (ndsn,'(A)')
3549  WRITE (ndsn,14) trim(msg),'SF = ', nml_slope%SF
3550  WRITE (ndsn,10) trim(msg),'FILENAME = ', trim(nml_slope%FILENAME)
3551  WRITE (ndsn,11) trim(msg),'IDF = ', nml_slope%IDF
3552  WRITE (ndsn,11) trim(msg),'IDLA = ', nml_slope%IDLA
3553  WRITE (ndsn,11) trim(msg),'IDFM = ', nml_slope%IDFM
3554  WRITE (ndsn,10) trim(msg),'FORMAT = ', trim(nml_slope%FORMAT)
3555  WRITE (ndsn,10) trim(msg),'FROM = ', trim(nml_slope%FROM)
3556 
3557 
3558 10 FORMAT (a,2x,a,a)
3559 11 FORMAT (a,2x,a,i8)
3560 13 FORMAT (a,2x,a,l1)
3561 14 FORMAT (a,2x,a,f8.2)
3562 
3563  END SUBROUTINE report_slope_nml
3564 
3565  !/ ------------------------------------------------------------------- /
3566 
3567 
3568 
3569 
3570 
3571 
3572 
3573 
3574  !/ ------------------------------------------------------------------- /
3575 
3576  SUBROUTINE report_sed_nml (NML_SED)
3577  !/
3578  !/ +-----------------------------------+
3579  !/ | WAVEWATCH III NOAA/NCEP |
3580  !/ | M. Accensi |
3581  !/ | FORTRAN 90 |
3582  !/ | Last update : 15-May-2018 |
3583  !/ +-----------------------------------+
3584  !/
3585  !/
3586  ! 1. Purpose :
3587  !
3588  !
3589  ! 2. Method :
3590  !
3591  ! See source term routines.
3592  !
3593  ! 3. Parameters :
3594  !
3595  ! Parameter list
3596  ! ----------------------------------------------------------------
3597  ! NML_SED Type.
3598  ! ----------------------------------------------------------------
3599  !
3600  ! 4. Subroutines used :
3601  !
3602  ! Name TYPE Module Description
3603  ! ----------------------------------------------------------------
3604  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
3605  ! ----------------------------------------------------------------
3606  !
3607  ! 5. Called by :
3608  !
3609  ! Name TYPE Module Description
3610  ! ----------------------------------------------------------------
3611  ! W3NMLGRID Subr. N/A Namelist configuration routine.
3612  ! ----------------------------------------------------------------
3613  !
3614  ! 6. Error messages :
3615  !
3616  ! None.
3617  !
3618  ! 7. Remarks :
3619  !
3620  ! 8. Structure :
3621  !
3622  ! See source code.
3623  !
3624  ! 9. Switches :
3625  !
3626  ! 10. Source code :
3627  !
3628  !/ ------------------------------------------------------------------- /
3629 
3630 #ifdef W3_S
3631  USE w3servmd, ONLY: strace
3632 #endif
3633 
3634  IMPLICIT NONE
3635 
3636  TYPE(nml_sed_t), INTENT(IN) :: NML_SED
3637 #ifdef W3_S
3638  INTEGER, SAVE :: IENT = 0
3639 #endif
3640 
3641 #ifdef W3_S
3642  CALL strace (ient, 'REPORT_SED_NML')
3643 #endif
3644 
3645  WRITE (msg,'(A)') 'SED % '
3646  WRITE (ndsn,'(A)')
3647  WRITE (ndsn,14) trim(msg),'SF = ', nml_sed%SF
3648  WRITE (ndsn,10) trim(msg),'FILENAME = ', trim(nml_sed%FILENAME)
3649  WRITE (ndsn,11) trim(msg),'IDF = ', nml_sed%IDF
3650  WRITE (ndsn,11) trim(msg),'IDLA = ', nml_sed%IDLA
3651  WRITE (ndsn,11) trim(msg),'IDFM = ', nml_sed%IDFM
3652  WRITE (ndsn,10) trim(msg),'FORMAT = ', trim(nml_sed%FORMAT)
3653  WRITE (ndsn,10) trim(msg),'FROM = ', trim(nml_sed%FROM)
3654 
3655 
3656 10 FORMAT (a,2x,a,a)
3657 11 FORMAT (a,2x,a,i8)
3658 13 FORMAT (a,2x,a,l1)
3659 14 FORMAT (a,2x,a,f8.2)
3660 
3661  END SUBROUTINE report_sed_nml
3662 
3663  !/ ------------------------------------------------------------------- /
3664 
3665 
3666 
3667 
3668 
3669 
3670  !/ ------------------------------------------------------------------- /
3671 
3672  SUBROUTINE report_inbound_nml (NML_INBND_COUNT, NML_INBND_POINT)
3673  !/
3674  !/ +-----------------------------------+
3675  !/ | WAVEWATCH III NOAA/NCEP |
3676  !/ | M. Accensi |
3677  !/ | FORTRAN 90 |
3678  !/ | Last update : 15-May-2018 |
3679  !/ +-----------------------------------+
3680  !/
3681  !/
3682  ! 1. Purpose :
3683  !
3684  !
3685  ! 2. Method :
3686  !
3687  ! See source term routines.
3688  !
3689  ! 3. Parameters :
3690  !
3691  ! Parameter list
3692  ! ----------------------------------------------------------------
3693  ! NML_INBND_COUNT Type
3694  ! NML_INBND_POINT Type
3695  ! ----------------------------------------------------------------
3696  !
3697  ! 4. Subroutines used :
3698  !
3699  ! Name TYPE Module Description
3700  ! ----------------------------------------------------------------
3701  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
3702  ! ----------------------------------------------------------------
3703  !
3704  ! 5. Called by :
3705  !
3706  ! Name TYPE Module Description
3707  ! ----------------------------------------------------------------
3708  ! W3NMLGRID Subr. N/A Namelist configuration routine.
3709  ! ----------------------------------------------------------------
3710  !
3711  ! 6. Error messages :
3712  !
3713  ! None.
3714  !
3715  ! 7. Remarks :
3716  !
3717  ! 8. Structure :
3718  !
3719  ! See source code.
3720  !
3721  ! 9. Switches :
3722  !
3723  ! 10. Source code :
3724  !
3725  !/ ------------------------------------------------------------------- /
3726 
3727 #ifdef W3_S
3728  USE w3servmd, ONLY: strace
3729 #endif
3730 
3731  IMPLICIT NONE
3732 
3733  TYPE(nml_inbnd_count_t), INTENT(IN) :: NML_INBND_COUNT
3734  TYPE(nml_inbnd_point_t), INTENT(IN) :: NML_INBND_POINT(NML_INBND_COUNT%N_POINT)
3735 
3736  ! locals
3737  INTEGER :: I
3738 #ifdef W3_S
3739  INTEGER, SAVE :: IENT = 0
3740 #endif
3741 
3742 #ifdef W3_S
3743  CALL strace (ient, 'REPORT_INBOUND_NML')
3744 #endif
3745 
3746  WRITE (msg,'(A)') 'INBND_COUNT % '
3747  WRITE (ndsn,'(A)')
3748  WRITE (ndsn,11) trim(msg),'N_POINT = ', nml_inbnd_count%N_POINT
3749 
3750  IF (nml_inbnd_count%N_POINT .NE. 0) THEN
3751  DO i=1,nml_inbnd_count%N_POINT
3752  WRITE (msg,'(A,I8,A)') 'INBND_POINT(',i,') % '
3753  WRITE (ndsn,'(A)')
3754  WRITE (ndsn,11) trim(msg),'X_INDEX = ', nml_inbnd_point(i)%X_INDEX
3755  WRITE (ndsn,11) trim(msg),'Y_INDEX = ', nml_inbnd_point(i)%Y_INDEX
3756  WRITE (ndsn,13) trim(msg),'CONNECT = ', nml_inbnd_point(i)%CONNECT
3757  WRITE (ndsn,'(A)')
3758  END DO
3759  END IF
3760 
3761 10 FORMAT (a,2x,a,a)
3762 11 FORMAT (a,2x,a,i8)
3763 13 FORMAT (a,2x,a,l1)
3764 14 FORMAT (a,2x,a,f8.2)
3765 
3766  END SUBROUTINE report_inbound_nml
3767 
3768  !/ ------------------------------------------------------------------- /
3769 
3770 
3771 
3772 
3773  !/ ------------------------------------------------------------------- /
3774 
3775  SUBROUTINE report_excluded_nml (NML_EXCL_COUNT, NML_EXCL_POINT, NML_EXCL_BODY)
3776  !/
3777  !/ +-----------------------------------+
3778  !/ | WAVEWATCH III NOAA/NCEP |
3779  !/ | M. Accensi |
3780  !/ | FORTRAN 90 |
3781  !/ | Last update : 15-May-2018 |
3782  !/ +-----------------------------------+
3783  !/
3784  !/
3785  ! 1. Purpose :
3786  !
3787  !
3788  ! 2. Method :
3789  !
3790  ! See source term routines.
3791  !
3792  ! 3. Parameters :
3793  !
3794  ! Parameter list
3795  ! ----------------------------------------------------------------
3796  ! NML_EXCL_COUNT Type
3797  ! NML_EXCL_POINT Type
3798  ! NML_EXCL_BODY Type
3799  ! ----------------------------------------------------------------
3800  !
3801  ! 4. Subroutines used :
3802  !
3803  ! Name TYPE Module Description
3804  ! ----------------------------------------------------------------
3805  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
3806  ! ----------------------------------------------------------------
3807  !
3808  ! 5. Called by :
3809  !
3810  ! Name TYPE Module Description
3811  ! ----------------------------------------------------------------
3812  ! W3NMLGRID Subr. N/A Namelist configuration routine.
3813  ! ----------------------------------------------------------------
3814  !
3815  ! 6. Error messages :
3816  !
3817  ! None.
3818  !
3819  ! 7. Remarks :
3820  !
3821  ! 8. Structure :
3822  !
3823  ! See source code.
3824  !
3825  ! 9. Switches :
3826  !
3827  ! 10. Source code :
3828  !
3829  !/ ------------------------------------------------------------------- /
3830 
3831 #ifdef W3_S
3832  USE w3servmd, ONLY: strace
3833 #endif
3834 
3835  IMPLICIT NONE
3836 
3837  TYPE(nml_excl_count_t), INTENT(IN) :: NML_EXCL_COUNT
3838  TYPE(nml_excl_point_t), INTENT(IN) :: NML_EXCL_POINT(NML_EXCL_COUNT%N_POINT)
3839  TYPE(nml_excl_body_t), INTENT(IN) :: NML_EXCL_BODY(NML_EXCL_COUNT%N_BODY)
3840 
3841  ! locals
3842  INTEGER :: I
3843 #ifdef W3_S
3844  INTEGER, SAVE :: IENT = 0
3845 #endif
3846 
3847 #ifdef W3_S
3848  CALL strace (ient, 'REPORT_EXCLUDED_NML')
3849 #endif
3850 
3851  WRITE (msg,'(A)') 'EXCL_COUNT % '
3852  WRITE (ndsn,'(A)')
3853  WRITE (ndsn,11) trim(msg),'N_POINT = ', nml_excl_count%N_POINT
3854  WRITE (ndsn,11) trim(msg),'N_BODY = ', nml_excl_count%N_BODY
3855 
3856  IF (nml_excl_count%N_POINT .NE. 0) THEN
3857  DO i=1,nml_excl_count%N_POINT
3858  WRITE (msg,'(A,I8,A)') 'EXCL_POINT(',i,') % '
3859  WRITE (ndsn,'(A)')
3860  WRITE (ndsn,11) trim(msg),'X_INDEX = ', nml_excl_point(i)%X_INDEX
3861  WRITE (ndsn,11) trim(msg),'Y_INDEX = ', nml_excl_point(i)%Y_INDEX
3862  WRITE (ndsn,13) trim(msg),'CONNECT = ', nml_excl_point(i)%CONNECT
3863  WRITE (ndsn,'(A)')
3864  END DO
3865  END IF
3866 
3867  IF (nml_excl_count%N_BODY .NE. 0) THEN
3868  DO i=1,nml_excl_count%N_BODY
3869  WRITE (msg,'(A,I8,A)') 'EXCL_BODY(',i,') % '
3870  WRITE (ndsn,'(A)')
3871  WRITE (ndsn,11) trim(msg),'X_INDEX = ', nml_excl_body(i)%X_INDEX
3872  WRITE (ndsn,11) trim(msg),'Y_INDEX = ', nml_excl_body(i)%Y_INDEX
3873  WRITE (ndsn,'(A)')
3874  END DO
3875  END IF
3876 
3877 10 FORMAT (a,2x,a,a)
3878 11 FORMAT (a,2x,a,i8)
3879 13 FORMAT (a,2x,a,l1)
3880 14 FORMAT (a,2x,a,f12.2)
3881 
3882  END SUBROUTINE report_excluded_nml
3883 
3884  !/ ------------------------------------------------------------------- /
3885 
3886 
3887 
3888 
3889  !/ ------------------------------------------------------------------- /
3890 
3891  SUBROUTINE report_outbound_nml (NML_OUTBND_COUNT, NML_OUTBND_LINE)
3892  !/
3893  !/ +-----------------------------------+
3894  !/ | WAVEWATCH III NOAA/NCEP |
3895  !/ | M. Accensi |
3896  !/ | FORTRAN 90 |
3897  !/ | Last update : 15-May-2018 |
3898  !/ +-----------------------------------+
3899  !/
3900  !/
3901  ! 1. Purpose :
3902  !
3903  !
3904  ! 2. Method :
3905  !
3906  ! See source term routines.
3907  !
3908  ! 3. Parameters :
3909  !
3910  ! Parameter list
3911  ! ----------------------------------------------------------------
3912  ! NML_OUTBND_COUNT Type
3913  ! NML_OUTBND_LINE Type
3914  ! ----------------------------------------------------------------
3915  !
3916  ! 4. Subroutines used :
3917  !
3918  ! Name TYPE Module Description
3919  ! ----------------------------------------------------------------
3920  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
3921  ! ----------------------------------------------------------------
3922  !
3923  ! 5. Called by :
3924  !
3925  ! Name TYPE Module Description
3926  ! ----------------------------------------------------------------
3927  ! W3NMLGRID Subr. N/A Namelist configuration routine.
3928  ! ----------------------------------------------------------------
3929  !
3930  ! 6. Error messages :
3931  !
3932  ! None.
3933  !
3934  ! 7. Remarks :
3935  !
3936  ! 8. Structure :
3937  !
3938  ! See source code.
3939  !
3940  ! 9. Switches :
3941  !
3942  ! 10. Source code :
3943  !
3944  !/ ------------------------------------------------------------------- /
3945 
3946 #ifdef W3_S
3947  USE w3servmd, ONLY: strace
3948 #endif
3949 
3950  IMPLICIT NONE
3951 
3952  TYPE(nml_outbnd_count_t), INTENT(IN) :: NML_OUTBND_COUNT
3953  TYPE(nml_outbnd_line_t), INTENT(IN) :: NML_OUTBND_LINE(NML_OUTBND_COUNT%N_LINE)
3954 
3955  ! locals
3956  INTEGER :: I
3957 #ifdef W3_S
3958  INTEGER, SAVE :: IENT = 0
3959 #endif
3960 
3961 #ifdef W3_S
3962  CALL strace (ient, 'REPORT_OUTBOUND_NML')
3963 #endif
3964 
3965  WRITE (msg,'(A)') 'OUTBND_COUNT % '
3966  WRITE (ndsn,'(A)')
3967  WRITE (ndsn,11) trim(msg),'N_LINE = ', nml_outbnd_count%N_LINE
3968 
3969  IF (nml_outbnd_count%N_LINE .NE. 0) THEN
3970  DO i=1,nml_outbnd_count%N_LINE
3971  WRITE (msg,'(A,I8,A)') 'OUTBND_LINE(',i,') % '
3972  WRITE (ndsn,'(A)')
3973  WRITE (ndsn,14) trim(msg),'X0 = ', nml_outbnd_line(i)%X0
3974  WRITE (ndsn,14) trim(msg),'Y0 = ', nml_outbnd_line(i)%Y0
3975  WRITE (ndsn,14) trim(msg),'DX = ', nml_outbnd_line(i)%DX
3976  WRITE (ndsn,14) trim(msg),'DY = ', nml_outbnd_line(i)%DY
3977  WRITE (ndsn,11) trim(msg),'NP = ', nml_outbnd_line(i)%NP
3978  WRITE (ndsn,'(A)')
3979  END DO
3980  END IF
3981 
3982 10 FORMAT (a,2x,a,a)
3983 11 FORMAT (a,2x,a,i8)
3984 13 FORMAT (a,2x,a,l1)
3985 14 FORMAT (a,2x,a,f12.2)
3986 
3987  END SUBROUTINE report_outbound_nml
3988 
3989  !/ ------------------------------------------------------------------- /
3990 
3991 
3992 
3993 
3994 
3995 
3996 
3997 
3998 END MODULE w3nmlgridmd
3999 
4000 !/ ------------------------------------------------------------------- /
w3nmlgridmd::read_run_nml
subroutine read_run_nml(NDSI, NML_RUN)
Definition: w3nmlgridmd.F90:606
w3nmlgridmd::nml_coord_file_t
Definition: w3nmlgridmd.F90:27
w3nmlgridmd::read_grid_nml
subroutine read_grid_nml(NDSI, NML_GRID)
Definition: w3nmlgridmd.F90:821
w3nmlgridmd::report_depth_nml
subroutine report_depth_nml(NML_DEPTH)
Definition: w3nmlgridmd.F90:3193
w3nmlgridmd::report_inbound_nml
subroutine report_inbound_nml(NML_INBND_COUNT, NML_INBND_POINT)
Definition: w3nmlgridmd.F90:3673
w3nmlgridmd::nml_outbnd_line_t
Definition: w3nmlgridmd.F90:230
w3nmlgridmd::read_mask_nml
subroutine read_mask_nml(NDSI, NML_MASK)
Definition: w3nmlgridmd.F90:1531
w3nmlgridmd::msg
character(256) msg
Definition: w3nmlgridmd.F90:241
w3nmlgridmd::nml_sed_t
Definition: w3nmlgridmd.F90:185
w3nmlgridmd::report_spectrum_nml
subroutine report_spectrum_nml(NML_SPECTRUM)
Definition: w3nmlgridmd.F90:2402
w3nmlgridmd::nml_excl_point_t
Definition: w3nmlgridmd.F90:213
w3nmlgridmd::report_slope_nml
subroutine report_slope_nml(NML_SLOPE)
Definition: w3nmlgridmd.F90:3479
w3nmlgridmd::nml_timesteps_t
Definition: w3nmlgridmd.F90:79
w3nmlgridmd::report_excluded_nml
subroutine report_excluded_nml(NML_EXCL_COUNT, NML_EXCL_POINT, NML_EXCL_BODY)
Definition: w3nmlgridmd.F90:3776
w3nmlgridmd::nml_outbnd_count_t
Definition: w3nmlgridmd.F90:226
w3nmlgridmd::read_inbound_nml
subroutine read_inbound_nml(NDSI, NML_INBND_COUNT, NML_INBND_POINT)
Definition: w3nmlgridmd.F90:1973
w3nmlgridmd::read_depth_nml
subroutine read_depth_nml(NDSI, NML_DEPTH)
Definition: w3nmlgridmd.F90:1422
w3nmlgridmd::report_smc_nml
subroutine report_smc_nml(NML_SMC)
Definition: w3nmlgridmd.F90:3056
w3nmlgridmd::report_unst_nml
subroutine report_unst_nml(NML_UNST)
Definition: w3nmlgridmd.F90:2962
w3nmlgridmd::nml_run_t
Definition: w3nmlgridmd.F90:69
w3nmlgridmd::read_unst_nml
subroutine read_unst_nml(NDSI, NML_UNST)
Definition: w3nmlgridmd.F90:1162
w3nmlgridmd::report_timesteps_nml
subroutine report_timesteps_nml(NML_TIMESTEPS)
Definition: w3nmlgridmd.F90:2583
w3nmlgridmd::report_curv_nml
subroutine report_curv_nml(NML_CURV)
Definition: w3nmlgridmd.F90:2856
w3nmlgridmd::report_mask_nml
subroutine report_mask_nml(NML_MASK)
Definition: w3nmlgridmd.F90:3287
w3nmlgridmd::nml_smc_t
Definition: w3nmlgridmd.F90:129
w3odatmd::ndse
integer, pointer ndse
Definition: w3odatmd.F90:456
w3nmlgridmd::nml_grid_t
Definition: w3nmlgridmd.F90:87
w3nmlgridmd
Definition: w3nmlgridmd.F90:3
w3nmlgridmd::nml_slope_t
Definition: w3nmlgridmd.F90:174
w3servmd
Definition: w3servmd.F90:3
w3nmlgridmd::nml_smc_file_t
Definition: w3nmlgridmd.F90:50
w3nmlgridmd::read_timesteps_nml
subroutine read_timesteps_nml(NDSI, NML_TIMESTEPS)
Definition: w3nmlgridmd.F90:714
w3odatmd
Definition: w3odatmd.F90:3
w3nmlgridmd::report_sed_nml
subroutine report_sed_nml(NML_SED)
Definition: w3nmlgridmd.F90:3577
w3nmlgridmd::read_smc_nml
subroutine read_smc_nml(NDSI, NML_SMC)
Definition: w3nmlgridmd.F90:1272
w3nmlgridmd::report_rect_nml
subroutine report_rect_nml(NML_RECT)
Definition: w3nmlgridmd.F90:2763
w3nmlgridmd::nml_file_t
Definition: w3nmlgridmd.F90:39
w3nmlgridmd::nml_excl_body_t
Definition: w3nmlgridmd.F90:219
w3nmlgridmd::nml_inbnd_point_t
Definition: w3nmlgridmd.F90:200
w3nmlgridmd::report_run_nml
subroutine report_run_nml(NML_RUN)
Definition: w3nmlgridmd.F90:2492
file
file(STRINGS ${CMAKE_BINARY_DIR}/switch switch_strings) separate_arguments(switches UNIX_COMMAND $
Definition: CMakeLists.txt:3
w3nmlgridmd::nml_rect_t
Definition: w3nmlgridmd.F90:98
w3servmd::strace
subroutine strace(IENT, SNAME)
Definition: w3servmd.F90:148
w3nmlgridmd::report_obst_nml
subroutine report_obst_nml(NML_OBST)
Definition: w3nmlgridmd.F90:3382
w3nmlgridmd::nml_spectrum_t
Definition: w3nmlgridmd.F90:60
w3nmlgridmd::read_slope_nml
subroutine read_slope_nml(NDSI, NML_SLOPE)
Definition: w3nmlgridmd.F90:1751
w3nmlgridmd::nml_excl_count_t
Definition: w3nmlgridmd.F90:208
w3nmlgridmd::read_excluded_nml
subroutine read_excluded_nml(NDSI, NML_EXCL_COUNT, NML_EXCL_POINT, NML_EXCL_BODY)
Definition: w3nmlgridmd.F90:2106
w3nmlgridmd::nml_curv_t
Definition: w3nmlgridmd.F90:110
w3nmlgridmd::nml_obst_t
Definition: w3nmlgridmd.F90:163
w3nmlgridmd::nml_unst_t
Definition: w3nmlgridmd.F90:118
w3nmlgridmd::read_spectrum_nml
subroutine read_spectrum_nml(NDSI, NML_SPECTRUM)
Definition: w3nmlgridmd.F90:499
w3nmlgridmd::read_rect_nml
subroutine read_rect_nml(NDSI, NML_RECT)
Definition: w3nmlgridmd.F90:930
w3nmlgridmd::report_grid_nml
subroutine report_grid_nml(NML_GRID)
Definition: w3nmlgridmd.F90:2672
w3nmlgridmd::report_outbound_nml
subroutine report_outbound_nml(NML_OUTBND_COUNT, NML_OUTBND_LINE)
Definition: w3nmlgridmd.F90:3892
w3nmlgridmd::read_sed_nml
subroutine read_sed_nml(NDSI, NML_SED)
Definition: w3nmlgridmd.F90:1862
w3nmlgridmd::read_curv_nml
subroutine read_curv_nml(NDSI, NML_CURV)
Definition: w3nmlgridmd.F90:1040
w3nmlgridmd::read_obst_nml
subroutine read_obst_nml(NDSI, NML_OBST)
Definition: w3nmlgridmd.F90:1641
w3servmd::extcde
subroutine extcde(IEXIT, UNIT, MSG, FILE, LINE, COMM)
Definition: w3servmd.F90:736
w3nmlgridmd::read_outbound_nml
subroutine read_outbound_nml(NDSI, NML_OUTBND_COUNT, NML_OUTBND_LINE)
Definition: w3nmlgridmd.F90:2266
w3nmlgridmd::nml_depth_t
Definition: w3nmlgridmd.F90:141
w3nmlgridmd::nml_inbnd_count_t
Definition: w3nmlgridmd.F90:196
w3nmlgridmd::ndsn
integer ndsn
Definition: w3nmlgridmd.F90:242
w3nmlgridmd::w3nmlgrid
subroutine w3nmlgrid(NDSI, INFILE, NML_SPECTRUM, NML_RUN, NML_TIMESTEPS, NML_GRID, NML_RECT, NML_CURV, NML_UNST, NML_SMC, NML_DEPTH, NML_MASK, NML_OBST, NML_SLOPE, NML_SED, NML_INBND_COUNT, NML_INBND_POINT, NML_EXCL_COUNT, NML_EXCL_POINT, NML_EXCL_BODY, NML_OUTBND_COUNT, NML_OUTBND_LINE, IERR)
Definition: w3nmlgridmd.F90:255
w3nmlgridmd::nml_mask_t
Definition: w3nmlgridmd.F90:152