Skip to content

Commit

Permalink
Merge pull request #1048 from djhoese/bugfix-ami-grouping
Browse files Browse the repository at this point in the history
Fix AMI L1b reader incorrectly grouping files
  • Loading branch information
djhoese committed Jan 24, 2020
2 parents fa997a0 + 9d26fb5 commit e2f7d19
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 21 deletions.
32 changes: 16 additions & 16 deletions satpy/etc/readers/ami_l1b.yaml
Expand Up @@ -17,52 +17,52 @@ file_types:
# Below list is alphabetical
ir087:
file_reader: !!python/name:satpy.readers.ami_l1b.AMIL1bNetCDF
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_ir087_{sector_info:s}_{start_time:%Y%m%d%H%M}.nc']
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_ir087_{sector_info:2s}{res_info:s}_{start_time:%Y%m%d%H%M}.nc']
ir096:
file_reader: !!python/name:satpy.readers.ami_l1b.AMIL1bNetCDF
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_ir096_{sector_info:s}_{start_time:%Y%m%d%H%M}.nc']
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_ir096_{sector_info:2s}{res_info:s}_{start_time:%Y%m%d%H%M}.nc']
ir105:
file_reader: !!python/name:satpy.readers.ami_l1b.AMIL1bNetCDF
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_ir105_{sector_info:s}_{start_time:%Y%m%d%H%M}.nc']
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_ir105_{sector_info:2s}{res_info:s}_{start_time:%Y%m%d%H%M}.nc']
ir112:
file_reader: !!python/name:satpy.readers.ami_l1b.AMIL1bNetCDF
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_ir112_{sector_info:s}_{start_time:%Y%m%d%H%M}.nc']
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_ir112_{sector_info:2s}{res_info:s}_{start_time:%Y%m%d%H%M}.nc']
ir123:
file_reader: !!python/name:satpy.readers.ami_l1b.AMIL1bNetCDF
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_ir123_{sector_info:s}_{start_time:%Y%m%d%H%M}.nc']
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_ir123_{sector_info:2s}{res_info:s}_{start_time:%Y%m%d%H%M}.nc']
ir133:
file_reader: !!python/name:satpy.readers.ami_l1b.AMIL1bNetCDF
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_ir133_{sector_info:s}_{start_time:%Y%m%d%H%M}.nc']
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_ir133_{sector_info:2s}{res_info:s}_{start_time:%Y%m%d%H%M}.nc']
nr013:
file_reader: !!python/name:satpy.readers.ami_l1b.AMIL1bNetCDF
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_nr013_{sector_info:s}_{start_time:%Y%m%d%H%M}.nc']
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_nr013_{sector_info:2s}{res_info:s}_{start_time:%Y%m%d%H%M}.nc']
nr016:
file_reader: !!python/name:satpy.readers.ami_l1b.AMIL1bNetCDF
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_nr016_{sector_info:s}_{start_time:%Y%m%d%H%M}.nc']
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_nr016_{sector_info:2s}{res_info:s}_{start_time:%Y%m%d%H%M}.nc']
sw038:
file_reader: !!python/name:satpy.readers.ami_l1b.AMIL1bNetCDF
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_sw038_{sector_info:s}_{start_time:%Y%m%d%H%M}.nc']
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_sw038_{sector_info:2s}{res_info:s}_{start_time:%Y%m%d%H%M}.nc']
vi004:
file_reader: !!python/name:satpy.readers.ami_l1b.AMIL1bNetCDF
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_vi004_{sector_info:s}_{start_time:%Y%m%d%H%M}.nc']
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_vi004_{sector_info:2s}{res_info:s}_{start_time:%Y%m%d%H%M}.nc']
vi005:
file_reader: !!python/name:satpy.readers.ami_l1b.AMIL1bNetCDF
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_vi005_{sector_info:s}_{start_time:%Y%m%d%H%M}.nc']
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_vi005_{sector_info:2s}{res_info:s}_{start_time:%Y%m%d%H%M}.nc']
vi006:
file_reader: !!python/name:satpy.readers.ami_l1b.AMIL1bNetCDF
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_vi006_{sector_info:s}_{start_time:%Y%m%d%H%M}.nc']
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_vi006_{sector_info:2s}{res_info:s}_{start_time:%Y%m%d%H%M}.nc']
vi008:
file_reader: !!python/name:satpy.readers.ami_l1b.AMIL1bNetCDF
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_vi008_{sector_info:s}_{start_time:%Y%m%d%H%M}.nc']
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_vi008_{sector_info:2s}{res_info:s}_{start_time:%Y%m%d%H%M}.nc']
wv063:
file_reader: !!python/name:satpy.readers.ami_l1b.AMIL1bNetCDF
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_wv063_{sector_info:s}_{start_time:%Y%m%d%H%M}.nc']
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_wv063_{sector_info:2s}{res_info:s}_{start_time:%Y%m%d%H%M}.nc']
wv069:
file_reader: !!python/name:satpy.readers.ami_l1b.AMIL1bNetCDF
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_wv069_{sector_info:s}_{start_time:%Y%m%d%H%M}.nc']
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_wv069_{sector_info:2s}{res_info:s}_{start_time:%Y%m%d%H%M}.nc']
wv073:
file_reader: !!python/name:satpy.readers.ami_l1b.AMIL1bNetCDF
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_wv073_{sector_info:s}_{start_time:%Y%m%d%H%M}.nc']
file_patterns: ['{platform_shortname:4s}_{sensor:3s}_le1b_wv073_{sector_info:2s}{res_info:s}_{start_time:%Y%m%d%H%M}.nc']

