Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MTG-FCI-FDHSI reader is slow, apparently not actually dask-aware #972

Closed
gerritholl opened this issue Nov 22, 2019 · 23 comments · Fixed by #981
Closed

MTG-FCI-FDHSI reader is slow, apparently not actually dask-aware #972

gerritholl opened this issue Nov 22, 2019 · 23 comments · Fixed by #981
Assignees

Comments

@gerritholl
Copy link
Member

Describe the bug
The MTG-FCI-FDHSI reader is slow and accessing files where it shouldn't. Normally the delayed execution using dask should mean that the code below doesn't really do anything, if I understand correctly.

To Reproduce

from satpy.scene import Scene
from satpy.utils import debug_on
from glob import glob

srcdir = ("/media/nas/x21308/2019_09_MTG_Testdata/"
          "/FCI/FDHSI/uncompressed/20170410_RC70")
debug_on()

# MTG Test data from EUMETSAT
fciscene = Scene(sensor="fci",
                 filenames=glob(srcdir + "/*BODY*.nc"),
                 reader=['fci_l1c_fdhsi'])

dn_all = fciscene.available_dataset_names()
fciscene.load(dn_all)

Expected behavior
I expect that lots of stuff gets scheduled with dask but nothing gets done in practice because there is nowhere where the data are actually accessed.

Actual results

When running this minimum working example, the running takes 35 minutes real, 30 minutes user, using around 90% CPU and uses several gigabytes RAM. I don't understand exactly what it's doing, but there would appear to be room for optimisation.

Excerpt from log output:

