/[MITgcm]/MITgcm_contrib/gael/matlab_class/gcmfaces_calc/calc_UEVNfromUXVY.m
ViewVC logotype

Contents of /MITgcm_contrib/gael/matlab_class/gcmfaces_calc/calc_UEVNfromUXVY.m

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (show annotations) (download)
Fri Jun 24 01:55:42 2011 UTC (14 years, 1 month ago) by gforget
Branch: MAIN
CVS Tags: checkpoint65x, checkpoint65r, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, HEAD
Changes since 1.1: +3 -0 lines
- added headers

1 function [fldUe,fldVn]=calc_UEVNfromUXVY(fldU,fldV);
2 %object: compute Eastward/Northward vectors form X/Y vectors
3 %inputs: fldU/fldV are the X/Y vector fields at velocity points
4 %outputs: fldUe/fldVn are the Eastward/Northward vectors at tracer points
5
6 global mygrid;
7
8 %fldU(mygrid.hFacW==0)=NaN; fldV(mygrid.hFacS==0)=NaN;
9 nr=size(fldU.f1,3); fldU(mygrid.hFacW(:,:,1:nr)==0)=NaN; fldV(mygrid.hFacS(:,:,1:nr)==0)=NaN;
10
11 [FLDU,FLDV]=exch_UV(fldU,fldV);
12
13 fldUe=fldU; fldVn=fldV;
14 for iF=1:fldU.nFaces;
15 tmp1=FLDU{iF}(1:end-1,:,:); tmp2=FLDU{iF}(2:end,:,:);
16 fldUe{iF}=reshape(nanmean([tmp1(:) tmp2(:)],2),size(tmp1));
17 tmp1=FLDV{iF}(:,1:end-1,:); tmp2=FLDV{iF}(:,2:end,:);
18 fldVn{iF}=reshape(nanmean([tmp1(:) tmp2(:)],2),size(tmp1));
19 end;
20
21 FLDU=fldUe; FLDV=fldVn;
22 cs=mk3D(mygrid.AngleCS,FLDU); sn=mk3D(mygrid.AngleSN,FLDU);
23
24 fldUe=+FLDU.*cs-FLDV.*sn;
25 fldVn=FLDU.*sn+FLDV.*cs;
26
27

  ViewVC Help
Powered by ViewVC 1.1.22