File: RELATIVE:/../../../mfix.git/model/funits_mod.f
1 MODULE FUNITS
2
3
4
5
6 LOGICAL :: DMP_LOG
7
8
9 LOGICAL :: LOG_WAS_CLOSED = .FALSE.
10
11
12 INTEGER, PARAMETER :: UNIT_RRATES = 43
13
14
15 INTEGER, PARAMETER :: UNIT_DAT = 51
16
17
18 INTEGER, PARAMETER :: UNIT_OUT = 52
19
20
21 INTEGER, PARAMETER :: UNIT_LOG = 53
22
23
24 INTEGER, PARAMETER :: UNIT_TMP = 54
25
26
27 INTEGER, PARAMETER :: UNIT_RES = 55
28
29
30 INTEGER, PARAMETER :: UNIT_SPX = 60
31
32 CONTAINS
33
34
35
36
37
38
39
40
41
42
43
44
45 INTEGER FUNCTION newunit(unit)
46 IMPLICIT NONE
47
48
49 INTEGER, INTENT(OUT), OPTIONAL :: unit
50
51 INTEGER, PARAMETER :: lun_min = 100, lun_max= 999
52
53 LOGICAL :: is_open
54
55 INTEGER :: lun
56
57 newunit = -1
58
59 DO lun = lun_min, lun_max
60 INQUIRE(UNIT=lun, OPENED=is_open)
61 IF(.NOT.is_open) THEN
62 newunit = lun
63 EXIT
64 END IF
65 END DO
66
67 IF(present(unit)) unit=newunit
68
69 RETURN
70 END FUNCTION NEWUNIT
71
72
73
74
75
76
77
78
79
80 SUBROUTINE CREATE_DIR(PDIR)
81
82 use compar, only: myPE, PE_IO
83
84 IMPLICIT NONE
85
86 CHARACTER(LEN=*), INTENT(IN) :: pDIR
87
88 CHARACTER(LEN=256) :: CMD
89 INTEGER :: IOS
90 INTEGER, PARAMETER :: tUNIT = 9638
91
92 IF(myPE /= PE_IO) RETURN
93
94 OPEN(FILE=trim(pDIR)//'/tmp',UNIT=tUNIT,STATUS='NEW',IOSTAT=IOS)
95
96 IF(IOS == 0 )THEN
97 write(*,*) 'The directory already exists.'
98 close(tUNIT)
99 WRITE(CMD,"('rm ',A,'/tmp')")adjustl(trim(pDIR))
100 CALL SYSTEM(trim(CMD))
101 ELSE
102 write(*,*) 'Creating the directory.'
103 WRITE(CMD,"('mkdir ',A)")pDIR
104 CALL SYSTEM(trim(CMD))
105 ENDIF
106
107 RETURN
108 END SUBROUTINE CREATE_DIR
109
110
111 END MODULE FUNITS
112