[DEBUG: 2019-11-22 13:59:55 : satpy.scene] Setting 'PPP_CONFIG_DIR' to '/home/gholl/checkouts/satpy/etc/'
[DEBUG: 2019-11-22 13:59:55 : satpy.readers] Reading ['/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/satpy/etc/readers/fci_l1c_fdhsi.yaml']
[DEBUG: 2019-11-22 13:59:55 : satpy.readers.yaml_reader] Assigning to fci_l1c_fdhsi: ['/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113517_GTT_DEV_20170410113008_20170410113017_N__C_0070_0002.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113525_GTT_DEV_20170410113017_20170410113025_N__C_0070_0003.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114000_GTT_DEV_20170410113451_20170410113500_N__C_0070_0035.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114417_GTT_DEV_20170410113908_20170410113917_N__C_0070_0065.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114451_GTT_DEV_20170410113942_20170410113951_N__C_0070_0069.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114208_GTT_DEV_20170410113700_20170410113708_N__C_0070_0050.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114434_GTT_DEV_20170410113925_20170410113934_N__C_0070_0067.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113625_GTT_DEV_20170410113117_20170410113125_N__C_0070_0010.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114234_GTT_DEV_20170410113725_20170410113734_N__C_0070_0053.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113551_GTT_DEV_20170410113042_20170410113051_N__C_0070_0006.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114442_GTT_DEV_20170410113934_20170410113942_N__C_0070_0068.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113917_GTT_DEV_20170410113408_20170410113417_N__C_0070_0030.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114117_GTT_DEV_20170410113608_20170410113617_N__C_0070_0044.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113717_GTT_DEV_20170410113208_20170410113217_N__C_0070_0016.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114300_GTT_DEV_20170410113751_20170410113800_N__C_0070_0056.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114142_GTT_DEV_20170410113634_20170410113642_N__C_0070_0047.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113908_GTT_DEV_20170410113400_20170410113408_N__C_0070_0029.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114308_GTT_DEV_20170410113800_20170410113808_N__C_0070_0057.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113742_GTT_DEV_20170410113234_20170410113242_N__C_0070_0019.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114008_GTT_DEV_20170410113500_20170410113508_N__C_0070_0036.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114400_GTT_DEV_20170410113851_20170410113900_N__C_0070_0063.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114225_GTT_DEV_20170410113717_20170410113725_N__C_0070_0052.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114042_GTT_DEV_20170410113534_20170410113542_N__C_0070_0040.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113725_GTT_DEV_20170410113217_20170410113225_N__C_0070_0017.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114017_GTT_DEV_20170410113508_20170410113517_N__C_0070_0037.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113708_GTT_DEV_20170410113200_20170410113208_N__C_0070_0015.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114342_GTT_DEV_20170410113834_20170410113842_N__C_0070_0061.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113508_GTT_DEV_20170410113000_20170410113008_N__C_0070_0001.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113600_GTT_DEV_20170410113051_20170410113100_N__C_0070_0007.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113825_GTT_DEV_20170410113317_20170410113325_N__C_0070_0024.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113700_GTT_DEV_20170410113151_20170410113200_N__C_0070_0014.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114425_GTT_DEV_20170410113917_20170410113925_N__C_0070_0066.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113542_GTT_DEV_20170410113034_20170410113042_N__C_0070_0005.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113634_GTT_DEV_20170410113125_20170410113134_N__C_0070_0011.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114242_GTT_DEV_20170410113734_20170410113742_N__C_0070_0054.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114408_GTT_DEV_20170410113900_20170410113908_N__C_0070_0064.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113942_GTT_DEV_20170410113434_20170410113442_N__C_0070_0033.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114217_GTT_DEV_20170410113708_20170410113717_N__C_0070_0051.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114251_GTT_DEV_20170410113742_20170410113751_N__C_0070_0055.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114108_GTT_DEV_20170410113600_20170410113608_N__C_0070_0043.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114134_GTT_DEV_20170410113625_20170410113634_N__C_0070_0046.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114317_GTT_DEV_20170410113808_20170410113817_N__C_0070_0058.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113734_GTT_DEV_20170410113225_20170410113234_N__C_0070_0018.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113951_GTT_DEV_20170410113442_20170410113451_N__C_0070_0034.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114500_GTT_DEV_20170410113951_20170410114000_N__C_0070_0070.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113934_GTT_DEV_20170410113425_20170410113434_N__C_0070_0032.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113925_GTT_DEV_20170410113417_20170410113425_N__C_0070_0031.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114125_GTT_DEV_20170410113617_20170410113625_N__C_0070_0045.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114200_GTT_DEV_20170410113651_20170410113700_N__C_0070_0049.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114151_GTT_DEV_20170410113642_20170410113651_N__C_0070_0048.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113900_GTT_DEV_20170410113351_20170410113400_N__C_0070_0028.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113642_GTT_DEV_20170410113134_20170410113142_N__C_0070_0012.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113834_GTT_DEV_20170410113325_20170410113334_N__C_0070_0025.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113608_GTT_DEV_20170410113100_20170410113108_N__C_0070_0008.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114334_GTT_DEV_20170410113825_20170410113834_N__C_0070_0060.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114034_GTT_DEV_20170410113525_20170410113534_N__C_0070_0039.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113617_GTT_DEV_20170410113108_20170410113117_N__C_0070_0009.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114025_GTT_DEV_20170410113517_20170410113525_N__C_0070_0038.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113808_GTT_DEV_20170410113300_20170410113308_N__C_0070_0022.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113851_GTT_DEV_20170410113342_20170410113351_N__C_0070_0027.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113651_GTT_DEV_20170410113142_20170410113151_N__C_0070_0013.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114351_GTT_DEV_20170410113842_20170410113851_N__C_0070_0062.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114100_GTT_DEV_20170410113551_20170410113600_N__C_0070_0042.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113800_GTT_DEV_20170410113251_20170410113300_N__C_0070_0021.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113842_GTT_DEV_20170410113334_20170410113342_N__C_0070_0026.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113817_GTT_DEV_20170410113308_20170410113317_N__C_0070_0023.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114051_GTT_DEV_20170410113542_20170410113551_N__C_0070_0041.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113751_GTT_DEV_20170410113242_20170410113251_N__C_0070_0020.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114325_GTT_DEV_20170410113817_20170410113825_N__C_0070_0059.nc', '/media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113534_GTT_DEV_20170410113025_20170410113034_N__C_0070_0004.nc']
[DEBUG: 2019-11-22 13:59:55 : satpy.readers.fci_l1c_fdhsi] Reading: /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113517_GTT_DEV_20170410113008_20170410113017_N__C_0070_0002.nc
[DEBUG: 2019-11-22 13:59:55 : satpy.readers.fci_l1c_fdhsi] Start: 2017-04-10 11:30:08
[DEBUG: 2019-11-22 13:59:55 : satpy.readers.fci_l1c_fdhsi] End: 2017-04-10 11:30:17
[DEBUG: 2019-11-22 13:59:55 : satpy.readers.fci_l1c_fdhsi] Reading: /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114000_GTT_DEV_20170410113451_20170410113500_N__C_0070_0035.nc
[DEBUG: 2019-11-22 13:59:55 : satpy.readers.fci_l1c_fdhsi] Start: 2017-04-10 11:34:51
[DEBUG: 2019-11-22 13:59:55 : satpy.readers.fci_l1c_fdhsi] End: 2017-04-10 11:35:00
[DEBUG: 2019-11-22 13:59:55 : satpy.readers.fci_l1c_fdhsi] Reading: /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113525_GTT_DEV_20170410113017_20170410113025_N__C_0070_0003.nc
[DEBUG: 2019-11-22 13:59:55 : satpy.readers.fci_l1c_fdhsi] Start: 2017-04-10 11:30:17
[DEBUG: 2019-11-22 13:59:55 : satpy.readers.fci_l1c_fdhsi] End: 2017-04-10 11:30:25
[DEBUG: 2019-11-22 13:59:55 : satpy.readers.fci_l1c_fdhsi] Reading: /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114417_GTT_DEV_20170410113908_20170410113917_N__C_0070_0065.nc
[DEBUG: 2019-11-22 13:59:55 : satpy.readers.fci_l1c_fdhsi] Start: 2017-04-10 11:39:08
[DEBUG: 2019-11-22 13:59:55 : satpy.readers.fci_l1c_fdhsi] End: 2017-04-10 11:39:17
(...)
[DEBUG: 2019-11-22 14:00:04 : satpy.readers.fci_l1c_fdhsi] End: 2017-04-10 11:35:51
[DEBUG: 2019-11-22 14:00:05 : satpy.readers.fci_l1c_fdhsi] Reading: /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114308_GTT_DEV_20170410113800_20170410113808_N__C_0070_0057.nc
[DEBUG: 2019-11-22 14:00:05 : satpy.readers.fci_l1c_fdhsi] Start: 2017-04-10 11:38:00
[DEBUG: 2019-11-22 14:00:05 : satpy.readers.fci_l1c_fdhsi] End: 2017-04-10 11:38:08
[DEBUG: 2019-11-22 14:00:05 : satpy.readers.fci_l1c_fdhsi] Reading: /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114325_GTT_DEV_20170410113817_20170410113825_N__C_0070_0059.nc
[DEBUG: 2019-11-22 14:00:05 : satpy.readers.fci_l1c_fdhsi] Start: 2017-04-10 11:38:17
[DEBUG: 2019-11-22 14:00:05 : satpy.readers.fci_l1c_fdhsi] End: 2017-04-10 11:38:25
[DEBUG: 2019-11-22 14:00:05 : satpy.readers.fci_l1c_fdhsi] Reading: /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113534_GTT_DEV_20170410113025_20170410113034_N__C_0070_0004.nc
[DEBUG: 2019-11-22 14:00:05 : satpy.readers.fci_l1c_fdhsi] Start: 2017-04-10 11:30:25
[DEBUG: 2019-11-22 14:00:05 : satpy.readers.fci_l1c_fdhsi] End: 2017-04-10 11:30:34
[DEBUG: 2019-11-22 14:00:05 : satpy.composites] Looking for composites config file fci.yaml
[DEBUG: 2019-11-22 14:00:05 : satpy.composites] Looking for composites config file visir.yaml
[DEBUG: 2019-11-22 14:00:05 : satpy.readers.fci_l1c_fdhsi] Channel vis_04 resolution: 11136
[DEBUG: 2019-11-22 14:00:05 : satpy.readers.fci_l1c_fdhsi] Row/Cols: 596 / 11136
[DEBUG: 2019-11-22 14:00:06 : satpy.readers.fci_l1c_fdhsi] Calculated area extent: (-5568062.235369997, -4972055.573670425, 5568062.235358101, -5568062.235358101)
[DEBUG: 2019-11-22 14:00:06 : satpy.readers.fci_l1c_fdhsi] Channel vis_04 resolution: 11136
[DEBUG: 2019-11-22 14:00:06 : satpy.readers.fci_l1c_fdhsi] Row/Cols: 270 / 11136
[DEBUG: 2019-11-22 14:00:07 : satpy.readers.fci_l1c_fdhsi] Calculated area extent: (-5568062.235369997, -4702052.555791781, 5568062.235358101, -4972055.573670426)
[DEBUG: 2019-11-22 14:00:07 : satpy.readers.fci_l1c_fdhsi] Channel vis_04 resolution: 11136
[DEBUG: 2019-11-22 14:00:07 : satpy.readers.fci_l1c_fdhsi] Row/Cols: 228 / 11136
[DEBUG: 2019-11-22 14:00:08 : satpy.readers.fci_l1c_fdhsi] Calculated area extent: (-5568062.235369997, -4474050.007360925, 5568062.235358101, -4702052.555791782)
(...)
[DEBUG: 2019-11-22 14:00:05 : satpy.readers.fci_l1c_fdhsi] End: 2017-04-10 11:38:08
[DEBUG: 2019-11-22 14:00:05 : satpy.readers.fci_l1c_fdhsi] Reading: /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114325_GTT_DEV_20170410113817_20170410113825_N__C_0070_0059.nc
[DEBUG: 2019-11-22 14:00:05 : satpy.readers.fci_l1c_fdhsi] Start: 2017-04-10 11:38:17
[DEBUG: 2019-11-22 14:00:05 : satpy.readers.fci_l1c_fdhsi] End: 2017-04-10 11:38:25
[DEBUG: 2019-11-22 14:00:05 : satpy.readers.fci_l1c_fdhsi] Reading: /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113534_GTT_DEV_20170410113025_20170410113034_N__C_0070_0004.nc
[DEBUG: 2019-11-22 14:00:05 : satpy.readers.fci_l1c_fdhsi] Start: 2017-04-10 11:30:25
[DEBUG: 2019-11-22 14:00:05 : satpy.readers.fci_l1c_fdhsi] End: 2017-04-10 11:30:34
[DEBUG: 2019-11-22 14:00:05 : satpy.composites] Looking for composites config file fci.yaml
[DEBUG: 2019-11-22 14:00:05 : satpy.composites] Looking for composites config file visir.yaml
[DEBUG: 2019-11-22 14:00:05 : satpy.readers.fci_l1c_fdhsi] Channel vis_04 resolution: 11136
[DEBUG: 2019-11-22 14:00:05 : satpy.readers.fci_l1c_fdhsi] Row/Cols: 596 / 11136
[DEBUG: 2019-11-22 14:00:06 : satpy.readers.fci_l1c_fdhsi] Calculated area extent: (-5568062.235369997, -4972055.573670425, 5568062.235358101, -5568062.235358101)
[DEBUG: 2019-11-22 14:00:06 : satpy.readers.fci_l1c_fdhsi] Channel vis_04 resolution: 11136
[DEBUG: 2019-11-22 14:00:06 : satpy.readers.fci_l1c_fdhsi] Row/Cols: 270 / 11136
[DEBUG: 2019-11-22 14:00:07 : satpy.readers.fci_l1c_fdhsi] Calculated area extent: (-5568062.235369997, -4702052.555791781, 5568062.235358101, -4972055.573670426)
[DEBUG: 2019-11-22 14:00:07 : satpy.readers.fci_l1c_fdhsi] Channel vis_04 resolution: 11136
[DEBUG: 2019-11-22 14:00:07 : satpy.readers.fci_l1c_fdhsi] Row/Cols: 228 / 11136
[DEBUG: 2019-11-22 14:00:08 : satpy.readers.fci_l1c_fdhsi] Calculated area extent: (-5568062.235369997, -4474050.007360925, 5568062.235358101, -4702052.555791782)
[DEBUG: 2019-11-22 14:00:08 : satpy.readers.fci_l1c_fdhsi] Channel vis_04 resolution: 11136
[DEBUG: 2019-11-22 14:00:08 : satpy.readers.fci_l1c_fdhsi] Row/Cols: 206 / 11136
[DEBUG: 2019-11-22 14:00:09 : satpy.readers.fci_l1c_fdhsi] Calculated area extent: (-5568062.235369997, -4268047.704831293, 5568062.235358101, -4474050.007360926)
(...)
[DEBUG: 2019-11-22 14:01:13 : satpy.readers.fci_l1c_fdhsi] Channel vis_04 resolution: 11136
[DEBUG: 2019-11-22 14:01:13 : satpy.readers.fci_l1c_fdhsi] Row/Cols: 206 / 11136
[DEBUG: 2019-11-22 14:01:13 : satpy.readers.fci_l1c_fdhsi] Calculated area extent: (-5568062.235369997, 4474050.007372822, 5568062.235358101, 4268047.70484319)
[DEBUG: 2019-11-22 14:01:14 : satpy.readers.fci_l1c_fdhsi] Channel vis_04 resolution: 11136
[DEBUG: 2019-11-22 14:01:14 : satpy.readers.fci_l1c_fdhsi] Row/Cols: 228 / 11136
[DEBUG: 2019-11-22 14:01:14 : satpy.readers.fci_l1c_fdhsi] Calculated area extent: (-5568062.235369997, 4702052.555803679, 5568062.235358101, 4474050.007372822)
[DEBUG: 2019-11-22 14:01:15 : satpy.readers.fci_l1c_fdhsi] Channel vis_04 resolution: 11136
[DEBUG: 2019-11-22 14:01:15 : satpy.readers.fci_l1c_fdhsi] Row/Cols: 270 / 11136
[DEBUG: 2019-11-22 14:01:15 : satpy.readers.fci_l1c_fdhsi] Calculated area extent: (-5568062.235369997, 4972055.573682322, 5568062.235358101, 4702052.555803676)
[DEBUG: 2019-11-22 14:01:16 : satpy.readers.fci_l1c_fdhsi] Channel vis_04 resolution: 11136
[DEBUG: 2019-11-22 14:01:16 : satpy.readers.fci_l1c_fdhsi] Row/Cols: 596 / 11136
[DEBUG: 2019-11-22 14:01:16 : satpy.readers.fci_l1c_fdhsi] Calculated area extent: (-5568062.235369997, 5568062.235369997, 5568062.235358101, 4972055.573682322)
[DEBUG: 2019-11-22 14:01:19 : satpy.readers.fci_l1c_fdhsi] Reading vis_04 from /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113508_GTT_DEV_20170410113000_20170410113008_N__C_0070_0001.nc
[DEBUG: 2019-11-22 14:01:19 : satpy.readers.fci_l1c_fdhsi] Reading vis_04 from /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113517_GTT_DEV_20170410113008_20170410113017_N__C_0070_0002.nc
[DEBUG: 2019-11-22 14:01:20 : satpy.readers.fci_l1c_fdhsi] Reading vis_04 from /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113525_GTT_DEV_20170410113017_20170410113025_N__C_0070_0003.nc
[DEBUG: 2019-11-22 14:01:20 : satpy.readers.fci_l1c_fdhsi] Reading vis_04 from /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113534_GTT_DEV_20170410113025_20170410113034_N__C_0070_0004.nc
[DEBUG: 2019-11-22 14:01:20 : satpy.readers.fci_l1c_fdhsi] Reading vis_04 from /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113542_GTT_DEV_20170410113034_20170410113042_N__C_0070_0005.nc
[DEBUG: 2019-11-22 14:01:21 : satpy.readers.fci_l1c_fdhsi] Reading vis_04 from /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113551_GTT_DEV_20170410113042_20170410113051_N__C_0070_0006.nc
[DEBUG: 2019-11-22 14:01:21 : satpy.readers.fci_l1c_fdhsi] Reading vis_04 from /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113600_GTT_DEV_20170410113051_20170410113100_N__C_0070_0007.nc
[DEBUG: 2019-11-22 14:01:21 : satpy.readers.fci_l1c_fdhsi] Reading vis_04 from /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113608_GTT_DEV_20170410113100_20170410113108_N__C_0070_0008.nc
[DEBUG: 2019-11-22 14:01:22 : satpy.readers.fci_l1c_fdhsi] Reading vis_04 from /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410113617_GTT_DEV_20170410113108_20170410113117_N__C_0070_0009.nc
(...)
[DEBUG: 2019-11-22 14:01:37 : satpy.readers.fci_l1c_fdhsi] Reading vis_04 from /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114351_GTT_DEV_20170410113842_20170410113851_N__C_0070_0062.nc
[DEBUG: 2019-11-22 14:01:38 : satpy.readers.fci_l1c_fdhsi] Reading vis_04 from /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114400_GTT_DEV_20170410113851_20170410113900_N__C_0070_0063.nc
[DEBUG: 2019-11-22 14:01:38 : satpy.readers.fci_l1c_fdhsi] Reading vis_04 from /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114408_GTT_DEV_20170410113900_20170410113908_N__C_0070_0064.nc
[DEBUG: 2019-11-22 14:01:38 : satpy.readers.fci_l1c_fdhsi] Reading vis_04 from /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114417_GTT_DEV_20170410113908_20170410113917_N__C_0070_0065.nc
[DEBUG: 2019-11-22 14:01:39 : satpy.readers.fci_l1c_fdhsi] Reading vis_04 from /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114425_GTT_DEV_20170410113917_20170410113925_N__C_0070_0066.nc
[DEBUG: 2019-11-22 14:01:39 : satpy.readers.fci_l1c_fdhsi] Reading vis_04 from /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114434_GTT_DEV_20170410113925_20170410113934_N__C_0070_0067.nc
[DEBUG: 2019-11-22 14:01:39 : satpy.readers.fci_l1c_fdhsi] Reading vis_04 from /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114442_GTT_DEV_20170410113934_20170410113942_N__C_0070_0068.nc
[DEBUG: 2019-11-22 14:01:39 : satpy.readers.fci_l1c_fdhsi] Reading vis_04 from /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114451_GTT_DEV_20170410113942_20170410113951_N__C_0070_0069.nc
[DEBUG: 2019-11-22 14:01:40 : satpy.readers.fci_l1c_fdhsi] Reading vis_04 from /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114500_GTT_DEV_20170410113951_20170410114000_N__C_0070_0070.nc
[DEBUG: 2019-11-22 14:01:41 : satpy.readers.fci_l1c_fdhsi] Channel vis_05 resolution: 11136
[DEBUG: 2019-11-22 14:01:41 : satpy.readers.fci_l1c_fdhsi] Row/Cols: 596 / 11136
[DEBUG: 2019-11-22 14:01:41 : satpy.readers.fci_l1c_fdhsi] Calculated area extent: (-5568062.235369997, -4972055.573670425, 5568062.235358101, -5568062.235358101)
[DEBUG: 2019-11-22 14:01:42 : satpy.readers.fci_l1c_fdhsi] Channel vis_05 resolution: 11136
[DEBUG: 2019-11-22 14:01:42 : satpy.readers.fci_l1c_fdhsi] Row/Cols: 270 / 11136
[DEBUG: 2019-11-22 14:01:42 : satpy.readers.fci_l1c_fdhsi] Calculated area extent: (-5568062.235369997, -4702052.555791781, 5568062.235358101, -4972055.573670426)
[DEBUG: 2019-11-22 14:01:43 : satpy.readers.fci_l1c_fdhsi] Channel vis_05 resolution: 11136
[DEBUG: 2019-11-22 14:01:43 : satpy.readers.fci_l1c_fdhsi] Row/Cols: 228 / 11136
[DEBUG: 2019-11-22 14:01:43 : satpy.readers.fci_l1c_fdhsi] Calculated area extent: (-5568062.235369997, -4474050.007360925, 5568062.235358101, -4702052.555791782)
[DEBUG: 2019-11-22 14:01:44 : satpy.readers.fci_l1c_fdhsi] Channel vis_05 resolution: 11136
[DEBUG: 2019-11-22 14:01:44 : satpy.readers.fci_l1c_fdhsi] Row/Cols: 206 / 11136
[DEBUG: 2019-11-22 14:01:44 : satpy.readers.fci_l1c_fdhsi] Calculated area extent: (-5568062.235369997, -4268047.704831293, 5568062.235358101, -4474050.007360926)
(...)
[DEBUG: 2019-11-22 14:34:02 : satpy.readers.fci_l1c_fdhsi] Reading ir_97 from /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114434_GTT_DEV_20170410113925_20170410113934_N__C_0070_0067.nc
[DEBUG: 2019-11-22 14:34:03 : satpy.readers.fci_l1c_fdhsi] Reading ir_97 from /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114442_GTT_DEV_20170410113934_20170410113942_N__C_0070_0068.nc
[DEBUG: 2019-11-22 14:34:04 : satpy.readers.fci_l1c_fdhsi] Reading ir_97 from /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114451_GTT_DEV_20170410113942_20170410113951_N__C_0070_0069.nc
[DEBUG: 2019-11-22 14:34:06 : satpy.readers.fci_l1c_fdhsi] Reading ir_97 from /media/nas/x21308/2019_09_MTG_Testdata//FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114500_GTT_DEV_20170410113951_20170410114000_N__C_0070_0070.nc
[WARNING: 2019-11-22 14:34:07 : satpy.readers.yaml_reader] Can't load ancillary dataset pixel_quality
[WARNING: 2019-11-22 14:34:07 : satpy.readers.yaml_reader] Can't load ancillary dataset pixel_quality
[WARNING: 2019-11-22 14:34:07 : satpy.readers.yaml_reader] Can't load ancillary dataset pixel_quality
[WARNING: 2019-11-22 14:34:07 : satpy.readers.yaml_reader] Can't load ancillary dataset pixel_quality
[WARNING: 2019-11-22 14:34:07 : satpy.readers.yaml_reader] Can't load ancillary dataset pixel_quality
[WARNING: 2019-11-22 14:34:07 : satpy.readers.yaml_reader] Can't load ancillary dataset pixel_quality
[WARNING: 2019-11-22 14:34:07 : satpy.readers.yaml_reader] Can't load ancillary dataset pixel_quality
[WARNING: 2019-11-22 14:34:07 : satpy.readers.yaml_reader] Can't load ancillary dataset pixel_quality
[WARNING: 2019-11-22 14:34:07 : satpy.readers.yaml_reader] Can't load ancillary dataset pixel_quality
[WARNING: 2019-11-22 14:34:07 : satpy.readers.yaml_reader] Can't load ancillary dataset pixel_quality
[WARNING: 2019-11-22 14:34:07 : satpy.readers.yaml_reader] Can't load ancillary dataset pixel_quality
[WARNING: 2019-11-22 14:34:07 : satpy.readers.yaml_reader] Can't load ancillary dataset pixel_quality
[WARNING: 2019-11-22 14:34:07 : satpy.readers.yaml_reader] Can't load ancillary dataset pixel_quality
[WARNING: 2019-11-22 14:34:07 : satpy.readers.yaml_reader] Can't load ancillary dataset pixel_quality
[WARNING: 2019-11-22 14:34:07 : satpy.readers.yaml_reader] Can't load ancillary dataset pixel_quality
[WARNING: 2019-11-22 14:34:07 : satpy.readers.yaml_reader] Can't load ancillary dataset pixel_quality

