Check the Celsius/Kelvin conversion in the prepBUFR obs converter
Is this intended: https://github.com/NCAR/DART/blob/f7205cb8bb947d2eb3580e5e81e77e5720430868/observations/obs_converters/NCEP/prep_bufr/src/prepbufr.f#L118
A more common value for conversion is 273.15 so I just wanted to double check this.
This was a generous comment. Rather than "a more common value", a more accurate statement would have been "the correct value for conversion is 273.15". There is historic confusion about the values 273.16 and 273.15. The accepted 'triple point' of water is at 273.16 K. However, the zero point of the celsius scale is NOT at the accepted triple point of water. The actual discussion of this issue took more than 20 years in the latest redefinition of the SI units so it is a subtle and complex issue. We should probably change this, but it will lead to changes in results for anyone that has been doing this conversion.
On Wed, Aug 6, 2025 at 10:48 AM Stephen Herbener @.***> wrote:
srherbener created an issue (NCAR/DART#944) https://github.com/NCAR/DART/issues/944
Is this intended: https://github.com/NCAR/DART/blob/f7205cb8bb947d2eb3580e5e81e77e5720430868/observations/obs_converters/NCEP/prep_bufr/src/prepbufr.f#L118
A more common value for conversion is 273.15 so I just wanted to double check this.
— Reply to this email directly, view it on GitHub https://github.com/NCAR/DART/issues/944, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANDHUIXCEM3HLIVCQLHLFYL3MIWVTAVCNFSM6AAAAACDIRLCDOVHI2DSMVQWIX3LMV43ASLTON2WKOZTGI4TOMZXHE4DINY . You are receiving this because you are subscribed to this thread.Message ID: @.***>
@jlaucar thanks for the explanation. It's an interesting situation with the slight difference between the triple point of water and the conversion value.
I'm glad this issue brings awareness to the matter and you bring up a good point about whether it is worth fixing (eg, an error in the 5th significant digit versus thrashing a bunch of files in someone's work). I'm okay with how you think is the best way to resolve this.
the original code for this converter was based on a data dump program distributed with the ncep bufr libraries. it would be interesting to know if the current version of that program still uses 273.16 .
all the bufr obs we've ever converted up to now use the .16 value - but i'm unsure how much 0.01 of a degree changes things. it's a bias for sure, but maybe not significant? it's used directly in the T obs, but also as part of 2 conversion factors (fact2, fact3) used in the moisture obs - specific humidity, relative humidity and dew point. also the constant es0 has a comment about pressure at 273.16, so that might be affected if the value needs to change.
if someone does decide to make this change, search carefully in the code - in spite of t0 being set, the literal value 273.16 also appears in a couple places without using the variable name.
Note on JEDI vs DART drift & raw vs preprocessed obs
The prepBUFR layout contains a single sounding in one subset in an ADUPA message There are options for lon, lat, timestamp and the T obs value in the prepBUFR subset which lead to the differences in the final obs_seq files lon, lat, timestep: Launch: XOB, YOB, DHR -> DART Drift: XDR, YDR, HRDR -> JEDI T obs value “events” List of obs values starting with raw obs value from provider followed by values from steps in the NOAA obs preprocessing flow Raw obs -> DART Final preprocess obs -> JEDI Need to decide which options are best: Perhaps: drift values for lon, lat, timestep and Raw values for T, Q, U, V This needs more discussion - especially which obs values to use
https://docs.google.com/presentation/d/1dlCjwfGMSN9uWT9ERAfOTVTHjZQIvekS/edit?usp=sharing&ouid=117946393327335859603&rtpof=true&sd=true