1 |
gforget |
1.1 |
|
2 |
|
|
if userStep==1;%diags to be computed |
3 |
|
|
listDiags=['THETA SALT SIatmQnt SIatmFW oceQnet oceFWflx fldTZ fldTM curlTau fldETAN fldETANLEADS fldMLD']; |
4 |
|
|
elseif userStep==2;%input files and variables |
5 |
|
|
listFlds={ 'THETA','SALT','SIatmQnt','SIatmFW ','oceQnet ','oceFWflx','oceTAUX','oceTAUY','ETAN','sIceLoad','MXLDEPTH'}; |
6 |
|
|
listFldsNames=deblank(listFlds); |
7 |
|
|
listFiles={'state_3d_set1','state_2d_set1','other_2d_set1'}; |
8 |
|
|
listSubdirs={[dirModel 'diags/OTHER/' ],[dirModel 'diags/STATE/' ]}; |
9 |
|
|
elseif userStep==3;%computational part; |
10 |
|
|
%mask fields: |
11 |
|
|
SIatmQnt=SIatmQnt.*mygrid.mskC(:,:,1); |
12 |
|
|
SIatmFW=SIatmFW.*mygrid.mskC(:,:,1); |
13 |
|
|
oceQnet=oceQnet.*mygrid.mskC(:,:,1); |
14 |
|
|
oceFWflx=oceFWflx.*mygrid.mskC(:,:,1); |
15 |
|
|
fldTX=oceTAUX.*mygrid.mskW(:,:,1); |
16 |
|
|
fldTY=oceTAUY.*mygrid.mskS(:,:,1); |
17 |
|
|
%compute Eastward/Northward wind stresses: |
18 |
|
|
[fldTZ,fldTM]=calc_UEVNfromUXVY(fldTX,fldTY); |
19 |
|
|
%compute wind stress curl: |
20 |
|
|
curlTau=calc_UV_curl(fldTX, fldTY,1 );%the doMask argument should not matter as msk was already applied |
21 |
|
|
%mask and re-arrange fields: |
22 |
|
|
fldETAN=ETAN.*mygrid.mskC(:,:,1); |
23 |
|
|
fldETANLEADS=(ETAN+sIceLoad/myparms.rhoconst).*mygrid.mskC(:,:,1); |
24 |
|
|
fldMLD=MXLDEPTH.*mygrid.mskC(:,:,1); |
25 |
|
|
% |
26 |
|
|
THETA=THETA.*mygrid.mskC; |
27 |
|
|
SALT=SALT.*mygrid.mskC; |
28 |
|
|
end; |