Environment Info:

Additional context
The reader was meant to be made dask-aware in #755, but this appears to have been unsuccessful, and dask-awareness is apparently not covered by the unit tests (if that is even possible).

@djhoese
Copy link
Member

djhoese commented Nov 22, 2019

Just a guess, but does this line compute the solar irradiance:

sirr = float(cesi)

Edit: By compute I mean compute the dask array.

@gerritholl
Copy link
Member Author

That does seem suspicious, I will look into that. The line doesn't show up as expensive in the profiler though.

79% of the time is spent in netcdf_utils.py, in NetCDF4FileHandler.__getitem__, in the line with xr.open_dataset(...):

https://github.com/gerritholl/satpy/blob/7ff36f7b033e333a5bde6aa50038ad892edea71a/satpy/readers/netcdf_utils.py#L128

Having said that, the workaround for the xarray<0.13 bug should be removed if we can agree on a requirement for xarray>=0.13

https://github.com/gerritholl/satpy/blob/7ff36f7b033e333a5bde6aa50038ad892edea71a/satpy/readers/netcdf_utils.py#L140

mtg-fci-not-even-reading-longer.prof.gz

@djhoese
Copy link
Member

djhoese commented Nov 22, 2019

I am ok with that requirement. Do you see a major difference in performance if you remove that workaround?

