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

Annotation of /MITgcm/utils/matlab/plotcube.m

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


Revision 1.3 - (hide annotations) (download)
Thu Aug 30 15:29:26 2001 UTC (22 years, 8 months ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint46n_post, checkpoint48f_post, checkpoint46k_post, checkpoint51k_post, checkpoint53f_post, checkpoint47j_post, checkpoint54a_pre, checkpoint55c_post, icebear2, checkpoint53b_pre, checkpoint48d_pre, checkpoint51l_post, checkpoint51j_post, branch-exfmods-tag, checkpoint47e_post, checkpoint57m_post, checkpoint44h_pre, release1_p12, checkpoint52l_pre, checkpoint48i_post, checkpoint52e_pre, hrcube4, hrcube5, release1_p10, checkpoint57h_done, release1_p16, checkpoint57g_pre, checkpoint52j_post, release1_p15, release1_p11, checkpoint47f_post, ecco_c44_e16, checkpoint48d_post, checkpoint51o_pre, checkpoint57f_post, 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, checkpoint57j_post, icebear5, icebear4, checkpoint44f_pre, checkpoint47a_post, icebear3, checkpoint57b_post, checkpoint46f_post, checkpoint52d_pre, ecco_c50_e33a, checkpoint53c_post, checkpoint53d_post, checkpoint57f_pre, checkpoint48a_post, checkpoint55d_pre, checkpoint51f_pre, release1_p13_pre, checkpoint46d_pre, checkpoint57g_post, checkpoint48e_post, checkpoint46e_post, checkpoint57a_post, checkpoint48h_post, checkpoint55j_post, checkpoint56b_post, checkpoint50c_pre, release1-branch_tutorials, checkpoint57h_pre, ecco_c50_e28, release1_p14, checkpoint44g_post, branchpoint-genmake2, checkpoint46h_pre, checkpoint44h_post, release1_p12_pre, checkpoint44e_post, checkpoint50b_pre, checkpoint52j_pre, checkpoint54a_post, checkpoint46e_pre, ecco-branch-mod4, checkpoint43a-release1mods, branch-netcdf, checkpoint50d_pre, checkpoint55h_post, checkpoint45d_post, checkpoint51r_post, checkpoint47i_post, checkpoint52b_pre, checkpoint52n_post, checkpoint54b_post, checkpoint46l_pre, checkpoint46j_pre, checkpoint45b_post, checkpoint46b_pre, checkpoint51i_post, checkpoint57e_post, checkpoint54d_post, checkpoint47h_post, checkpoint48c_post, checkpoint46l_post, chkpt44a_pre, release1-branch-end, checkpoint56c_post, checkpoint54e_post, release1_final_v1, checkpoint55b_post, ecco_c44_e19, checkpoint51e_post, checkpoint51b_post, checkpoint46, ecco_c44_e20, checkpoint51l_pre, checkpoint52m_post, checkpoint51c_post, ecco_c50_e32, checkpoint55, checkpoint53a_post, ecco_c50_e31, checkpoint55a_post, checkpoint57c_pre, checkpoint44, release1_p13, ecco_c44_e18, checkpoint48, checkpoint49, checkpoint44f_post, checkpoint47b_post, checkpoint53b_post, checkpoint57o_post, checkpoint55g_post, checkpoint57r_post, checkpoint51o_post, checkpoint48g_post, ecco_c44_e17, release1_p17, checkpoint57k_post, checkpoint57d_post, release1_b1, checkpoint44b_post, checkpoint55f_post, checkpoint57i_post, checkpoint51q_post, checkpoint52l_post, checkpoint52k_post, chkpt44c_post, ecco_c51_e34, chkpt44d_post, ecco_c50_e29, checkpoint57h_post, checkpoint42, release1_p9, checkpoint57a_pre, checkpoint54, checkpoint57, checkpoint56, 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, checkpoint53g_post, chkpt44a_post, checkpoint52f_post, checkpoint44b_pre, checkpoint57n_post, checkpoint52c_post, release1_p1, checkpoint46m_post, checkpoint57p_post, checkpoint51h_pre, checkpoint46a_pre, ecco_c51_e34e, ecco-branch-mod1, checkpoint50g_post, checkpoint45c_post, checkpoint57q_post, release1_p5, checkpoint44e_pre, checkpoint51g_post, ecco_c52_e35, chkpt44c_pre, checkpoint40pre9, release1_p7, ecco_ice2, ecco_ice1, checkpoint46b_post, checkpoint54f_post, checkpoint51f_post, checkpoint46d_post, ecco-branch-mod2, checkpoint48b_post, checkpoint50b_post, eckpoint57e_pre, checkpoint46g_post, checkpoint45a_post, ecco_c51_e34d, ecco_c51_e34f, ecco_c51_e34g, ecco_c51_e34a, ecco_c51_e34b, ecco_c51_e34c, checkpoint57c_post, 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, checkpoint55e_post, checkpoint46c_post, checkpoint54c_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, checkpoint55i_post, checkpoint51i_pre, checkpoint57l_post, checkpoint52i_pre, checkpoint51u_post, checkpoint52h_pre, checkpoint41, checkpoint52f_pre, hrcube_1, hrcube_2, hrcube_3, checkpoint56a_post, checkpoint51s_post, checkpoint55d_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.2: +54 -9 lines
Modified to use the geographic coordinates rather than the 3D cartesian
coordinates. This saves copying huge .mat files around.

1 adcroft 1.3 function [] = plotcube(XX,YY,C)
2     % plotcube(x,y,c)
3     %
4     % Plots cubed-sphere data in 3D on sphere. (x,y) are
5     % coordinates, c is cell-centered scalar to be plotted.
6     % Dimensions should be N+1 x N+1 x 6 for (x,y)
7     % and N x N x 6 for c
8     %
9     % The default plotting mode is shading faceted. Using this or
10     % shading flat, (x,y) should be the coordinates of grid-corners
11     % and can legitimately have dimension (N+1)x(N+1)x6.
12     %
13     % If using shading interp, then (x,y) must be the coordinates of
14     % the cell centers with same dimensions as c.
15     %
16 adcroft 1.2 % e.g.
17     %
18 adcroft 1.3 % xg=rdmds('XG');
19     % yg=rdmds('YG');
20     % ps=rdmds('Eta.0000000000');
21     % plotube(xg,yg,ps);
22     %
23     % xc=rdmds('XC');
24     % yc=rdmds('YC');
25     % plotube(xg,yg,ps);shading interp
26    
27     if max(max(max(YY)))-min(min(min(YY))) < 3*pi
28     X=tiles(XX*180/pi,1:6);
29     Y=tiles(YY*180/pi,1:6);
30     else
31     X=tiles(XX,1:6);
32     Y=tiles(YY,1:6);
33     end
34     Q=tiles(C,1:6);
35    
36     % Assume model grid corner coordinates were provided.
37     if size(X,1)==size(Q,1)
38     X(end+1,:,:)=NaN;
39     X(:,end+1,:)=NaN;
40     X(end,:,[1 3 5])=X(1,:,[2 4 6]);
41     X(:,end,[2 4 6])=X(:,1,[3 5 1]);
42     X(:,end,[1 3 5])=squeeze(X(1,end:-1:1,[3 5 1]));
43     X(end,:,[2 4 6])=squeeze(X(end:-1:1,1,[4 6 2]));
44     Y(end+1,:,:)=NaN;
45     Y(:,end+1,:)=NaN;
46     Y(end,:,[1 3 5])=Y(1,:,[2 4 6]);
47     Y(:,end,[2 4 6])=Y(:,1,[3 5 1]);
48     Y(:,end,[1 3 5])=squeeze(Y(1,end:-1:1,[3 5 1]));
49     Y(end,:,[2 4 6])=squeeze(Y(end:-1:1,1,[4 6 2]));
50     end
51     [nx ny nt]=size(X);
52 adcroft 1.2
53 adcroft 1.3 z=sin(Y*pi/180);
54     x=cos(Y*pi/180).*cos(X*pi/180);
55     y=cos(Y*pi/180).*sin(X*pi/180);
56 adcroft 1.2
57 adcroft 1.3 surf(x(:,:,1),y(:,:,1),z(:,:,1),Q(:,:,1))
58 adcroft 1.2 hold on
59     for j=2:6
60 adcroft 1.3 surf(x(:,:,j),y(:,:,j),z(:,:,j),Q(:,:,j))
61 adcroft 1.2 end
62     hold off
63     xlabel('X');
64     ylabel('Y');
65     zlabel('Z');

  ViewVC Help
Powered by ViewVC 1.1.22