| 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 |