File: RELATIVE:/../../../mfix.git/model/output_mod.f

1     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv!
2     !                                                                      !
3     !  Module: output                                                      !
4     !  Author: M. Syamlal                                 Date: dd-mmm-yy  !
5     !                                                                      !
6     !  Purpose: Contain data for output control.                           !
7     !                                                                      !
8     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!
9           MODULE output
10     
11           use param, only: DIMENSION_USR
12           use param1, only: N_SPX
13     
14     ! Interval at which restart (.RES) file data is updated.
15           DOUBLE PRECISION :: RES_DT
16     ! Interval to create a backup copy of the RES file.
17           DOUBLE PRECISION :: RES_BACKUP_DT
18     ! Number of RES file copies to retain.
19           INTEGER :: RES_BACKUPS
20     ! Interval at which REAL restart (.SPx) files data are updated.
21           DOUBLE PRECISION :: SPX_DT(N_SPX)
22     ! Interval at which standard output (.OUT) file data is updated.
23           DOUBLE PRECISION :: OUT_DT
24     ! Interval at which user-defined output files are updated.
25           DOUBLE PRECISION :: USR_DT (DIMENSION_USR)
26     ! Interval to check and report the mass balance
27           DOUBLE PRECISION :: REPORT_MASS_BALANCE_DT
28     ! Interval in number of time steps at which LOG file is written
29           INTEGER :: NLOG
30     ! Flag to display messages and residuals on the screen
31           LOGICAL :: FULL_LOG
32     ! Flag to enable all ranks to write private LOG files.
33           LOGICAL :: ENABLE_DMP_LOG
34     ! Flag to print the index layout for  ijk<=>i,j,k  debugging tasks
35           LOGICAL :: DBGPRN_LAYOUT
36     
37     ! Time at which special output is to be written
38           DOUBLE PRECISION :: USR_TIME(DIMENSION_USR)
39     ! Time at which restart file is to be written
40           DOUBLE PRECISION :: RES_TIME
41     ! Time at which restart backup file is to be written
42           DOUBLE PRECISION :: RES_BACKUP_TIME
43     ! Time at which REAL restart file is to be written
44           DOUBLE PRECISION :: SPX_TIME(N_SPX)
45     ! Time at which standard output is to be written
46           DOUBLE PRECISION :: OUT_TIME
47     
48     ! The approximate amount (in MB) of space needed to write
49     ! one time step of data into the indexed SPX file.
50           DOUBLE PRECISION :: DISK(N_SPX) = 0.0d0
51     ! The approximated total disk space (in MB)
52           DOUBLE PRECISION :: DISK_TOT = 0.0d0
53     ! One megabite (MB)
54           DOUBLE PRECISION, PARAMETER :: ONEMEG = 1048576
55     
56     ! The following have no direct usage in the code. They are generic
57     ! hooks wereby a user can specify some information. It may be useful
58     ! to have the USR_I/J/K variables calculated in a check routine
59     ! the same way that coordinates for BCs, ICs, PSs, are calculated.
60     !--------------------------------------------------------------------//
61     ! X coordinate of the west face of user output region
62           DOUBLE PRECISION :: USR_X_w (DIMENSION_USR)
63     ! X coordinate of the east face of user output region
64           DOUBLE PRECISION :: USR_X_e (DIMENSION_USR)
65     ! Y coordinate of the south face of user output region
66           DOUBLE PRECISION :: USR_Y_s (DIMENSION_USR)
67     ! Y coordinate of the north face of user output region
68           DOUBLE PRECISION :: USR_Y_n (DIMENSION_USR)
69     ! Z coordinate of the bottom face of user output region
70           DOUBLE PRECISION :: USR_Z_b (DIMENSION_USR)
71     ! Z coordinate of the top face of user output region
72           DOUBLE PRECISION :: USR_Z_t (DIMENSION_USR)
73     ! I index of the west face of user output region
74           INTEGER :: USR_I_w (DIMENSION_USR)
75     ! I index of the east face of user output region
76           INTEGER :: USR_I_e (DIMENSION_USR)
77     ! J index of the south face of user output region
78           INTEGER :: USR_J_s (DIMENSION_USR)
79     ! J index of the north face of user output region
80           INTEGER :: USR_J_n (DIMENSION_USR)
81     ! K index of the bottom face of user output region
82           INTEGER :: USR_K_b (DIMENSION_USR)
83     ! K index of the top face of user output region
84           INTEGER :: USR_K_t (DIMENSION_USR)
85     ! Type of user-defined output: BINARY or ASCII.
86           CHARACTER(LEN=6) :: USR_TYPE (DIMENSION_USR)
87     ! Variables to be written in the user-defined output file.
88           CHARACTER(LEN=60) :: USR_VAR (DIMENSION_USR)
89     ! Format for writing user-defined (ASCII) output file.
90           CHARACTER(LEN=60) :: USR_FORMAT (DIMENSION_USR)
91     ! Extension for the user-defined output file.
92           CHARACTER(LEN=16) :: USR_EXT (DIMENSION_USR)
93     
94     
95           END MODULE output
96