GUM Calculator

Updated 2019-01-13

Overview: What Is GumCalc?

GUM Calculator, aka GumCalc, is an auto­mated measure­ment-​model­ing and cal­cu­la­tion tool. The most im­por­tant fea­ture, which makes it dif­fer­ent from most other cal­cu­la­tion tools, is its abil­ity to propa­gate meas­ure­ment un­cer­tainty auto­matically. A second un­usual fea­ture is its abil­ity to propa­gate the di­men­sions of meas­ur­able quan­tities. These two fea­tures together pro­vide my ra­tion­ale for call­ing it a measure­ment-​model­ing tool rather than a cal­cu­lator program. Since I wrote GumCalc to be a tool for my own use at a radio­chem­istry labo­ra­tory, it also has many fea­tures that are in­tended to make it par­ticu­larly use­ful in that environment.

GumCalc runs only under Micro­soft Win­dows. I have per­son­ally tested it under Win­dows XP and Win­dows 7. More recently I started test­ing it on a Win­dows 10 machine, where it per­formed cor­rectly ex­cept for some font issues, mostly related to the ab­sence of the font Arial Unicode MS.

Note: Although GumCalc lets you create meas­ure­ment models, you can use it every day for calcu­la­tions and unit con­ver­sions with­out ever creat­ing a model at all. You just type an ex­pres­sion in the Evaluation win­dow and click a button to evalu­ate it, as shown below. There is an op­tion to specify the unit of meas­ure­ment for the result.


In this example the user has typed an ex­pres­sion to mul­tiply the mass of the electron (m_e) by the square of the speed of light (c) and asked for the result ex­pressed in kilo­electron volts (keV).

The program allows you to specify a meas­ure­ment model as a collec­tion of def­ini­tions of vari­ables and func­tions. Each model may be saved in an elec­tronic file and re­opened and edited later. GumCalc also pro­vides a capa­bil­ity to run a model on im­ported sets of data, with the values of speci­fied vari­ables being obtained from im­port files in CSV format. When the model runs, it can also ex­port results to CSV files, which pre­sumably can then be up­loaded to other soft­ware sys­tems or even a LIMS. (This export feature needs to be beefed up in the future to be more useful.)

Model variables come in four types:

  • imported variables (whose values are ob­tained from CSV im­port files)
  • text variables
  • input quan­tities (or input estimates)
  • output quan­tities (output estimates)

Measurement un­cer­tainty is intro­duced into a model via the in­put quan­tities. The user speci­fies the value and un­cer­tainty of an input quan­tity by speci­fy­ing a type of prob­ability dis­tribu­tion and the values of the param­eters of the dis­tribu­tion. When other results (out­put quan­tities) are cal­cu­lated from input quan­tities, they acquire un­cer­tainty too. The un­cer­tainty of an out­put quan­tity (com­bined stand­ard un­cer­tainty) is auto­matically deter­mined by un­cer­tainty propagation.

The creator of a model can define vari­ables and func­tions in any order, with­out worry­ing about the order of evalu­ation. The appli­ca­tion it­self deter­mines the evalu­ation order that is needed to obtain mean­ing­ful results. It is pos­sible for the model creator to create cir­cular def­initions, but GumCalc will detect any cir­cularity with­out enter­ing an in­finite recur­sion, which would crash the program.

Dimensions in GumCalc are built up from the seven base dimen­sions of the Inter­national Sys­tem of Units (SI). The seven base units of the SI are hard-​coded in the pro­gram, while all other units are defined in XML setup files. The unit pre­fixes of the SI are also hard-​coded in the pro­gram, and the unit set­up files specify which units can be used with prefixes.


Recent changes



Units and Uncertainty

About the Icon GumCalc icon