datasets:
# Below list is ordered the same as the table:
Expand Down
30 changes: 25 additions & 5 deletions satpy/tests/reader_tests/test_ami_l1b.py
Expand Up @@ -22,11 +22,7 @@
import dask.array as da

import unittest

try:
from unittest import mock
except ImportError:
import mock
from unittest import mock


class FakeDataset(object):
Expand Down Expand Up @@ -148,6 +144,30 @@ def _check_orbital_parameters(self, orb_params):
for key, val in exp_params.items():
self.assertAlmostEqual(val, orb_params[key], places=3)

def test_filename_grouping(self):
"""Test that filenames are grouped properly."""
from satpy.readers import group_files
filenames = [
'gk2a_ami_le1b_ir087_fd020ge_201909300300.nc',
'gk2a_ami_le1b_ir096_fd020ge_201909300300.nc',
'gk2a_ami_le1b_ir105_fd020ge_201909300300.nc',
'gk2a_ami_le1b_ir112_fd020ge_201909300300.nc',
'gk2a_ami_le1b_ir123_fd020ge_201909300300.nc',
'gk2a_ami_le1b_ir133_fd020ge_201909300300.nc',
'gk2a_ami_le1b_nr013_fd020ge_201909300300.nc',
'gk2a_ami_le1b_nr016_fd020ge_201909300300.nc',
'gk2a_ami_le1b_sw038_fd020ge_201909300300.nc',
'gk2a_ami_le1b_vi004_fd010ge_201909300300.nc',
'gk2a_ami_le1b_vi005_fd010ge_201909300300.nc',
'gk2a_ami_le1b_vi006_fd005ge_201909300300.nc',
'gk2a_ami_le1b_vi008_fd010ge_201909300300.nc',
'gk2a_ami_le1b_wv063_fd020ge_201909300300.nc',
'gk2a_ami_le1b_wv069_fd020ge_201909300300.nc',
'gk2a_ami_le1b_wv073_fd020ge_201909300300.nc']
groups = group_files(filenames, reader='ami_l1b')
self.assertEqual(len(groups), 1)
self.assertEqual(len(groups[0]['ami_l1b']), 16)

def test_basic_attributes(self):
"""Test getting basic file attributes."""
from datetime import datetime
Expand Down

0 comments on commit e2f7d19

Please sign in to comment.