From 47b07f692757b58a061033e64015f3960de0c1d1 Mon Sep 17 00:00:00 2001
From: Impact <pascal.mouquet@ird.fr>
Date: Wed, 2 Feb 2022 12:41:29 +0400
Subject: [PATCH] updated example script for multiprocessing using new
 cloudmasks

---
 .../99_traitement_l2a_multiprocessing.py      | 43 ++++++++++---------
 sen2chain/tiles.py                            | 22 ++++++++--
 2 files changed, 41 insertions(+), 24 deletions(-)

diff --git a/examples/scripts/99_traitement_l2a_multiprocessing.py b/examples/scripts/99_traitement_l2a_multiprocessing.py
index 61438ea..b506173 100644
--- a/examples/scripts/99_traitement_l2a_multiprocessing.py
+++ b/examples/scripts/99_traitement_l2a_multiprocessing.py
@@ -58,22 +58,23 @@ if l1c_process_list:
     if not arg:
         l2a_res = l2a_multiprocessing(l1c_process_list, nb_proc=12)
 
-
-# Traitement des L2A (clouds)
+ 
+# Parametrage des cloudmasks (clouds)
 cm_version = "cm001"
 probability = 1
 iterations = 5
-reprocess = False
-
+cld_shad = True
+cld_med_prob = True
+cld_hi_prob = True
+thin_cir = True
+reprocess = False 
+ 
+# Traitement des L2A (clouds)
 cld_l2a_process_list =  []
 for index, row in tiles_list.iterrows():
     t = Tile(row.tile)
     if not reprocess:
-        l2a_list = [p.identifier for p in t.cloudmasks_missing(cm_version = cm_version,
-                                                                       probability = probability,
-                                                                       iterations = iterations,
-                                                                       )\
-                                                                       .filter_dates(date_min = row.start_time, date_max = row.end_time)]
+        l2a_list = [p.identifier for p in t.cloudmasks_missing().filter_dates(date_min = row.start_time, date_max = row.end_time)]
     else:
         l2a_list = [p.identifier for p in t.l2a.filter_dates(date_min = row.start_time, date_max = row.end_time)]
     
@@ -82,6 +83,10 @@ for index, row in tiles_list.iterrows():
                                      cm_version,
                                      probability,
                                      iterations,
+                                     cld_shad,
+                                     cld_med_prob,
+                                     cld_hi_prob,
+                                     thin_cir,
                                      reprocess,
                                      ])
 logger.info("\ncld_l2a_process_list ({} files): {}".format(len(cld_l2a_process_list), cld_l2a_process_list))
@@ -91,14 +96,10 @@ if cld_l2a_process_list:
     if not arg:
         cld_res = cld_version_probability_iterations_reprocessing_multiprocessing(cld_l2a_process_list, nb_proc=8)
 
-        
+         
 # Traitement des L2A (indices)
-reprocess = False
 nodata_clouds = True
 quicklook = False
-cm_version = "cm001"
-probability = 1
-iterations = 5
                         
 indices_l2a_process_list =  []
 for index, row in tiles_list.iterrows():
@@ -106,17 +107,13 @@ for index, row in tiles_list.iterrows():
     indices_list = row.indices.split("/")
     for i in indices_list:
         if not reprocess:
-            l2a_list = [p.identifier for p in t.missing_indices(i,
+            l2a_list = [p.identifier for p in t.missing_indices(indice = i,
                                                                 nodata_clouds = nodata_clouds,
-                                                                cm_version = cm_version,
-                                                                probability = probability, 
-                                                                iterations = iterations,
                                                                 ).filter_dates(date_min = row.start_time, date_max = row.end_time)]
         else:
             l2a_list = [p.identifier for p in t.l2a.filter_dates(date_min = row.start_time, date_max = row.end_time)]
         
         for j in l2a_list:
-            #~ indices_l2a_process_list.append([j, i])
             indices_l2a_process_list.append([j, 
                                              i,
                                              reprocess,
@@ -124,7 +121,12 @@ for index, row in tiles_list.iterrows():
                                              quicklook,
                                              cm_version,
                                              probability,
-                                             iterations])
+                                             iterations,
+                                             cld_shad,
+                                             cld_med_prob,
+                                             cld_hi_prob,
+                                             thin_cir,
+                                             ])
             
 logger.info("\nindices_l2a_process_list ({} files): {}".format(len(indices_l2a_process_list), indices_l2a_process_list))
 
@@ -133,3 +135,4 @@ if indices_l2a_process_list:
     if not arg:
         indices_res = idx_multiprocessing(indices_l2a_process_list, nb_proc=8)
 
+
diff --git a/sen2chain/tiles.py b/sen2chain/tiles.py
index 7e1ba6c..23ddba8 100644
--- a/sen2chain/tiles.py
+++ b/sen2chain/tiles.py
@@ -642,8 +642,15 @@ class Tile:
         """
         
         if not reprocess:
-            cld_l2a_process_list = list([p.identifier, cm_version, probability, iterations, 
-                                         cld_shad, cld_med_prob, cld_hi_prob, thin_cir, reprocess] \
+            cld_l2a_process_list = list([p.identifier, 
+                                         cm_version, 
+                                         probability, 
+                                         iterations, 
+                                         cld_shad, 
+                                         cld_med_prob, 
+                                         cld_hi_prob, 
+                                         thin_cir, 
+                                         reprocess] \
                                         for p in self.cloudmasks_missing(cm_version = cm_version,
                                                                          probability = probability,
                                                                          iterations = iterations,
@@ -654,8 +661,15 @@ class Tile:
                                                                          )\
                                                                         .filter_dates(date_min = date_min, date_max = date_max))
         else:
-            cld_l2a_process_list = list([p.identifier, cm_version, probability, iterations, 
-                                         cld_shad, cld_med_prob, cld_hi_prob, thin_cir, reprocess] \
+            cld_l2a_process_list = list([p.identifier, 
+                                         cm_version, 
+                                         probability, 
+                                         iterations, 
+                                         cld_shad, 
+                                         cld_med_prob, 
+                                         cld_hi_prob, 
+                                         thin_cir, 
+                                         reprocess] \
                                         for p in self.l2a.filter_dates(date_min = date_min, date_max = date_max))
         if cld_l2a_process_list:
             logger.info("{} l2a products to process:".format(len(cld_l2a_process_list)))
-- 
GitLab