WAVEWATCH III  beta 0.0.1
w3nmlounfmd.F90
Go to the documentation of this file.
1 #include "w3macros.h"
2 !/ ------------------------------------------------------------------- /
3 MODULE w3nmlounfmd
4  !/
5  !/ +-----------------------------------+
6  !/ | WAVEWATCH III NOAA/NCEP |
7  !/ | M. Accensi |
8  !/ | |
9  !/ | FORTRAN 90 |
10  !/ | Last update : 12-Jan-2021 |
11  !/ +-----------------------------------+
12  !/
13  !/ For updates see subroutines.
14  !/
15  ! 1. Purpose :
16  !
17  ! Manages namelists from configuration file ww3_ounf.nml for ww3_ounf program
18  !
19  !/ ------------------------------------------------------------------- /
20 
21  ! module defaults
22  IMPLICIT NONE
23 
24  PUBLIC
25 
26  ! field structure
28  CHARACTER(15) :: timestart
29  CHARACTER(15) :: timestride
30  CHARACTER(15) :: timecount
31  INTEGER :: timesplit
32  CHARACTER(1024) :: list
33  CHARACTER(15) :: partition
34  LOGICAL :: samefile
35  LOGICAL :: vector
36  INTEGER :: type
37  CHARACTER(15) :: timeref
38  LOGICAL :: fcvars
39  CHARACTER :: timevar
40  CHARACTER :: timeunit
41  CHARACTER(15) :: timeepoch
42  REAL :: noval
43  LOGICAL :: mapsta
44  END TYPE nml_field_t
45 
46  ! file structure
48  CHARACTER(30) :: prefix
49  INTEGER :: netcdf
50  INTEGER :: ix0
51  INTEGER :: ixn
52  INTEGER :: iy0
53  INTEGER :: iyn
54  END TYPE nml_file_t
55 
56  ! smc grid structure
57  TYPE nml_smc_t
58  INTEGER :: type
59  REAL :: sxo
60  REAL :: syo
61  REAL :: exo
62  REAL :: eyo
63  INTEGER :: celfac
64  END TYPE nml_smc_t
65 
66  ! miscellaneous
67  CHARACTER(256) :: msg
68  INTEGER :: ndsn
69 
70 
71 
72 
73 CONTAINS
74  !/ ------------------------------------------------------------------- /
75  SUBROUTINE w3nmlounf (NDSI, INFILE, NML_FIELD, NML_FILE, NML_SMC, IERR)
76  !/
77  !/ +-----------------------------------+
78  !/ | WAVEWATCH III NOAA/NCEP |
79  !/ | M. Accensi |
80  !/ | |
81  !/ | FORTRAN 90 |
82  !/ | Last update : 12-Jan-2021 |
83  !/ +-----------------------------------+
84  !/
85  !
86  ! 1. Purpose :
87  !
88  ! Reads all the namelist to define the output field
89  !
90  ! 2. Method :
91  !
92  ! See source term routines.
93  !
94  ! 3. Parameters :
95  !
96  ! Parameter list
97  ! ----------------------------------------------------------------
98  ! NDSI Int.
99  ! INFILE Char.
100  ! NML_FIELD type.
101  ! NML_FILE type.
102  ! NML_SMC type.
103  ! IERR Int.
104  ! ----------------------------------------------------------------
105  !
106  ! 4. Subroutines used :
107  !
108  ! Name TYPE Module Description
109  ! ----------------------------------------------------------------
110  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
111  ! READ_FIELD_NML
112  ! ----------------------------------------------------------------
113  !
114  ! 5. Called by :
115  !
116  ! Name TYPE Module Description
117  ! ----------------------------------------------------------------
118  ! WW3_OUNF Prog. N/A Postprocess output fields.
119  ! ----------------------------------------------------------------
120  !
121  ! 6. Error messages :
122  !
123  ! None.
124  !
125  ! 7. Remarks :
126  !
127  ! 8. Structure :
128  !
129  ! See source code.
130  !
131  ! 9. Switches :
132  !
133  ! 10. Source code :
134  !
135  !/ ------------------------------------------------------------------- /
136 
137  USE w3odatmd, ONLY: ndse
138 #ifdef W3_S
139  USE w3servmd, ONLY: strace
140 #endif
141 
142  IMPLICIT NONE
143 
144  INTEGER, INTENT(IN) :: NDSI
145  CHARACTER*(*), INTENT(IN) :: INFILE
146  TYPE(nml_field_t), INTENT(INOUT) :: NML_FIELD
147  TYPE(nml_file_t), INTENT(INOUT) :: NML_FILE
148  TYPE(nml_smc_t), INTENT(INOUT) :: NML_SMC
149  INTEGER, INTENT(OUT) :: IERR
150 #ifdef W3_S
151  INTEGER, SAVE :: IENT = 0
152 #endif
153 
154  ierr = 0
155 #ifdef W3_S
156  CALL strace (ient, 'W3NMLOUNF')
157 #endif
158 
159  ! open namelist log file
160  ndsn = 3
161  OPEN (ndsn, file=trim(infile)//'.log', form='formatted', iostat=ierr)
162  IF (ierr.NE.0) THEN
163  WRITE (ndse,'(A)') 'ERROR: open full nml file '//trim(infile)//'.log failed'
164  RETURN
165  END IF
166 
167  ! open input file
168  OPEN (ndsi, file=trim(infile), form='formatted', status='old', iostat=ierr)
169  IF (ierr.NE.0) THEN
170  WRITE (ndse,'(A)') 'ERROR: open input file '//trim(infile)//' failed'
171  RETURN
172  END IF
173 
174  ! read field namelist
175  CALL read_field_nml (ndsi, nml_field)
176  CALL report_field_nml (nml_field)
177 
178  ! read file namelist
179  CALL read_file_nml (ndsi, nml_file)
180  CALL report_file_nml (nml_file)
181 
182  ! read smc namelist
183  CALL read_smc_nml (ndsi, nml_smc)
184  CALL report_smc_nml (nml_smc)
185 
186  ! close namelist files
187  CLOSE (ndsi)
188  CLOSE (ndsn)
189 
190  END SUBROUTINE w3nmlounf
191 
192 
193  !/ ------------------------------------------------------------------- /
194 
195 
196 
197 
198 
199 
200  !/ ------------------------------------------------------------------- /
201 
202  SUBROUTINE read_field_nml (NDSI, NML_FIELD)
203  !/
204  !/ +-----------------------------------+
205  !/ | WAVEWATCH III NOAA/NCEP |
206  !/ | M. Accensi |
207  !/ | |
208  !/ | FORTRAN 90 |
209  !/ | Last update : 12-Jan-2021 |
210  !/ +-----------------------------------+
211  !/
212  ! 1. Purpose :
213  !
214  !
215  ! 2. Method :
216  !
217  ! See source term routines.
218  !
219  ! 3. Parameters :
220  !
221  ! Parameter list
222  ! ----------------------------------------------------------------
223  ! NDSI Int.
224  ! NML_FIELD Type.
225  ! ----------------------------------------------------------------
226  !
227  ! 4. Subroutines used :
228  !
229  ! Name TYPE Module Description
230  ! ----------------------------------------------------------------
231  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
232  ! ----------------------------------------------------------------
233  !
234  ! 5. Called by :
235  !
236  ! Name TYPE Module Description
237  ! ----------------------------------------------------------------
238  ! W3NMLOUNF Subr. N/A Namelist configuration routine.
239  ! ----------------------------------------------------------------
240  !
241  ! 6. Error messages :
242  !
243  ! None.
244  !
245  ! 7. Remarks :
246  !
247  ! 8. Structure :
248  !
249  ! See source code.
250  !
251  ! 9. Switches :
252  !
253  ! 10. Source code :
254  !
255  !/ ------------------------------------------------------------------- /
256 
257  USE w3odatmd, ONLY: ndse
258  USE w3servmd, ONLY: extcde
259 #ifdef W3_S
260  USE w3servmd, ONLY: strace
261 #endif
262  USE constants, ONLY: undef
263 
264  IMPLICIT NONE
265 
266  INTEGER, INTENT(IN) :: NDSI
267  TYPE(nml_field_t), INTENT(INOUT) :: NML_FIELD
268 
269  ! locals
270  INTEGER :: IERR
271  TYPE(nml_field_t) :: FIELD
272  namelist /field_nml/ field
273 #ifdef W3_S
274  INTEGER, SAVE :: IENT = 0
275 #endif
276 
277  ierr = 0
278 #ifdef W3_S
279  CALL strace (ient, 'READ_FIELD_NML')
280 #endif
281 
282  ! set default values for field structure
283  field%TIMESTART = '19000101 000000'
284  field%TIMESTRIDE = '0'
285  field%TIMECOUNT = '1000000000'
286  field%TIMESPLIT = 6
287  field%LIST = 'unset'
288  field%PARTITION = '0 1 2 3'
289  field%SAMEFILE = .true.
290  field%VECTOR = .true.
291  field%TYPE = 3
292  field%TIMEREF = 'unset'
293  field%FCVARS = .false.
294  field%TIMEVAR = 'D'
295  field%TIMEUNIT = 'D'
296  field%TIMEEPOCH = '19900101 000000'
297  field%NOVAL = undef
298  field%MAPSTA = .true.
299 
300  ! read field namelist
301  rewind(ndsi)
302  READ (ndsi, nml=field_nml, iostat=ierr, iomsg=msg)
303  IF (ierr.NE.0) THEN
304  WRITE (ndse,'(A,/A)') &
305  'ERROR: READ_FIELD_NML: namelist read error', &
306  'ERROR: '//trim(msg)
307  CALL extcde (1)
308  END IF
309 
310  ! Default forecast reference time to start time
311  IF(field%TIMEREF == 'unset') field%TIMEREF = field%TIMESTART
312 
313  ! save namelist
314  nml_field = field
315 
316  END SUBROUTINE read_field_nml
317 
318  !/ ------------------------------------------------------------------- /
319 
320 
321 
322  !/ ------------------------------------------------------------------- /
323 
324  SUBROUTINE read_file_nml (NDSI, NML_FILE)
325  !/
326  !/ +-----------------------------------+
327  !/ | WAVEWATCH III NOAA/NCEP |
328  !/ | M. Accensi |
329  !/ | |
330  !/ | FORTRAN 90 |
331  !/ | Last update : 15-May-2018 |
332  !/ +-----------------------------------+
333  !/
334  ! 1. Purpose :
335  !
336  !
337  ! 2. Method :
338  !
339  ! See source term routines.
340  !
341  ! 3. Parameters :
342  !
343  ! Parameter list
344  ! ----------------------------------------------------------------
345  ! NDSI Int.
346  ! NML_FILE Type.
347  ! ----------------------------------------------------------------
348  !
349  ! 4. Subroutines used :
350  !
351  ! Name TYPE Module Description
352  ! ----------------------------------------------------------------
353  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
354  ! ----------------------------------------------------------------
355  !
356  ! 5. Called by :
357  !
358  ! Name TYPE Module Description
359  ! ----------------------------------------------------------------
360  ! W3NMLOUNF Subr. N/A Namelist configuration routine.
361  ! ----------------------------------------------------------------
362  !
363  ! 6. Error messages :
364  !
365  ! None.
366  !
367  ! 7. Remarks :
368  !
369  ! 8. Structure :
370  !
371  ! See source code.
372  !
373  ! 9. Switches :
374  !
375  ! 10. Source code :
376  !
377  !/ ------------------------------------------------------------------- /
378 
379  USE w3odatmd, ONLY: ndse
380  USE w3servmd, ONLY: extcde
381 #ifdef W3_S
382  USE w3servmd, ONLY: strace
383 #endif
384 
385  IMPLICIT NONE
386 
387  INTEGER, INTENT(IN) :: NDSI
388  TYPE(nml_file_t), INTENT(INOUT) :: NML_FILE
389 
390  ! locals
391  INTEGER :: IERR
392  TYPE(nml_file_t) :: FILE
393  namelist /file_nml/ file
394 #ifdef W3_S
395  INTEGER, SAVE :: IENT = 0
396 #endif
397 
398  ierr = 0
399 #ifdef W3_S
400  CALL strace (ient, 'READ_FILE_NML')
401 #endif
402 
403  ! set default values for file structure
404  file%PREFIX = 'ww3.'
405  file%NETCDF = 3
406  file%IX0 = 1
407  file%IXN = 1000000000
408  file%IY0 = 1
409  file%IYN = 1000000000
410 
411  ! read file namelist
412  rewind(ndsi)
413  READ (ndsi, nml=file_nml, iostat=ierr, iomsg=msg)
414  IF (ierr.GT.0) THEN
415  WRITE (ndse,'(A,/A)') &
416  'ERROR: READ_FILE_NML: namelist read error', &
417  'ERROR: '//trim(msg)
418  CALL extcde (2)
419  END IF
420 
421  ! save namelist
422  nml_file = file
423 
424  END SUBROUTINE read_file_nml
425 
426  !/ ------------------------------------------------------------------- /
427 
428 
429 
430  !/ ------------------------------------------------------------------- /
431 
432  SUBROUTINE read_smc_nml (NDSI, NML_SMC)
433  !/
434  !/ +-----------------------------------+
435  !/ | WAVEWATCH III NOAA/NCEP |
436  !/ | M. Accensi |
437  !/ | |
438  !/ | FORTRAN 90 |
439  !/ | Last update : 19-Sep-2018 |
440  !/ +-----------------------------------+
441  !/
442  ! 1. Purpose :
443  !
444  !
445  ! 2. Method :
446  !
447  ! See source term routines.
448  !
449  ! 3. Parameters :
450  !
451  ! Parameter list
452  ! ----------------------------------------------------------------
453  ! NDSI Int.
454  ! NML_SMC Type.
455  ! ----------------------------------------------------------------
456  !
457  ! 4. Subroutines used :
458  !
459  ! Name TYPE Module Description
460  ! ----------------------------------------------------------------
461  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
462  ! ----------------------------------------------------------------
463  !
464  ! 5. Called by :
465  !
466  ! Name TYPE Module Description
467  ! ----------------------------------------------------------------
468  ! W3NMLOUNF Subr. N/A Namelist configuration routine.
469  ! ----------------------------------------------------------------
470  !
471  ! 6. Error messages :
472  !
473  ! None.
474  !
475  ! 7. Remarks :
476  !
477  ! 8. Structure :
478  !
479  ! See source code.
480  !
481  ! 9. Switches :
482  !
483  ! 10. Source code :
484  !
485  !/ ------------------------------------------------------------------- /
486 
487  USE w3odatmd, ONLY: ndse
488  USE w3servmd, ONLY: extcde
489 #ifdef W3_S
490  USE w3servmd, ONLY: strace
491 #endif
492 
493  IMPLICIT NONE
494 
495  INTEGER, INTENT(IN) :: NDSI
496  TYPE(nml_smc_t), INTENT(INOUT) :: NML_SMC
497 
498  ! locals
499  INTEGER :: IERR
500  TYPE(nml_smc_t) :: SMC
501  namelist /smc_nml/ smc
502 #ifdef W3_S
503  INTEGER, SAVE :: IENT = 0
504 #endif
505 
506  ierr = 0
507 #ifdef W3_S
508  CALL strace (ient, 'READ_SMC_NML')
509 #endif
510 
511  ! set default values for smc structure
512  smc%SXO = -999.9
513  smc%SYO = -999.9
514  smc%EXO = -999.9
515  smc%EYO = -999.9
516  smc%CELFAC = 1
517  smc%TYPE = 1
518 
519  ! read smc namelist
520  rewind(ndsi)
521  READ (ndsi, nml=smc_nml, iostat=ierr, iomsg=msg)
522  IF (ierr.GT.0) THEN
523  WRITE (ndse,'(A,/A)') &
524  'ERROR: READ_SMC_NML: namelist read error', &
525  'ERROR: '//trim(msg)
526  CALL extcde (3)
527  END IF
528 
529  ! save namelist
530  nml_smc = smc
531 
532  END SUBROUTINE read_smc_nml
533 
534  !/ ------------------------------------------------------------------- /
535 
536 
537 
538 
539 
540  !/ ------------------------------------------------------------------- /
541 
542  SUBROUTINE report_field_nml (NML_FIELD)
543  !/
544  !/ +-----------------------------------+
545  !/ | WAVEWATCH III NOAA/NCEP |
546  !/ | M. Accensi |
547  !/ | FORTRAN 90 |
548  !/ | Last update : 15-May-2018 |
549  !/ +-----------------------------------+
550  !/
551  !/
552  ! 1. Purpose :
553  !
554  !
555  ! 2. Method :
556  !
557  ! See source term routines.
558  !
559  ! 3. Parameters :
560  !
561  ! Parameter list
562  ! ----------------------------------------------------------------
563  ! NML_FIELD Type.
564  ! ----------------------------------------------------------------
565  !
566  ! 4. Subroutines used :
567  !
568  ! Name TYPE Module Description
569  ! ----------------------------------------------------------------
570  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
571  ! ----------------------------------------------------------------
572  !
573  ! 5. Called by :
574  !
575  ! Name TYPE Module Description
576  ! ----------------------------------------------------------------
577  ! W3NMLOUNF Subr. N/A Namelist configuration routine.
578  ! ----------------------------------------------------------------
579  !
580  ! 6. Error messages :
581  !
582  ! None.
583  !
584  ! 7. Remarks :
585  !
586  ! 8. Structure :
587  !
588  ! See source code.
589  !
590  ! 9. Switches :
591  !
592  ! 10. Source code :
593  !
594  !/ ------------------------------------------------------------------- /
595 
596 #ifdef W3_S
597  USE w3servmd, ONLY: strace
598 #endif
599 
600  IMPLICIT NONE
601 
602  TYPE(nml_field_t), INTENT(IN) :: NML_FIELD
603 #ifdef W3_S
604  INTEGER, SAVE :: IENT = 0
605 #endif
606 
607 #ifdef W3_S
608  CALL strace (ient, 'REPORT_FIELD_NML')
609 #endif
610 
611  WRITE (msg,'(A)') 'FIELD % '
612  WRITE (ndsn,'(A)')
613  WRITE (ndsn,10) trim(msg),'TIMESTART = ', trim(nml_field%TIMESTART)
614  WRITE (ndsn,10) trim(msg),'TIMESTRIDE = ', trim(nml_field%TIMESTRIDE)
615  WRITE (ndsn,10) trim(msg),'TIMECOUNT = ', trim(nml_field%TIMECOUNT)
616 
617  WRITE (ndsn,11) trim(msg),'TIMESPLIT = ', nml_field%TIMESPLIT
618  WRITE (ndsn,10) trim(msg),'LIST = ', trim(nml_field%LIST)
619  WRITE (ndsn,10) trim(msg),'PARTITION = ', trim(nml_field%PARTITION)
620  WRITE (ndsn,13) trim(msg),'SAMEFILE = ', nml_field%SAMEFILE
621  WRITE (ndsn,11) trim(msg),'TYPE = ', nml_field%TYPE
622  WRITE (ndsn,10) trim(msg),'FCVARS = ', nml_field%FCVARS
623  WRITE (ndsn,10) trim(msg),'TIMEREF = ', nml_field%TIMEREF
624  WRITE (ndsn,14) trim(msg),'NOVAL = ', nml_field%NOVAL
625  WRITE (ndsn,13) trim(msg),'MAPSTA = ', nml_field%MAPSTA
626 
627 
628 10 FORMAT (a,2x,a,a)
629 11 FORMAT (a,2x,a,i8)
630 13 FORMAT (a,2x,a,l1)
631 14 FORMAT (a,2x,a,f8.2)
632 
633  END SUBROUTINE report_field_nml
634 
635  !/ ------------------------------------------------------------------- /
636 
637 
638 
639 
640 
641 
642  !/ ------------------------------------------------------------------- /
643 
644  SUBROUTINE report_file_nml (NML_FILE)
645  !/
646  !/ +-----------------------------------+
647  !/ | WAVEWATCH III NOAA/NCEP |
648  !/ | M. Accensi |
649  !/ | FORTRAN 90 |
650  !/ | Last update : 15-May-2018 |
651  !/ +-----------------------------------+
652  !/
653  !/
654  ! 1. Purpose :
655  !
656  !
657  ! 2. Method :
658  !
659  ! See source term routines.
660  !
661  ! 3. Parameters :
662  !
663  ! Parameter list
664  ! ----------------------------------------------------------------
665  ! NML_FILE Type.
666  ! ----------------------------------------------------------------
667  !
668  ! 4. Subroutines used :
669  !
670  ! Name TYPE Module Description
671  ! ----------------------------------------------------------------
672  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
673  ! ----------------------------------------------------------------
674  !
675  ! 5. Called by :
676  !
677  ! Name TYPE Module Description
678  ! ----------------------------------------------------------------
679  ! W3NMLOUNF Subr. N/A Namelist configuration routine.
680  ! ----------------------------------------------------------------
681  !
682  ! 6. Error messages :
683  !
684  ! None.
685  !
686  ! 7. Remarks :
687  !
688  ! 8. Structure :
689  !
690  ! See source code.
691  !
692  ! 9. Switches :
693  !
694  ! 10. Source code :
695  !
696  !/ ------------------------------------------------------------------- /
697 
698 #ifdef W3_S
699  USE w3servmd, ONLY: strace
700 #endif
701 
702  IMPLICIT NONE
703 
704  TYPE(nml_file_t), INTENT(IN) :: NML_FILE
705 #ifdef W3_S
706  INTEGER, SAVE :: IENT = 0
707 #endif
708 
709 #ifdef W3_S
710  CALL strace (ient, 'REPORT_FILE_NML')
711 #endif
712 
713  WRITE (msg,'(A)') 'FILE % '
714  WRITE (ndsn,'(A)')
715  WRITE (ndsn,10) trim(msg),'PREFIX = ', trim(nml_file%PREFIX)
716  WRITE (ndsn,11) trim(msg),'NETCDF = ', nml_file%NETCDF
717  WRITE (ndsn,11) trim(msg),'IX0 = ', nml_file%IX0
718  WRITE (ndsn,11) trim(msg),'IXN = ', nml_file%IXN
719  WRITE (ndsn,11) trim(msg),'IY0 = ', nml_file%IY0
720  WRITE (ndsn,11) trim(msg),'IYN = ', nml_file%IYN
721 
722 10 FORMAT (a,2x,a,a)
723 11 FORMAT (a,2x,a,i12)
724 
725  END SUBROUTINE report_file_nml
726 
727  !/ ------------------------------------------------------------------- /
728 
729 
730  !/ ------------------------------------------------------------------- /
731 
732  SUBROUTINE report_smc_nml (NML_SMC)
733  !/
734  !/ +-----------------------------------+
735  !/ | WAVEWATCH III NOAA/NCEP |
736  !/ | M. Accensi |
737  !/ | FORTRAN 90 |
738  !/ | Last update : 19-Sep-2018 |
739  !/ +-----------------------------------+
740  !/
741  !/
742  ! 1. Purpose :
743  !
744  !
745  ! 2. Method :
746  !
747  ! See source term routines.
748  !
749  ! 3. Parameters :
750  !
751  ! Parameter list
752  ! ----------------------------------------------------------------
753  ! NML_SMC Type.
754  ! ----------------------------------------------------------------
755  !
756  ! 4. Subroutines used :
757  !
758  ! Name TYPE Module Description
759  ! ----------------------------------------------------------------
760  ! STRACE Subr. W3SERVMD SUBROUTINE tracing.
761  ! ----------------------------------------------------------------
762  !
763  ! 5. Called by :
764  !
765  ! Name TYPE Module Description
766  ! ----------------------------------------------------------------
767  ! W3NMLOUNF Subr. N/A Namelist configuration routine.
768  ! ----------------------------------------------------------------
769  !
770  ! 6. Error messages :
771  !
772  ! None.
773  !
774  ! 7. Remarks :
775  !
776  ! 8. Structure :
777  !
778  ! See source code.
779  !
780  ! 9. Switches :
781  !
782  ! 10. Source code :
783  !
784  !/ ------------------------------------------------------------------- /
785 
786 #ifdef W3_S
787  USE w3servmd, ONLY: strace
788 #endif
789 
790  IMPLICIT NONE
791 
792  TYPE(nml_smc_t), INTENT(IN) :: NML_SMC
793 #ifdef W3_S
794  INTEGER, SAVE :: IENT = 0
795 #endif
796 
797 #ifdef W3_S
798  CALL strace (ient, 'REPORT_SMC_NML')
799 #endif
800 
801  WRITE (msg,'(A)') 'SMC % '
802  WRITE (ndsn,'(A)')
803  WRITE (ndsn,11) trim(msg),'TYPE = ', nml_smc%TYPE
804  WRITE (ndsn,14) trim(msg),'SXO = ', nml_smc%SXO
805  WRITE (ndsn,14) trim(msg),'SYO = ', nml_smc%SYO
806  WRITE (ndsn,14) trim(msg),'EXO = ', nml_smc%EXO
807  WRITE (ndsn,14) trim(msg),'EYO = ', nml_smc%EYO
808  WRITE (ndsn,11) trim(msg),'CELFAC = ', nml_smc%CELFAC
809 
810 11 FORMAT (a,2x,a,i12)
811 14 FORMAT (a,2x,a,f8.2)
812 
813  END SUBROUTINE report_smc_nml
814 
815  !/ ------------------------------------------------------------------- /
816 
817 
818 
819 
820 END MODULE w3nmlounfmd
821 
822 !/ ------------------------------------------------------------------- /
w3nmlounfmd::msg
character(256) msg
Definition: w3nmlounfmd.F90:67
w3nmlounfmd::ndsn
integer ndsn
Definition: w3nmlounfmd.F90:68
w3nmlounfmd::read_file_nml
subroutine read_file_nml(NDSI, NML_FILE)
Definition: w3nmlounfmd.F90:325
w3nmlounfmd
Definition: w3nmlounfmd.F90:3
w3odatmd::ndse
integer, pointer ndse
Definition: w3odatmd.F90:456
w3servmd
Definition: w3servmd.F90:3
w3nmlounfmd::read_field_nml
subroutine read_field_nml(NDSI, NML_FIELD)
Definition: w3nmlounfmd.F90:203
w3nmlounfmd::report_smc_nml
subroutine report_smc_nml(NML_SMC)
Definition: w3nmlounfmd.F90:733
w3odatmd
Definition: w3odatmd.F90:3
file
file(STRINGS ${CMAKE_BINARY_DIR}/switch switch_strings) separate_arguments(switches UNIX_COMMAND $
Definition: CMakeLists.txt:3
w3nmlounfmd::nml_field_t
Definition: w3nmlounfmd.F90:27
w3nmlounfmd::nml_smc_t
Definition: w3nmlounfmd.F90:57
w3servmd::strace
subroutine strace(IENT, SNAME)
Definition: w3servmd.F90:148
w3nmlounfmd::read_smc_nml
subroutine read_smc_nml(NDSI, NML_SMC)
Definition: w3nmlounfmd.F90:433
w3nmlounfmd::report_file_nml
subroutine report_file_nml(NML_FILE)
Definition: w3nmlounfmd.F90:645
w3nmlounfmd::report_field_nml
subroutine report_field_nml(NML_FIELD)
Definition: w3nmlounfmd.F90:543
constants
Define some much-used constants for global use (all defined as PARAMETER).
Definition: constants.F90:20
w3nmlounfmd::w3nmlounf
subroutine w3nmlounf(NDSI, INFILE, NML_FIELD, NML_FILE, NML_SMC, IERR)
Definition: w3nmlounfmd.F90:76
w3nmlounfmd::nml_file_t
Definition: w3nmlounfmd.F90:47
w3servmd::extcde
subroutine extcde(IEXIT, UNIT, MSG, FILE, LINE, COMM)
Definition: w3servmd.F90:736
constants::undef
real undef
UNDEF Value for undefined variable in output.
Definition: constants.F90:84