| 1 | gforget | 1.14 | function []=gcmfaces_demo(); | 
| 2 |  |  | % GCMFACES_DEMO demonstrate capabilities of the gcmfaces toolbox. | 
| 3 | gforget | 1.11 | % | 
| 4 |  |  | %expected directory structure: | 
| 5 |  |  | % | 
| 6 |  |  | %  gcmfaces     (codes) | 
| 7 |  |  | %  MITprof      (codes) | 
| 8 |  |  | %  nctiles_grid (ECCO v4 grid) | 
| 9 |  |  | %  release1     (ECCO v4 output) | 
| 10 | gforget | 1.14 | %  sample_input (additional demo material) | 
| 11 | gforget | 1.11 | % | 
| 12 | gforget | 1.17 | %the ECCO v4 grid can be obtained as follows: | 
| 13 |  |  | % | 
| 14 |  |  | %  wget --recursive ftp://mit.ecco-group.org/ecco_for_las/version_4/release1/nctiles_grid | 
| 15 |  |  | %  mv mit.ecco-group.org/ecco_for_las/version_4/release1/nctiles_grid . | 
| 16 |  |  | %  rm -rf mit.ecco-group.org | 
| 17 |  |  | % | 
| 18 | gforget | 1.10 | %to activate example_transports: | 
| 19 |  |  | % | 
| 20 | gforget | 1.11 | %  mkdir release1 | 
| 21 |  |  | %  wget --recursive ftp://mit.ecco-group.org/ecco_for_las/version_4/release1/nctiles_climatology | 
| 22 | gforget | 1.16 | %  mv mit.ecco-group.org/ecco_for_las/version_4/release1/nctiles_climatology release1/. | 
| 23 | gforget | 1.11 | %  rm -rf mit.ecco-group.org | 
| 24 | gforget | 1.10 | % | 
| 25 |  |  | %to activate example_budget: | 
| 26 |  |  | % | 
| 27 | gforget | 1.16 | %  mkdir sample_input | 
| 28 | gforget | 1.11 | %  wget --recursive ftp://mit.ecco-group.org/gforget/nctiles_budget_2d | 
| 29 |  |  | %  mv mit.ecco-group.org/gforget/nctiles_budget_2d sample_input/. | 
| 30 |  |  | %  rm -rf mit.ecco-group.org | 
| 31 | gforget | 1.10 | % | 
| 32 | gforget | 1.14 | % call sequence: | 
| 33 |  |  | %  addpath gcmfaces; | 
| 34 |  |  | %  addpath MITprof; | 
| 35 |  |  | %  gcmfaces_demo; | 
| 36 | gforget | 1.3 |  | 
| 37 | gforget | 1.10 | %choose verbose level | 
| 38 | gforget | 1.3 | fprintf('\n Please set the amount of explanatory text display :\n'); | 
| 39 |  |  | fprintf('    0: none.\n'); | 
| 40 |  |  | fprintf('    1: comments.\n'); | 
| 41 |  |  | fprintf('    2: comments preceeded with calling sequence.\n'); | 
| 42 |  |  | fprintf('    3: same as 2, but preceeded with pause.\n'); | 
| 43 |  |  | verbose=input(' and/or type return. 0 is the default. \n'); | 
| 44 |  |  | if isempty(verbose); verbose=0; end; | 
| 45 |  |  |  | 
| 46 | gforget | 1.14 | fprintf('\n'); | 
| 47 |  |  |  | 
| 48 |  |  | %so that gcmfaces_msg will work even before calling gcmfaces_global: | 
| 49 |  |  | tmp1=which('gcmfaces_demo'); | 
| 50 |  |  | [PATH,NAME,EXT] = fileparts(tmp1); | 
| 51 |  |  | addpath([PATH filesep 'gcmfaces_misc' filesep]); | 
| 52 |  |  | global myenv; | 
| 53 |  |  | myenv.issueWarnings=0;%skip warnings | 
| 54 |  |  | myenv.verbose=verbose;%apply verbose level selected by user | 
| 55 |  |  | % | 
| 56 |  |  | fprintf('\n\n'); | 
| 57 |  |  | gcmfaces_msg('/////////////////////////////////////'); | 
| 58 |  |  | gcmfaces_msg('demo of gcmfaces_global and MITprof_global','// PART 0 :'); | 
| 59 |  |  | gcmfaces_msg('/////////////////////////////////////'); | 
| 60 | gforget | 1.18 | if myenv.verbose>0; gcmfaces_msg('please hit return','// >> '); pause; end; | 
| 61 | gforget | 1.14 | fprintf('\n\n'); | 
| 62 | gforget | 1.3 | if myenv.verbose>0; | 
| 63 | gforget | 1.14 | gcmfaces_msg(['* gcmfaces_global: adds gcmfaces directories to path' ... | 
| 64 |  |  | ' and define environment variables (see myenv)']); | 
| 65 |  |  | end; | 
| 66 |  |  | myenv=[]; | 
| 67 |  |  | gcmfaces_global;%this will display warning | 
| 68 |  |  | myenv.issueWarnings=0;%skip warnings | 
| 69 |  |  | myenv.verbose=verbose;%apply verbose level selected by user | 
| 70 |  |  | if myenv.verbose>0; | 
| 71 |  |  | gcmfaces_msg('* (this warning gets resolved below by calling grid_load)'); | 
| 72 | gforget | 1.3 | end; | 
| 73 | gforget | 1.1 |  | 
| 74 | gforget | 1.17 | %if ~isempty(which('MITprof_global')); | 
| 75 |  |  | %    MITprof_global; | 
| 76 |  |  | %    if myenv.verbose>0; | 
| 77 |  |  | %        gcmfaces_msg('* MITprof_global: adds MITprof directories to path'); | 
| 78 |  |  | %    end; | 
| 79 |  |  | %end; | 
| 80 | gforget | 1.6 |  | 
| 81 | gforget | 1.5 | fprintf('\n\n'); | 
| 82 |  |  | gcmfaces_msg('/////////////////////////////////////'); | 
| 83 | gforget | 1.14 | gcmfaces_msg('demo of grid_load','// PART 1 :'); | 
| 84 |  |  | gcmfaces_msg('/////////////////////////////////////'); | 
| 85 | gforget | 1.18 | if myenv.verbose>0; gcmfaces_msg('please hit return','// >> '); pause; end; | 
| 86 | gforget | 1.14 | fprintf('\n\n'); | 
| 87 |  |  | grid_load; | 
| 88 |  |  |  | 
| 89 |  |  | fprintf('\n\n'); | 
| 90 |  |  | gcmfaces_msg('/////////////////////////////////////'); | 
| 91 | gforget | 1.8 | gcmfaces_msg('demo of plotting routines','// PART 1 :'); | 
| 92 | gforget | 1.5 | gcmfaces_msg('/////////////////////////////////////'); | 
| 93 | gforget | 1.18 | if myenv.verbose>0; gcmfaces_msg('please hit return','// >> '); pause; end; | 
| 94 | gforget | 1.5 | fprintf('\n\n'); | 
| 95 | gforget | 1.12 | example_display; | 
| 96 | gforget | 1.1 |  | 
| 97 | gforget | 1.5 | fprintf('\n\n'); | 
| 98 |  |  | gcmfaces_msg('///////////////////////////////////////////'); | 
| 99 | gforget | 1.15 | gcmfaces_msg('demo of interpolation and remapping ','// PART 2 :'); | 
| 100 | gforget | 1.5 | gcmfaces_msg('///////////////////////////////////////////'); | 
| 101 | gforget | 1.18 | if myenv.verbose>0; gcmfaces_msg('please hit return','// >> '); pause; end; | 
| 102 | gforget | 1.5 | fprintf('\n\n'); | 
| 103 | gforget | 1.15 | example_interp; | 
| 104 | gforget | 1.10 |  | 
| 105 | gforget | 1.13 | fprintf('\n\n'); | 
| 106 |  |  | gcmfaces_msg('///////////////////////////////////////////'); | 
| 107 | gforget | 1.15 | gcmfaces_msg('demo of bin averaging data sample to grid','// PART 2 :'); | 
| 108 | gforget | 1.13 | gcmfaces_msg('///////////////////////////////////////////'); | 
| 109 | gforget | 1.18 | if myenv.verbose>0; gcmfaces_msg('please hit return','// >> '); pause; end; | 
| 110 | gforget | 1.13 | fprintf('\n\n'); | 
| 111 |  |  | fld=example_bin_average; | 
| 112 |  |  |  | 
| 113 |  |  | fprintf('\n\n'); | 
| 114 |  |  | gcmfaces_msg('///////////////////////////////////////////'); | 
| 115 | gforget | 1.15 | gcmfaces_msg('demo of smoothing through diffusion','// PART 2 :'); | 
| 116 | gforget | 1.13 | gcmfaces_msg('///////////////////////////////////////////'); | 
| 117 | gforget | 1.18 | if myenv.verbose>0; gcmfaces_msg('please hit return','// >> '); pause; end; | 
| 118 | gforget | 1.13 | fprintf('\n\n'); | 
| 119 |  |  | example_smooth(fld); | 
| 120 | gforget | 1.1 |  | 
| 121 | gforget | 1.6 | fprintf('\n\n'); | 
| 122 |  |  | gcmfaces_msg('/////////////////////////////////////////'); | 
| 123 | gforget | 1.8 | gcmfaces_msg('demo of transport computations','// PART 3 :'); | 
| 124 |  |  | gcmfaces_msg('/////////////////////////////////////////'); | 
| 125 | gforget | 1.18 | if myenv.verbose>0; gcmfaces_msg('please hit return','// >> '); pause; end; | 
| 126 | gforget | 1.8 | fprintf('\n\n'); | 
| 127 | gforget | 1.9 | diags=example_transports; | 
| 128 | gforget | 1.13 |  | 
| 129 | gforget | 1.8 | if ~isempty(diags); | 
| 130 | gforget | 1.13 | fprintf('\n\n'); | 
| 131 |  |  | gcmfaces_msg('/////////////////////////////////////////'); | 
| 132 |  |  | gcmfaces_msg('demo of transport display','// PART 3 :'); | 
| 133 |  |  | gcmfaces_msg('/////////////////////////////////////////'); | 
| 134 | gforget | 1.18 | if myenv.verbose>0; gcmfaces_msg('please hit return','// >> '); pause; end; | 
| 135 | gforget | 1.13 | fprintf('\n\n'); | 
| 136 | gforget | 1.8 | example_transports_disp(diags); | 
| 137 |  |  | end; | 
| 138 |  |  |  | 
| 139 |  |  | fprintf('\n\n'); | 
| 140 |  |  | gcmfaces_msg('/////////////////////////////////////////'); | 
| 141 | gforget | 1.6 | gcmfaces_msg('demo of budget computations','// PART 4 :'); | 
| 142 |  |  | gcmfaces_msg('/////////////////////////////////////////'); | 
| 143 | gforget | 1.18 | if myenv.verbose>0; gcmfaces_msg('please hit return','// >> '); pause; end; | 
| 144 | gforget | 1.6 | fprintf('\n\n'); | 
| 145 | gforget | 1.9 | example_budget; | 
| 146 | gforget | 1.1 |  |