@djhoese
Copy link
Member

djhoese commented Nov 22, 2019

Oh just realized though that it would have to wait for python 2 to be dropped since xarray 0.13 is python 3 only I think.

@gerritholl
Copy link
Member Author

I can just make the workaround conditional upon the xarray version.

@gerritholl
Copy link
Member Author

gerritholl commented Nov 22, 2019

It does appear to be dask-aware; at least sc["vis_09"].data is a dask.array. It may be simply that reading 16 channels from 70 files (to get an FCI full disk) involves so many calls that it becomes slow. For the example here, netcdf_utils.py:118(__getitem__) gets called 14000 times, each call taking around 0.25 seconds. Reading from local disk is only 10% faster than reading from the network.

When reading just 3 files it takes 85 seconds rather than 30 minutes.

Removing the workaround seems to actually make things slower. An idea, although xarray no longer segfaults on many open files, it still keeps too many files open which may also slow things down even further.

See also the conversation on pytroll slack satpy channel, 2019-11-22 from 13:13 UTC onwards: https://pytroll.slack.com/archives/C0LNH7LMB/p1574432037452600

@gerritholl
Copy link
Member Author

It also uses a lot more RAM than I would expect. Output of \time -v for one of the full disk all channel attempts:

        User time (seconds): 2252.46
        System time (seconds): 35.63
        Percent of CPU this job got: 89%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 42:32.62
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 11829596
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 110
        Minor (reclaiming a frame) page faults: 2977420
        Voluntary context switches: 194220
        Involuntary context switches: 45956
        Swaps: 0
        File system inputs: 41541736
        File system outputs: 2712
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

