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