-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathmpi_write.f90
114 lines (89 loc) · 1.99 KB
/
mpi_write.f90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
PROGRAM mpi_write
implicit none
integer,parameter :: nx=128,ny=129,nz=84
real(8),dimension(ny,NZ) :: FZ2_p,FY2_p,FZ2_n,FY2_n
real(8),dimension(nx,ny,nz) :: FX3_P,FZ3_P,FY3_P,FZ3_N,FY3_N
integer:: i,j,k,COUNT
open(1,file='matlab_data2.vrt')
do K=1,Nz
Do j=1,NY
READ(1,*) FZ2_p(J,K),FY2_p(J,K),FZ2_n(J,K),FY2_n(J,K)
enddo
enddo
CLOSE (1)
print*, maxval(FZ2_p)
DO I=1,NX
DO J=1,NY
DO K=1,NZ
FX3_P(I,J,K)=0.0
FY3_P(I,J,K)=FY2_P(J,K)
FZ3_P(I,J,K)=FZ2_P(J,K)
ENDDO
ENDDO
ENDDO
print*, maxval(FZ3_p)
OPEN(4,FILE='FY_p.dat')
close(4)
open(2,file='FZ_p.dat')
close(2)
OPEN(4,FILE='FY_N.dat')
close(4)
open(2,file='FZ_N.dat')
close(2)
OPEN(4,FILE='FY_p.dat',FORM='UNFORMATTED',ACCESS='DIRECT', RECL=8, STATUS='OLD')
COUNT = 1
DO K=1,nz
DO J=1,ny
DO I=1,nx
WRITE(4,REC=COUNT) FY3_P(I,J,K)
COUNT = COUNT + 1
ENDDO
ENDDO
ENDDO
CLOSE(4)
OPEN(4,FILE='FY_N.dat',FORM='UNFORMATTED',ACCESS='DIRECT', RECL=8, STATUS='OLD')
COUNT = 1
DO K=1,nz
DO J=1,ny
DO I=1,nx
WRITE(4,REC=COUNT) FY3_N(I,J,K)
COUNT = COUNT + 1
ENDDO
ENDDO
ENDDO
CLOSE(4)
OPEN(5,FILE='FZ_p.dat',FORM='UNFORMATTED',ACCESS='DIRECT', RECL=8, STATUS='OLD')
COUNT = 1
DO K=1,nz
DO J=1,ny
DO I=1,nx
WRITE(5,REC=COUNT) FZ3_P(I,J,K)
COUNT = COUNT + 1
ENDDO
ENDDO
ENDDO
CLOSE(5)
OPEN(5,FILE='FZ_N.dat',FORM='UNFORMATTED',ACCESS='DIRECT', RECL=8, STATUS='OLD')
COUNT = 1
DO K=1,nz
DO J=1,ny
DO I=1,nx
WRITE(5,REC=COUNT) FZ3_N(I,J,K)
COUNT = COUNT + 1
ENDDO
ENDDO
ENDDO
CLOSE(5)
OPEN(5,FILE='FZ.dat',FORM='UNFORMATTED',ACCESS='DIRECT', RECL=8, STATUS='OLD')
COUNT = 1
DO K=1,nz
DO J=1,ny
DO I=1,nx
read(5,REC=COUNT) FZ3_N(I,J,K)
COUNT = COUNT + 1
ENDDO
ENDDO
ENDDO
CLOSE(5)
print*, minval(FZ3_N-FZ3_p)
end PROGRAM mpi_write