diff --git a/source/flo/__init__.py b/source/flo/__init__.py index f6e172c0a983fd90205a2ec01c43941c05d7cf5e..2271849fdb2f4041af6f580158fed507eda9a5ad 100644 --- a/source/flo/__init__.py +++ b/source/flo/__init__.py @@ -92,14 +92,15 @@ class FUSION_MATLAB(Computation): def find_contexts(self, time_interval, satellite, version): ''' - Here we assume that the granule boundaries fall along 6-minute (snpp) or 5-minute (aqua) - increments, starting at the top of the hour: + Here we assume that the granule boundaries fall along 6-minute (snpp/jpss1) or + 5-minute (aqua) increments, starting at the top of the hour: - SNPP: [0., 6., 12., 18., 24., 30., 36., 42., 48., 54.] - AQUA: [0., 5., 10., 15., 20., 25., 30., 35., 40., 45., 50., 55.] + SNPP: [0., 6., 12., 18., 24., 30., 36., 42., 48., 54.] + JPSS1: [0., 6., 12., 18., 24., 30., 36., 42., 48., 54.] + AQUA: [0., 5., 10., 15., 20., 25., 30., 35., 40., 45., 50., 55.] ''' - if satellite=='snpp': + if satellite=='snpp' or satellite=='jpss1': granule_length = timedelta(minutes=6) elif satellite=='aqua': granule_length = timedelta(minutes=5) @@ -339,7 +340,7 @@ class FUSION_MATLAB(Computation): satellite = context['satellite'] - if satellite == 'snpp': + if satellite=='snpp' or satellite=='jpss1': self.build_task_snpp(context, task) elif satellite == 'aqua': self.build_task_aqua(context, task) @@ -525,6 +526,8 @@ class FUSION_MATLAB(Computation): if dummy: if satellite=='snpp': dummy_fusion_file = '/mnt/sdata/geoffc/fusion_matlab/work/snpp_temp_outputs/outputs/tmp5PwThb/VNP02FSN.A2018033.1836.001.2018058173216.nc' + if satellite=='jpss1': + dummy_fusion_file = '/mnt/sdata/geoffc/fusion_matlab/work/snpp_temp_outputs/outputs/tmp5PwThb/VNP02FSN.A2018033.1836.001.2018058173216.nc' if satellite=='aqua': dummy_fusion_file = '/mnt/sdata/geoffc/fusion_matlab/work/aqua_temp_outputs/outputs/tmpMUoHF3/MYD02FSN.A2015107.1755.006.2018058170733.hdf' @@ -634,11 +637,11 @@ class FUSION_MATLAB(Computation): satellite = kwargs['satellite'] LOG.debug('satellite = {}'.format(satellite)) - band_default = {'aqua':[31, 32], 'snpp':[15, 16]} + band_default = {'aqua':[31, 32], 'snpp':[15, 16], 'jpss1':[15, 16]} if band is None: band = band_default[satellite] - input_files = [fused_l1b_file] if satellite=='snpp' else [l1b_file, fused_l1b_file] + input_files = [fused_l1b_file] if (satellite=='snpp' or satellite=='jpss1') else [l1b_file, fused_l1b_file] generators = list(SFX[splitext(p)[-1].lower()](p, band) for p in input_files) stuff = list(chain(*generators)) @@ -787,7 +790,7 @@ class FUSION_MATLAB(Computation): LOG.debug("sounder = \n\t{}".format('\n\t'.join(sounder))) # Run viirsmend on the viirs level-1b, and generate the CrIS/VIIRS collocation - if satellite == 'snpp': + if satellite=='snpp' or satellite=='jpss1': for idx, l1b_file in enumerate(l1b): if 'bowtie' in basename(l1b_file): @@ -827,7 +830,7 @@ class FUSION_MATLAB(Computation): kwargs['granule'] = granule kwargs['dummy'] = dummy - if satellite=='snpp': + if satellite=='snpp' or satellite=='jpss1': geo_file = geo[1] l1b_file = l1b[1] kwargs['anc_paths'] = [pjoin(anc_dir, 'modis_aqua.srf.nc'), @@ -892,7 +895,7 @@ class FUSION_MATLAB(Computation): out_fn = basename(fused_l1b_file) # Set metadata to be put in the output file. - if satellite == 'snpp': + if satellite=='snpp' or satellite=='jpss1': viirs_l1 = product.input('viirs_l1') v02mod_bt_sc = product.input('V02MOD-bt-sc') @@ -932,7 +935,7 @@ class FUSION_MATLAB_QL(Computation): Takes the input time interval, and returns whatever 0Z datetimes fall within the interval. ''' - if satellite=='snpp': + if satellite=='snpp' or satellite=='jpss1': granule_length = timedelta(minutes=6) elif satellite=='aqua': granule_length = timedelta(minutes=5) @@ -1008,7 +1011,7 @@ class FUSION_MATLAB_QL(Computation): satellite = context['satellite'] - if satellite == 'snpp': + if satellite=='snpp' or satellite=='jpss1': self.build_task_snpp(context, task) elif satellite == 'aqua': raise ValueError('Satellite option "{}" not yet implemented.'.format(satellite))