/[MITgcm]/MITgcm/utils/matlab/uvcube2latlon.m
ViewVC logotype

Contents of /MITgcm/utils/matlab/uvcube2latlon.m

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


Revision 1.4 - (show annotations) (download)
Tue Aug 28 18:16:40 2001 UTC (22 years, 8 months ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint46n_post, checkpoint48f_post, checkpoint46k_post, checkpoint51k_post, checkpoint47j_post, icebear2, checkpoint53b_pre, checkpoint48d_pre, checkpoint51l_post, checkpoint51j_post, branch-exfmods-tag, checkpoint47e_post, checkpoint44h_pre, release1_p12, checkpoint52l_pre, checkpoint48i_post, checkpoint52e_pre, hrcube4, hrcube5, release1_p10, release1_p16, checkpoint52j_post, release1_p15, release1_p11, checkpoint47f_post, ecco_c44_e16, checkpoint48d_post, checkpoint51o_pre, checkpoint46j_post, checkpoint47c_post, checkpoint50e_post, checkpoint52e_post, checkpoint50c_post, checkpoint46i_post, checkpoint51n_pre, checkpoint47d_post, ecco_c44_e21, ecco_c44_e26, ecco_c44_e27, ecco_c44_e24, icebear5, icebear4, checkpoint44f_pre, checkpoint47a_post, icebear3, checkpoint46f_post, checkpoint52d_pre, ecco_c50_e33a, checkpoint53c_post, checkpoint48a_post, checkpoint51f_pre, release1_p13_pre, checkpoint46d_pre, checkpoint48e_post, checkpoint46e_post, checkpoint48h_post, checkpoint50c_pre, release1-branch_tutorials, ecco_c50_e28, release1_p14, checkpoint44g_post, branchpoint-genmake2, checkpoint46h_pre, checkpoint44h_post, release1_p12_pre, checkpoint44e_post, checkpoint50b_pre, checkpoint52j_pre, checkpoint46e_pre, ecco-branch-mod4, checkpoint43a-release1mods, branch-netcdf, checkpoint50d_pre, checkpoint45d_post, checkpoint51r_post, checkpoint47i_post, checkpoint52b_pre, checkpoint52n_post, checkpoint46l_pre, checkpoint46j_pre, checkpoint45b_post, checkpoint46b_pre, checkpoint51i_post, checkpoint47h_post, checkpoint48c_post, checkpoint46l_post, chkpt44a_pre, release1-branch-end, release1_final_v1, ecco_c44_e19, checkpoint51e_post, checkpoint51b_post, checkpoint46, ecco_c44_e20, checkpoint51l_pre, checkpoint52m_post, checkpoint51c_post, ecco_c50_e32, checkpoint53a_post, ecco_c50_e31, checkpoint44, release1_p13, ecco_c44_e18, checkpoint48, checkpoint49, checkpoint44f_post, checkpoint47b_post, checkpoint53b_post, checkpoint51o_post, checkpoint48g_post, ecco_c44_e17, release1_p17, release1_b1, checkpoint44b_post, checkpoint51q_post, checkpoint52l_post, checkpoint52k_post, chkpt44c_post, ecco_c51_e34, chkpt44d_post, ecco_c50_e29, checkpoint42, release1_p9, checkpoint51, checkpoint50, checkpoint53, checkpoint52, release1_p8, checkpoint50d_post, checkpoint43, checkpoint52d_post, checkpoint46g_pre, release1_p2, release1_p3, release1_p4, checkpoint51b_pre, release1_p6, checkpoint52a_post, checkpoint46a_post, checkpoint47g_post, checkpoint52b_post, chkpt44a_post, checkpoint52f_post, checkpoint44b_pre, checkpoint52c_post, release1_p1, checkpoint46m_post, checkpoint51h_pre, checkpoint46a_pre, ecco_c51_e34e, ecco-branch-mod1, checkpoint50g_post, checkpoint45c_post, release1_p5, checkpoint44e_pre, checkpoint51g_post, ecco_c52_e35, chkpt44c_pre, checkpoint40pre9, release1_p7, ecco_ice2, ecco_ice1, checkpoint46b_post, checkpoint51f_post, checkpoint46d_post, ecco-branch-mod2, checkpoint48b_post, checkpoint50b_post, checkpoint46g_post, checkpoint45a_post, ecco_c51_e34d, ecco_c51_e34f, ecco_c51_e34g, ecco_c51_e34a, ecco_c51_e34b, ecco_c51_e34c, checkpoint50f_post, checkpoint50a_post, checkpoint46c_pre, checkpoint50f_pre, checkpoint52a_pre, ecco-branch-mod3, ecco_c50_e33, checkpoint47d_pre, checkpoint51d_post, ecco_c50_e30, checkpoint48c_pre, ecco-branch-mod5, ecco_c44_e22, release1_beta1, ecco_c44_e23, checkpoint51m_post, checkpoint51t_post, checkpoint53d_pre, release1-branch_branchpoint, checkpoint47, checkpoint46c_post, checkpoint50h_post, checkpoint52i_post, checkpoint51a_post, checkpoint40, checkpoint45, checkpoint46h_post, checkpoint50e_pre, checkpoint50i_post, checkpoint51p_post, checkpoint51n_post, release1_chkpt44d_post, ecco_c44_e25, checkpoint51i_pre, checkpoint52i_pre, checkpoint51u_post, checkpoint52h_pre, checkpoint41, checkpoint52f_pre, hrcube_1, hrcube_2, hrcube_3, checkpoint51s_post
Branch point for: c24_e25_ice, netcdf-sm0, ecco-branch, branch-genmake2, branch-nonh, release1_coupled, icebear, tg2-branch, release1_final, checkpoint51n_branch, release1-branch, release1, release1_50yr, branch-exfmods-curt
Changes since 1.3: +4 -3 lines
Bug fix: 4+ dimensions were concatenated to 3

1 function [U,V] = uvcube2latlon(LON,LAT,u,v,xc,yc)
2 % [ui,vi]=cube2latlon(x,y,u,v,xi,yi);
3 %
4 % Re-grids model output on expanded spherical cube to lat-lon grid.
5 % x,y are 2-D arrays of the cell-centered coordinates
6 % u,v is a 2-D or 3-D horizontal components of model flow fields.
7 % xi,yi are vectors of the new regular lat-lon grid to interpolate to.
8 % ui,vi are the flow fields with dimensions of size(xi) x size(yi) size(u,3).
9 %
10 % e.g.
11 % >> x=rdmds('XC');
12 % >> y=rdmds('YC');
13 % >> u=rdmds('uVeltave.0000513360');
14 % >> v=rdmds('vVeltave.0000513360');
15 % >> xi=-179:2:180;yi=-89:2:90;
16 % >> [ui,vi]=uvcube2latlon(x,y,u,v,xi,yi);
17 %
18 % $Header: /u/gcmpack/models/MITgcmUV/utils/matlab/uvcube2latlon.m,v 1.3 2001/08/15 13:40:40 jmc Exp $
19
20 NN=size(u);
21 [nnx ny nz]=size(u);
22
23 U=reshape(u,[ny 6 ny nz]);
24 V=reshape(v,[ny 6 ny nz]);
25
26 uu=zeros(ny+1,6,ny,nz);
27 vv=zeros(ny,6,ny+1,nz);
28
29 for k=1:6;
30 uu(1:ny,k,:,:)=U(:,k,:,:);
31 vv(:,k,1:ny,:)=V(:,k,:,:);
32 end
33
34 for k=1:nz;
35 uu(ny+1,1:2:6,:,k)=uu(1,2:2:6,:,k);
36 uu(ny+1,2:2:6,:,k)=vv(ny:-1:1,[4:2:6 2:2:3],1,k)';
37 vv(:,2:2:6,ny+1,k)=vv(:,[3:2:6 1],1,k);
38 vv(:,1:2:6,ny+1,k)=squeeze(uu(1,[3:2:6 1],ny:-1:1,k))';
39 end
40
41 ub=(uu(1:ny,:,:,:)+uu(2:ny+1,:,:,:))/2;
42 vb=(vv(:,:,1:ny,:)+vv(:,:,2:ny+1,:))/2;
43
44 load TUV
45
46 clear U V
47 for kk=1:nz;
48 for k=1:6;
49 U(:,k,:,kk)=TUu(:,:,k).*squeeze(ub(:,k,:,kk))+TUv(:,:,k).*squeeze(vb(:,k,:,kk));
50 V(:,k,:,kk)=TVu(:,:,k).*squeeze(ub(:,k,:,kk))+TVv(:,:,k).*squeeze(vb(:,k,:,kk));
51 end
52 end
53
54 U=reshape(U,[nnx NN(2:end)]);
55 V=reshape(V,[nnx NN(2:end)]);
56
57 % xc=-179:2:179;
58 % yc=-89:2:89;
59 U=cube2latlon(LON,LAT,U,xc,yc);
60 V=cube2latlon(LON,LAT,V,xc,yc);

  ViewVC Help
Powered by ViewVC 1.1.22