Changeset 18558
- Timestamp:
- 10/01/14 10:30:08 (10 years ago)
- Location:
- issm/trunk-jpl/src/m
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/classes/mesh2d.m
r17931 r18558 8 8 x = NaN; 9 9 y = NaN; 10 elements = NaN 10 elements = NaN; 11 11 numberofelements = 0; 12 12 numberofvertices = 0; 13 13 numberofedges = 0; 14 14 15 lat = NaN 16 long = NaN 17 hemisphere = NaN15 lat = NaN; 16 long = NaN; 17 epsg = 0; 18 18 19 vertexonboundary = NaN 19 vertexonboundary = NaN; 20 20 21 edges = NaN 22 segments = NaN 23 segmentmarkers = NaN 24 vertexconnectivity = NaN 25 elementconnectivity = NaN 21 edges = NaN; 22 segments = NaN; 23 segmentmarkers = NaN; 24 vertexconnectivity = NaN; 25 elementconnectivity = NaN; 26 26 average_vertex_connectivity = 0; 27 27 28 extractedvertices = NaN 29 extractedelements = NaN 28 extractedvertices = NaN; 29 extractedelements = NaN; 30 end 31 methods (Static) 32 function self = loadself(self) % {{{ 33 % This function is directly called by matlab when a model selfect is 34 % loaded. Update old properties here 35 36 %2014 Oct. 1st 37 if isstruct(self), 38 oldself=self; 39 %Assign property values from struct 40 self=structtoself(mesh2d(),oldself) 41 if isfield(oldself,'hemisphere'), 42 disp('md.mesh.hemisphere has been automatically converted to EPSG code'); 43 if strcmpi(oldself.hemisphere,'n'), 44 self.epsg=3413; 45 else 46 self.epsg=3031; 47 end 48 end 49 end 50 51 end% }}} 30 52 end 31 53 methods … … 102 124 fielddisplay(obj,'lat','vertices latitude [degrees]'); 103 125 fielddisplay(obj,'long','vertices longitude [degrees]'); 104 fielddisplay(obj,' hemisphere','Indicate hemisphere ''n'' or ''s''');126 fielddisplay(obj,'epsg','EPSG code (ex: 3413 for UPS Greenland, 3031 for UPS Antarctica)'); 105 127 end % }}} 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 % choice (hemisphere) 'n' or 's'141 fprintf(fid,'%s\n%s\n%s\n',' <parameter key ="hemisphere" type="alternative" optional="false">',' <section name="mesh" />',' <help> Indicate hemisphere''n'' or ''s'' </help>');142 143 144 145 146 147 128 function createxml(obj,fid) % {{{ 129 fprintf(fid, '<!-- 2D tria Mesh (horizontal) -->\n'); 130 131 %elements and vertices 132 fprintf(fid,'%s\n%s\n%s\n','<frame key="1" label="Elements and vertices">','<section name="mesh" />'); 133 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="numberofelements" type="',class(obj.numberofelements),'" default="',convert2str(obj.numberofelements),'">',' <section name="mesh" />',' <help> number of elements </help>',' </parameter>'); 134 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="numberofvertices" type="',class(obj.numberofvertices),'" default="',convert2str(obj.numberofvertices),'">',' <section name="mesh" />',' <help> number of vertices </help>',' </parameter>'); 135 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="elements" type="',class(obj.elements),'" default="',convert2str(obj.elements),'">',' <section name="mesh" />',' <help> vertex indices of the mesh elements </help>',' </parameter>'); 136 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="x" type="',class(obj.x),'" default="',convert2str(obj.x),'">',' <section name="mesh" />',' <help> vertices x coordinate [m] </help>',' </parameter>'); 137 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="y" type="',class(obj.y),'" default="',convert2str(obj.y),'">',' <section name="mesh" />',' <help> vertices y coordinate [m] </help>',' </parameter>'); 138 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="edges" type="',class(obj.edges),'" default="',convert2str(obj.edges),'">',' <section name="mesh" />',' <help> edges of the 2d mesh (vertex1 vertex2 element1 element2) </help>',' </parameter>'); 139 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="numberofedges" type="',class(obj.numberofedges),'" default="',convert2str(obj.numberofedges),'">',' <section name="mesh" />',' <help> number of edges of the 2d mesh </help>',' </parameter>'); 140 fprintf(fid,'%s\n%s\n','</frame>'); 141 142 % properties 143 fprintf(fid,'%s\n%s\n%s\n','<frame key="2" label="Properties">','<section name="mesh" />'); 144 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="vertexonboundary" type="',class(obj.vertexonboundary),'" default="',convert2str(obj.vertexonboundary),'">',' <section name="mesh" />',' <help> vertices on the boundary of the domain flag list </help>',' </parameter>'); 145 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="segments" type="',class(obj.segments),'" default="',convert2str(obj.segments),'">',' <section name="mesh" />',' <help> edges on domain boundary (vertex1 vertex2 element) </help>',' </parameter>'); 146 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="segmentmarkers" type="',class(obj.segmentmarkers),'" default="',convert2str(obj.segmentmarkers),'">',' <section name="mesh" />',' <help> number associated to each segment </help>',' </parameter>'); 147 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="vertexconnectivity" type="',class(obj.vertexconnectivity),'" default="',convert2str(obj.vertexconnectivity),'">',' <section name="mesh" />',' <help> list of vertices connected to vertex_i </help>',' </parameter>'); 148 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="elementconnectivity" type="',class(obj.elementconnectivity),'" default="',convert2str(obj.elementconnectivity),'">',' <section name="mesh" />',' <help> list of vertices connected to element_i </help>',' </parameter>'); 149 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="average_vertex_connectivity" type="',class(obj.average_vertex_connectivity),'" default="',convert2str(obj.average_vertex_connectivity),'">',' <section name="mesh" />',' <help> average number of vertices connected to one vertex </help>',' </parameter>'); 150 fprintf(fid,'%s\n%s\n','</frame>'); 151 152 %extracted model 153 fprintf(fid,'%s\n%s\n%s\n','<frame key="3" label="Extracted Model">','<section name="mesh" />'); 154 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="extractedvertices" type="',class(obj.extractedvertices),'" default="',convert2str(obj.extractedvertices),'">',' <section name="mesh" />',' <help> vertices extracted from the model </help>',' </parameter>'); 155 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="extractedelements" type="',class(obj.extractedelements),'" default="',convert2str(obj.extractedelements),'">',' <section name="mesh" />',' <help> elements extracted from the model </help>',' </parameter>'); 156 fprintf(fid,'%s\n%s\n','</frame>'); 157 158 %projection 159 fprintf(fid,'%s\n%s\n%s\n','<frame key="4" label="Projection">','<section name="mesh" />'); 160 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="lat" type="',class(obj.lat),'" default="',convert2str(obj.lat),'">',' <section name="mesh" />',' <help> vertices latitude [degrees] </help>',' </parameter>'); 161 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="long" type="',class(obj.long),'" default="',convert2str(obj.long),'">',' <section name="mesh" />',' <help> verticies longitude [degrees] </help>',' </parameter>'); 162 % choice (epsg) 'n' or 's' 163 fprintf(fid,'%s\n%s\n%s\n',' <parameter key ="epsg" type="alternative" optional="false">',' <section name="mesh" />',' <help> Indicate epsg ''n'' or ''s'' </help>'); 164 fprintf(fid,'%s\n',' <option value="n" type="string" default="true"> </option>'); 165 fprintf(fid,'%s\n',' <option value="s" type="string" default="false"> </option>'); 166 fprintf(fid,'%s\n',' </parameter>'); 167 fprintf(fid,'%s\n%s\n','</frame>'); 168 169 end % }}} 148 170 function marshall(obj,md,fid) % {{{ 149 171 WriteData(fid,'enum',DomainTypeEnum(),'data',StringToEnum(['Domain' domaintype(obj)]),'format','Integer'); -
issm/trunk-jpl/src/m/classes/mesh2d.py
r17700 r18558 24 24 self.lat = float('NaN'); 25 25 self.long = float('NaN'); 26 self. hemisphere = float('NaN');26 self.epsg = 0; 27 27 28 28 self.vertexonboundary = float('NaN'); … … 68 68 string="%s\n%s"%(string,fielddisplay(self,"lat","vertices latitude [degrees]")) 69 69 string="%s\n%s"%(string,fielddisplay(self,"long","vertices longitude [degrees]")) 70 string="%s\n%s"%(string,fielddisplay(self," hemisphere","Indicate hemisphere 'n' or 's'"))70 string="%s\n%s"%(string,fielddisplay(self,"epsg","EPSG code (ex: 3413 for UPS Greenland, 3031 for UPS Antarctica)")) 71 71 return string 72 72 #}}} -
issm/trunk-jpl/src/m/classes/mesh2dvertical.m
r17931 r18558 8 8 x = NaN; 9 9 y = NaN; 10 elements = NaN 10 elements = NaN; 11 11 numberofelements = 0; 12 12 numberofvertices = 0; 13 13 numberofedges = 0; 14 14 15 lat = NaN 16 long = NaN 17 hemisphere = NaN18 19 vertexonboundary = NaN 20 vertexonbase = NaN21 vertexonsurface = NaN 22 23 edges = NaN 24 segments = NaN 25 segmentmarkers = NaN 26 vertexconnectivity = NaN 27 elementconnectivity = NaN 15 lat = NaN; 16 long = NaN; 17 epsg = NaN; 18 19 vertexonboundary = NaN; 20 vertexonbase = NaN; 21 vertexonsurface = NaN; 22 23 edges = NaN; 24 segments = NaN; 25 segmentmarkers = NaN; 26 vertexconnectivity = NaN; 27 elementconnectivity = NaN; 28 28 average_vertex_connectivity = 0; 29 29 end 30 methods (Static) 31 function self = loadself(self) % {{{ 32 % This function is directly called by matlab when a model selfect is 33 % loaded. Update old properties here 34 35 %2014 Oct. 1st 36 if isstruct(self), 37 oldself=self; 38 %Assign property values from struct 39 self=structtoself(mesh2dvertical(),oldself) 40 if isfield(oldself,'hemisphere'), 41 disp('md.mesh.hemisphere has been automatically converted to EPSG code'); 42 if strcmpi(oldself.hemisphere,'n'), 43 self.epsg=3413; 44 else 45 self.epsg=3031; 46 end 47 end 48 end 49 50 end% }}} 51 end 30 52 methods 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="hemisphere" type="',class(obj.hemisphere),'" default="',convert2str(obj.hemisphere),'">',' <section name="mesh" />',' <help> Indicate hemisphere''n'' or ''s'' </help>',' </parameter>');61 62 63 53 function createxml(obj,fid) % {{{ 54 fprintf(fid, '<!-- 2d Mesh (Vertical) -->\n'); 55 56 %elements and vertices 57 fprintf(fid,'%s\n%s\n%s\n',' <frame key="1" label="Elements and vertices">',' <section name="mesh" />'); 58 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="numberofelements" type="',class(obj.numberofelements),'" default="',convert2str(obj.numberofelements),'">',' <help> number of elements </help>',' </parameter>'); 59 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="numberofvertices" type="',class(obj.numberofvertices),'" default="',convert2str(obj.numberofvertices),'">',' <help> number of vertices </help>',' </parameter>'); 60 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="elements" type="',class(obj.elements),'" default="',convert2str(obj.elements),'">',' <help> vertex indices of the mesh elements </help>',' </parameter>'); 61 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="x" type="',class(obj.x),'" default="',convert2str(obj.x),'">',' <section name="mesh" />',' <help> vertices x coordinate [m] </help>',' </parameter>'); 62 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="y" type="',class(obj.y),'" default="',convert2str(obj.y),'">',' <section name="mesh" />',' <help> vertices y coordinate [m] </help>',' </parameter>'); 63 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="edges" type="',class(obj.edges),'" default="',convert2str(obj.edges),'">',' <section name="mesh" />',' <help> edges of the 2d mesh (vertex1 vertex2 element1 element2) </help>',' </parameter>'); 64 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="numberofedges" type="',class(obj.numberofedges),'" default="',convert2str(obj.numberofedges),'">',' <section name="mesh" />',' <help> number of edges of the 2d mesh </help>',' </parameter>'); 65 fprintf(fid,'%s\n%s\n',' </frame>'); 66 67 % properties 68 fprintf(fid,'%s\n%s\n%s\n','<frame key="2" label="Properties">','<section name="mesh" />'); 69 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="vertexonboundary" type="',class(obj.vertexonboundary),'" default="',convert2str(obj.vertexonboundary),'">',' <section name="mesh" />',' <help> vertices on the boundary of the domain flag list </help>',' </parameter>'); 70 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="vertexonbase" type="',class(obj.vertexonbase),'" default="',convert2str(obj.vertexonbase),'">',' <section name="mesh" />',' <help> vertices on the bed of the domain flag list </help>',' </parameter>'); 71 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="segments" type="',class(obj.segments),'" default="',convert2str(obj.segments),'">',' <section name="mesh" />',' <help> edges on domain boundary (vertex1 vertex2 element) </help>',' </parameter>'); 72 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="segmentmarkers" type="',class(obj.segmentmarkers),'" default="',convert2str(obj.segmentmarkers),'">',' <section name="mesh" />',' <help> number associated to each segment </help>',' </parameter>'); 73 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="vertexconnectivity" type="',class(obj.vertexconnectivity),'" default="',convert2str(obj.vertexconnectivity),'">',' <section name="mesh" />',' <help> list of vertices connected to vertex_i </help>',' </parameter>'); 74 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="elementconnectivity" type="',class(obj.elementconnectivity),'" default="',convert2str(obj.elementconnectivity),'">',' <section name="mesh" />',' <help> list of vertices connected to element_i </help>',' </parameter>'); 75 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="average_vertex_connectivity" type="',class(obj.average_vertex_connectivity),'" default="',convert2str(obj.average_vertex_connectivity),'">',' <section name="mesh" />',' <help> average number of vertices connected to one vertex </help>',' </parameter>'); 76 fprintf(fid,'%s\n%s\n','</frame>'); 77 78 %projection 79 fprintf(fid,'%s\n%s\n%s\n','<frame key="3" label="Projection">','<section name="mesh" />'); 80 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="lat" type="',class(obj.lat),'" default="',convert2str(obj.lat),'">',' <section name="mesh" />',' <help> vertices latitude [degrees] </help>',' </parameter>'); 81 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="long" type="',class(obj.long),'" default="',convert2str(obj.long),'">',' <section name="mesh" />',' <help> verticies longitude [degrees] </help>',' </parameter>'); 82 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="epsg" type="',class(obj.epsg),'" default="',convert2str(obj.epsg),'">',' <section name="mesh" />',' <help> Indicate epsg ''n'' or ''s'' </help>',' </parameter>'); 83 fprintf(fid,'%s\n%s\n','</frame>'); 84 85 end % }}} 64 86 function obj = mesh2dvertical(varargin) % {{{ 65 87 switch nargin … … 134 156 fielddisplay(obj,'lat','vertices latitude [degrees]'); 135 157 fielddisplay(obj,'long','vertices longitude [degrees]'); 136 fielddisplay(obj,' hemisphere','Indicate hemisphere ''n'' or ''s''');158 fielddisplay(obj,'epsg','EPSG code (ex: 3413 for UPS Greenland, 3031 for UPS Antarctica)'); 137 159 end % }}} 138 160 function marshall(obj,md,fid) % {{{ -
issm/trunk-jpl/src/m/classes/mesh3dprisms.m
r18077 r18558 8 8 x = NaN; 9 9 y = NaN; 10 z = NaN 11 elements = NaN 10 z = NaN; 11 elements = NaN; 12 12 numberoflayers = 0; 13 13 numberofelements = 0; 14 14 numberofvertices = 0; 15 15 16 lat = NaN 17 long = NaN 18 hemisphere = NaN19 20 vertexonbase = NaN21 vertexonsurface = NaN 22 lowerelements = NaN 23 lowervertex = NaN 24 upperelements = NaN 25 uppervertex = NaN 26 vertexonboundary = NaN 27 28 vertexconnectivity = NaN 29 elementconnectivity = NaN 16 lat = NaN; 17 long = NaN; 18 epsg = 0; 19 20 vertexonbase = NaN; 21 vertexonsurface = NaN; 22 lowerelements = NaN; 23 lowervertex = NaN; 24 upperelements = NaN; 25 uppervertex = NaN; 26 vertexonboundary = NaN; 27 28 vertexconnectivity = NaN; 29 elementconnectivity = NaN; 30 30 average_vertex_connectivity = 0; 31 31 32 x2d = NaN 33 y2d = NaN 34 elements2d = NaN 32 x2d = NaN; 33 y2d = NaN; 34 elements2d = NaN; 35 35 numberofvertices2d = 0; 36 36 numberofelements2d = 0; 37 37 38 extractedvertices = NaN 39 extractedelements = NaN 38 extractedvertices = NaN; 39 extractedelements = NaN; 40 end 41 methods (Static) 42 function self = loadself(self) % {{{ 43 % This function is directly called by matlab when a model selfect is 44 % loaded. Update old properties here 45 46 %2014 Oct. 1st 47 if isstruct(self), 48 oldself=self; 49 %Assign property values from struct 50 self=structtoself(mesh3dprisms(),oldself) 51 if isfield(oldself,'hemisphere'), 52 disp('md.mesh.hemisphere has been automatically converted to EPSG code'); 53 if strcmpi(oldself.hemisphere,'n'), 54 self.epsg=3413; 55 else 56 self.epsg=3031; 57 end 58 end 59 end 60 61 end% }}} 40 62 end 41 63 methods 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="hemisphere" type="',class(obj.hemisphere),'" default="',convert2str(obj.hemisphere),'">',' <section name="mesh3dprisms" />',' <help> Indicate hemisphere''n'' or ''s'' </help>',' </parameter>');92 93 94 64 function createxml(obj,fid) % {{{ 65 fprintf(fid, '<!-- 3D prism Mesh -->\n'); 66 67 % Elements and verticies of the original 2d mesh 68 fprintf(fid,'%s\n%s\n%s\n',' <frame key="1" label="Elements and vertices of the orginal 2d mesh">',' <section name="mesh3dprisms" />'); 69 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="numberofelements2d" type="',class(obj.numberofelements2d),'" default="',convert2str(obj.numberofelements2d),'">',' <help> number of elements </help>',' </parameter>'); 70 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="numberofvertices2d" type="',class(obj.numberofvertices2d),'" default="',convert2str(obj.numberofvertices2d),'">',' <help> number of vertices </help>',' </parameter>'); 71 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="elements2d" type="',class(obj.elements2d),'" default="',convert2str(obj.elements2d),'">',' <help> vertex indices of the mesh elements </help>',' </parameter>'); 72 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="x2d" type="',class(obj.x2d),'" default="',convert2str(obj.x2d),'">',' <section name="mesh3dprisms" />',' <help> vertices x coordinate [m] </help>',' </parameter>'); 73 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="y2d" type="',class(obj.y2d),'" default="',convert2str(obj.y2d),'">',' <section name="mesh3dprisms" />',' <help> vertices y coordinate [m] </help>',' </parameter>'); 74 fprintf(fid,'%s\n%s\n',' </frame>'); 75 76 % Elements and vertices of the extruded 3d mesh 77 fprintf(fid,'%s\n%s\n%s\n',' <frame key="2" label="Elements and vertices of the orginal 3d mesh">',' <section name="mesh3dprisms" />'); 78 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="numberofelements" type="',class(obj.numberofelements),'" default="',convert2str(obj.numberofelements),'">',' <help> number of elements </help>',' </parameter>'); 79 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="numberofvertices" type="',class(obj.numberofvertices),'" default="',convert2str(obj.numberofvertices),'">',' <help> number of vertices </help>',' </parameter>'); 80 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="elements" type="',class(obj.elements),'" default="',convert2str(obj.elements),'">',' <help> vertex indices of the mesh elements </help>',' </parameter>'); 81 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="x" type="',class(obj.x),'" default="',convert2str(obj.x),'">',' <section name="mesh3dprisms" />',' <help> vertices x coordinate [m] </help>',' </parameter>'); 82 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="y" type="',class(obj.y),'" default="',convert2str(obj.y),'">',' <section name="mesh3dprisms" />',' <help> vertices y coordinate [m] </help>',' </parameter>'); 83 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="z" type="',class(obj.y),'" default="',convert2str(obj.y),'">',' <section name="mesh3dprisms" />',' <help> vertices z coordinate [m] </help>',' </parameter>'); 84 fprintf(fid,'%s\n%s\n',' </frame>'); 85 86 % properties 87 fprintf(fid,'%s\n%s\n%s\n','<frame key="3" label="Properties">','<section name="mesh3dprisms" />'); 88 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="numberoflayers" type="',class(obj.numberoflayers),'" default="',convert2str(obj.numberoflayers),'">',' <section name="mesh3dprisms" />',' <help> number of extrusion layers </help>',' </parameter>'); 89 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="vertexonbase" type="',class(obj.vertexonbase),'" default="',convert2str(obj.vertexonbase),'">',' <section name="mesh3dprisms" />',' <help> lower vertices flags list </help>',' </parameter>'); 90 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="elementontbase" type="',class(obj.elementontbase),'" default="',convert2str(obj.elementontbase),'">',' <section name="mesh3dprisms" />',' <help> lower elements flags list </help>',' </parameter>'); 91 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="vertexonsurface" type="',class(obj.vertexonsurface),'" default="',convert2str(obj.vertexonsurface),'">',' <section name="mesh3dprisms" />',' <help> upper vertices flags list </help>',' </parameter>'); 92 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="elementontsurface" type="',class(obj.elementontsurface),'" default="',convert2str(obj.elementontsurface),'">',' <section name="mesh3dprisms" />',' <help> upper elements flags list </help>',' </parameter>'); 93 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="uppervertex" type="',class(obj.uppervertex),'" default="',convert2str(obj.uppervertex),'">',' <section name="mesh3dprisms" />',' <help> upper vertex list (NaN for vertex on the upper surface) </help>',' </parameter>'); 94 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="upperelements" type="',class(obj.upperelements),'" default="',convert2str(obj.upperelements),'">',' <section name="mesh3dprisms" />',' <help> upper element list (NaN for element on the upper layer) </help>',' </parameter>'); 95 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="lowervertex" type="',class(obj.lowervertex),'" default="',convert2str(obj.lowervertex),'">',' <section name="mesh3dprisms" />',' <help> lower vertex list (NaN for vertex on the lower surface) </help>',' </parameter>'); 96 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="lowerelements" type="',class(obj.lowerelements),'" default="',convert2str(obj.lowerelements),'">',' <section name="mesh3dprisms" />',' <help> element list (NaN for element on the lower layer) </help>',' </parameter>'); 97 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="vertexonboundary" type="',class(obj.vertexonboundary),'" default="',convert2str(obj.vertexonboundary),'">',' <section name="mesh3dprisms" />',' <help> vertices on the boundary of the domain flag list </help>',' </parameter>'); 98 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="vertexconnectivity" type="',class(obj.vertexconnectivity),'" default="',convert2str(obj.vertexconnectivity),'">',' <section name="mesh3dprisms" />',' <help> list of vertices connected to vertex_i </help>',' </parameter>'); 99 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="elementconnectivity" type="',class(obj.elementconnectivity),'" default="',convert2str(obj.elementconnectivity),'">',' <section name="mesh3dprisms" />',' <help> average number of vertices connected to one vertex </help>',' </parameter>'); 100 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="average_vertex_connectivity" type="',class(obj.average_vertex_connectivity),'" default="',convert2str(obj.average_vertex_connectivity),'">',' <section name="mesh3dprisms" />',' <help> average number of vertices connected to one vertex </help>',' </parameter>'); 101 fprintf(fid,'%s\n%s\n','</frame>'); 102 103 % Extracted model 104 fprintf(fid,'%s\n%s\n%s\n','<frame key="4" label="Extracted Model">','<section name="mesh3dprisms" />'); 105 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="extractedvertices" type="',class(obj.extractedvertices),'" default="',convert2str(obj.extractedvertices),'">',' <section name="mesh3dprisms" />',' <help> vertices extracted from the model </help>',' </parameter>'); 106 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="extractedelements" type="',class(obj.extractedelements),'" default="',convert2str(obj.extractedelements),'">',' <section name="mesh3dprisms" />',' <help> elements extracted from the model </help>',' </parameter>'); 107 fprintf(fid,'%s\n%s\n','</frame>'); 108 109 % Projection 110 fprintf(fid,'%s\n%s\n%s\n','<frame key="5" label="Projection">','<section name="mesh3dprisms" />'); 111 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="lat" type="',class(obj.lat),'" default="',convert2str(obj.lat),'">',' <section name="mesh3dprisms" />',' <help> vertices latitude [degrees] </help>',' </parameter>'); 112 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="long" type="',class(obj.long),'" default="',convert2str(obj.long),'">',' <section name="mesh3dprisms" />',' <help> verticies longitude [degrees] </help>',' </parameter>'); 113 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="epsg" type="',class(obj.epsg),'" default="',convert2str(obj.epsg),'">',' <section name="mesh3dprisms" />',' <help> Indicate epsg ''n'' or ''s'' </help>',' </parameter>'); 114 fprintf(fid,'%s\n%s\n','</frame>'); 115 116 end % }}}cd 95 117 function self = mesh3dprisms(varargin) % {{{ 96 118 switch nargin … … 133 155 md = checkfield(md,'fieldname','mesh.numberofelements','>',0); 134 156 md = checkfield(md,'fieldname','mesh.numberofvertices','>',0); 135 %no checks for numberofedges lat long and hemisphere136 157 md = checkfield(md,'fieldname','mesh.vertexonbase','size',[md.mesh.numberofvertices 1],'values',[0 1]); 137 158 md = checkfield(md,'fieldname','mesh.vertexonsurface','size',[md.mesh.numberofvertices 1],'values',[0 1]); … … 179 200 fielddisplay(obj,'lat','vertices latitude [degrees]'); 180 201 fielddisplay(obj,'long','vertices longitude [degrees]'); 181 fielddisplay(obj,' hemisphere','Indicate hemisphere ''n'' or ''s''');202 fielddisplay(obj,'epsg','EPSG code (ex: 3413 for UPS Greenland, 3031 for UPS Antarctica)'); 182 203 end % }}} 183 204 function marshall(obj,md,fid) % {{{ -
issm/trunk-jpl/src/m/classes/mesh3dprisms.py
r18077 r18558 25 25 self.lat = float('NaN'); 26 26 self.long = float('NaN'); 27 self. hemisphere = float('NaN');27 self.epsg = 0; 28 28 29 self.vertexonbase 29 self.vertexonbase = float('NaN'); 30 30 self.vertexonsurface = float('NaN'); 31 31 self.lowerelements = float('NaN'); … … 90 90 string="%s\n%s"%(string,fielddisplay(self,"lat","vertices latitude [degrees]")) 91 91 string="%s\n%s"%(string,fielddisplay(self,"long","vertices longitude [degrees]")) 92 string="%s\n%s"%(string,fielddisplay(self," hemisphere","Indicate hemisphere 'n' or 's'"))92 string="%s\n%s"%(string,fielddisplay(self,"epsg","EPSG code (ex: 3413 for UPS Greenland, 3031 for UPS Antarctica)")) 93 93 return string 94 94 #}}} … … 116 116 md = checkfield(md,'fieldname','mesh.numberofelements','>',0) 117 117 md = checkfield(md,'fieldname','mesh.numberofvertices','>',0) 118 #no checks for numberofedges lat long and hemisphere119 118 md = checkfield(md,'fieldname','mesh.vertexonbase','size',[md.mesh.numberofvertices],'values',[0,1]) 120 119 md = checkfield(md,'fieldname','mesh.vertexonsurface','size',[md.mesh.numberofvertices],'values',[0,1]) -
issm/trunk-jpl/src/m/classes/mesh3dtetras.m
r17931 r18558 8 8 x = NaN; 9 9 y = NaN; 10 z = NaN 11 elements = NaN 10 z = NaN; 11 elements = NaN; 12 12 numberoflayers = 0; 13 13 numberofelements = 0; 14 14 numberofvertices = 0; 15 15 16 lat = NaN 17 long = NaN 18 hemisphere = NaN19 20 vertexonbase = NaN21 vertexonsurface = NaN 22 lowerelements = NaN 23 lowervertex = NaN 24 upperelements = NaN 25 uppervertex = NaN 26 vertexonboundary = NaN 27 28 vertexconnectivity = NaN 29 elementconnectivity = NaN 16 lat = NaN; 17 long = NaN; 18 epsg = 0; 19 20 vertexonbase = NaN; 21 vertexonsurface = NaN; 22 lowerelements = NaN; 23 lowervertex = NaN; 24 upperelements = NaN; 25 uppervertex = NaN; 26 vertexonboundary = NaN; 27 28 vertexconnectivity = NaN; 29 elementconnectivity = NaN; 30 30 average_vertex_connectivity = 0; 31 31 32 x2d = NaN 33 y2d = NaN 34 elements2d = NaN 32 x2d = NaN; 33 y2d = NaN; 34 elements2d = NaN; 35 35 numberofvertices2d = 0; 36 36 numberofelements2d = 0; 37 37 38 extractedvertices = NaN 39 extractedelements = NaN 38 extractedvertices = NaN; 39 extractedelements = NaN; 40 end 41 methods (Static) 42 function self = loadself(self) % {{{ 43 % This function is directly called by matlab when a model selfect is 44 % loaded. Update old properties here 45 46 %2014 Oct. 1st 47 if isstruct(self), 48 oldself=self; 49 %Assign property values from struct 50 self=structtoself(mesh3dtetras(),oldself) 51 if isfield(oldself,'hemisphere'), 52 disp('md.mesh.hemisphere has been automatically converted to EPSG code'); 53 if strcmpi(oldself.hemisphere,'n'), 54 self.epsg=3413; 55 else 56 self.epsg=3031; 57 end 58 end 59 end 60 61 end% }}} 40 62 end 41 63 methods 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="hemisphere" type="',class(obj.hemisphere),'" default="',convert2str(obj.hemisphere),'">',' <section name="mesh3dprisms" />',' <help> Indicate hemisphere''n'' or ''s'' </help>',' </parameter>');92 93 94 64 function createxml(obj,fid) % {{{ 65 fprintf(fid, '<!-- 3D Tetra Mesh -->\n'); 66 67 % Elements and verticies of the original 2d mesh 68 fprintf(fid,'%s\n%s\n%s\n',' <frame key="1" label="Elements and vertices of the orginal 2d mesh">',' <section name="mesh3dprisms" />'); 69 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="numberofelements2d" type="',class(obj.numberofelements2d),'" default="',convert2str(obj.numberofelements2d),'">',' <help> number of elements </help>',' </parameter>'); 70 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="numberofvertices2d" type="',class(obj.numberofvertices2d),'" default="',convert2str(obj.numberofvertices2d),'">',' <help> number of vertices </help>',' </parameter>'); 71 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="elements2d" type="',class(obj.elements2d),'" default="',convert2str(obj.elements2d),'">',' <help> vertex indices of the mesh elements </help>',' </parameter>'); 72 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="x2d" type="',class(obj.x2d),'" default="',convert2str(obj.x2d),'">',' <section name="mesh3dprisms" />',' <help> vertices x coordinate [m] </help>',' </parameter>'); 73 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="y2d" type="',class(obj.y2d),'" default="',convert2str(obj.y2d),'">',' <section name="mesh3dprisms" />',' <help> vertices y coordinate [m] </help>',' </parameter>'); 74 fprintf(fid,'%s\n%s\n',' </frame>'); 75 76 % Elements and vertices of the extruded 3d mesh 77 fprintf(fid,'%s\n%s\n%s\n',' <frame key="2" label="Elements and vertices of the orginal 3d mesh">',' <section name="mesh3dprisms" />'); 78 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="numberofelements" type="',class(obj.numberofelements),'" default="',convert2str(obj.numberofelements),'">',' <help> number of elements </help>',' </parameter>'); 79 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="numberofvertices" type="',class(obj.numberofvertices),'" default="',convert2str(obj.numberofvertices),'">',' <help> number of vertices </help>',' </parameter>'); 80 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="elements" type="',class(obj.elements),'" default="',convert2str(obj.elements),'">',' <help> vertex indices of the mesh elements </help>',' </parameter>'); 81 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="x" type="',class(obj.x),'" default="',convert2str(obj.x),'">',' <section name="mesh3dprisms" />',' <help> vertices x coordinate [m] </help>',' </parameter>'); 82 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="y" type="',class(obj.y),'" default="',convert2str(obj.y),'">',' <section name="mesh3dprisms" />',' <help> vertices y coordinate [m] </help>',' </parameter>'); 83 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="z" type="',class(obj.y),'" default="',convert2str(obj.y),'">',' <section name="mesh3dprisms" />',' <help> vertices z coordinate [m] </help>',' </parameter>'); 84 fprintf(fid,'%s\n%s\n',' </frame>'); 85 86 % properties 87 fprintf(fid,'%s\n%s\n%s\n','<frame key="3" label="Properties">','<section name="mesh3dprisms" />'); 88 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="numberoflayers" type="',class(obj.numberoflayers),'" default="',convert2str(obj.numberoflayers),'">',' <section name="mesh3dprisms" />',' <help> number of extrusion layers </help>',' </parameter>'); 89 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="vertexonbase" type="',class(obj.vertexonbase),'" default="',convert2str(obj.vertexonbase),'">',' <section name="mesh3dprisms" />',' <help> lower vertices flags list </help>',' </parameter>'); 90 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="elementontbase" type="',class(obj.elementontbase),'" default="',convert2str(obj.elementontbase),'">',' <section name="mesh3dprisms" />',' <help> lower elements flags list </help>',' </parameter>'); 91 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="vertexonsurface" type="',class(obj.vertexonsurface),'" default="',convert2str(obj.vertexonsurface),'">',' <section name="mesh3dprisms" />',' <help> upper vertices flags list </help>',' </parameter>'); 92 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="elementontsurface" type="',class(obj.elementontsurface),'" default="',convert2str(obj.elementontsurface),'">',' <section name="mesh3dprisms" />',' <help> upper elements flags list </help>',' </parameter>'); 93 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="uppervertex" type="',class(obj.uppervertex),'" default="',convert2str(obj.uppervertex),'">',' <section name="mesh3dprisms" />',' <help> upper vertex list (NaN for vertex on the upper surface) </help>',' </parameter>'); 94 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="upperelements" type="',class(obj.upperelements),'" default="',convert2str(obj.upperelements),'">',' <section name="mesh3dprisms" />',' <help> upper element list (NaN for element on the upper layer) </help>',' </parameter>'); 95 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="lowervertex" type="',class(obj.lowervertex),'" default="',convert2str(obj.lowervertex),'">',' <section name="mesh3dprisms" />',' <help> lower vertex list (NaN for vertex on the lower surface) </help>',' </parameter>'); 96 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="lowerelements" type="',class(obj.lowerelements),'" default="',convert2str(obj.lowerelements),'">',' <section name="mesh3dprisms" />',' <help> element list (NaN for element on the lower layer) </help>',' </parameter>'); 97 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="vertexonboundary" type="',class(obj.vertexonboundary),'" default="',convert2str(obj.vertexonboundary),'">',' <section name="mesh3dprisms" />',' <help> vertices on the boundary of the domain flag list </help>',' </parameter>'); 98 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="vertexconnectivity" type="',class(obj.vertexconnectivity),'" default="',convert2str(obj.vertexconnectivity),'">',' <section name="mesh3dprisms" />',' <help> list of vertices connected to vertex_i </help>',' </parameter>'); 99 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="elementconnectivity" type="',class(obj.elementconnectivity),'" default="',convert2str(obj.elementconnectivity),'">',' <section name="mesh3dprisms" />',' <help> average number of vertices connected to one vertex </help>',' </parameter>'); 100 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="average_vertex_connectivity" type="',class(obj.average_vertex_connectivity),'" default="',convert2str(obj.average_vertex_connectivity),'">',' <section name="mesh3dprisms" />',' <help> average number of vertices connected to one vertex </help>',' </parameter>'); 101 fprintf(fid,'%s\n%s\n','</frame>'); 102 103 % Extracted model 104 fprintf(fid,'%s\n%s\n%s\n','<frame key="4" label="Extracted Model">','<section name="mesh3dprisms" />'); 105 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="extractedvertices" type="',class(obj.extractedvertices),'" default="',convert2str(obj.extractedvertices),'">',' <section name="mesh3dprisms" />',' <help> vertices extracted from the model </help>',' </parameter>'); 106 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="extractedelements" type="',class(obj.extractedelements),'" default="',convert2str(obj.extractedelements),'">',' <section name="mesh3dprisms" />',' <help> elements extracted from the model </help>',' </parameter>'); 107 fprintf(fid,'%s\n%s\n','</frame>'); 108 109 % Projection 110 fprintf(fid,'%s\n%s\n%s\n','<frame key="5" label="Projection">','<section name="mesh3dprisms" />'); 111 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="lat" type="',class(obj.lat),'" default="',convert2str(obj.lat),'">',' <section name="mesh3dprisms" />',' <help> vertices latitude [degrees] </help>',' </parameter>'); 112 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n',' <parameter key ="long" type="',class(obj.long),'" default="',convert2str(obj.long),'">',' <section name="mesh3dprisms" />',' <help> verticies longitude [degrees] </help>',' </parameter>'); 113 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n',' <parameter key ="epsg" type="',class(obj.epsg),'" default="',convert2str(obj.epsg),'">',' <section name="mesh3dprisms" />',' <help> Indicate epsg ''n'' or ''s'' </help>',' </parameter>'); 114 fprintf(fid,'%s\n%s\n','</frame>'); 115 116 end % }}}cd 95 117 function self = mesh3dtetras(varargin) % {{{ 96 118 switch nargin … … 133 155 md = checkfield(md,'fieldname','mesh.numberofelements','>',0); 134 156 md = checkfield(md,'fieldname','mesh.numberofvertices','>',0); 135 %no checks for numberofedges lat long and hemisphere136 157 md = checkfield(md,'fieldname','mesh.vertexonbase','size',[md.mesh.numberofvertices 1],'values',[0 1]); 137 158 md = checkfield(md,'fieldname','mesh.vertexonsurface','size',[md.mesh.numberofvertices 1],'values',[0 1]); … … 179 200 fielddisplay(obj,'lat','vertices latitude [degrees]'); 180 201 fielddisplay(obj,'long','vertices longitude [degrees]'); 181 fielddisplay(obj,' hemisphere','Indicate hemisphere ''n'' or ''s''');202 fielddisplay(obj,'epsg','EPSG code (ex: 3413 for UPS Greenland, 3031 for UPS Antarctica)'); 182 203 end % }}} 183 204 function marshall(obj,md,fid) % {{{ -
issm/trunk-jpl/src/m/classes/model.m
r18538 r18558 660 660 md.mesh.lat = mesh2d.lat; 661 661 md.mesh.long = mesh2d.long; 662 md.mesh. hemisphere = mesh2d.hemisphere;662 md.mesh.epsg = mesh2d.epsg; 663 663 664 664 md.mesh.vertexonboundary = mesh2d.vertexonboundary; … … 973 973 if isfield(structmd,'extractedelements'), md.mesh.extractedelements=structmd.extractedelements; end 974 974 if isfield(structmd,'nodeonboundary'), md.mesh.vertexonboundary=structmd.nodeonboundary; end 975 if isfield(structmd,'hemisphere'), md.mesh.hemisphere=structmd.hemisphere; end976 975 if isfield(structmd,'lat'), md.mesh.lat=structmd.lat; end 977 976 if isfield(structmd,'long'), md.mesh.long=structmd.long; end -
issm/trunk-jpl/src/m/classes/model.py
r18216 r18558 517 517 md.mesh.lat = mesh2d.lat 518 518 md.mesh.long = mesh2d.long 519 md.mesh. hemisphere = mesh2d.hemisphere519 md.mesh.epsg = mesh2d.epsg 520 520 521 521 md.mesh.vertexonboundary = mesh2d.vertexonboundary -
issm/trunk-jpl/src/m/plot/applyoptions.m
r17708 r18558 6 6 % 7 7 % See also: PLOTMODEL, PARSE_OPTIONS 8 9 %some defaults10 if isfield(md.mesh,'hemisphere'),11 if strcmpi(md.mesh.hemisphere,'n'), options=addfielddefault(options,'hemisphere','n');12 elseif strcmpi(md.mesh.hemisphere,'s'), options=addfielddefault(options,'hemisphere','s');13 end14 end15 8 16 9 %fontsize … … 365 358 axis equal off 366 359 %box off 367 if strcmpi(md.mesh.hemisphere,'n') | strcmpi(md.mesh.hemisphere,'north'),360 if md.mesh.epsg==3413, 368 361 A=expread('/u/astrid-r1b/ModelData/Exp/GreenlandBoxFront.exp'); 369 362 [A.x A.y]=ll2xy(A.x,A.y,+1,45,70); 370 363 A.x = A.x(1:30:end); 371 364 A.y = A.y(1:30:end); 372 elseif strcmpi(md.mesh.hemisphere,'s') | strcmpi(md.mesh.hemisphere,'south'),365 elseif md.mesh.epsg==3031, 373 366 A=expread('/u/astrid-r1b/ModelData/Exp/Antarctica.exp'); 374 367 else 375 error('applyoptions error message: hemispherenot defined');368 error('applyoptions error message: md.mesh.epsg not defined'); 376 369 end 377 370 offset=3*10^4; -
issm/trunk-jpl/src/m/plot/applyoptions.py
r18012 r18558 24 24 See also: PLOTMODEL, PARSE_OPTIONS 25 25 ''' 26 27 #some defaults (this seems to be adding a field that already exists...)28 #if not isnan(md.mesh.hemisphere):29 # options.addfielddefault('hemisphere',md.mesh.hemisphere)30 26 31 27 # get handle to current figure and axes instance -
issm/trunk-jpl/src/m/plot/googlemaps.m
r18551 r18558 22 22 end 23 23 end 24 25 if md.mesh.epsg==0, 26 error('md.mesh.epsg not defined'); 27 end 24 28 if nargin==1, 25 29 %Get xlim and ylim (used to extract Google maps image) 26 30 xlim=getfieldvalue(options,'xlim',[min(md.mesh.x) max(md.mesh.x)]); 27 31 ylim=getfieldvalue(options,'ylim',[min(md.mesh.y) max(md.mesh.y)]); 28 if strcmpi(md.mesh.hemisphere,'n'),32 if md.mesh.epsg==3413, 29 33 [latlist lonlist]= xy2ll(... 30 34 [linspace(xlim(1),xlim(2),100) linspace(xlim(2),xlim(2),100) linspace(xlim(2),xlim(1),100) linspace(xlim(1),xlim(1),100)],... 31 35 [linspace(ylim(1),ylim(1),100) linspace(ylim(1),ylim(2),100) linspace(ylim(2),ylim(2),100) linspace(ylim(2),ylim(1),100)],... 32 36 +1,45,70); 33 elseif strcmpi(md.mesh.hemisphere,'s'),37 elseif md.mesh.epsg==3031, 34 38 [latlist lonlist]= xy2ll(... 35 39 [linspace(xlim(1),xlim(2),100) linspace(xlim(2),xlim(2),100) linspace(xlim(2),xlim(1),100) linspace(xlim(1),xlim(1),100)],... … … 37 41 -1,0,71); 38 42 else 39 error(' field hemisphere should either be ''n'' or ''s''');43 error('EPSG code not supported yet'); 40 44 end 41 45 … … 50 54 %Get region specific projection parameters 51 55 EPSGgoogle = 'EPSG:3785'; % Mercator http://www.spatialreference.org/ref/epsg/3785/ 52 if strcmpi(md.mesh.hemisphere,'n'), 53 EPSGlocal = 'EPSG:3413'; % UPS Greenland http://www.spatialreference.org/ref/epsg/3413/ 54 elseif strcmpi(md.mesh.hemisphere,'s'), 55 EPSGlocal = 'EPSG:3031'; % UPS Antarctica http://www.spatialreference.org/ref/epsg/3031/ 56 elseif strcmpi(md.mesh.hemisphere,'UTM18N'), 57 EPSGlocal = 'EPSG:32218'; % UTM 18 N Patagonia 58 else 59 error('field hemisphere should either be ''n'' or ''s'''); 60 end 56 EPSGlocal = ['EPSG:' md.mesh.epsg] 61 57 62 58 %Find optimal zoom … … 132 128 [gX gY]=meshgrid(ulx:ulx+size(final,2)-1,uly:-1:uly-size(final,1)+1); 133 129 [LAT LON]=pixelstolatlon(gX,gY, zoom); 134 if strcmpi(md.mesh.hemisphere,'n'),130 if md.mesh.epsg==3413, 135 131 [X Y]=ll2xy(LAT,LON,+1,45,70); 136 elseif strcmpi(md.mesh.hemisphere,'s'),132 elseif md.mesh.epsg==3031, 137 133 [X Y]=ll2xy(LAT,LON,-1,0,71); 138 134 else 139 error(' field hemisphere should either be ''n'' or ''s''');135 error('EPSG code not supported yet'); 140 136 end 141 137 md.radaroverlay.pwr=final; … … 155 151 [gX gY]=meshgrid(ulx:ulx+size(final,2)-1,uly:-1:uly-size(final,1)+1); 156 152 [LAT LON]=pixelstolatlon(gX,gY, zoom); 157 if strcmpi(md.mesh.hemisphere,'n'),153 if md.mesh.epsg==3413, 158 154 [X Y]=ll2xy(LAT,LON,+1,45,70); 159 elseif strcmpi(md.mesh.hemisphere,'s'),155 elseif md.mesh.epsg==3031, 160 156 [X Y]=ll2xy(LAT,LON,-1,0,71); 161 157 else 162 error(' field hemisphere should either be ''n'' or ''s''');158 error('EPSG code not supported yet'); 163 159 end 164 160 md.radaroverlay.pwr=final; -
issm/trunk-jpl/src/m/plot/latlonoverlay.m
r14259 r18558 66 66 latitudes =lat*ones(size(longitudes)); 67 67 68 if strcmpi(md.mesh.hemisphere,'n'),68 if md.mesh.epsg==3413, 69 69 if lat<0, continue; end 70 70 [x,y]=ll2xy(latitudes,longitudes,+1,45,70); 71 elseif strcmpi(md.mesh.hemisphere,'s'),71 elseif md.mesh.epsg==3031, 72 72 if lat>0, continue; end 73 73 [x,y]=ll2xy(latitudes,longitudes,-1, 0,71); 74 else error('field hemisphere should either be ''n'' or ''s'''); end74 else error('field md.mesh.epsg not supported yet'); end 75 75 76 76 pos=find(x<=xlimits(2) & x>=xlimits(1) & y<=ylimits(2) & y>=ylimits(1)); … … 105 105 for lon=-180:lonstep:180 106 106 107 if strcmpi(md.mesh.hemisphere,'n'),107 if md.mesh.epsg==3413, 108 108 latitudes =0:resolution:90; 109 109 longitudes=lon*ones(size(latitudes)); 110 110 [x,y]=ll2xy(latitudes,longitudes,+1,45,70); 111 elseif strcmpi(md.mesh.hemisphere,'s'),111 elseif md.mesh.epsg==3031, 112 112 latitudes =-90:resolution:0; 113 113 longitudes=lon*ones(size(latitudes)); 114 114 [x,y]=ll2xy(latitudes,longitudes,-1, 0,71); 115 115 else 116 error('field hemisphere should either be ''n'' or ''s''');116 error('field md.mesh.epsg not supported yet'); 117 117 end 118 118 -
issm/trunk-jpl/src/m/plot/plot_googlemaps.m
r18551 r18558 25 25 xlim=getfieldvalue(options,'xlim',[min(x) max(x)]); 26 26 ylim=getfieldvalue(options,'ylim',[min(y) max(y)]); 27 if strcmpi(md.mesh.hemisphere,'n'),27 if md.mesh.epsg==3413, 28 28 [latlist lonlist]= xy2ll(... 29 29 [linspace(xlim(1),xlim(2),100) linspace(xlim(2),xlim(2),100) linspace(xlim(2),xlim(1),100) linspace(xlim(1),xlim(1),100)],... 30 30 [linspace(ylim(1),ylim(1),100) linspace(ylim(1),ylim(2),100) linspace(ylim(2),ylim(2),100) linspace(ylim(2),ylim(1),100)],... 31 31 +1,45,70); 32 elseif strcmpi(md.mesh.hemisphere,'s'),32 elseif md.mesh.epsg==3031, 33 33 [latlist lonlist]= xy2ll(... 34 34 [linspace(xlim(1),xlim(2),100) linspace(xlim(2),xlim(2),100) linspace(xlim(2),xlim(1),100) linspace(xlim(1),xlim(1),100)],... … … 38 38 latlist = md.mesh.lat; %That might work? 39 39 lonlist = md.mesh.long; 40 error(' field hemisphere should either be ''n'' or ''s''');40 error('EPSG code not supported yet'); 41 41 end 42 42 -
issm/trunk-jpl/src/m/plot/plotdoc.m
r18141 r18558 57 57 disp(' ''axis'': same as standard matlab option (''equal'',''off'',''equal on'',...)'); 58 58 disp(' ''basin'': zoom on a given basin (''pineislandglacier'',''ronneiceshelf'', use isbasin to identify a basin'); 59 disp(' ''hemisphere'': specify +1 or -1');60 59 disp(' ''basindeltax'': in m'); 61 60 disp(' ''showbasins'': write lables for every existing basin name around the center of the plot'); … … 109 108 disp(' ''contrast'': (default 1) coefficient to add contrast to the radar amplitude image used in overlays'); 110 109 disp(' ''highres'': resolution of overlayed radar amplitude image (default is 0, high resolution is 1).'); 111 disp(' ''hem'': specify hemisphere ''n'' or ''s'' (default is ''s'').');112 110 disp(' ''alpha'': transparency coefficient (the higher, the more transparent). Default is 1.5'); 113 111 disp(' ''scaling'': scaling factor used by quiver plots. Default is 0.4'); -
issm/trunk-jpl/src/m/plot/radarpower.m
r17224 r18558 36 36 %figure out if we should go look for Greenland or Antarctica geotiff, or if user provided one. 37 37 if ~exist(options,'overlay_image'), 38 if strcmpi(md.mesh.hemisphere,'n'),38 if md.mesh.epsg==3413, 39 39 %if ~exist(['/u/astrid-r1b/ModelData/MOG/mog150_greenland_map.jpg']), 40 40 % error(['radarpower error message: file ' '/u/astrid-r1b/ModelData/MOG/mog150_greenland_map.jpg not found.']); … … 106 106 system('rm -rf ./temp.tif'); 107 107 108 elseif strcmpi(md.mesh.hemisphere,'s'),108 elseif md.mesh.epsg==3031, 109 109 if ~exist(options,'geotiff_name'), 110 110 if highres, … … 138 138 139 139 else 140 error(' field hemisphere should either be ''n'' or ''s''');140 error('EPSG code not supported yet (ex: 3413 for UPS Greenland, 3031 for UPS Antarctica)'); 141 141 end 142 142 else -
issm/trunk-jpl/src/m/plot/showregion.m
r15917 r18558 15 15 axis equal off 16 16 %box off 17 if strcmpi(md.mesh.hemisphere,'n') | strcmpi(md.mesh.hemisphere,'north'),17 if md.mesh.epsg==3413, 18 18 A=expread(['/u/astrid-r1b/ModelData/Exp/Greenland.exp']); 19 elseif strcmpi(md.mesh.hemisphere,'s') | strcmpi(md.mesh.hemisphere,'south'),19 elseif md.mesh.epsg==3031, 20 20 A=expread(['/u/astrid-r1b/ModelData/Exp/Antarctica.exp']); 21 21 else 22 error(' applyoptions error message: hemisphere not defined');22 error('md.mesh.epsg not supported yet'); 23 23 end 24 24
Note:
See TracChangeset
for help on using the changeset viewer.