error and uncertainty analysis