@djhoese
Copy link
Member

djhoese commented Nov 22, 2019

If you use dask's ProgressBar with just a few files, do you get a lot of progress bars shown? This would suggest that things are getting computed when they shouldn't be.

@gerritholl
Copy link
Member Author

Need to look into dask diagnostics tools.

@pnuu
Copy link
Member

pnuu commented Nov 25, 2019

Here's an example for dask profiling:

import glob
from dask.diagnostics import ResourceProfiler, Profiler, CacheProfiler, visualize

fnames = glob.glob('/path/to/data/*')

with Profiler() as prof, ResourceProfiler() as rprof, CacheProfiler() as cprof:
    glbl = Scene(filenames=fnames)
    glbl.load([10.8])
    lcl = glbl.resample('euro4', resampler="nearest")
    lcl.save_datasets(base_dir='/tmp')

visualize([prof, rprof, cprof],
          file_path=dt.datetime.utcnow().strftime('/tmp/fci_profile_%Y%m%d_%H%M%S.html'), show=True)

@gerritholl
Copy link
Member Author

It is actually dask-aware. The diagnostics that @pnuu suggested applied to the earlier MWE show there are no workers actually working, which should be expected. It also shows a high CPU usage and a linearly increasing memory.

So does this fully pytroll-free example:

import xarray
import glob

