Defining Constants in Scientific Work Is Messier Than Textbooks Admit
Every paper I've read that uses physical constants seems to assume the reader already knows which value to pull from which table, when to use the 2018 CODATA set versus the 2014 one, and how to handle constants that have been redefined by convention rather than measurement. They don't explain it. I'm going to try. The problem starts with a basic fact: the scientific community maintains only one official source of fundamental constant values — the CODATA Recommended Values of the Fundamental Constants. It comes out roughly every four years. The most recent iteration was published in 2022 (CODATA 2022). Between publication cycles, papers still cite older values. This creates a real problem when you're combining constants from different sources that were determined at different times. The uncertainty budgets don't line up. I learned this the hard way. I was building a calculation that required the Boltzmann constant, the Planck constant, and the Avogadro number, all used together in a single equation chain. The Boltzmann constant came from a 2019 NIST reference. The Planck constant from a 2017 metrology paper. The Avogadro number from a textbook that was using pre-2019 values. When I ran the final result, the propagated uncertainty was about 40 percent larger than it should have been, because those three constants had slightly inconsistent adjustment histories. The fix was straightforward but tedious: I pulled every constant from the same CODATA 2022 release and rebuilt the uncertainty propagation from scratch. That took about forty-five minutes of work that should have been avoidable from the start.
Getting the Constant Definition For Science Right on First Pass
Here is the practical workflow I use now, and it has cut my constant-lookup time from something like two hours per project down to roughly fifteen minutes. First, list every constant your calculation or model requires. Do not pull them one at a time as you go. Write the full list on a single page or in a single spreadsheet cell. Then decide which CODATA release is your anchor point. If your work is being submitted after September 2022, use CODATA 2022. If you are replicating a paper that was published before that date, use CODATA 2018 for consistency with the original authors. Mixing release years between your work and a replication is a common source of result drift that nobody talks about. Second, record the exact numerical value and its standard uncertainty in a single line per constant. Format it like this: symbol = value ± u(value), with the source and year noted. Example: k = 1.380 649 × 10^-23 J/K (exact, by definition since 2019). The Boltzmann constant is one of the constants that was fixed by definition rather than measured. Several others share this status now, which changes how you treat their uncertainty entirely.
Third, separate your constants into two categories: measured constants and defined constants. Measured constants carry real uncertainty that propagates through your calculations. Defined constants are exact by fiat — they have no uncertainty because their values were locked in when the SI units were redefined in 2019. The Planck constant, the speed of light, the elementary charge, and the Boltzmann constant are all in this second category now. You do not propagate uncertainty for them. Treating them as if they have uncertainty is a mistake I see constantly in student work and early-career papers. It inflates your error bars unnecessarily and makes your results look less precise than they actually are.
Get the Full Details

Where People Go Wrong With Constant Definitions
The most common error is assuming that every constant in a table has an associated uncertainty. Look at the CODATA 2022 table carefully. Some rows list a value with no uncertainty column entry. Those are the defined constants. They are exact. If your uncertainty analysis includes them, your final result will be wrong, and reviewers who know what they're looking at will catch it immediately. A second error is using constants from software libraries without checking which CODATA release those libraries are based on. Numerical libraries like SciPy, NumPy, and MATLAB ship with built-in constant values. SciPy's constants module has been updated several times, but not always in lockstep with the latest CODATA release. Before you trust the built-in values for any publication-quality work, open the source code or the documentation and verify the release year. I spent about three weeks debugging a thermodynamics simulation where the speed of light value in the library was off by about six parts in ten million compared to the defined value. The simulation results drifted just enough to invalidate the comparison with experimental data. The fix was replacing the library constant with the exact defined value from CODATA 2022. A third issue is more subtle and happens in fields like astronomy and geophysics where people use empirical constants that are not part of the fundamental constants set at all. Things like the solar mass parameter, the gravitational parameter of Earth, or the effective temperature of the Sun. These are not defined. They are measured. Their values change as measurement techniques improve. If your field relies on these, you need to be explicit about which value and which source you are using, and you need to acknowledge that future work may update them. I have seen entire subfields publish slightly conflicting results because different groups adopted different values for the same empirical constant from different eras.
Documentation Practice That Actually Saves Time
I keep a single reference file for every project. It has three columns: the constant symbol, the exact numerical value with uncertainty, and the source with year. I fill it out before I write a single line of code or run a single simulation. This takes maybe ten minutes for a typical project and prevents the constant-mismatch problem entirely. If someone asks me later which values I used, I can point to that file instead of trying to reconstruct it from memory or from scattered comments in my code. For collaborative work, put that reference file in the same repository as your code. Label it clearly. Something like constants_reference.csv works fine. I have found that when this file exists and is tracked in version control, nobody argues about which values were used during peer review. When it does not exist, reviewers ask questions that force you to dig through old emails and supplementary materials to reconstruct the information. There is also a practical question about significant figures that deserves a direct answer. Use the full precision available in your chosen CODATA release. Do not round constants to three or four significant figures before using them in calculations. Round only the final result, and round it according to the propagated uncertainty. This is basic practice but it is surprisingly common to see constants truncated early in a calculation chain, which introduces rounding error that can dominate the final uncertainty when you are working with high-precision measurements.
The bottom line is that Constant Definition For Science is not a single rule. It is a process: identify every constant, choose a consistent source and release year, separate defined constants from measured ones, verify software libraries against that source, and document everything in a single place before you start. The part that most people skip is the documentation step, and that is also the part that causes the most problems later.
