Changeset 19613 for issm/trunk-jpl/src/c/classes/Elements/Element.cpp
- Timestamp:
- 10/01/15 10:45:44 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/Element.cpp
r19594 r19613 2375 2375 /*Calculate total system mass:*/ 2376 2376 sumMass=0; for(int i=0;i<m;i++) sumMass += dz[i]*d[i]; 2377 2378 #ifndef _HAVE_ADOLC_ //we want to avoid the round operation at all cost. Not differentiable. 2377 2379 dMass = sumMass + sumR + sumW - sumP - sumEC - initMass - sumMassAdd; 2378 2380 dMass = round(dMass * 100.0)/100.0; 2379 2381 2380 2382 /*Check mass conservation:*/ 2381 2383 if (dMass != 0.0) _printf_("total system mass not conserved in MB function"); 2384 #endif 2382 2385 2383 2386 /*Check bottom grid cell T is unchanged:*/ 2384 2387 if (T[m-1]!=T_bottom) _printf_("T(end)~=T_bottom" << "\n"); 2385 2388 2389 /*Free ressources: */ 2390 xDelete<IssmDouble>(swf); 2391 2392 /*increase counter:*/ 2386 2393 count++; 2387 2394 … … 2399 2406 this->AddInput(new DoubleArrayInput(SmbWEnum,W,m)); 2400 2407 this->AddInput(new DoubleArrayInput(SmbAEnum,a,m)); 2401 this->AddInput(new DoubleArrayInput(SmbSwfEnum,swf,m));2402 2408 this->AddInput(new DoubleInput(SmbMassBalanceEnum,(sumP + sumEC -sumR)/rho_water/dt)); 2403 2409 this->AddInput(new DoubleInput(SmbRunoffEnum,sumR/rho_water/dt)); … … 2416 2422 xDelete<IssmDouble>(a); 2417 2423 xDelete<IssmDouble>(T); 2418 xDelete<IssmDouble>(swf);2419 2424 delete gauss; 2420 2425 /*}}}*/
Note:
See TracChangeset
for help on using the changeset viewer.