/[MITgcm]/MITgcm_contrib/gael/matlab_class/sample_processing/example_remap.m
ViewVC logotype

Annotation of /MITgcm_contrib/gael/matlab_class/sample_processing/example_remap.m

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


Revision 1.6 - (hide annotations) (download)
Sun Jan 24 16:25:52 2016 UTC (9 years, 6 months ago) by gforget
Branch: MAIN
Changes since 1.5: +0 -4 lines
- gcmfaces_demo.m: improve help section, add comments wrt gcmfaces_global etc
- example*.m: homogeneize treatment of mygrid (don't reload if not needed)
  and path (use just gcmfaces_global)

1 gforget 1.1 function []=example_remap(doRemap3d);
2     %object: map a lon-lat field to gcmfaces
3     %input: doRemap3d; if set to 1, then demo 3d case (involves
4     % extrapolation, and takes a few minutes to compute)
5    
6 gforget 1.2 gcmfaces_global;
7    
8 gforget 1.3 fil=fullfile(pwd,filesep,'sample_input',filesep,'testcase_remap.mat');
9     if isempty(dir(fil));
10 gforget 1.2 help gcmfaces_demo;
11 gforget 1.4 warning('skipping example_remap (missing sample_input/testcase_remap.mat)');
12 gforget 1.1 return;
13     end;
14    
15     if isempty(whos('doRemap3d')); doRemap3d=0; end;
16    
17     %%%%%%%%%%%%%%%%%
18 gforget 1.3 %load grid:
19 gforget 1.1 %%%%%%%%%%%%%%%%%
20    
21 gforget 1.3 if isempty(mygrid);
22     grid_load;
23     end;
24     nF=mygrid.nFaces;
25    
26     %%%%%%%%%%%%%%%%%
27     %load test case:
28     %%%%%%%%%%%%%%%%%
29 gforget 1.1
30 gforget 1.3 load(fil);
31 gforget 1.1
32     if myenv.verbose>0;
33     gcmfaces_msg('===============================================');
34     gcmfaces_msg(['*** entering example_remap that demonstrate ' ...
35     'the use of gcmfaces_remap_2d and gcmfaces_remap_3d '],'');
36     end;
37    
38     warning('off','MATLAB:dsearch:DeprecatedFunction');
39     warning('off','MATLAB:delaunay:DuplicateDataPoints');
40    
41     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
42     %map lon-lat field to gcmfaces
43    
44     if myenv.verbose>0;
45     gcmfaces_msg('* map lon-lat field to gcmfaces');
46     end;
47    
48     kk=20;%choice of output depth level
49     kkIn=max(find(depth<-mygrid.RC(kk)));% corresponding choice of input level
50    
51     %without extrapolation (note: shallow regions are blank in FLD)
52     % ref_remap2d=FLD1(:,:,kkIn);
53     ref_remap2d=fld1(:,:,kk);
54     fld_remap2d=gcmfaces_remap_2d(lon,lat,FLD2(:,:,kkIn),3);
55     fld_remap2d_extrap=gcmfaces_remap_2d(lon,lat,FLD2(:,:,kkIn),3,mygrid.mskC(:,:,kk));
56    
57     %extrapolate to fill 3D model domain (note: extrapolation is often a bad idea)
58     if doRemap3d;
59     ref_remap3d=fld1(:,:,kk);
60     fld_remap3d=gcmfaces_remap_3d(lon,lat,depth(kkIn+[-2:2]),FLD2(:,:,kkIn+[-2:2]));
61     fld_repmat3d_kk=fld_remap3d(:,:,kk);
62     end;
63    
64     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
65     %quick display
66     cc=[0.4:0.05:1.1];
67     %
68     if myenv.verbose>0;
69     gcmfaces_msg('* gcmfaces_remap_2d result (without extrapolation)');
70     end;
71 gforget 1.5 figureL; gcmfaces_sphere(fld_remap2d,cc,[],'N',1); title('gcmfaces_remap_2d result ');
72 gforget 1.1 if myenv.verbose>0;
73     gcmfaces_msg('* gcmfaces_remap_2d result (with extrapolation)');
74     end;
75 gforget 1.5 figureL; gcmfaces_sphere(fld_remap2d_extrap,cc,[],'N',1); title('gcmfaces_remap_2d result (extrapolated)');
76 gforget 1.1 %
77     if doRemap3d;
78     if myenv.verbose>0;
79     gcmfaces_msg('* original field');
80     end;
81 gforget 1.5 figureL; gcmfaces_sphere(ref_remap2d,cc,[],'N',1); title('original field (slightly different level)');
82 gforget 1.1 if myenv.verbose>0;
83     gcmfaces_msg('* gcmfaces_remap_3d result (involves extrapolation)');
84     end;
85 gforget 1.5 figureL; gcmfaces_sphere(fld_repmat3d_kk,cc,[],'N',1); title('gcmfaces_remap_3d result');
86 gforget 1.1 end;
87    
88     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
89     if myenv.verbose>0;
90     gcmfaces_msg('*** leaving example_remap');
91     gcmfaces_msg('===============================================');
92     end;
93    
94    
95    
96    

  ViewVC Help
Powered by ViewVC 1.1.22