import random

srcdir = ("/media/nas/x21308/2019_09_MTG_Testdata/"
          "/FCI/FDHSI/uncompressed/20170410_RC70")

filenames = glob.glob(srcdir + "/*BODY*.nc")

x = 200
for _ in range(x):
    with xarray.open_dataset(random.choice(filenames)) as ds:
        pass

For x = 200: 40 seconds, 71% CPU, 291 MB RAM.
For x = 2000: 5 minutes 8 seconds, 88% CPU, 1.64 GB RAM

For a full disk image, just reading the attributes causes open_dataset to be called 12880 times.

It looks like either xarray or the netCDF library overhead for opening and closing the file leads to large performance losses and memory leaks when using the NetCDF4FileHandler for FCI files.

If we replace the xarray line by a pure netCDF4.Dataset opening and closing, we have:

For x = 200: 35 seconds, 76% CPU, 287 MB RAM
For x = 1000: 2 minutes 33, 85% CPU, 893 MB RAM

If we use a plain open, we have no such problem:

For x = 200: 13 seconds, 100 kB RAM
For x = 1000: 14 seconds, 100 kB RAM

@gerritholl
Copy link
Member Author

With h5py.File:

For x = 200: 28 seconds, 18% CPU, 106 kB RAM
For x = 1000: 26 seconds, 18% CPU, 109 kB RAM
For x = 10000: 29 seconds, 17% CPU, 105 kB RAM

