GEUS-Glaciology-and-Climate / greenland_ice_borehole_temperature_profiles

Greenland ice borehole temperature profiles
https://doi.org/10.5194/tc-17-3829-2023
4 stars 1 forks source link

Vertical resolution #21

Closed mankoff closed 3 years ago

mankoff commented 3 years ago

The current version of the DB provides all profiles in one CSV file, meaning they all need a shared vertical resolution.

The current version interpolates (linear) to 1 m resolution. This is probably not the right choice for low-spatial-resolution data. For example, the data from Doyle (2018) here https://figshare.com/articles/dataset/SAFIRE_borehole_AWS_and_GPS_datasets/5745294?file=10115730 is:

% 1. Thermistor Temperature Profile,,, % ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------%,,, % Parameters:,,, % T: Thermistor number,,, % Depth: Depth below the surface [m],,, % T_final: Final recorded temperature [degrees Celcius],,, % T_0: Extrapolated 'undisturbed ice temperature' [degrees Celcius],,, % ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------%,,, % Notes:,,, % Thermistor Number 0 is thermistor M1.,,, % ,,, T,Depth,T_final,T_0 0,604.271,-0.629,-0.635 2,600.505,-0.704,-0.757 3,596.525,-0.778,-0.857 4,591.545,-1.154,-1.199 5,551.605,-5.913,-5.978 6,501.935,-14.123,-14.165 7,451.835,-18.959,-19.017 8,401.865,-18.805,-18.872 9,302.005,-21.202,-21.251 10,201.595,-17.949,-18.033 11,101.735,-14.48,-14.64

Which has ~100 m spatial resolution.

Suggestion:

WilliamColgan commented 3 years ago

I thought that we were going to express T observations interpolated every 1% ice thickness between 0 and 100 % ice thickness? If we also provide the ice thickness, then it is easily converted by the user into absolute meters if desired. I think Anja also finds that fractional 0-1 ice thickness depth scale is desirable when comparing to simulated temperatures, as ice flow models never reproduce the identical ice thickness. So already having fractional depth temperature data saves a step when comparing to simulations. It would be silly to have all measurements on a 3200+ node depth vector of 1-m resolution just because Summit is that deep. The database will be >80% NaNs,

mankoff commented 3 years ago

I was not aware we had decided on this format but yes, that'll work fine. Currently we provide the data in 3 formats: top-down, bottom-up, and % of ice thickness. Yes, lots of NaNs for top-down and bottom-up which have 3053 rows, but that's OK, they're small files. The entire dataset is ~1 MB. Are you sure you don't want to provide these? Could be useful for people who want access to "bottom 100 m" or "firn study" to have quick access to top-down and bottom-up.

Anyway, the issue raised here still holds for a single "% of ice thickness" format file, which is 1/10th the size with only ~100 rows. Interpolating to 1 m resolution (or 0.01 %) is still incorrect, and in the example above, it should still be mostly NaN.

The % of ice thickness format should have an additional header row: Ice thickness. How about this as an example of the format?

Or should we have many header-rows, rather than metadata in a different file? Lon, lat, year, velocity, reference papers, etc. could all be in this same file...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

borehole ID | agassiz77 | agassiz79a | agassiz79b | agassiz84 -- | -- | -- | -- | -- ice thickness | 340.0 | 141.9 | 1411.2 | 127.6 0.01 |   |   |   |   0.02 |   |   |   |   0.03 |   |   |   | -23.7284 0.04 | -24.2602 |   |   | -23.3251 0.05 | |   |   | -22.9219 0.06 | |   |   | -22.5187 0.07 | |   |   | -22.3112 0.08 | -24.19 |   | -22.2976 | -22.176 0.09 | | | | -22.0407 0.1 | -24.122 | -22.3281 | | -21.9054
mankoff commented 3 years ago

pchip interpolation with https://pandas.pydata.org/docs/reference/api/pandas.Series.interpolate.html