html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue https://github.com/pydata/xarray/issues/4548#issuecomment-719596138,https://api.github.com/repos/pydata/xarray/issues/4548,719596138,MDEyOklzc3VlQ29tbWVudDcxOTU5NjEzOA==,73609114,2020-10-30T14:47:18Z,2020-10-30T14:47:18Z,NONE,Edited the snippet (correction). `xr.decode_cf(ds)` to `ds=xr.decode_cf(ds)`,"{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,731681563 https://github.com/pydata/xarray/issues/4548#issuecomment-719585877,https://api.github.com/repos/pydata/xarray/issues/4548,719585877,MDEyOklzc3VlQ29tbWVudDcxOTU4NTg3Nw==,73609114,2020-10-30T14:29:48Z,2020-10-30T14:45:29Z,NONE,"Yes your sparse answer did help. But to apply the fix to all `add_offset` for the different DataArrays within the DataSet I have to loop through them. So what I am doing to 'open' a file is. ``` python ds = xr.open_dataset('XYZ.hdf.hdfeos',mask_and_scale=False, engine='pynio') for dataarray in ds.data_vars: if hasattr(getattr(ds, dataarray),'add_offset'): fix_offset=-getattr(getattr(ds, dataarray),'add_offset')*(getattr(getattr(ds,dataarray),'scale_factor')) getattr(ds,dataarray).attrs['add_offset']=fix_offset ds = xr.decode_cf(ds) ```","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,731681563 https://github.com/pydata/xarray/issues/4548#issuecomment-719592753,https://api.github.com/repos/pydata/xarray/issues/4548,719592753,MDEyOklzc3VlQ29tbWVudDcxOTU5Mjc1Mw==,5821660,2020-10-30T14:41:32Z,2020-10-30T14:41:32Z,MEMBER,@nbCloud91 Nice! That's what I had mind. The loop should not be that much of an issue. Thanks for coming back and thanks for the code snippet. Hope those who come here find it useful. ,"{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,731681563 https://github.com/pydata/xarray/issues/4548#issuecomment-719541192,https://api.github.com/repos/pydata/xarray/issues/4548,719541192,MDEyOklzc3VlQ29tbWVudDcxOTU0MTE5Mg==,5821660,2020-10-30T13:06:52Z,2020-10-30T13:06:52Z,MEMBER,@nbCloud91 Can you point me to the relevant SO-question? And did my sparse answer help you in any way?,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,731681563 https://github.com/pydata/xarray/issues/4548#issuecomment-719538707,https://api.github.com/repos/pydata/xarray/issues/4548,719538707,MDEyOklzc3VlQ29tbWVudDcxOTUzODcwNw==,73609114,2020-10-30T13:01:39Z,2020-10-30T13:01:39Z,NONE,"Ah thank you very much @kmuehlbauer . I do realise this is not a proper forum for asking these questions, stackoverflow is suggested, but there seems to be very less activity over there related to questions on xarray. Closing this issue.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,731681563 https://github.com/pydata/xarray/issues/4548#issuecomment-718947729,https://api.github.com/repos/pydata/xarray/issues/4548,718947729,MDEyOklzc3VlQ29tbWVudDcxODk0NzcyOQ==,5821660,2020-10-29T18:42:19Z,2020-10-29T18:42:19Z,MEMBER,@nbCloud91 I would do the same as you opening `ds` with `mask_and_scale=False`. But then I would change `add_offset=-add_offset*scale_factor` and call `xr.decode_cf(ds)`. ,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,731681563 https://github.com/pydata/xarray/issues/4548#issuecomment-718929664,https://api.github.com/repos/pydata/xarray/issues/4548,718929664,MDEyOklzc3VlQ29tbWVudDcxODkyOTY2NA==,73609114,2020-10-29T18:09:25Z,2020-10-29T18:09:25Z,NONE,"what I do now is `xr.open_dataset(filename,mask_and_scale=False)`. Then I get all the variables as some kind of int8 or int16 and then use the 2nd formula mentioned above for each data-array, since `add_offset` attributes are different for different variables. I did not get what you meant by ""fix the `add_offset`"", you don't mean editing all the datafiles?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,731681563 https://github.com/pydata/xarray/issues/4548#issuecomment-718884875,https://api.github.com/repos/pydata/xarray/issues/4548,718884875,MDEyOklzc3VlQ29tbWVudDcxODg4NDg3NQ==,5821660,2020-10-29T16:53:15Z,2020-10-29T16:53:15Z,MEMBER,"@nbCloud91 What do you mean by manually doing the scaling? It seems that for your case it would be enough to fix the `add_offset` and let xarray decode the dataset after that. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,731681563