It looks like we need to use h5py.

@djhoese
Copy link
Member

djhoese commented Nov 25, 2019

@gerritholl If you pass engine='h5netcdf' to the xarray.open_dataset call(s), does this help?

If so, that may be the easiest solution. If not, then it may be best to file a bug with the netcdf4-python people to get this conversation started. Maybe we'll find out there is some caching we can turn off or something similar.

Edit: You'll have to have the h5netcdf package installed.

@gerritholl
Copy link
Member Author

I should hope so. Unfortunately, the reader doesn't work at all with the h5netcdf backend :-/

Traceback (most recent call last):
  File "mwe.py", line 19, in <module>
    fciscene.load(dn_all)
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/satpy/scene.py", line 973, in load
    self.read(**kwargs)
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/satpy/scene.py", line 882, in read
    return self._read_datasets(nodes, **kwargs)
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/satpy/scene.py", line 723, in _read_datasets
    new_datasets = reader_instance.load(ds_ids, **kwargs)
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/satpy/readers/yaml_reader.py", line 843, in load
    ds = self._load_dataset_with_area(dsid, coords)
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/satpy/readers/yaml_reader.py", line 749, in _load_dataset_with_area
    area = self._load_dataset_area(dsid, file_handlers, coords)
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/satpy/readers/yaml_reader.py", line 731, in _load_dataset_area
    return self._load_area_def(dsid, file_handlers)
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/satpy/readers/yaml_reader.py", line 655, in _load_area_def
    area_defs = [fh.get_area_def(dsid) for fh in file_handlers]
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/satpy/readers/yaml_reader.py", line 655, in <listcomp>
    area_defs = [fh.get_area_def(dsid) for fh in file_handlers]
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/satpy/readers/fci_l1c_fdhsi.py", line 239, in get_area_def
    area_extent = self.calc_area_extent(key)
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/satpy/readers/fci_l1c_fdhsi.py", line 218, in calc_area_extent
    min_c_radian = c_radian_num[0] - c_radian.scale_factor/2
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/xarray/core/dataarray.py", line 2575, in func
    if not reflexive
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/xarray/core/variable.py", line 1978, in func
    result = Variable(dims, new_data, attrs=attrs)
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/xarray/core/variable.py", line 309, in __init__
    self._dims = self._parse_dimensions(dims)
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/xarray/core/variable.py", line 500, in _parse_dimensions
    "number of data dimensions, ndim=%s" % (dims, self.ndim)
ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1

@gerritholl
Copy link
Member Author

Looks like xarray and the h5netcdf backend are not friends with the test data files:

import xarray
f = "/media/nas/x21308/2019_09_MTG_Testdata/FCI/FDHSI/uncompressed/20170410_RC70/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--L2P-NC4E_C_EUMT_20170410114434_GTT_DEV_20170410113925_20170410113934_N__C_0070_0067.nc"with xarray.open_dataset(f, engine="h5netcdf") as ds:    pass

Resulting in

Traceback (most recent call last):
  File "mwe4.py", line 3, in <module>
    with xarray.open_dataset(f, engine="h5netcdf") as ds:
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/xarray/backends/api.py", line 535, in open_dataset
    ds = maybe_decode_store(store)
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/xarray/backends/api.py", line 450, in maybe_decode_store
    use_cftime=use_cftime,
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/xarray/conventions.py", line 570, in decode_cf
    vars, attrs = obj.load()
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/xarray/backends/common.py", line 123, in load
    (_decode_variable_name(k), v) for k, v in self.get_variables().items()
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/xarray/backends/h5netcdf_.py", line 156, in get_variables
    (k, self.open_store_variable(k, v)) for k, v in self.ds.variables.items()
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/xarray/core/utils.py", line 402, in FrozenDict
    return Frozen(dict(*args, **kwargs))
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/xarray/backends/h5netcdf_.py", line 156, in <genexpr>
    (k, self.open_store_variable(k, v)) for k, v in self.ds.variables.items()
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/xarray/backends/h5netcdf_.py", line 120, in open_store_variable
    dimensions = var.dimensions
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/h5netcdf/core.py", line 114, in dimensions
    self._dimensions = self._lookup_dimensions()
  File "/media/nas/x21324/miniconda3/envs/py37e/lib/python3.7/site-packages/h5netcdf/core.py", line 98, in _lookup_dimensions
    for axis, dim in enumerate(self._h5ds.dims):
