@@ -96,6 +96,7 @@ def main(
9696 cdse_credentials : dict ,
9797 ratio : int ,
9898 snap_gpt_path : str = "gpt" ,
99+ use_snap_binning : bool = False ,
99100):
100101 logger = logging .getLogger (__file__ )
101102 logging .basicConfig (level = logging .INFO , format = "%(asctime)s %(message)s" , datefmt = '%Y-%m-%d %I:%M:%S' )
@@ -163,6 +164,7 @@ def main(
163164 snap_gpt_path = snap_gpt_path ,
164165 mosaic_days = mosaic_days ,
165166 step = step ,
167+ use_snap_binning = use_snap_binning ,
166168 )
167169 timings .append (("Sentinel-3 pre-processing" , t .elapsed ))
168170
@@ -239,34 +241,38 @@ def s3_preprocessing(
239241 snap_gpt_path ,
240242 mosaic_days ,
241243 step ,
244+ use_snap_binning : bool = False ,
242245):
243-
244246 logger = logging .getLogger (__file__ )
245247 s3_timings : list [Tuple [str , float ]] = []
246248 # Sentinel-3 pre-processing
247249 with Timer (dsc = "S3 binning" , logger = logger , add_to = s3_timings ):
248- # s3.binning_s3(
249- # s3_download_dir,
250- # s3_binning_dir,
251- # footprint=footprint,
252- # s3_bands=s3_bands,
253- # instrument=instrument,
254- # aggregator="mean",
255- # snap_gpt_path=snap_gpt_path,
256- # snap_memory="24G",
257- # snap_parallelization=1,
258- # )
259- binning .binning_s3_py (
260- s3_download_dir ,
261- s3_binning_dir ,
262- footprint = footprint ,
263- s3_bands = s3_bands ,
264- instrument = instrument ,
265- aggregator = "mean" ,
266- snap_gpt_path = snap_gpt_path ,
267- snap_memory = "24G" ,
268- snap_parallelization = 1 ,
269- )
250+ if use_snap_binning :
251+ logger .info ("Using SNAP binning" )
252+ s3 .binning_s3 (
253+ s3_download_dir ,
254+ s3_binning_dir ,
255+ footprint = footprint ,
256+ s3_bands = s3_bands ,
257+ instrument = instrument ,
258+ aggregator = "mean" ,
259+ snap_gpt_path = snap_gpt_path ,
260+ snap_memory = "24G" ,
261+ snap_parallelization = 1 ,
262+ )
263+ else :
264+ logger .info ("Using built-in binning implementation" )
265+ binning .binning_s3_py (
266+ s3_download_dir ,
267+ s3_binning_dir ,
268+ footprint = footprint ,
269+ s3_bands = s3_bands ,
270+ instrument = instrument ,
271+ aggregator = "mean" ,
272+ snap_gpt_path = snap_gpt_path ,
273+ snap_memory = "24G" ,
274+ snap_parallelization = 1 ,
275+ )
270276
271277 with Timer (dsc = "S3 median composite" , logger = logger , add_to = s3_timings ):
272278 s3 .produce_median_composite (
@@ -404,6 +410,11 @@ def _download(uid):
404410 parser .add_argument ("--cdse-credentials" , default = CREDENTIALS )
405411 parser .add_argument ("--snap-gpt-path" , required = False , default = "gpt" )
406412 parser .add_argument ("--ratio" , required = False , type = int , default = 30 )
413+ parser .add_argument (
414+ "--use-snap-binning" ,
415+ action = "store_true" ,
416+ help = "Use SNAP for binning rather than built-in Python implementation"
417+ )
407418 #parser.add_argument("--sigma-doy", type=float, default=20)
408419
409420 args = parser .parse_args ()
@@ -420,5 +431,6 @@ def _download(uid):
420431 cdse_credentials = args .cdse_credentials ,
421432 snap_gpt_path = args .snap_gpt_path ,
422433 ratio = args .ratio ,
434+ use_snap_binning = args .use_snap_binning ,
423435 #sigma=args.sigma_doy,
424436 )
0 commit comments