Changeset 18323


Ignore:
Timestamp:
08/03/14 18:32:10 (11 years ago)
Author:
Eric.Larour
Message:

CHG: new layout.

Location:
issm/branches/trunk-jpl-ad2/src/m/plot
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/branches/trunk-jpl-ad2/src/m/plot/plot_gl.m

    r18307 r18323  
    2121copyfile([scriptsdir '/generic/editables.js'],'./generic/editables.js');
    2222
     23%scaling factor:
     24scaling_factor=getfieldvalue(options,'scaling_factor',50);
     25
    2326%Deal with title:
    2427if exist(options,'title')
     
    3437%size of frame:
    3538replacestringinfile('./css/mystyle.css','height: 55%; /*editable*/',['height: ' num2str(getfieldvalue(options,'frame_height',55)) '%; /*editable*/']);
     39
    3640
    3741%high resolution:
     
    5054        fid=fopen([database 'model_coords.js'],'w');
    5155
     56        lat=md.mesh.lat;
     57        long=md.mesh.long;
     58        surface=md.geometry.surface;
     59        numberofelements=md.mesh.numberofelements;
     60        numberofvertices=md.mesh.numberofvertices;
     61
     62        R=6371000*ones(numberofvertices,1)+scaling_factor*surface;
     63
     64        x = R .* cosd(lat) .* cosd(long);
     65        y = R .* cosd(lat) .* sind(long);
     66        z = R .* sind(lat);
     67       
     68
    5269        %write index:
    5370        fprintf(fid,'<!-- index{{{-->\n');
     
    5875        fprintf(fid,'[%i, %i, %i]];\n',md.mesh.elements(end,1),md.mesh.elements(end,2),md.mesh.elements(end,3));
    5976        fprintf(fid,'<!--}}}-->\n');
    60         writejsfield(fid,'x',md.mesh.x,md.mesh.numberofvertices);
    61         writejsfield(fid,'y',md.mesh.y,md.mesh.numberofvertices);
    62         writejsfield(fid,'surface',md.geometry.surface,md.mesh.numberofvertices);
     77        writejsfield(fid,'x',x,numberofvertices);
     78        writejsfield(fid,'y',y,numberofvertices);
     79        writejsfield(fid,'z',z,numberofvertices);
     80        writejsfield(fid,'surface',surface,numberofvertices);
    6381
    6482        %Deal with data:
     
    101119        replacestringinfile('./generic/editables.js','"V"',labelstring);
    102120        replacestringinfile('./generic/editables.js','"velocity"',datastring);
    103         replacestringinfile('./generic/editables.js','var data_min_array = [-9999',['var data_min_array = [' caxis1string]);
    104         replacestringinfile('./generic/editables.js','var data_max_array = [9999',['var data_max_array = [' caxis2string]);
     121        replacestringinfile('./generic/editables.js','var data_min_array = [0',['var data_min_array = [' caxis1string]);
     122        replacestringinfile('./generic/editables.js','var data_max_array = [3500',['var data_max_array = [' caxis2string]);
    105123        replacestringinfile('./generic/editables.js','"m/yr"',unitstring);
    106124        replacestringinfile('./generic/editables.js','initialZoomFactor = -.20;',['initialZoomFactor = ' num2str(zoom) ';']);
  • issm/branches/trunk-jpl-ad2/src/m/plot/prepare_gl.m

    r18307 r18323  
    11function prepare_gl(md,options)
     2
     3scaling_factor=getfieldvalue(options,'scaling_factor',50);
    24
    35%scripts to be picked up from directory:
    46scriptsdir=['~/issm-projects/visl/externalicelab/fem'];
     7
     8%some checks:
     9if isempty(md.mesh.lat) | isnan(md.mesh.lat) | isempty(md.mesh.long) | isnan(md.mesh.long),
     10        error('prepare_gl error message: need lat and long in md.mesh to be filled up!');
     11end
     12
     13%database: {{{
    514if strcmpi(md.mesh.hemisphere','s'),
    6         triangulation='/Users/larour/ModelData/BamberDEMAntarctica1km/triangulated/triangulation_2.mat';
    7         radar_image='/Users/larour/ModelData/BamberDEMAntarctica1km/triangulated/radar.png';
    8         triangulation_hd='/Users/larour/ModelData/BamberDEMAntarctica1km/triangulated/triangulation_2.mat';
    9         geotiff_name_hd=['/u/astrid-r1b/ModelData/MosaicTiffRsat/amm125m_v2_200m.tif'];
     15        geotiff_name_earth=['/u/astrid-r1b/ModelData/MosaicTiffRsat/amm125m_v2_200m.wgs84.tif'];
     16        radar_image_earth='/Users/larour/ModelData/TrueMarble_GeoTIFF/radar_no_antarctica.png';
     17        triangulation_earth='/Users/larour/ModelData/DEM_geotiff/processed/triangulation.mat';
     18        triangulation='/Users/larour/ModelData/BamberDEMAntarctica1km/triangulated/triangulation_15.mat';
     19        radar_image='/Users/larour/ModelData/BamberDEMAntarctica1km/triangulated/radar.latlong.png';
     20
    1021elseif strcmpi(md.mesh.hemisphere','n'),
     22        geotiff_name_earth=['/u/astrid-r1b/ModelData/MosaicTiffRsat/amm125m_v2_200m.wgs84.tif'];
     23        radar_image_earth='/Users/larour/ModelData/TrueMarble_GeoTIFF/radar_no_greenland.png';
    1124        triangulation='/u/astrid-r1b/ModelData/HowatDEMGreenland2012/triangulated/triangulation_15.mat';
    1225        radar_image='/u/astrid-r1b/ModelData/HowatDEMGreenland2012/triangulated/radar.png';
     
    1528        error('prepare_gl error usage: ''hemisphere'' should be set to ''s'' or ''n''');
    1629end
     30%}}}
    1731
    1832%keep present directory:
     
    3448copyfile([scriptsdir '/generic.html'],'.');
    3549
    36 
    3750database=['./generic/'];
    3851
    39 %Write triangulation to disk {{{
    40 tr=load(triangulation);
     52%handle rendering of the whole planet: {{{
     53tr=load(triangulation_earth);
     54index=tr.index; lat=tr.lat; long=tr.long; surface=tr.surface;
     55
     56%we get index, lat long and surface, make this into a planet sphere:
     57
     58R=6371000*ones(length(surface),1)+scaling_factor*surface;
     59
     60x = R .* cosd(lat) .* cosd(long);
     61y = R .* cosd(lat) .* sind(long);
     62z = R .* sind(lat);
     63
    4164
    4265%write x0, x1, y0 and y1
    4366fid=fopen([database '/image_coords.js'],'w');
    44 fprintf(fid,'var x0=%g;\n',tr.x0);
    45 fprintf(fid,'var x1=%g;\n',tr.x1);
    46 fprintf(fid,'var y0=%g;\n',tr.y0);
    47 fprintf(fid,'var y1=%g;\n',tr.y1);
    48 fclose(fid);
    49 
    50 %copy image locally:
    51 system(['cp ' radar_image ' ' database '/radar.png']);
    52        
     67fprintf(fid,'var x0=%g;\n',min(x));
     68fprintf(fid,'var x1=%g;\n',max(x));
     69fprintf(fid,'var y0=%g;\n',min(y));
     70fprintf(fid,'var y1=%g;\n',max(y));
     71fprintf(fid,'var z0=%g;\n',min(z));
     72fprintf(fid,'var z1=%g;\n',max(z));
     73fprintf(fid,'var lat0=%g;\n',min(lat));
     74fprintf(fid,'var lat1=%g;\n',max(lat));
     75fprintf(fid,'var long0=%g;\n',min(long));
     76fprintf(fid,'var long1=%g;\n',max(long));
     77fclose(fid);
     78
     79system(['cp ' radar_image_earth ' ' database '/radar.png']);
     80
     81numberofvertices=length(x);
     82numberofelements=length(index);
     83
    5384%write triangulation and surface to disk:
    5485fid=fopen([database '/surface_triangulation.js'],'w');
     
    5788fprintf(fid,'<!-- index_surface{{{-->\n');
    5889fprintf(fid,'var index_surface=[');
    59 for i=1:length(tr.index)-1,
    60         fprintf(fid,'[%i, %i, %i],',tr.index(i,1),tr.index(i,2),tr.index(i,3));
    61 end
    62 fprintf(fid,'[%i, %i, %i]];\n',tr.index(end,1),tr.index(end,2),tr.index(end,3));
    63 fprintf(fid,'<!--}}}-->\n');
     90for i=1:numberofelements-1,
     91        fprintf(fid,'[%i, %i, %i],',index(i,1),index(i,2),index(i,3));
     92end
     93fprintf(fid,'[%i, %i, %i]];\n',index(end,1),index(end,2),index(end,3));
     94fprintf(fid,'<!--}}}-->\n');
     95
    6496%write x:
    6597fprintf(fid,'<!-- x_surface{{{-->\n');
    6698fprintf(fid,'var x_surface=[');
    67 for i=1:length(tr.x)-1,
    68         fprintf(fid,'%g,',tr.x(i,1));
    69 end
    70 fprintf(fid,'%g];\n',tr.x(end,1));
     99for i=1:numberofvertices-1,
     100        fprintf(fid,'%g,',x(i,1));
     101end
     102fprintf(fid,'%g];\n',x(end,1));
    71103fprintf(fid,'<!--}}}-->\n');
    72104
     
    74106fprintf(fid,'<!-- y_surface{{{-->\n');
    75107fprintf(fid,'var y_surface=[');
    76 for i=1:length(tr.y)-1,
    77         fprintf(fid,'%g,',tr.y(i,1));
    78 end
    79 fprintf(fid,'%g];\n',tr.y(end,1));
    80 fprintf(fid,'<!--}}}-->\n');
    81 
    82 %write surface:
    83 fprintf(fid,'<!-- surface_surface{{{-->\n');
    84 fprintf(fid,'var surface_surface=[');
    85 for i=1:length(tr.surface)-1,
    86         fprintf(fid,'%g,',tr.surface(i));
    87 end
    88 fprintf(fid,'%g];\n',tr.surface(end));
    89 fprintf(fid,'<!--}}}-->\n');
    90 
    91 fclose(fid);
    92 %}}}
    93 %Write high-res triangulation to disk  {{{
    94 if getfieldvalue(options,'highres',0);
    95        
    96         x0=min(md.mesh.x);
    97         x1=max(md.mesh.x);
    98         y0=min(md.mesh.y);
    99         y1=max(md.mesh.y);
    100         dx=x1-x0;
    101         dy=y1-y0;
    102         factor=.25;
    103 
    104         x0=x0-factor*dx;
    105         x1=x1+factor*dx;
    106         y1=y1+factor*dy;
    107         y0=y0-factor*dy;
    108 
    109         %write x0, x1, y0 and y1
    110         fid=fopen([database '/image_coords_highdef.js'],'w');
    111         fprintf(fid,'var x0_hd=%g;\n',x0);
    112         fprintf(fid,'var x1_hd=%g;\n',x1);
    113         fprintf(fid,'var y0_hd=%g;\n',y0);
    114         fprintf(fid,'var y1_hd=%g;\n',y1);
    115         fclose(fid);
    116 
    117 
    118         %extract image
    119         eval(['!gdal_translate -quiet -projwin ' num2str(x0) ' ' num2str(y1) ' ' num2str(x1) ' ' num2str(y0) ' ' geotiff_name_hd ' radar_hd.tif']);
    120 
    121         %convert to png:
    122         system('convert radar_hd.tif radar_hd.png  && rm -rf radar_hd.tif');
    123 
    124         %get width:
    125         [status,width]=system(['convert radar_hd.png -format %w info:']); width=str2num(width);
    126 
    127         %get height:
    128         [status,height]=system(['convert radar_hd.png -format %h info:']); height=str2num(height);
    129 
    130         %get these a power of 2:
    131         width=2^(nextpow2(width));
    132         height=2^(nextpow2(height));
    133 
    134         %change size of image:
    135         system(['convert -geometry ' num2str(width) 'x' num2str(height) '! radar_hd.png radar_hd.png']);
    136 
    137         system(['mv radar_hd.png ' database '/radar_hd.png']);
    138 
    139         %now, extract higher resolution triangulation:
    140         trhd=load(triangulation_hd); a=trhd;
    141         trhd.xelem=trhd.x(trhd.index)*[1;1;1]/3;
    142         trhd.yelem=trhd.y(trhd.index)*[1;1;1]/3;
    143        
    144         pos_elem=find(x0<=trhd.xelem & trhd.xelem<=x1 & y0<=trhd.yelem & trhd.yelem<=y1);
    145         pos_node=sort(unique(trhd.index(pos_elem,:)));
    146 
    147         %keep track of some fields
    148         numberofvertices1=length(trhd.x);
    149         numberofelements1=length(trhd.index);
    150         numberofvertices2=length(pos_node);
    151         numberofelements2=length(pos_elem);
    152         flag_node=zeros(numberofvertices1,1);
    153         flag_node(pos_node)=1;
    154 
    155         %Create Pelem and Pnode (transform old nodes in new nodes and same thing for the elements)
    156         Pelem=zeros(numberofelements1,1);
    157         Pelem(pos_elem)=[1:numberofelements2]';
    158         Pnode=zeros(numberofvertices1,1);
    159         Pnode(pos_node)=[1:numberofvertices2]';
    160 
    161         %renumber the elements (some nodes won't exist anymore)
    162         index2=trhd.index(pos_elem,:);
    163         index2(:,1)=Pnode(index2(:,1));
    164         index2(:,2)=Pnode(index2(:,2));
    165         index2(:,3)=Pnode(index2(:,3));
    166 
    167         trhd.index=index2;
    168         trhd.x=trhd.x(pos_node);
    169         trhd.y=trhd.y(pos_node);
    170         trhd.surface=trhd.surface(pos_node);
    171 
    172         %write triangulation and surface to disk:
    173         fid=fopen([database '/surface_triangulation_hd.js'],'w');
    174 
    175         %write index:
    176         fprintf(fid,'<!-- index_surface_hd{{{-->\n');
    177         fprintf(fid,'var index_surface_hd=[');
    178         for i=1:length(trhd.index)-1,
    179                 fprintf(fid,'[%i, %i, %i],',trhd.index(i,1),trhd.index(i,2),trhd.index(i,3));
    180         end
    181         fprintf(fid,'[%i, %i, %i]];\n',trhd.index(end,1),trhd.index(end,2),trhd.index(end,3));
    182         fprintf(fid,'<!--}}}-->\n');
    183         %write x:
    184         fprintf(fid,'<!-- x_surface_hd{{{-->\n');
    185         fprintf(fid,'var x_surface_hd=[');
    186         for i=1:length(trhd.x)-1,
    187                 fprintf(fid,'%g,',trhd.x(i,1));
    188         end
    189         fprintf(fid,'%g];\n',trhd.x(end,1));
    190         fprintf(fid,'<!--}}}-->\n');
    191 
    192         %write y:
    193         fprintf(fid,'<!-- y_surface_hd{{{-->\n');
    194         fprintf(fid,'var y_surface_hd=[');
    195         for i=1:length(trhd.y)-1,
    196                 fprintf(fid,'%g,',trhd.y(i,1));
    197         end
    198         fprintf(fid,'%g];\n',trhd.y(end,1));
    199         fprintf(fid,'<!--}}}-->\n');
    200 
    201         %write surface:
    202         fprintf(fid,'<!-- surface_surface_hd{{{-->\n');
    203         fprintf(fid,'var surface_surface_hd=[');
    204         for i=1:length(trhd.surface)-1,
    205                 fprintf(fid,'%g,',trhd.surface(i));
    206         end
    207         fprintf(fid,'%g];\n',trhd.surface(end));
    208         fprintf(fid,'<!--}}}-->\n');
    209 
    210         fclose(fid);
    211         a2=trhd;
    212         save temp2 a2 a
    213 else
    214         delete([database '/radar_hd.png']);
    215         delete([database '/image_coords_highdef.js']);
    216         delete([database '/surface_triangulation_hd.js']);
    217        
    218 end
    219 % }}}
    220 %Deal with contour {{{
    221        
    222         fid=fopen([database '/contour_coords.js'],'w');
    223 
    224         contour_x=md.mesh.x(md.mesh.segments(:,1));
    225         contour_y=md.mesh.y(md.mesh.segments(:,1));
    226         contour_surface=md.geometry.surface(md.mesh.segments(:,1));
    227 
    228         %write contour_x:
    229         fprintf(fid,'<!-- contour_x{{{-->\n');
    230         fprintf(fid,'var contour_x=[');
    231         for i=1:length(contour_x)-1,
    232                 fprintf(fid,'%g,',contour_x(i));
    233         end
    234         fprintf(fid,'%g];\n',contour_x(end));
    235         fprintf(fid,'<!--}}}-->\n');
    236 
    237         %write contour_y:
    238         fprintf(fid,'<!-- contour_y{{{-->\n');
    239         fprintf(fid,'var contour_y=[');
    240         for i=1:length(contour_y)-1,
    241                 fprintf(fid,'%g,',contour_y(i));
    242         end
    243         fprintf(fid,'%g];\n',contour_y(end));
    244         fprintf(fid,'<!--}}}-->\n');
    245 
    246         %write contour_surface:
    247         fprintf(fid,'<!-- contour_surface{{{-->\n');
    248         fprintf(fid,'var contour_surface=[');
    249         for i=1:length(contour_surface)-1,
    250                 fprintf(fid,'%g,',contour_surface(i));
    251         end
    252         fprintf(fid,'%g];\n',contour_surface(end));
    253         fprintf(fid,'<!--}}}-->\n');
    254 
    255         fclose(fid);
    256 % }}}
     108for i=1:numberofvertices-1,
     109        fprintf(fid,'%g,',y(i,1));
     110end
     111fprintf(fid,'%g];\n',y(end,1));
     112fprintf(fid,'<!--}}}-->\n');
     113
     114%write z:
     115fprintf(fid,'<!-- z_surface{{{-->\n');
     116fprintf(fid,'var z_surface=[');
     117for i=1:numberofvertices-1,
     118        fprintf(fid,'%g,',z(i,1));
     119end
     120fprintf(fid,'%g];\n',z(end,1));
     121fprintf(fid,'<!--}}}-->\n');
     122
     123%write lat:
     124fprintf(fid,'<!-- lat_surface{{{-->\n');
     125fprintf(fid,'var lat_surface=[');
     126for i=1:numberofvertices-1,
     127        fprintf(fid,'%g,',lat(i,1));
     128end
     129fprintf(fid,'%g];\n',lat(end,1));
     130fprintf(fid,'<!--}}}-->\n');
     131
     132%write long:
     133fprintf(fid,'<!-- long_surface{{{-->\n');
     134fprintf(fid,'var long_surface=[');
     135for i=1:numberofvertices-1,
     136        fprintf(fid,'%g,',long(i,1));
     137end
     138fprintf(fid,'%g];\n',long(end,1));
     139fprintf(fid,'<!--}}}-->\n');
     140
     141fclose(fid);
     142%}}}
     143%handle rendering of Antarctica and Greenland wholy{{{
     144
     145load(triangulation);
     146
     147R=6371000*ones(length(x),1)+scaling_factor*surface;
     148
     149[lat,long]=xy2ll(x,y,-1);
     150
     151x = R .* cosd(lat) .* cosd(long);
     152y = R .* cosd(lat) .* sind(long);
     153z = R .* sind(lat);
     154
     155x0=min(x); x1=max(x);
     156y0=min(y); y1=max(y);
     157z0=min(z); z1=max(z);
     158lat0=min(lat); lat1=max(lat);long0=min(long);long1=max(long);
     159
     160
     161%write x0, x1, y0 and y1
     162fid=fopen([database '/image_coords_highdef.js'],'w');
     163
     164fprintf(fid,'var x0_hd=%g;\n',x0);
     165fprintf(fid,'var x1_hd=%g;\n',x1);
     166fprintf(fid,'var y0_hd=%g;\n',y0);
     167fprintf(fid,'var y1_hd=%g;\n',y1);
     168fprintf(fid,'var z0_hd=%g;\n',z0);
     169fprintf(fid,'var z1_hd=%g;\n',z1);
     170fprintf(fid,'var lat0_hd=%g;\n',lat0);
     171fprintf(fid,'var lat1_hd=%g;\n',lat1);
     172fprintf(fid,'var long0_hd=%g;\n',long0);
     173fprintf(fid,'var long1_hd=%g;\n',long1);
     174fclose(fid);
     175
     176
     177%copy corresponding image:
     178system(['cp ' radar_image ' ' database '/radar_hd.png']);
     179
     180numberofvertices=length(x);
     181numberofelements=length(index);
     182
     183%write triangulation and surface to disk:
     184fid=fopen([database '/surface_triangulation_hd.js'],'w');
     185
     186%write index:
     187fprintf(fid,'<!-- index_surface_hd{{{-->\n');
     188fprintf(fid,'var index_surface_hd=[');
     189for i=1:numberofelements-1,
     190        fprintf(fid,'[%i, %i, %i],',index(i,1),index(i,2),index(i,3));
     191end
     192fprintf(fid,'[%i, %i, %i]];\n',index(end,1),index(end,2),index(end,3));
     193fprintf(fid,'<!--}}}-->\n');
     194
     195%write x:
     196fprintf(fid,'<!-- x_surface_hd{{{-->\n');
     197fprintf(fid,'var x_surface_hd=[');
     198for i=1:numberofvertices-1,
     199        fprintf(fid,'%g,',x(i,1));
     200end
     201fprintf(fid,'%g];\n',x(end,1));
     202fprintf(fid,'<!--}}}-->\n');
     203
     204%write y:
     205fprintf(fid,'<!-- y_surface_hd{{{-->\n');
     206fprintf(fid,'var y_surface_hd=[');
     207for i=1:numberofvertices-1,
     208        fprintf(fid,'%g,',y(i,1));
     209end
     210fprintf(fid,'%g];\n',y(end,1));
     211fprintf(fid,'<!--}}}-->\n');
     212
     213%write z:
     214fprintf(fid,'<!-- z_surface_hd{{{-->\n');
     215fprintf(fid,'var z_surface_hd=[');
     216for i=1:numberofvertices-1,
     217        fprintf(fid,'%g,',z(i,1));
     218end
     219fprintf(fid,'%g];\n',z(end,1));
     220fprintf(fid,'<!--}}}-->\n');
     221
     222%write lat:
     223fprintf(fid,'<!-- lat_surface_hd{{{-->\n');
     224fprintf(fid,'var lat_surface_hd=[');
     225for i=1:numberofvertices-1,
     226        fprintf(fid,'%g,',lat(i,1));
     227end
     228fprintf(fid,'%g];\n',lat(end,1));
     229fprintf(fid,'<!--}}}-->\n');
     230
     231%write long:
     232fprintf(fid,'<!-- long_surface_hd{{{-->\n');
     233fprintf(fid,'var long_surface_hd=[');
     234for i=1:numberofvertices-1,
     235        fprintf(fid,'%g,',long(i,1));
     236end
     237fprintf(fid,'%g];\n',long(end,1));
     238fprintf(fid,'<!--}}}-->\n');
     239
     240fclose(fid);
     241
     242
     243%}}}
     244%handle rendering of contour {{{
     245
     246
     247fid=fopen([database '/contour_coords.js'],'w');
     248
     249contour_lat=md.mesh.lat(md.mesh.segments(:,1));
     250contour_long=md.mesh.long(md.mesh.segments(:,1));
     251contour_surface=md.geometry.surface(md.mesh.segments(:,1));
     252
     253R=6371000*ones(length(contour_surface),1)+scaling_factor*contour_surface;
     254
     255contour_x = R .* cosd(contour_lat) .* cosd(contour_long);
     256contour_y = R .* cosd(contour_lat) .* sind(contour_long);
     257contour_z = R .* sind(contour_lat);
     258
     259%write contour_x:
     260fprintf(fid,'<!-- contour_x{{{-->\n');
     261fprintf(fid,'var contour_x=[');
     262for i=1:length(contour_x)-1,
     263        fprintf(fid,'%g,',contour_x(i));
     264end
     265fprintf(fid,'%g];\n',contour_x(end));
     266fprintf(fid,'<!--}}}-->\n');
     267
     268%write contour_y:
     269fprintf(fid,'<!-- contour_y{{{-->\n');
     270fprintf(fid,'var contour_y=[');
     271for i=1:length(contour_y)-1,
     272        fprintf(fid,'%g,',contour_y(i));
     273end
     274fprintf(fid,'%g];\n',contour_y(end));
     275fprintf(fid,'<!--}}}-->\n');
     276
     277%write contour_surface:
     278fprintf(fid,'<!-- contour_z{{{-->\n');
     279fprintf(fid,'var contour_z=[');
     280for i=1:length(contour_z)-1,
     281        fprintf(fid,'%g,',contour_z(i));
     282end
     283fprintf(fid,'%g];\n',contour_z(end));
     284fprintf(fid,'<!--}}}-->\n');
     285
     286fclose(fid);
     287
     288%}}}
    257289
    258290%Come back to present directory:
Note: See TracChangeset for help on using the changeset viewer.