GEUS-Glaciology-and-Climate / mass_balance

Greenland ice sheet mass balance from 1840 through next week
https://doi.org/10.5194/essd-13-5001-2021
GNU Lesser General Public License v3.0
7 stars 3 forks source link

Sectors & regions disagree when summed. #20

Open mankoff opened 2 years ago

mankoff commented 2 years ago

Exhibits in v90 (and earlier).

wget 'https://dataverse01.geus.dk/api/access/datafile/:persistentId?persistentId=doi:10.22008/FK2/OHI23Z/LOC1JC' -O ~/tmp/MB_region.nc
wget 'https://dataverse01.geus.dk/api/access/datafile/:persistentId?persistentId=doi:10.22008/FK2/OHI23Z/ZRDZLS' -O ~/tmp/MB_sector.nc
import xarray as xr
r = xr.open_dataset('~/tmp/MB_region.nc')
s = xr.open_dataset('~/tmp/MB_sector.nc')

# print('Scale of raw data: ', r.sum(dim='region').sum())

print('\n\nDiff:')
print((r.sum(dim='region') - s.sum(dim='sector')).sum())
Diff:
<xarray.Dataset>
Dimensions:      ()
Data variables:
    MB           float32 0.0
    MB_err       float32 0.0
    MB_ROI       float32 -41.11
    MB_ROI_err   float32 -85.06
    SMB          float32 0.0
    SMB_err      float32 0.0
    SMB_ROI      float32 -2.582e-05
    SMB_ROI_err  float32 -2.526e-06
    D            float32 0.0
    D_err        float32 0.0
    D_ROI        float32 0.000224
    D_ROI_err    float32 -2.205e-06
    BMB          float32 0.0
    BMB_err      float32 0.0
    BMB_ROI      float32 9.164e-07
    BMB_ROI_err  float32 -3.067
    MB_HIRHAM    float32 -223.3
    MB_MAR       float32 116.8
    MB_RACMO     float32 -6.387
mankoff commented 2 years ago

Cause: Splitting into different products (sectors, regions) and then performing operations (such as interpolation) leads to diverging products.

Solution: Operate on highest resolution product (e.g. discharge at gate level), then split into sectors and regions.

Note that sectors here are Zwally (2012) sectors. Sectors in the discharge product are Mouginot (2019) sectors.