source: issm/oecreview/Archive/11821-11840/ISSM-11826-11827.diff@ 11991

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

oecreview from 11518 to present

File size: 61.3 KB
RevLine 
[11991]1Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/prognostic_core.cpp
2===================================================================
3--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/prognostic_core.cpp (revision 11826)
4+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/prognostic_core.cpp (revision 11827)
5@@ -15,22 +15,20 @@
6
7 /*parameters: */
8 int solution_type;
9- bool control_analysis;
10+ bool save_results;
11
12 /*activate formulation: */
13 femmodel->SetCurrentConfiguration(PrognosticAnalysisEnum);
14
15 /*recover parameters: */
16- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
17+ femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
18 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
19
20 _printf_(VerboseSolution()," call computational core\n");
21 solver_linear(femmodel);
22
23- if(solution_type==PrognosticSolutionEnum && !control_analysis){
24+ if(save_results){
25 _printf_(VerboseSolution()," saving results\n");
26 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ThicknessEnum);
27 }
28-
29 }
30-
31Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/steadystate_core.cpp
32===================================================================
33--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/steadystate_core.cpp (revision 11826)
34+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/steadystate_core.cpp (revision 11827)
35@@ -24,7 +24,7 @@
36 int step;
37
38 /*parameters: */
39- bool control_analysis,isenthalpy;
40+ bool save_results,isenthalpy;
41 int dim;
42 int solution_type;
43 int maxiter;
44@@ -33,7 +33,7 @@
45
46 /* recover parameters:*/
47 femmodel->parameters->FindParam(&dim,MeshDimensionEnum);
48- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
49+ femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
50 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
51 femmodel->parameters->FindParam(&maxiter,SteadystateMaxiterEnum);
52 femmodel->parameters->FindParam(&numoutputs,SteadystateNumRequestedOutputsEnum);
53@@ -80,7 +80,7 @@
54 step++;
55 }
56
57- if(solution_type==SteadystateSolutionEnum && !control_analysis){
58+ if(save_results){
59 _printf_(VerboseSolution()," saving results\n");
60 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VxEnum);
61 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VyEnum);
62Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/surfaceslope_core.cpp
63===================================================================
64--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/surfaceslope_core.cpp (revision 11826)
65+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/surfaceslope_core.cpp (revision 11827)
66@@ -16,12 +16,12 @@
67 int dim;
68 bool isstokes;
69 bool ishutter;
70- bool control_analysis;
71+ bool save_results;
72 int solution_type;
73
74 /*Recover some parameters: */
75 femmodel->parameters->FindParam(&dim,MeshDimensionEnum);
76- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
77+ femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
78 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
79
80 _printf_(VerboseSolution(),"%s\n","computing slope...");
81@@ -32,7 +32,7 @@
82 femmodel->SetCurrentConfiguration(SurfaceSlopeAnalysisEnum,SurfaceSlopeYAnalysisEnum);
83 solver_linear(femmodel);
84
85- if(solution_type==SurfaceSlopeSolutionEnum && !control_analysis){
86+ if(save_results){
87 _printf_(VerboseSolution(),"saving results:\n");
88 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceSlopeXEnum);
89 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceSlopeYEnum);
90Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/thermal_core.cpp
91===================================================================
92--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/thermal_core.cpp (revision 11826)
93+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/thermal_core.cpp (revision 11827)
94@@ -18,12 +18,12 @@
95
96 /*intermediary*/
97 double melting_offset;
98- bool control_analysis;
99+ bool save_results;
100 int solution_type;
101 bool dakota_analysis = false;
102
103 //first recover parameters common to all solutions
104- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
105+ femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
106 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
107 femmodel->parameters->FindParam(&dakota_analysis,QmuIsdakotaEnum);
108
109@@ -35,10 +35,9 @@
110 /*call thermal_core_step: */
111 thermal_core_step(femmodel);
112
113- if(solution_type==ThermalSolutionEnum && !control_analysis){
114+ if(save_results){
115 _printf_(VerboseSolution()," saving results\n");
116 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum);
117 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BasalforcingsMeltingRateEnum);
118 }
119-
120 }
121Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/adjointdiagnostic_core.cpp
122===================================================================
123--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/adjointdiagnostic_core.cpp (revision 11826)
124+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/adjointdiagnostic_core.cpp (revision 11827)
125@@ -16,13 +16,13 @@
126
127 /*parameters: */
128 bool isstokes;
129- bool control_analysis;
130+ bool save_results;
131 bool conserve_loads = true;
132 int solution_type;
133
134 /*retrieve parameters:*/
135 femmodel->parameters->FindParam(&isstokes,FlowequationIsstokesEnum);
136- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
137+ femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
138 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
139
140 /*Compute velocities*/
141@@ -39,7 +39,7 @@
142 solver_adjoint_linear(femmodel);
143
144 /*Save results*/
145- if(solution_type==AdjointSolutionEnum && !control_analysis){
146+ if(save_results){
147 _printf_(VerboseSolution()," saving results\n");
148 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,AdjointxEnum);
149 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,AdjointyEnum);
150Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/bedslope_core.cpp
151===================================================================
152--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/bedslope_core.cpp (revision 11826)
153+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/bedslope_core.cpp (revision 11827)
154@@ -16,12 +16,12 @@
155 int dim;
156 bool isstokes;
157 bool ishutter;
158- bool control_analysis;
159+ bool save_results;
160 int solution_type;
161
162 /*Recover some parameters: */
163 femmodel->parameters->FindParam(&dim,MeshDimensionEnum);
164- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
165+ femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
166 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
167
168 _printf_(VerboseSolution(),"%s\n"," computing slope");
169@@ -32,7 +32,7 @@
170 femmodel->SetCurrentConfiguration(BedSlopeAnalysisEnum,BedSlopeYAnalysisEnum);
171 solver_linear(femmodel);
172
173- if(solution_type==BedSlopeSolutionEnum && !control_analysis){
174+ if(save_results){
175 _printf_(VerboseSolution()," saving results\n");
176 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BedSlopeXEnum);
177 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BedSlopeYEnum);
178Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/balancethickness_core.cpp
179===================================================================
180--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/balancethickness_core.cpp (revision 11826)
181+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/balancethickness_core.cpp (revision 11827)
182@@ -17,20 +17,20 @@
183 /*parameters: */
184 int dim;
185 int solution_type;
186- bool control_analysis;
187+ bool save_results;
188
189 /*activate formulation: */
190 femmodel->SetCurrentConfiguration(BalancethicknessAnalysisEnum);
191
192 /*recover parameters: */
193 femmodel->parameters->FindParam(&dim,MeshDimensionEnum);
194- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
195+ femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
196 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
197
198 _printf_(VerboseSolution(),"call computational core:\n");
199 solver_linear(femmodel);
200
201- if(solution_type==BalancethicknessSolutionEnum && !control_analysis){
202+ if(save_results){
203 _printf_(VerboseSolution()," saving results\n");
204 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ThicknessEnum);
205 }
206Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/issm.cpp
207===================================================================
208--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/issm.cpp (revision 11826)
209+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/issm.cpp (revision 11827)
210@@ -113,7 +113,7 @@
211 MPI_Barrier(MPI_COMM_WORLD); finish_core=MPI_Wtime( );
212
213 _printf_(true,"write results to disk:\n");
214- OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,&femmodel->results);
215+ OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
216
217 /*Close output and petsc options file and write lock file if requested*/
218 pfclose(output_fid,lockfilename);
219Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/transient_core.cpp
220===================================================================
221--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/transient_core.cpp (revision 11826)
222+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/transient_core.cpp (revision 11827)
223@@ -23,8 +23,8 @@
224
225 /*parameters: */
226 double starttime,finaltime,dt,yts;
227- bool control_analysis,isdiagnostic,isprognostic,isthermal,isgroundingline,isenthalpy;
228- bool dakota_analysis=false;
229+ bool isdiagnostic,isprognostic,isthermal,isgroundingline,isenthalpy;
230+ bool save_results,dakota_analysis;
231 bool time_adapt=false;
232 int solution_type;
233 int output_frequency;
234@@ -42,7 +42,6 @@
235 femmodel->parameters->FindParam(&finaltime,TimesteppingFinalTimeEnum);
236 femmodel->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
237 femmodel->parameters->FindParam(&yts,ConstantsYtsEnum);
238- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
239 femmodel->parameters->FindParam(&dakota_analysis,QmuIsdakotaEnum);
240 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
241 femmodel->parameters->FindParam(&output_frequency,SettingsOutputFrequencyEnum);
242@@ -86,8 +85,14 @@
243 step+=1;
244 time+=dt;
245 femmodel->parameters->SetParam(time,TimeEnum);
246+ femmodel->parameters->SetParam(step,StepEnum);
247
248 _printf_(VerboseSolution(),"iteration %i/%g time [yr]: %-7.3g (time step: %.2g)\n",step,floor((finaltime-time)/dt)+step,time/yts,dt/yts);
249+ if(step%output_frequency==0 || time==finaltime)
250+ save_results=true;
251+ else
252+ save_results=false;
253+ femmodel->parameters->SetParam(save_results,SaveResultsEnum);
254
255 if(isthermal && dim==3){
256 _printf_(VerboseSolution()," computing temperatures:\n");
257@@ -128,29 +133,17 @@
258 #endif
259 }
260
261- //save should be done by the analysis... see control_core
262- if(solution_type==TransientSolutionEnum && !control_analysis && (step%output_frequency==0 || time==finaltime)){
263- _printf_(VerboseSolution()," saving results\n");
264- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VzMeshEnum,step,time);
265- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VxEnum,step,time);
266- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VyEnum,step,time);
267- if(dim==3) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VzEnum,step,time);
268- if(isdiagnostic)InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VelEnum,step,time);
269- if(isdiagnostic)InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,PressureEnum,step,time);
270- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ThicknessEnum,step,time);
271- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceEnum,step,time);
272- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BedEnum,step,time);
273- if(dim==3 && isthermal) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum,step,time);
274- if(isenthalpy) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WaterfractionEnum,step,time);
275- if(isenthalpy) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,EnthalpyEnum,step,time);
276- if(!isenthalpy) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BasalforcingsMeltingRateEnum,step,time);
277- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceforcingsMassBalanceEnum,step,time);
278- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,MaskElementonfloatingiceEnum,step,time);
279- RequestedOutputsx(femmodel->results,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,requested_outputs,numoutputs,step,time);
280+ /*unload results*/
281+ if(save_results){
282+ _printf_(VerboseSolution()," saving transient results\n");
283+ InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceEnum);
284+ InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BedEnum);
285+ InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceforcingsMassBalanceEnum);
286+ InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,MaskElementonfloatingiceEnum);
287+ RequestedOutputsx(femmodel->results,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,requested_outputs,numoutputs);
288
289- /*unload results*/
290 _printf_(VerboseSolution()," saving temporary results\n");
291- OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,&femmodel->results);
292+ OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
293 }
294 }
295
296Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/adjointbalancethickness_core.cpp
297===================================================================
298--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/adjointbalancethickness_core.cpp (revision 11826)
299+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/adjointbalancethickness_core.cpp (revision 11827)
300@@ -15,11 +15,11 @@
301 void adjointbalancethickness_core(FemModel* femmodel){
302
303 /*parameters: */
304- bool control_analysis;
305+ bool save_results;
306 int solution_type;
307
308 /*retrieve parameters:*/
309- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
310+ femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
311 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
312
313 /*compute thickness */
314@@ -36,7 +36,7 @@
315 solver_adjoint_linear(femmodel);
316
317 /*Save results*/
318- if(solution_type==AdjointSolutionEnum && !control_analysis){
319+ if(save_results){
320 _printf_(VerboseSolution()," saving results\n");
321 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,AdjointEnum);
322 }
323Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/controlrestart.cpp
324===================================================================
325--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/controlrestart.cpp (revision 11826)
326+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/controlrestart.cpp (revision 11827)
327@@ -28,7 +28,7 @@
328 //femmodel->results->AddObject(new StringExternalResult(femmodel->results->Size()+1,InversionControlParametersEnum,EnumToStringx(control_type),1,0));
329
330 /*write to disk: */
331- OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,&femmodel->results);
332+ OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
333 }
334
335 /*Clean up and return*/
336Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/control_core.cpp
337===================================================================
338--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/control_core.cpp (revision 11826)
339+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/control_core.cpp (revision 11827)
340@@ -58,6 +58,7 @@
341 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
342 femmodel->parameters->FindParam(&isstokes,FlowequationIsstokesEnum);
343 femmodel->parameters->FindParam(&dakota_analysis,QmuIsdakotaEnum);
344+ femmodel->parameters->SetParam(false,SaveResultsEnum);
345
346 /*out of solution_type, figure out solution core and adjoint function pointer*/
347 CorePointerFromSolutionEnum(&solutioncore,femmodel->parameters,solution_type);
348@@ -65,7 +66,7 @@
349
350 /*Launch once a complete solution to set up all inputs*/
351 _printf_(VerboseControl(),"%s\n"," preparing initial solution");
352- if (isstokes) solutioncore(femmodel);
353+ if(isstokes) solutioncore(femmodel);
354
355 /*Initialize responses: */
356 J=(double*)xmalloc(nsteps*sizeof(double));
357@@ -107,7 +108,7 @@
358 }
359
360 _printf_(VerboseControl(),"%s\n"," preparing final solution");
361- femmodel->parameters->SetParam(false,InversionIscontrolEnum); //needed to turn control result output in solutioncore
362+ femmodel->parameters->SetParam(true,SaveResultsEnum);
363 solutioncore(femmodel);
364
365 /*some results not computed by steadystate_core or diagnostic_core: */
366@@ -124,7 +125,4 @@
367 xfree((void**)&maxiter);
368 xfree((void**)&cm_jump);
369 xfree((void**)&J);
370-
371- /*control_core might be used in Qmu, so leave everything similar to where it started: */
372- femmodel->parameters->SetParam(true,InversionIscontrolEnum);
373 }
374Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/hydrology_core.cpp
375===================================================================
376--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/hydrology_core.cpp (revision 11826)
377+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/hydrology_core.cpp (revision 11827)
378@@ -20,7 +20,7 @@
379 int nsteps;
380 double starttime,final_time;
381 double dt;
382- bool control_analysis;
383+ bool save_results;
384 int solution_type;
385 int output_frequency;
386
387@@ -28,7 +28,7 @@
388 femmodel->parameters->FindParam(&starttime,TimesteppingStartTimeEnum);
389 femmodel->parameters->FindParam(&final_time,TimesteppingFinalTimeEnum);
390 femmodel->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
391- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
392+ femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
393 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
394 femmodel->parameters->FindParam(&output_frequency,SettingsOutputFrequencyEnum);
395 /*first compute slopes: */
396@@ -53,19 +53,16 @@
397 /*call hydrology_core step: */
398 hydrology_core_step(femmodel,i,time);
399
400- if(solution_type==HydrologySolutionEnum && !control_analysis && ((i+1)%output_frequency==0 || (i+1)==nsteps)){
401-
402+ if(save_results && ((i+1)%output_frequency==0 || (i+1)==nsteps)){
403 _printf_(VerboseSolution()," saving results \n");
404- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WatercolumnEnum,i+1,time);
405- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,HydrologyWaterVxEnum,i+1,time);
406- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,HydrologyWaterVyEnum,i+1,time);
407+ //InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WatercolumnEnum,i+1,time);
408+ //InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,HydrologyWaterVxEnum,i+1,time);
409+ //InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,HydrologyWaterVyEnum,i+1,time);
410
411 /*unload results*/
412 _printf_(VerboseSolution()," saving temporary results\n");
413- OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,&femmodel->results);
414-
415+ OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
416 }
417-
418 }
419 }
420
421Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/diagnostic_core.cpp
422===================================================================
423--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/diagnostic_core.cpp (revision 11826)
424+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/diagnostic_core.cpp (revision 11827)
425@@ -23,7 +23,7 @@
426 bool isnewton = false;
427 bool conserve_loads = true;
428 bool modify_loads = true;
429- bool control_analysis;
430+ bool save_results;
431 int solution_type;
432 int numoutputs = 0;
433 int *requested_outputs = NULL;
434@@ -35,7 +35,7 @@
435 femmodel->parameters->FindParam(&isstokes,FlowequationIsstokesEnum);
436 femmodel->parameters->FindParam(&isnewton,DiagnosticIsnewtonEnum);
437 femmodel->parameters->FindParam(&dakota_analysis,QmuIsdakotaEnum);
438- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
439+ femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
440 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
441 femmodel->parameters->FindParam(&numoutputs,DiagnosticNumRequestedOutputsEnum);
442 if(numoutputs) femmodel->parameters->FindParam(&requested_outputs,&numoutputs,DiagnosticRequestedOutputsEnum);
443@@ -93,7 +93,7 @@
444 }
445
446
447- if(solution_type==DiagnosticSolutionEnum && !control_analysis){
448+ if(save_results){
449 _printf_(VerboseSolution()," saving results\n");
450 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VxEnum);
451 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VyEnum);
452Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/controltao_core.cpp
453===================================================================
454--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/controltao_core.cpp (revision 11826)
455+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/controltao_core.cpp (revision 11827)
456@@ -48,6 +48,7 @@
457 femmodel->parameters->FindParam(&control_list,NULL,InversionControlParametersEnum);
458 femmodel->parameters->FindParam(&nsteps,InversionNstepsEnum);
459 femmodel->parameters->FindParam(&dummy,NULL,NULL,InversionMaxiterPerStepEnum);
460+ femmodel->parameters->SetParam(false,SaveResultsEnum);
461 maxiter=nsteps*(int)dummy[0]; xfree((void**)&dummy);
462
463 /*Initialize TAO*/
464@@ -87,7 +88,7 @@
465
466 /*Finalize*/
467 _printf_(VerboseControl(),"%s\n"," preparing final solution");
468- femmodel->parameters->SetParam(false,InversionIscontrolEnum); //needed to turn control result output in solutioncore
469+ femmodel->parameters->SetParam(true,SaveResultsEnum);
470 void (*solutioncore)(FemModel*)=NULL;
471 CorePointerFromSolutionEnum(&solutioncore,femmodel->parameters,solution_type);
472 solutioncore(femmodel);
473Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/enthalpy_core.cpp
474===================================================================
475--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/enthalpy_core.cpp (revision 11826)
476+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/enthalpy_core.cpp (revision 11827)
477@@ -14,24 +14,21 @@
478
479 void enthalpy_core(FemModel* femmodel){
480
481- int i;
482-
483 /*intermediary*/
484- bool control_analysis;
485+ bool save_results;
486 int solution_type;
487
488 //first recover parameters common to all solutions
489- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
490+ femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
491 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
492
493 /*call enthalpy_core_step: */
494 enthalpy_core_step(femmodel);
495
496- if(solution_type==EnthalpySolutionEnum && !control_analysis){
497+ if(save_results){
498 _printf_(VerboseSolution()," saving results\n");
499 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum);
500 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,EnthalpyEnum);
501 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WaterfractionEnum);
502 }
503-
504 }
505Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/EnumDefinitions/EnumDefinitions.h
506===================================================================
507--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/EnumDefinitions/EnumDefinitions.h (revision 11826)
508+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/EnumDefinitions/EnumDefinitions.h (revision 11827)
509@@ -384,6 +384,7 @@
510 P1DGEnum,
511 /*}}}*/
512 /*Results{{{1*/
513+ SaveResultsEnum,
514 BoolElementResultEnum,
515 BoolExternalResultEnum,
516 DoubleElementResultEnum,
517@@ -398,6 +399,7 @@
518 PentaP1ElementResultEnum,
519 PetscVecExternalResultEnum,
520 StringExternalResultEnum,
521+ StepEnum,
522 TimeEnum,
523 TriaP1ElementResultEnum,
524 WaterColumnOldEnum,
525Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/io/Matlab/FetchMatlabData.cpp
526===================================================================
527--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/io/Matlab/FetchMatlabData.cpp (revision 11826)
528+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/io/Matlab/FetchMatlabData.cpp (revision 11827)
529@@ -602,12 +602,11 @@
530 /*Check type of field: */
531 if (mxIsClass(pfield,"double")){
532
533- /*could be DOUBLE, DOUBLEVEC or DOUBLEMAT, depends on dimensions: */
534 M=mxGetM(pfield);
535 N=mxGetN(pfield);
536
537 if (M==0 | N==0){
538- _error_("%s%i (%s) %s%i%s%i%s","array in parameters structure field ",count,name," is of size (",M,",",N,")");
539+ _error_("array in parameters structure field %s is of size 0",name);
540 }
541 if (M==1 && N==1){
542 /*we have a simple scalar: */
543@@ -642,6 +641,24 @@
544 }
545
546 }
547+ else if (mxIsClass(pfield,"logical")){
548+
549+ M=mxGetM(pfield);
550+ N=mxGetN(pfield);
551+
552+ if (M==0 | N==0){
553+ _error_("array in parameters structure field %s is of size 0",name);
554+ }
555+ if (M==1 && N==1){
556+ /*we have a simple bool: */
557+ param= new BoolParam(enum_type,*mxGetLogicals(pfield));
558+ parameters->AddObject(param);
559+
560+ }
561+ else{
562+ _error_("Matrices of Booleans not supported yet in parameters");
563+ }
564+ }
565 else if (mxIsClass(pfield,"char")){
566 /* we have a string parameter:*/
567
568@@ -717,12 +734,11 @@
569 xfree((void**)&ndims_array);
570 }
571 }
572- else _error_("%s%i","unknow type in parameters structure field ",i);
573+ else _error_("Parameters structure field %s has a format that is not supported: %s",name,mxGetClassName(pfield));
574 }
575
576 /*Assign output pointers:*/
577 *pparameters=parameters;
578-
579 }
580 /*}}}*/
581 #endif
582Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/StringToEnumx/StringToEnumx.cpp
583===================================================================
584--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/StringToEnumx/StringToEnumx.cpp (revision 11826)
585+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/StringToEnumx/StringToEnumx.cpp (revision 11827)
586@@ -377,15 +377,16 @@
587 else if (strcmp(name,"P0")==0) return P0Enum;
588 else if (strcmp(name,"P1")==0) return P1Enum;
589 else if (strcmp(name,"P1DG")==0) return P1DGEnum;
590+ else if (strcmp(name,"SaveResults")==0) return SaveResultsEnum;
591 else if (strcmp(name,"BoolElementResult")==0) return BoolElementResultEnum;
592 else if (strcmp(name,"BoolExternalResult")==0) return BoolExternalResultEnum;
593 else if (strcmp(name,"DoubleElementResult")==0) return DoubleElementResultEnum;
594 else if (strcmp(name,"DoubleExternalResult")==0) return DoubleExternalResultEnum;
595- else if (strcmp(name,"DoubleMatExternalResult")==0) return DoubleMatExternalResultEnum;
596 else stage=4;
597 }
598 if(stage==4){
599- if (strcmp(name,"DoubleVecExternalResult")==0) return DoubleVecExternalResultEnum;
600+ if (strcmp(name,"DoubleMatExternalResult")==0) return DoubleMatExternalResultEnum;
601+ else if (strcmp(name,"DoubleVecExternalResult")==0) return DoubleVecExternalResultEnum;
602 else if (strcmp(name,"IntExternalResult")==0) return IntExternalResultEnum;
603 else if (strcmp(name,"J")==0) return JEnum;
604 else if (strcmp(name,"Patch")==0) return PatchEnum;
605@@ -394,6 +395,7 @@
606 else if (strcmp(name,"PentaP1ElementResult")==0) return PentaP1ElementResultEnum;
607 else if (strcmp(name,"PetscVecExternalResult")==0) return PetscVecExternalResultEnum;
608 else if (strcmp(name,"StringExternalResult")==0) return StringExternalResultEnum;
609+ else if (strcmp(name,"Step")==0) return StepEnum;
610 else if (strcmp(name,"Time")==0) return TimeEnum;
611 else if (strcmp(name,"TriaP1ElementResult")==0) return TriaP1ElementResultEnum;
612 else if (strcmp(name,"WaterColumnOld")==0) return WaterColumnOldEnum;
613Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/EnumToStringx/EnumToStringx.cpp
614===================================================================
615--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/EnumToStringx/EnumToStringx.cpp (revision 11826)
616+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/EnumToStringx/EnumToStringx.cpp (revision 11827)
617@@ -370,6 +370,7 @@
618 case P0Enum : return "P0";
619 case P1Enum : return "P1";
620 case P1DGEnum : return "P1DG";
621+ case SaveResultsEnum : return "SaveResults";
622 case BoolElementResultEnum : return "BoolElementResult";
623 case BoolExternalResultEnum : return "BoolExternalResult";
624 case DoubleElementResultEnum : return "DoubleElementResult";
625@@ -384,6 +385,7 @@
626 case PentaP1ElementResultEnum : return "PentaP1ElementResult";
627 case PetscVecExternalResultEnum : return "PetscVecExternalResult";
628 case StringExternalResultEnum : return "StringExternalResult";
629+ case StepEnum : return "Step";
630 case TimeEnum : return "Time";
631 case TriaP1ElementResultEnum : return "TriaP1ElementResult";
632 case WaterColumnOldEnum : return "WaterColumnOld";
633Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/OutputResultsx/OutputResultsx.h
634===================================================================
635--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/OutputResultsx/OutputResultsx.h (revision 11826)
636+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/OutputResultsx/OutputResultsx.h (revision 11827)
637@@ -15,9 +15,9 @@
638
639 #ifdef _SERIAL_
640 #include <mex.h>
641-void OutputResultsx(mxArray** pdataref, Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, Results** presults);
642+void OutputResultsx(mxArray** pdataref, Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, Results* results);
643 #else
644-void OutputResultsx(Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, Results** presults);
645+void OutputResultsx(Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, Results* results);
646 #endif
647
648 #endif /* _OUTPUTRESULTS_H */
649Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/OutputResultsx/OutputResultsx.cpp
650===================================================================
651--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/OutputResultsx/OutputResultsx.cpp (revision 11826)
652+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/OutputResultsx/OutputResultsx.cpp (revision 11827)
653@@ -16,9 +16,9 @@
654 #include "../../objects/objects.h"
655
656 #ifdef _SERIAL_
657-void OutputResultsx(mxArray** pdataref, Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Results** presults){
658+void OutputResultsx(mxArray** pdataref, Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Results* results){
659 #else
660-void OutputResultsx( Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Results** presults){
661+void OutputResultsx( Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Results* results){
662 #endif
663
664 extern int my_rank;
665@@ -28,7 +28,6 @@
666 bool io_gather;
667 int solutiontype;
668 char* solutiontypestring = NULL;
669- Results *results = NULL;
670 bool dakota_analysis = false;
671
672 #ifdef _SERIAL_
673@@ -38,9 +37,6 @@
674 int nfields=0;
675 #endif
676
677- /*recover results dataset: */
678- results=*presults;
679-
680 /*retrieve parameters: */
681 parameters->FindParam(&dakota_analysis,QmuIsdakotaEnum);
682
683@@ -114,7 +110,4 @@
684 }
685 */
686 #endif
687-
688- /*Assign output pointers:*/
689- *presults=results;
690 }
691Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
692===================================================================
693--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp (revision 11826)
694+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp (revision 11827)
695@@ -92,9 +92,13 @@
696 parameters->AddObject(new IntParam(SolutionTypeEnum,solution_type));
697 parameters->AddObject(new IntParam(AnalysisTypeEnum,analysis_type));
698 parameters->AddObject(new IntParam(AnalysisCounterEnum,analysis_counter));
699- parameters->AddObject(new DoubleParam(TimeEnum,0.0)); //start at time 0 by default for all solutions
700+ parameters->AddObject(new DoubleParam(TimeEnum,0.0)); //start at time 0 by default for all solutions FIXME: to be deleted
701+ parameters->AddObject(new IntParam(StepEnum,1)); //start at time 0 by default for all solutions FIXME: to be deleted
702
703- /*Requested output?*/
704+ /*By default, save all results*/
705+ parameters->AddObject(new BoolParam(SaveResultsEnum,true));
706+
707+ /*Requested outputs*/
708 iomodel->FetchData(&requestedoutputs,&numoutputs,NULL,DiagnosticRequestedOutputsEnum);
709 parameters->AddObject(new IntParam(DiagnosticNumRequestedOutputsEnum,numoutputs));
710 if(numoutputs)parameters->AddObject(new IntVecParam(DiagnosticRequestedOutputsEnum,requestedoutputs,numoutputs));
711Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/InputToResultx/InputToResultx.h
712===================================================================
713--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/InputToResultx/InputToResultx.h (revision 11826)
714+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/InputToResultx/InputToResultx.h (revision 11827)
715@@ -8,7 +8,6 @@
716 #include "../../Container/Container.h"
717
718 /* local prototypes: */
719-void InputToResultx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters,int enum_type,int step=1, double time=0);
720+void InputToResultx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters,int enum_type);
721
722 #endif /* _INPUTTORESULTX_H */
723-
724Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/InputToResultx/InputToResultx.cpp
725===================================================================
726--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/InputToResultx/InputToResultx.cpp (revision 11826)
727+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/InputToResultx/InputToResultx.cpp (revision 11827)
728@@ -8,14 +8,19 @@
729 #include "../../toolkits/toolkits.h"
730 #include "../../EnumDefinitions/EnumDefinitions.h"
731
732-void InputToResultx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters,int enum_type,int step, double time){
733+void InputToResultx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters,int enum_type){
734
735 /*intermediary:*/
736- int i;
737+ int step;
738+ double time;
739 Element *element = NULL;
740
741+ /*Get time and step*/
742+ parameters->FindParam(&step,StepEnum);
743+ parameters->FindParam(&time,TimeEnum);
744+
745 /*Go through elemnets, and ask each element to transfer the enum_type input into the results dataset, with step and time information: */
746- for(i=0;i<elements->Size();i++){
747+ for(int i=0;i<elements->Size();i++){
748
749 element=(Element*)elements->GetObjectByOffset(i);
750 element->InputToResult(enum_type,step,time);
751Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/RequestedOutputsx/RequestedOutputsx.h
752===================================================================
753--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/RequestedOutputsx/RequestedOutputsx.h (revision 11826)
754+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/RequestedOutputsx/RequestedOutputsx.h (revision 11827)
755@@ -8,7 +8,7 @@
756 #include "../../Container/Container.h"
757
758 /* local prototypes: */
759-void RequestedOutputsx(Results* results,Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters, int* requested_outputs, int numoutputs, int step=1, double time=0);
760+void RequestedOutputsx(Results* results,Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters, int* requested_outputs, int numoutputs);
761
762 #endif /* _INPUTTORESULTX_H */
763
764Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/RequestedOutputsx/RequestedOutputsx.cpp
765===================================================================
766--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/RequestedOutputsx/RequestedOutputsx.cpp (revision 11826)
767+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/RequestedOutputsx/RequestedOutputsx.cpp (revision 11827)
768@@ -8,16 +8,21 @@
769 #include "../../toolkits/toolkits.h"
770 #include "../../EnumDefinitions/EnumDefinitions.h"
771
772-void RequestedOutputsx(Results* results,Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters, int* requested_outputs, int numoutputs, int step, double time){
773+void RequestedOutputsx(Results* results,Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters, int* requested_outputs, int numoutputs){
774
775- int i,j;
776- int output_enum;
777- double output_value;
778- Element* element=NULL;
779+ int output_enum;
780+ int step;
781+ double time;
782+ double output_value;
783+ Element *element = NULL;
784
785- /*retrieve parameters: */
786+ /*Get time and step*/
787+ parameters->FindParam(&step,StepEnum);
788+ parameters->FindParam(&time,TimeEnum);
789+
790+ /*retrieve Inputs*/
791 if(numoutputs){
792- for(i=0;i<numoutputs;i++){
793+ for(int i=0;i<numoutputs;i++){
794 output_enum=requested_outputs[i];
795
796 switch(output_enum){
797@@ -28,7 +33,7 @@
798 break;
799 default:
800 /*create this output in the element inputs, and then transfer to results:*/
801- for(j=0;j<elements->Size();j++){
802+ for(int j=0;j<elements->Size();j++){
803 element=(Element*)elements->GetObjectByOffset(j);
804 element->RequestedOutput(output_enum,step,time);
805 }
806Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/mex/InputToResult/InputToResult.cpp
807===================================================================
808--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/mex/InputToResult/InputToResult.cpp (revision 11826)
809+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/mex/InputToResult/InputToResult.cpp (revision 11827)
810@@ -41,19 +41,9 @@
811 nodes-> Configure(elements,loads, nodes,vertices, materials,parameters);
812 loads-> Configure(elements, loads, nodes,vertices, materials,parameters);
813
814- if(nrhs==9){
815- FetchMatlabData(&step,STEP);
816- FetchMatlabData(&time,TIME);
817+ /*Call core code: */
818+ InputToResultx( elements, nodes, vertices, loads, materials,parameters,enum_type);
819
820- /*!Call core code: */
821- InputToResultx( elements, nodes, vertices, loads, materials,parameters,enum_type, step,time);
822- }
823- else{
824-
825- /*!Call core code: */
826- InputToResultx( elements, nodes, vertices, loads, materials,parameters,enum_type);
827- }
828-
829 /*write output : */
830 WriteMatlabData(ELEMENTSOUT,elements);
831
832Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/mex/OutputResults/OutputResults.cpp
833===================================================================
834--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/mex/OutputResults/OutputResults.cpp (revision 11826)
835+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/mex/OutputResults/OutputResults.cpp (revision 11827)
836@@ -42,7 +42,7 @@
837 loads-> Configure(elements, loads, nodes,vertices, materials,parameters);
838
839 /*Call "x" code layer: */
840- OutputResultsx(&dataref, elements,nodes,vertices,loads,materials,parameters,&results);
841+ OutputResultsx(&dataref, elements,nodes,vertices,loads,materials,parameters,results);
842
843 /*write output datasets: */
844 plhs[0]=dataref;
845Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/enthalpy_core.m
846===================================================================
847--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/enthalpy_core.m (revision 11826)
848+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/enthalpy_core.m (revision 11827)
849@@ -5,13 +5,13 @@
850 % femmodel=enthalpy_core(femmodel)
851
852 %recover parameters common to all solutions
853- control_analysis=femmodel.parameters.InversionIscontrol;
854+ save_results=femmodel.parameters.SaveResults;
855 solution_type=femmodel.parameters.SolutionType;
856
857 issmprintf(VerboseSolution,'\n%s',[' computing enthalpy']);
858 femmodel=enthalpy_core_step(femmodel);
859
860- if (solution_type==EnthalpySolutionEnum & ~control_analysis),
861+ if (save_results),
862 issmprintf(VerboseSolution,'\n%s',[' saving results']);
863 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,EnthalpyEnum);
864 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,TemperatureEnum);
865Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/steadystate_core.m
866===================================================================
867--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/steadystate_core.m (revision 11826)
868+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/steadystate_core.m (revision 11827)
869@@ -7,7 +7,7 @@
870
871 %recover parameters common to all solutions
872 dim=femmodel.parameters.MeshDimension;
873- control_analysis=femmodel.parameters.InversionIscontrol;
874+ save_results=femmodel.parameters.SaveResults;
875 solution_type=femmodel.parameters.SolutionType;
876 isenthalpy=femmodel.parameters.ThermalIsenthalpy;
877
878@@ -42,7 +42,7 @@
879 step=step+1;
880 end
881
882- if (solution_type==SteadystateSolutionEnum & ~control_analysis),
883+ if (save_results),
884 issmprintf(VerboseSolution,'\n%s',[' saving results']);
885 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VxEnum);
886 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VyEnum);
887Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/adjointdiagnostic_core.m
888===================================================================
889--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/adjointdiagnostic_core.m (revision 11826)
890+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/adjointdiagnostic_core.m (revision 11827)
891@@ -7,7 +7,7 @@
892 %recover parameters common to all solutions
893 isstokes=femmodel.parameters.FlowequationIsstokes;
894 dim=femmodel.parameters.MeshDimension;
895- control_analysis=femmodel.parameters.InversionIscontrol;
896+ save_results=femmodel.parameters.SaveResults;
897 solution_type=femmodel.parameters.SolutionType;
898 conserve_loads=true;
899
900@@ -25,7 +25,7 @@
901 femmodel=solver_adjoint_linear(femmodel);
902
903 %save results
904- if(solution_type==AdjointSolutionEnum & ~control_analysis)
905+ if(save_results),
906 issmprintf(VerboseSolution,' saving results');
907 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,AdjointxEnum);
908 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,AdjointyEnum);
909Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/bedslope_core.m
910===================================================================
911--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/bedslope_core.m (revision 11826)
912+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/bedslope_core.m (revision 11827)
913@@ -7,7 +7,7 @@
914
915 %Recover some parameters:
916 dim=femmodel.parameters.MeshDimension;
917- control_analysis=femmodel.parameters.InversionIscontrol;
918+ save_results=femmodel.parameters.SaveResults;
919 solution_type=femmodel.parameters.SolutionType;
920
921 issmprintf(VerboseSolution,' computing bed slope');
922@@ -18,7 +18,7 @@
923 femmodel=SetCurrentConfiguration(femmodel,BedSlopeAnalysisEnum,BedSlopeYAnalysisEnum);
924 femmodel=solver_linear(femmodel);
925
926- if (solution_type==BedSlopeSolutionEnum & ~control_analysis),
927+ if (save_results),
928 issmprintf(VerboseSolution,' saving results');
929 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BedSlopeXEnum);
930 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BedSlopeYEnum);
931Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/adjointbalancethickness_core.m
932===================================================================
933--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/adjointbalancethickness_core.m (revision 11826)
934+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/adjointbalancethickness_core.m (revision 11827)
935@@ -5,7 +5,7 @@
936 % femmodel=adjointbalancethickness_core(femmodel)
937
938 %recover parameters common to all solutions
939- control_analysis=femmodel.parameters.InversionIscontrol;
940+ save_results=femmodel.parameters.SaveResults;
941 solution_type=femmodel.parameters.SolutionType;
942
943 %set analysis type to compute velocity:
944@@ -23,7 +23,7 @@
945
946 %Save results
947 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,AdjointEnum);
948- if(solution_type==AdjointSolutionEnum & ~control_analysis)
949+ if(save_results),
950 issmprintf(VerboseSolution,' saving results');
951 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,AdjointEnum);
952 end
953Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/control_core.m
954===================================================================
955--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/control_core.m (revision 11826)
956+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/control_core.m (revision 11827)
957@@ -18,6 +18,7 @@
958 gradient_only=femmodel.parameters.InversionGradientOnly;
959 dim=femmodel.parameters.MeshDimension;
960 isstokes=femmodel.parameters.FlowequationIsstokes;
961+ femmodel.parameters.SaveResults=false;
962
963 %Initialise options with maxiter
964 options.MaxIter=femmodel.parameters.InversionMaxiterPerStep;
965@@ -74,7 +75,7 @@
966
967 %generate output
968 issmprintf(VerboseControl,' preparing final velocity solution');
969- femmodel.parameters.InversionIscontrol=0;
970+ femmodel.parameters.SaveResults=true;
971 eval(['femmodel=' solutioncore '(femmodel);']);
972
973 %Some results not computed by diagnostic or steadystate
974Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/diagnostic_core.m
975===================================================================
976--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/diagnostic_core.m (revision 11826)
977+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/diagnostic_core.m (revision 11827)
978@@ -16,7 +16,7 @@
979 isstokes=femmodel.parameters.FlowequationIsstokes;
980 isnewton=femmodel.parameters.DiagnosticIsnewton;
981 dakota_analysis=femmodel.parameters.QmuIsdakota;
982- control_analysis=femmodel.parameters.InversionIscontrol;
983+ save_results=femmodel.parameters.SaveResults;
984 solution_type=femmodel.parameters.SolutionType;
985
986 %for qmu analysis, be sure the velocity input we are starting from is the one in the parameters:
987@@ -74,7 +74,7 @@
988 femmodel=solver_linear(femmodel);
989 end
990
991- if (solution_type==DiagnosticSolutionEnum & ~control_analysis)
992+ if (save_results),
993 issmprintf(VerboseSolution,'\n%s',[' saving results']);
994 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VxEnum);
995 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VyEnum);
996Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/prognostic_core.m
997===================================================================
998--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/prognostic_core.m (revision 11826)
999+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/prognostic_core.m (revision 11827)
1000@@ -5,7 +5,7 @@
1001 % femmodel=prognostic_core(femmodel)
1002
1003 %recover parameters common to all solutions
1004- control_analysis=femmodel.parameters.InversionIscontrol;
1005+ save_results=femmodel.parameters.SaveResults;
1006 solution_type=femmodel.parameters.SolutionType;
1007
1008 %Activate formulation
1009@@ -14,7 +14,7 @@
1010 issmprintf(VerboseSolution,'\n%s',[' call computational core']);
1011 femmodel=solver_linear(femmodel);
1012
1013- if (solution_type==PrognosticSolutionEnum & ~control_analysis)
1014+ if (save_results),
1015 issmprintf(VerboseSolution,'\n%s',[' saving results']);
1016 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,ThicknessEnum);
1017 end
1018Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/surfaceslope_core.m
1019===================================================================
1020--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/surfaceslope_core.m (revision 11826)
1021+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/surfaceslope_core.m (revision 11827)
1022@@ -7,7 +7,7 @@
1023
1024 %Recover some parameters:
1025 dim=femmodel.parameters.MeshDimension;
1026- control_analysis=femmodel.parameters.InversionIscontrol;
1027+ save_results=femmodel.parameters.SaveResults;
1028 solution_type=femmodel.parameters.SolutionType;
1029
1030 %Call on core computations:
1031@@ -17,7 +17,7 @@
1032 femmodel=SetCurrentConfiguration(femmodel,SurfaceSlopeAnalysisEnum,SurfaceSlopeYAnalysisEnum);
1033 femmodel=solver_linear(femmodel);
1034
1035- if (solution_type==SurfaceSlopeSolutionEnum),
1036+ if (save_results),
1037 issmprintf(VerboseSolution,'\n%s',[' saving results']);
1038 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,SurfaceSlopeXEnum);
1039 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,SurfaceSlopeYEnum);
1040Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/thermal_core.m
1041===================================================================
1042--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/thermal_core.m (revision 11826)
1043+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/thermal_core.m (revision 11827)
1044@@ -6,13 +6,13 @@
1045
1046
1047 %recover parameters common to all solutions
1048- control_analysis=femmodel.parameters.InversionIscontrol;
1049+ save_results=femmodel.parameters.SaveResults;
1050 solution_type=femmodel.parameters.SolutionType;
1051
1052 issmprintf(VerboseSolution,'\n%s',[' computing temperature']);
1053 femmodel=thermal_core_step(femmodel);
1054
1055- if (solution_type==ThermalSolutionEnum & ~control_analysis),
1056+ if (save_results),
1057 issmprintf(VerboseSolution,'\n%s',[' saving results']);
1058 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,TemperatureEnum);
1059 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BasalforcingsMeltingRateEnum);
1060Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/balancethickness_core.m
1061===================================================================
1062--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/balancethickness_core.m (revision 11826)
1063+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/balancethickness_core.m (revision 11827)
1064@@ -6,7 +6,7 @@
1065
1066 %recover parameters common to all solutions
1067 dim=femmodel.parameters.MeshDimension;
1068- control_analysis=femmodel.parameters.InversionIscontrol;
1069+ save_results=femmodel.parameters.SaveResults;
1070 solution_type=femmodel.parameters.SolutionType;
1071
1072 %Activate formulation
1073@@ -15,7 +15,7 @@
1074 issmprintf(VerboseSolution,' call computational core');
1075 femmodel=solver_linear(femmodel);
1076
1077- if (solution_type==BalancethicknessSolutionEnum & ~control_analysis),
1078+ if (save_results),
1079 issmprintf(VerboseSolution,' saving results');
1080 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,ThicknessEnum);
1081 end
1082Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/transient_core.m
1083===================================================================
1084--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/transient_core.m (revision 11826)
1085+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/transient_core.m (revision 11827)
1086@@ -10,7 +10,6 @@
1087 finaltime=femmodel.parameters.TimesteppingFinalTime;
1088 dt=femmodel.parameters.TimesteppingTimeStep;
1089 yts=femmodel.parameters.ConstantsYts;
1090- control_analysis=femmodel.parameters.InversionIscontrol;
1091 solution_type=femmodel.parameters.SolutionType;
1092 output_frequency=femmodel.parameters.SettingsOutputFrequency;
1093 time_adapt=femmodel.parameters.TimesteppingTimeAdapt;
1094@@ -53,8 +52,15 @@
1095 step=step+1;
1096 time=time+dt;
1097 femmodel.parameters.Time=time;
1098+ femmodel.parameters.Step=step;
1099
1100 issmprintf(VerboseSolution,'\n%s%g%s%i%s%g\n','time [yr] ',time/yts,' iteration number: ',step,'/',floor((finaltime-starttime)/dt));
1101+ if(mod(step,output_frequency)==0 | time==ndt),
1102+ save_results=true;
1103+ else
1104+ save_results=false;
1105+ end
1106+ femmodel.parameters.SaveResults=save_results;
1107
1108 if (isthermal & dim==3)
1109 issmprintf(VerboseSolution,'\n%s',[' computing temperature']);
1110@@ -84,20 +90,10 @@
1111 GroundinglineMigration(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters);
1112 end
1113
1114- if (solution_type==TransientSolutionEnum & ~control_analysis & (mod(step,output_frequency)==0 | time==finaltime)),
1115- issmprintf(VerboseSolution,'\n%s',[' saving results']);
1116- femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VxEnum,step,time);
1117- femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VyEnum,step,time);
1118- if (dim==3), femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VzEnum,step,time); end
1119- if (isdiagnostic), femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VelEnum,step,time); end
1120- if (isdiagnostic), femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,PressureEnum,step,time); end
1121- femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,ThicknessEnum,step,time);
1122+ if (save_results),
1123+ issmprintf(VerboseSolution,'\n%s',[' saving transient results']);
1124 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,SurfaceEnum,step,time);
1125 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BedEnum,step,time);
1126- if (dim==3 & isthermal), femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,TemperatureEnum,step,time);end
1127- if (dim==3 & isenthalpy), femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,WaterfractionEnum,step,time);end
1128- if (dim==3 & isenthalpy), femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,EnthalpyEnum,step,time);end
1129- femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BasalforcingsMeltingRateEnum,step,time);
1130 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,SurfaceforcingsMassBalanceEnum,step,time);
1131 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,MaskElementonfloatingiceEnum,step,time);
1132 end
1133Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/plotmodel.m
1134===================================================================
1135--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/plotmodel.m (revision 11826)
1136+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/plotmodel.m (revision 11827)
1137@@ -47,6 +47,7 @@
1138 try,
1139 for i=1:numberofplots,
1140 plot_manager(getfieldvalue(options.list{i},'model',md),options.list{i},subplotwidth,nlines,ncols,i);
1141+ cbfreeze;
1142 end
1143 catch me,
1144 %figure(figurenumber),close;
1145Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/enum/StepEnum.m
1146===================================================================
1147--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/enum/StepEnum.m (revision 0)
1148+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/enum/StepEnum.m (revision 11827)
1149@@ -0,0 +1,11 @@
1150+function macro=StepEnum()
1151+%STEPENUM - Enum of Step
1152+%
1153+% WARNING: DO NOT MODIFY THIS FILE
1154+% this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
1155+% Please read src/c/EnumDefinitions/README for more information
1156+%
1157+% Usage:
1158+% macro=StepEnum()
1159+
1160+macro=StringToEnum('Step');
1161Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/enum/SaveResultsEnum.m
1162===================================================================
1163--- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/enum/SaveResultsEnum.m (revision 0)
1164+++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/enum/SaveResultsEnum.m (revision 11827)
1165@@ -0,0 +1,11 @@
1166+function macro=SaveResultsEnum()
1167+%SAVERESULTSENUM - Enum of SaveResults
1168+%
1169+% WARNING: DO NOT MODIFY THIS FILE
1170+% this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
1171+% Please read src/c/EnumDefinitions/README for more information
1172+%
1173+% Usage:
1174+% macro=SaveResultsEnum()
1175+
1176+macro=StringToEnum('SaveResults');
Note: See TracBrowser for help on using the repository browser.