1 |
edhill |
1.1 |
global Nx Ny Nz |
2 |
|
|
global dx dy lat long |
3 |
|
|
global dz depth |
4 |
|
|
global delt iteration it |
5 |
|
|
global descriptor |
6 |
|
|
global this_path |
7 |
|
|
global g Cp rho_bar alpha |
8 |
|
|
global f0 B0 Q0 beta r_heat r_expt H |
9 |
|
|
global u v w t |
10 |
|
|
|
11 |
|
|
param_file_name = 'datadonut'; |
12 |
|
|
feval(param_file_name) ; |
13 |
|
|
|
14 |
|
|
iteration |
15 |
|
|
|
16 |
|
|
it = input(' Please enter iteration : ') |
17 |
|
|
|
18 |
|
|
path = this_path |
19 |
|
|
eval(['cd ' path '/it',int2str(it)]); |
20 |
|
|
path=pwd |
21 |
|
|
|
22 |
|
|
fprintf(1,' Reading output ... \n') ; |
23 |
|
|
|
24 |
|
|
tfn='theta.sun.b'; |
25 |
|
|
ufn='u.sun.b'; |
26 |
|
|
vfn='v.sun.b'; |
27 |
|
|
|
28 |
|
|
% T (m/s) |
29 |
|
|
t=Readmodel(tfn,[Nx Ny Nz],'float32'); |
30 |
|
|
t=Extract([3 Nx Ny Nz t(5:4+Nx*Ny*Nz)],[1 Nx 1 Ny 1 Nz]); |
31 |
|
|
t=reshape(t,Nx,Ny,Nz); |
32 |
|
|
|
33 |
|
|
% U (m/s) |
34 |
|
|
u=Readmodel(ufn,[Nx Ny Nz],'float32'); |
35 |
|
|
u=Extract([3 Nx Ny Nz u(5:4+Nx*Ny*Nz)],[1 Nx 1 Ny 1 Nz]); |
36 |
|
|
u=reshape(u,Nx,Ny,Nz); |
37 |
|
|
|
38 |
|
|
% V (m/s) |
39 |
|
|
v=Readmodel(vfn,[Nx Ny Nz],'float32'); |
40 |
|
|
v=Extract([3 Nx Ny Nz v(5:4+Nx*Ny*Nz)],[1 Nx 1 Ny 1 Nz]); |
41 |
|
|
v=reshape(v,Nx,Ny,Nz); |
42 |
|
|
|
43 |
|
|
% W (m/s) |
44 |
|
|
|
45 |
|
|
w=zeros(Nx,Ny,Nz+1); |
46 |
|
|
|
47 |
|
|
for k=Nz:-1:1, |
48 |
|
|
w(1:Nx-1,1:Ny-1,k)= w(1:Nx-1,1:Ny-1,k+1)... |
49 |
|
|
-u(2:Nx,1:Ny-1,k)*dz(k)/dx +u(1:Nx-1,1:Ny-1,k)*dz(k)/dx ... |
50 |
|
|
-v(1:Nx-1,2:Ny,k)*dz(k)/dy +v(1:Nx-1,1:Ny-1,k)*dz(k)/dy ; |
51 |
|
|
end |
52 |
|
|
|
53 |
|
|
return |