source: issm/oecreview/Archive/11229-11250/ISSM-11235-11236.diff@ 11514

Last change on this file since 11514 was 11514, checked in by Eric.Larour, 14 years ago

11229 to 11268 oecreview

File size: 17.5 KB
RevLine 
[11514]1Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/AUTHORS
2===================================================================
3--- /proj/ice/larour/issm-uci-clean/trunk-jpl/AUTHORS (revision 11235)
4+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/AUTHORS (revision 11236)
5@@ -1,15 +1,15 @@
6 Ice Sheet System Model is a JPL/UCI collaboration to develop a massively-parallelized
7 multi-purpose finite element framework dedicated to ice sheet modeling
8
9-Team manager:
10+Project Scientist:
11 Eric Rignot <eric.rignot@jpl.nasa.gov>
12
13-Development manager:
14+Project Manager:
15 Eric Larour <eric.larour@jpl.nasa.gov>
16
17 Current core developers:
18 * Eric Larour <eric.larour@jpl.nasa.gov>
19- * Helene Seroussi <helene.seroussi@jpl.nasa.gov>
20+ * Helene Seroussi <helene.seroussi@jpl.nasa.gov>
21 * Mathieu Morlighem <mathieu.morlighem@jpl.nasa.gov>
22
23 Contributors:
24Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/Container/Elements.cpp
25===================================================================
26--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/Container/Elements.cpp (revision 11235)
27+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/Container/Elements.cpp (revision 11236)
28@@ -179,8 +179,6 @@
29 bool results_as_patches;
30 int numberofvertices,numberofelements;
31 int numberofresults,vectorsize;
32- int rank;
33- int minrank;
34
35 /*Recover parameters: */
36 parameters->FindParam(&io_gather,SettingsIoGatherEnum);
37@@ -191,31 +189,25 @@
38 if(!results_as_patches){
39 /*No patch here, we prepare vectors*/
40
41- /*Get rank of first cpu that has results*/
42- if(this->Size()) rank=my_rank;
43- else rank=num_procs;
44- MPI_Allreduce (&rank,&minrank,1,MPI_INT,MPI_MIN,MPI_COMM_WORLD);
45-
46 /*see what the first element of this partition has in stock (this is common to all partitions)*/
47- if(my_rank==minrank){
48- if(this->Size()==0) _error_("Cannot write results because there is no element??");
49+ if(my_rank==0){
50+ if(this->Size()==0) _error_("Cannot write results because first partition has no element. Maybe too many cpus were requested");
51 Element* element=(Element*)this->GetObjectByOffset(0);
52 element->ListResultsInfo(&resultsenums,&resultssizes,&resultstimes,&resultssteps,&numberofresults);
53 }
54- MPI_Bcast(&numberofresults,1,MPI_DOUBLE,minrank,MPI_COMM_WORLD);
55-
56+ MPI_Bcast(&numberofresults,1,MPI_DOUBLE,0,MPI_COMM_WORLD);
57 /*Get out if there is no results. Otherwise broadcast info*/
58 if(!numberofresults) return;
59- if(my_rank!=minrank){
60+ if(my_rank!=0){
61 resultsenums=(int*)xmalloc(numberofresults*sizeof(int));
62 resultssizes=(int*)xmalloc(numberofresults*sizeof(int));
63 resultstimes=(double*)xmalloc(numberofresults*sizeof(double));
64 resultssteps=(int*)xmalloc(numberofresults*sizeof(int));
65 }
66- MPI_Bcast(resultsenums,numberofresults,MPI_INT,minrank,MPI_COMM_WORLD);
67- MPI_Bcast(resultssizes,numberofresults,MPI_INT,minrank,MPI_COMM_WORLD);
68- MPI_Bcast(resultstimes,numberofresults,MPI_DOUBLE,minrank,MPI_COMM_WORLD);
69- MPI_Bcast(resultssteps,numberofresults,MPI_INT,minrank,MPI_COMM_WORLD);
70+ MPI_Bcast(resultsenums,numberofresults,MPI_INT,0,MPI_COMM_WORLD);
71+ MPI_Bcast(resultssizes,numberofresults,MPI_INT,0,MPI_COMM_WORLD);
72+ MPI_Bcast(resultstimes,numberofresults,MPI_DOUBLE,0,MPI_COMM_WORLD);
73+ MPI_Bcast(resultssteps,numberofresults,MPI_INT,0,MPI_COMM_WORLD);
74
75 /*Loop over all results and get nodal vector*/
76 for(int i=0;i<numberofresults;i++){
77Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/Chacox/chaco_seconds.cpp
78===================================================================
79--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/Chacox/chaco_seconds.cpp (revision 11235)
80+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/Chacox/chaco_seconds.cpp (revision 11236)
81@@ -17,7 +17,10 @@
82
83 /* This timer is faster and more robust (if it exists). */
84 struct rusage rusage;
85- int getrusage();
86+ /*int getrusage(); commenting this out. not sure why it's there anymore
87+ *as it clobbers the prototype int getrusag(int target,rusage* results) which
88+ *is defined in the <sys/time.h> and <sys/resource.h> header files. Leaving it
89+ *for reference in case we have a problem here in the future*/
90
91 getrusage(RUSAGE_SELF, &rusage);
92 curtime = ((rusage.ru_utime.tv_sec + rusage.ru_stime.tv_sec) +
93Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Vertex.cpp
94===================================================================
95--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Vertex.cpp (revision 11235)
96+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/objects/Vertex.cpp (revision 11236)
97@@ -70,7 +70,7 @@
98 printf(" y: %g\n",y);
99 printf(" z: %g\n",z);
100 printf(" sigma: %g\n",sigma);
101- printf(" connectivity: %i\n",connectivity);
102+ printf(" connectivity: %g\n",connectivity);
103 printf(" dof: %i\n",dof);
104 printf(" clone: %i\n",clone);
105
106Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/dox/issm.dox
107===================================================================
108--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/dox/issm.dox (revision 11235)
109+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/dox/issm.dox (revision 11236)
110@@ -45,38 +45,42 @@
111 <th bgcolor=#7AA9DD style="text-align:left;">Language</th><th bgcolor=#7AA9DD style="text-align:right;">files</th><th bgcolor=#7AA9DD style="text-align:right;">blank</th><th bgcolor=#7AA9DD style="text-align:right;">comment</th><th bgcolor=#7AA9DD style="text-align:right;">code</th><th bgcolor=#7AA9DD style="text-align:right;">Total</th>
112 </th>
113 <tr>
114-<th bgcolor=#FFFFFF style="text-align:left;"> C++ </th><td bgcolor=#FFFFFF style="text-align:right;">531</td><td bgcolor=#FFFFFF style="text-align:right;">15433</td><td bgcolor=#FFFFFF style="text-align:right;">17169</td><td bgcolor=#FFFFFF style="text-align:right;">57344</td><td bgcolor=#FFFFFF style="text-align:right;">89946</td>
115+<th bgcolor=#FFFFFF style="text-align:left;"> C++ </th><td bgcolor=#FFFFFF style="text-align:right;">533</td><td bgcolor=#FFFFFF style="text-align:right;">15543</td><td bgcolor=#FFFFFF style="text-align:right;">17244</td><td bgcolor=#FFFFFF style="text-align:right;">57848</td><td bgcolor=#FFFFFF style="text-align:right;">90635</td>
116 </tr>
117 <tr>
118-<th bgcolor=#C6E2FF style="text-align:left;"> MATLAB </th><td bgcolor=#C6E2FF style="text-align:right;">970</td><td bgcolor=#C6E2FF style="text-align:right;">7248</td><td bgcolor=#C6E2FF style="text-align:right;">13716</td><td bgcolor=#C6E2FF style="text-align:right;">31608</td><td bgcolor=#C6E2FF style="text-align:right;">52572</td>
119+<th bgcolor=#C6E2FF style="text-align:left;"> MATLAB </th><td bgcolor=#C6E2FF style="text-align:right;">970</td><td bgcolor=#C6E2FF style="text-align:right;">7187</td><td bgcolor=#C6E2FF style="text-align:right;">13630</td><td bgcolor=#C6E2FF style="text-align:right;">31601</td><td bgcolor=#C6E2FF style="text-align:right;">52418</td>
120 </tr>
121 <tr>
122-<th bgcolor=#FFFFFF style="text-align:left;"> C/C++ Header </th><td bgcolor=#FFFFFF style="text-align:right;">397</td><td bgcolor=#FFFFFF style="text-align:right;">3047</td><td bgcolor=#FFFFFF style="text-align:right;">2706</td><td bgcolor=#FFFFFF style="text-align:right;">10262</td><td bgcolor=#FFFFFF style="text-align:right;">16015</td>
123+<th bgcolor=#FFFFFF style="text-align:left;"> C/C++ Header </th><td bgcolor=#FFFFFF style="text-align:right;">399</td><td bgcolor=#FFFFFF style="text-align:right;">3064</td><td bgcolor=#FFFFFF style="text-align:right;">2726</td><td bgcolor=#FFFFFF style="text-align:right;">10343</td><td bgcolor=#FFFFFF style="text-align:right;">16133</td>
124 </tr>
125 <tr>
126-<th bgcolor=#C6E2FF style="text-align:left;"> Objective C </th><td bgcolor=#C6E2FF style="text-align:right;">32</td><td bgcolor=#C6E2FF style="text-align:right;">99</td><td bgcolor=#C6E2FF style="text-align:right;">0</td><td bgcolor=#C6E2FF style="text-align:right;">402</td><td bgcolor=#C6E2FF style="text-align:right;">501</td>
127+<th bgcolor=#C6E2FF style="text-align:left;"> m4 </th><td bgcolor=#C6E2FF style="text-align:right;">2</td><td bgcolor=#C6E2FF style="text-align:right;">238</td><td bgcolor=#C6E2FF style="text-align:right;">163</td><td bgcolor=#C6E2FF style="text-align:right;">1871</td><td bgcolor=#C6E2FF style="text-align:right;">2272</td>
128 </tr>
129 <tr>
130-<th bgcolor=#FFFFFF style="text-align:left;"> Bourne Shell </th><td bgcolor=#FFFFFF style="text-align:right;">9</td><td bgcolor=#FFFFFF style="text-align:right;">59</td><td bgcolor=#FFFFFF style="text-align:right;">98</td><td bgcolor=#FFFFFF style="text-align:right;">272</td><td bgcolor=#FFFFFF style="text-align:right;">429</td>
131+<th bgcolor=#FFFFFF style="text-align:left;"> Objective C </th><td bgcolor=#FFFFFF style="text-align:right;">9</td><td bgcolor=#FFFFFF style="text-align:right;">98</td><td bgcolor=#FFFFFF style="text-align:right;">0</td><td bgcolor=#FFFFFF style="text-align:right;">370</td><td bgcolor=#FFFFFF style="text-align:right;">468</td>
132 </tr>
133 <tr>
134-<th bgcolor=#C6E2FF style="text-align:left;"> Perl </th><td bgcolor=#C6E2FF style="text-align:right;">3</td><td bgcolor=#C6E2FF style="text-align:right;">21</td><td bgcolor=#C6E2FF style="text-align:right;">23</td><td bgcolor=#C6E2FF style="text-align:right;">240</td><td bgcolor=#C6E2FF style="text-align:right;">284</td>
135+<th bgcolor=#C6E2FF style="text-align:left;"> Bourne Shell </th><td bgcolor=#C6E2FF style="text-align:right;">8</td><td bgcolor=#C6E2FF style="text-align:right;">59</td><td bgcolor=#C6E2FF style="text-align:right;">98</td><td bgcolor=#C6E2FF style="text-align:right;">262</td><td bgcolor=#C6E2FF style="text-align:right;">419</td>
136 </tr>
137 <tr>
138-<th bgcolor=#FFFFFF style="text-align:left;"> IDL </th><td bgcolor=#FFFFFF style="text-align:right;">1</td><td bgcolor=#FFFFFF style="text-align:right;">18</td><td bgcolor=#FFFFFF style="text-align:right;">4</td><td bgcolor=#FFFFFF style="text-align:right;">124</td><td bgcolor=#FFFFFF style="text-align:right;">146</td>
139+<th bgcolor=#FFFFFF style="text-align:left;"> Perl </th><td bgcolor=#FFFFFF style="text-align:right;">3</td><td bgcolor=#FFFFFF style="text-align:right;">21</td><td bgcolor=#FFFFFF style="text-align:right;">23</td><td bgcolor=#FFFFFF style="text-align:right;">240</td><td bgcolor=#FFFFFF style="text-align:right;">284</td>
140 </tr>
141 <tr>
142-<th bgcolor=#C6E2FF style="text-align:left;"> C </th><td bgcolor=#C6E2FF style="text-align:right;">2</td><td bgcolor=#C6E2FF style="text-align:right;">3</td><td bgcolor=#C6E2FF style="text-align:right;">3</td><td bgcolor=#C6E2FF style="text-align:right;">24</td><td bgcolor=#C6E2FF style="text-align:right;">30</td>
143+<th bgcolor=#C6E2FF style="text-align:left;"> IDL </th><td bgcolor=#C6E2FF style="text-align:right;">1</td><td bgcolor=#C6E2FF style="text-align:right;">18</td><td bgcolor=#C6E2FF style="text-align:right;">4</td><td bgcolor=#C6E2FF style="text-align:right;">124</td><td bgcolor=#C6E2FF style="text-align:right;">146</td>
144 </tr>
145 <tr>
146-<th bgcolor=#FFFFFF style="text-align:left;"> Python </th><td bgcolor=#FFFFFF style="text-align:right;">2</td><td bgcolor=#FFFFFF style="text-align:right;">1</td><td bgcolor=#FFFFFF style="text-align:right;">4</td><td bgcolor=#FFFFFF style="text-align:right;">13</td><td bgcolor=#FFFFFF style="text-align:right;">18</td>
147+<th bgcolor=#FFFFFF style="text-align:left;"> C </th><td bgcolor=#FFFFFF style="text-align:right;">2</td><td bgcolor=#FFFFFF style="text-align:right;">3</td><td bgcolor=#FFFFFF style="text-align:right;">3</td><td bgcolor=#FFFFFF style="text-align:right;">24</td><td bgcolor=#FFFFFF style="text-align:right;">30</td>
148 </tr>
149 <tr>
150-<th bgcolor=#C6E2FF style="text-align:left;"> SUM: </th><td bgcolor=#C6E2FF style="text-align:right;">1947</td><td bgcolor=#C6E2FF style="text-align:right;">25929</td><td bgcolor=#C6E2FF style="text-align:right;">33723</td><td bgcolor=#C6E2FF style="text-align:right;">100289</td><td bgcolor=#C6E2FF style="text-align:right;">159941</td>
151+<th bgcolor=#C6E2FF style="text-align:left;"> Python </th><td bgcolor=#C6E2FF style="text-align:right;">2</td><td bgcolor=#C6E2FF style="text-align:right;">1</td><td bgcolor=#C6E2FF style="text-align:right;">4</td><td bgcolor=#C6E2FF style="text-align:right;">13</td><td bgcolor=#C6E2FF style="text-align:right;">18</td>
152 </tr>
153+<tr>
154+<th bgcolor=#FFFFFF style="text-align:left;"> SUM: </th><td bgcolor=#FFFFFF style="text-align:right;">1929</td><td bgcolor=#FFFFFF style="text-align:right;">26232</td><td bgcolor=#FFFFFF style="text-align:right;">33895</td><td bgcolor=#FFFFFF style="text-align:right;">102696</td><td bgcolor=#FFFFFF style="text-align:right;">162823</td>
155+</tr>
156 </table>
157
158
159
160+
161 <I> Copyright (C) 2011 </I>
162 */
163Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/utils/Geometry/FlagElements.m
164===================================================================
165--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/utils/Geometry/FlagElements.m (revision 11235)
166+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/utils/Geometry/FlagElements.m (revision 11236)
167@@ -31,6 +31,9 @@
168
169 %does the region domain outline exist or do we have to look for xlim,ylim in basinzoom?
170 if ~exist(region,'file'),
171+ if (length(region)>3 & ~strcmp(region(end-3),'.exp')),
172+ error(['Error: File ' region ' not found!']);
173+ end
174 [xlim,ylim]=basinzoom('basin',region);
175 flag_nodes=double(md.mesh.x<xlim(2) & md.mesh.x>xlim(1) & md.mesh.y<ylim(2) & md.mesh.y>ylim(1));
176 flag=prod(flag_nodes(md.mesh.elements),2);
177Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/classes/inversion.m
178===================================================================
179--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/classes/inversion.m (revision 11235)
180+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/classes/inversion.m (revision 11236)
181@@ -107,7 +107,7 @@
182 fielddisplay(obj,'iscontrol','is inversion activated?');
183 fielddisplay(obj,'control_parameters','parameter where inverse control is carried out; ex: {''FrictionCoefficient''}, or {''MaterialsRheologyBbar''}');
184 fielddisplay(obj,'nsteps','number of optimization searches');
185- fielddisplay(obj,'cost_functions','indicate the type of response for each optimization step');
186+ fielddisplay(obj,'cost_functions','indicate the type of response for each optimization steps');
187 fielddisplay(obj,'cost_functions_coefficients','cost_functions_coefficients applied to the misfit of each vertex and for each control_parameter');
188 fielddisplay(obj,'cost_function_threshold','misfit convergence criterion. Default is 1%, NaN if not applied');
189 fielddisplay(obj,'maxiter_per_step','maximum iterations during each optimization step');
190Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/doc/issmdoc.m
191===================================================================
192--- /proj/ice/larour/issm-uci-clean/trunk-jpl/doc/issmdoc.m (revision 11235)
193+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/doc/issmdoc.m (revision 11236)
194@@ -8,8 +8,8 @@
195 disp(sprintf('%s',' go to ',ISSM_TIER,'/examples/SquareIceshelf'));
196 disp(sprintf('%s',' md=model; %creates a new empty model structure'));
197 disp(sprintf('%s',' md=triangle(md,''DomainOutline.exp'',50000); %creates a mesh of the domain outline with a resolution of 50000m'));
198-disp(sprintf('%s',' md=setmask(md,''all'',''''); %defines the glacier system as an ice shelf (no island)'));
199+disp(sprintf('%s',' md=geography(md,''all'',''''); %defines the glacier system as an ice shelf (no island)'));
200 disp(sprintf('%s',' md=parameterize(md,''Square.par''); %fills all the other fields of the model'));
201-disp(sprintf('%s',' md=setflowequation(md,''macayeal'',''all''); %defines all elements as MacAyeal''s'));
202-disp(sprintf('%s',' md=solve(md,DiagnosticSolutionEnum); %generate the velocity field of the ice shelf'));
203-disp(sprintf('%s',' plotmodel(md,''data'',md.results.DiagnosticSolucion.Vel); %displays the velocity (type plotdoc for plotmodel help)'));
204+disp(sprintf('%s',' md=setelementstype(md,''macayeal'',''all''); %defines all elements as MacAyeal''s'));
205+disp(sprintf('%s',' md=solve(md,DiagnosticSolutionEnum); %generate the velocity field'));
206+disp(sprintf('%s',' plotmodel(md,''data'',md.results.DiagnosticSolution.Vel); %displays the velocity (type plotdoc for plotmodel help)'));
207Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/NEWS
208===================================================================
209--- /proj/ice/larour/issm-uci-clean/trunk-jpl/NEWS (revision 11235)
210+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/NEWS (revision 11236)
211@@ -1,3 +1,4 @@
212+
213 please go to the ISSM website for the latest news:
214
215 http://issm.jpl.nasa.gov/
216Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/examples/SquareIceShelf/Square.par
217===================================================================
218--- /proj/ice/larour/issm-uci-clean/trunk-jpl/examples/SquareIceShelf/Square.par (revision 11235)
219+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/examples/SquareIceShelf/Square.par (revision 11236)
220@@ -10,9 +10,9 @@
221 md.geometry.surface=md.geometry.bed+md.geometry.thickness;
222
223 disp(' creating drag');
224-pos=find(md.mask.elementonfloatingice);
225-md.friction.coefficient=200*ones(md.mesh.numberofvertices,1); %q=1.
226-md.friction.coefficient(md.mesh.elements(pos,:))=0;
227+pos=find(md.mask.vertexonfloatingice);
228+md.friction.coefficient=200*ones(md.mesh.numberofvertices,1);
229+md.friction.coefficient(pos)=0;
230 md.friction.p=ones(md.mesh.numberofelements,1);
231 md.friction.q=ones(md.mesh.numberofelements,1);
232
233
234Property changes on: /proj/ice/larour/issm-uci-clean/trunk-jpl
235___________________________________________________________________
236Modified: svn:mergeinfo
237 Merged /issm/trunk:r11027-11232
238
Note: See TracBrowser for help on using the repository browser.