AttributeError: 'Datatype' object has no attribute 'dims'

Will report this to xarray...

@gerritholl
Copy link
Member Author

Script used for testing, running with \time -v mwe3.py:

import netCDF4
import h5py
import xarray
import glob
import random
import functools

srcdir = ("/media/nas/x21308/2019_09_MTG_Testdata/"
          "/FCI/FDHSI/uncompressed/20170410_RC70")

filenames = glob.glob(srcdir + "/*BODY*.nc")

n = 200
n = 1000
n = 10000
#opener = xarray.open_dataset
#opener = functools.partial(netCDF4.Dataset, mode="r")
#opener = functools.partial(open, mode="r")
#opener = functools.partial(h5py.File, mode="r")
opener = functools.partial(xarray.open_dataset,
        engine="h5netcdf", group="/data/vis_08/measured",
        chunks=4096)

for _ in range(n):
    with opener(random.choice(filenames)) as ds:
        pass

@gerritholl
Copy link
Member Author

It seems the h5netcdf fails to open the root but can open others.

The previous test with h5py.File was erroneous due to a bug in the testing script. This is the correct test:

For n = 200: 14 seconds, 25% CPU, 114 kB peak RAM
For n = 1000: 25 seconds, 18% CPU, 105 kB peak RAM

With xarray.open_dataset(f, engine="h5netcdf", group="/data/vis_08/measured", chunks=4096), which is of course testing something different, but the ratio or difference between different n should still be of interest:

For n = 200: 21 seconds, 52% CPU, 113 kB peak RAM
For n = 1000: 1 minute 7 seconds, 67% CPU, 118 kB peak RAM

When using the h5netcdf backend and workarounding the other aformentioned problem, the full disk "reading but not reading" takes 17 minutes and has a 459 MB peak memory use, significantly down from 40 minutes and 10 GB peak memory use, but still slower than I would like.

gerritholl added a commit to gerritholl/satpy that referenced this issue Nov 25, 2019
The FCI reader now uses the h5netcdf backend.  See the comments on issue
972 for the rationale.  The netcdf4 backend has a memory leak and even
worse performance than the h5netcdf backend for opening and closing
files many times, which the filehandler does.

This addresses pytroll#972 although I'm not yet fully satisfied.
@gerritholl
Copy link
Member Author

Repeating the h5netcdf attempt but reading locally:

For n = 200: 18 seconds, 59% CPU
For n = 1000: 40 seconds, 86% CPU
For n = 5000: 3 minutes 22 seconds, 96% CPU

For reading all channels from a full disk, we have n > 10000.

@gerritholl
Copy link
Member Author

If I use h5py.File, then create a dask array in each iteration, even for n = 10000, we have 9 seconds, 32% CPU, and 105 kB peak RAM. So it looks like the remaining overhead is being created by xarray, at least with the backends I can get to work for EUMETSAT files (which means only h5netcdf and netcdf4).

Maybe the netcdf_utils should consider not creating an xarray dataarray when we are only wanting to read attributes from the file. At least the native h5py backend is already lazy by itself.

gerritholl added a commit to gerritholl/satpy that referenced this issue Nov 26, 2019
When reading attributes, do not access the data variable.
Accessing the data variable will trigger netcdf_utils to
actually open (and close) the netcdf file using xarray,
causing unneccessary overhead.  Instead, use the fact that
the netcdf reader has cached this information.

More caching may be needed.

This commit is related to pytroll#972.
@gerritholl
Copy link
Member Author

With d7c5c84 the "full disk do nothing" is now down to 10 minutes (originally 40 minutes, then 17 minutes after swapping the backend). The commit replaces some unnecessary access to data variables causing netcdf_utils to open and close the file rather than read the requested attribute from cache. But there are still a dozen or so places where data variables are being accessed and in total 7280 file openings, with each file being opened and closed 104 times. Some of this is creating the xarray+dask objects that will potentially be accessed later (even if in this MWE they are not), so this is not so hard to workaround.

But the files also store a lot of scalar or other very-low-dimensity information in data variables, and for those, it might be better to cache this information (and perhaps bypass xarray completely reading it), rather than going through the overhead of creating an xarray or xarray-dask object, such as here:

https://github.com/gerritholl/satpy/blob/d7c5c841626f3cc6fddf299e9ffd162f0c3ce8b2/satpy/readers/fci_l1c_fdhsi.py#L284-L291

@gerritholl
Copy link
Member Author

For two channels, one file, __getitem__ gets called 18 times. Out of those, 4 are for data variables larger than 10 kB.

gerritholl added a commit to gerritholl/satpy that referenced this issue Nov 26, 2019
In the FCI reader, use the data variable caching implemented in the
previous commit.  This should address pytroll#972.
@gerritholl
Copy link
Member Author

With the #981 in progress, the full disk all channels is now down to 4 minutes 32 seconds, peak RAM 432 MB, 78% CPU.

@gerritholl
Copy link
Member Author

Down to less than 2 minutes now, with 48% CPU, although RAM has increased again to 2.2 GB due to increased caching.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants