comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WstValueTable.java @ 1860:ddd425858169

Improved logging to include exception in fail case of spline interpolation of wst. flys-artifacts/trunk@3209 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Thu, 10 Nov 2011 10:13:57 +0000
parents 853cd2120d69
children d2e217f438bc
comparison
equal deleted inserted replaced
1859:755d9763928f 1860:ddd425858169
215 catch (MathIllegalArgumentException miae) { 215 catch (MathIllegalArgumentException miae) {
216 if (errors != null) { 216 if (errors != null) {
217 // TODO: I18N 217 // TODO: I18N
218 errors.addProblem(km, "spline creation failed"); 218 errors.addProblem(km, "spline creation failed");
219 } 219 }
220 log.error("spline creation failed"); 220 log.error("spline creation failed", miae);
221 return new double[2][0]; 221 return new double[2][0];
222 } 222 }
223 223
224 double [] outWs = new double[steps]; 224 double [] outWs = new double[steps];
225 double [] outQs = new double[steps]; 225 double [] outQs = new double[steps];
293 catch (MathIllegalArgumentException miae) { 293 catch (MathIllegalArgumentException miae) {
294 if (errors != null) { 294 if (errors != null) {
295 // TODO: I18N 295 // TODO: I18N
296 errors.addProblem(km, "spline creation failed"); 296 errors.addProblem(km, "spline creation failed");
297 } 297 }
298 log.error("spline creation failed"); 298 log.error("spline creation failed", miae);
299 return new double[2][0]; 299 return new double[2][0];
300 } 300 }
301 301
302 double [] outWs = new double[steps]; 302 double [] outWs = new double[steps];
303 double [] outQs = new double[steps]; 303 double [] outQs = new double[steps];
454 */ 454 */
455 public double [][] interpolateWQ(double km, Calculation errors) { 455 public double [][] interpolateWQ(double km, Calculation errors) {
456 return interpolateWQ(km, DEFAULT_Q_STEPS, errors); 456 return interpolateWQ(km, DEFAULT_Q_STEPS, errors);
457 } 457 }
458 458
459 /**
460 * Interpolate W and Q values at a given km.
461 */
459 public double [][] interpolateWQ(double km, int steps, Calculation errors) { 462 public double [][] interpolateWQ(double km, int steps, Calculation errors) {
460 463
461 int rowIndex = Collections.binarySearch(rows, new Row(km)); 464 int rowIndex = Collections.binarySearch(rows, new Row(km));
462 465
463 if (rowIndex >= 0) { // direct row match 466 if (rowIndex >= 0) { // direct row match
665 } 668 }
666 double q1 = columns[index-1].getQRangeTree().findQ(km); 669 double q1 = columns[index-1].getQRangeTree().findQ(km);
667 double q2 = columns[index ].getQRangeTree().findQ(km); 670 double q2 = columns[index ].getQRangeTree().findQ(km);
668 return Linear.weight(weight, q1, q2); 671 return Linear.weight(weight, q1, q2);
669 } 672 }
670
671 } 673 }
672 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : 674 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org