1 |
gforget |
1.1 |
function [fldUe,fldVn]=calc_UEVNfromUXVY(fldU,fldV); |
2 |
|
|
|
3 |
|
|
global mygrid; |
4 |
|
|
|
5 |
|
|
%fldU(mygrid.hFacW==0)=NaN; fldV(mygrid.hFacS==0)=NaN; |
6 |
|
|
nr=size(fldU.f1,3); fldU(mygrid.hFacW(:,:,1:nr)==0)=NaN; fldV(mygrid.hFacS(:,:,1:nr)==0)=NaN; |
7 |
|
|
|
8 |
|
|
[FLDU,FLDV]=exch_UV(fldU,fldV); |
9 |
|
|
|
10 |
|
|
fldUe=fldU; fldVn=fldV; |
11 |
|
|
for iF=1:fldU.nFaces; |
12 |
|
|
tmp1=FLDU{iF}(1:end-1,:,:); tmp2=FLDU{iF}(2:end,:,:); |
13 |
|
|
fldUe{iF}=reshape(nanmean([tmp1(:) tmp2(:)],2),size(tmp1)); |
14 |
|
|
tmp1=FLDV{iF}(:,1:end-1,:); tmp2=FLDV{iF}(:,2:end,:); |
15 |
|
|
fldVn{iF}=reshape(nanmean([tmp1(:) tmp2(:)],2),size(tmp1)); |
16 |
|
|
end; |
17 |
|
|
|
18 |
|
|
FLDU=fldUe; FLDV=fldVn; |
19 |
|
|
cs=mk3D(mygrid.AngleCS,FLDU); sn=mk3D(mygrid.AngleSN,FLDU); |
20 |
|
|
|
21 |
|
|
fldUe=+FLDU.*cs-FLDV.*sn; |
22 |
|
|
fldVn=FLDU.*sn+FLDV.*cs; |
23 |
|
|
|
24 |
|
|
|