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 ! Generate log files when negative gas density is detected. 37 LOGICAL :: REPORT_NEG_DENSITY 38 ! Generate log files when negative specific heat is detected. 39 LOGICAL :: REPORT_NEG_SPECIFICHEAT 40 41 42 ! Time at which special output is to be written 43 DOUBLE PRECISION :: USR_TIME(DIMENSION_USR) 44 ! Time at which restart file is to be written 45 DOUBLE PRECISION :: RES_TIME 46 ! Time at which restart backup file is to be written 47 DOUBLE PRECISION :: RES_BACKUP_TIME 48 ! Time at which REAL restart file is to be written 49 DOUBLE PRECISION :: SPX_TIME(N_SPX) 50 ! Time at which standard output is to be written 51 DOUBLE PRECISION :: OUT_TIME 52 53 ! The approximate amount (in MB) of space needed to write 54 ! one time step of data into the indexed SPX file. 55 DOUBLE PRECISION :: DISK(N_SPX) = 0.0d0 56 ! The approximated total disk space (in MB) 57 DOUBLE PRECISION :: DISK_TOT = 0.0d0 58 ! One megabite (MB) 59 DOUBLE PRECISION, PARAMETER :: ONEMEG = 1048576 60 61 ! The following have no direct usage in the code. They are generic 62 ! hooks wereby a user can specify some information. It may be useful 63 ! to have the USR_I/J/K variables calculated in a check routine 64 ! the same way that coordinates for BCs, ICs, PSs, are calculated. 65 !--------------------------------------------------------------------// 66 ! X coordinate of the west face of user output region 67 DOUBLE PRECISION :: USR_X_w (DIMENSION_USR) 68 ! X coordinate of the east face of user output region 69 DOUBLE PRECISION :: USR_X_e (DIMENSION_USR) 70 ! Y coordinate of the south face of user output region 71 DOUBLE PRECISION :: USR_Y_s (DIMENSION_USR) 72 ! Y coordinate of the north face of user output region 73 DOUBLE PRECISION :: USR_Y_n (DIMENSION_USR) 74 ! Z coordinate of the bottom face of user output region 75 DOUBLE PRECISION :: USR_Z_b (DIMENSION_USR) 76 ! Z coordinate of the top face of user output region 77 DOUBLE PRECISION :: USR_Z_t (DIMENSION_USR) 78 ! I index of the west face of user output region 79 INTEGER :: USR_I_w (DIMENSION_USR) 80 ! I index of the east face of user output region 81 INTEGER :: USR_I_e (DIMENSION_USR) 82 ! J index of the south face of user output region 83 INTEGER :: USR_J_s (DIMENSION_USR) 84 ! J index of the north face of user output region 85 INTEGER :: USR_J_n (DIMENSION_USR) 86 ! K index of the bottom face of user output region 87 INTEGER :: USR_K_b (DIMENSION_USR) 88 ! K index of the top face of user output region 89 INTEGER :: USR_K_t (DIMENSION_USR) 90 ! Type of user-defined output: BINARY or ASCII. 91 CHARACTER(LEN=6) :: USR_TYPE (DIMENSION_USR) 92 ! Variables to be written in the user-defined output file. 93 CHARACTER(LEN=60) :: USR_VAR (DIMENSION_USR) 94 ! Format for writing user-defined (ASCII) output file. 95 CHARACTER(LEN=60) :: USR_FORMAT (DIMENSION_USR) 96 ! Extension for the user-defined output file. 97 CHARACTER(LEN=16) :: USR_EXT (DIMENSION_USR) 98 99 100 END MODULE output 101