diff redelacPlanExpander.py @ 4:a7463ad6a389 draft default tip

"planemo upload for repository https://forgemia.inra.fr/redelac/redelac-toolbox/-/tree/179e64aac208ae8af4d7416a7d5ff4b9da572850/tools/REDELACplanExpander commit 179e64aac208ae8af4d7416a7d5ff4b9da572850-dirty"
author siwaa
date Mon, 16 Feb 2026 11:45:40 +0000
parents ecbd096ba43b
children
line wrap: on
line diff
--- a/redelacPlanExpander.py	Tue May 07 11:45:15 2024 +0000
+++ b/redelacPlanExpander.py	Mon Feb 16 11:45:40 2026 +0000
@@ -13,6 +13,12 @@
 aclimParHorizonFileName = sys.argv[8]
 latitudeMailleDriasDFileName= sys.argv[9]
 expandedStationsFileName = sys.argv[10]
+SafranOrDrias = sys.argv[11] == "SAFRAN"
+
+print( sys.argv[11])
+
+print( sys.argv[11] == "SAFRAN")
+
 
 # 1) reading the base list of USMs
 
@@ -42,18 +48,36 @@
 expandedStationsDf = pd.DataFrame()
 
 for i, row in planDf.iterrows():
+
+    print("I")
+    print(i)
+    
     tmpDf = StationsDf
     
     safran = int(row['upc'].split('_')[1])
+
+    print("safran:")
+    print(safran)
+    
     drias = maillesDf[maillesDf["maille_safran"] == safran].reset_index(drop=True)["maille_drias"][0]
 
+    print("drias:")
+    print(drias)
+
     tmpDfBis = tmpDf;
     
     for j, rowS in tmpDf.iterrows():
         horizon = rowS['Sta_name'].split('_')[1]
-        tmpDfBis.at[j, 'Sta_name'] = str(drias) +  '_' + horizon + '_sta.xml'
-        tmpDfBis.at[j, 'aclim'] = aclimParHorizonDf[(aclimParHorizonDf['maille_DRIAS'] == drias) & (aclimParHorizonDf['horizon'] == horizon)].reset_index(drop=True)["aclim"][0]
-        tmpDfBis.at[j, 'latitude'] = latitudeMailleDriasDf[(latitudeMailleDriasDf['maille_DRIAS'] == drias)].reset_index(drop=True)["latitude"][0]
+        if SafranOrDrias :
+            tmpDfBis.at[j, 'Sta_name'] = str(safran) +  '_' + horizon + '_sta.xml'
+        
+            tmpDfBis.at[j, 'aclim'] = aclimParHorizonDf[(aclimParHorizonDf['maille_SAFRAN'] == safran) & (aclimParHorizonDf['horizon'] == horizon)].reset_index(drop=True)["aclim"][0]
+            tmpDfBis.at[j, 'latitude'] = latitudeMailleDriasDf[(latitudeMailleDriasDf['maille_DRIAS'] == drias)].reset_index(drop=True)["latitude"][0]
+        else :
+            tmpDfBis.at[j, 'Sta_name'] = str(drias) +  '_' + horizon + '_sta.xml'
+            
+            tmpDfBis.at[j, 'aclim'] = aclimParHorizonDf[(aclimParHorizonDf['maille_DRIAS'] == drias) & (aclimParHorizonDf['horizon'] == horizon)].reset_index(drop=True)["aclim"][0]
+            tmpDfBis.at[j, 'latitude'] = latitudeMailleDriasDf[(latitudeMailleDriasDf['maille_DRIAS'] == drias)].reset_index(drop=True)["latitude"][0]
               
     expandedStationsDf = pd.concat([expandedStationsDf, tmpDfBis])
 
@@ -71,11 +95,21 @@
     typeOfRotation = 'GC'    
 
 for i, row in planDf.iterrows():
+
+    print("I")
+    print(i)
+    
     tmpDf = USMsDf
 
     safran = int(row['upc'].split('_')[1])
     drias = maillesDf[maillesDf["maille_safran"] == safran].reset_index(drop=True)["maille_drias"][0]
 
+    print("safran:")
+    print(safran)
+    
+    print("drias:")
+    print(drias)
+    
     tmpDf['upc'] = row['upc']
     tmpDf['ucs'] = row['ucs']
     tmpDf['num_sol'] = row['num_sol']
@@ -88,6 +122,7 @@
         tmpDf['nom_sol_sans_point'] = row['nom_sols_PP_dans_USM']
 
     tmpDf['maille_drias'] = drias
+    tmpDf['maille_safran'] = safran
 
     # Updating the id_simu column 
     # alias =CONCATENATE(F2;"-";G2;"_";H2;"-";I2;"-";K2;"-";L2;"-";M2)
@@ -100,6 +135,9 @@
         tmpDf['code_rotation'].astype(str)  + '-' + \
         tmpDf['tete_rotation'].astype(str) + '-' + \
         tmpDf['horizon '].astype(str)
+
+    
+    print(tmpDf['id_simu'])
         
     # Merging 2 sheets in order to solve the VLOOKUP
     plantsDf.rename(columns = {'Nom_plante':'culture'}, inplace = True)
@@ -119,6 +157,7 @@
         tmpDf['annee_fin'].astype(str) + '-' + \
         tmpDf['Code_plante']
 
+    print(tmpDf['usm_name'])
     
     # Updating the nomsol column
     # alias =CONCATENATE(G2;"_";H2)
@@ -127,27 +166,49 @@
         tmpDf['num_sol'].astype(str) + '_' + \
         tmpDf['Norg_sols'].astype(str)
 
-    
-    # Updating the fstation column
-    # alias =CONCATENATE($E2;"_";M2;"_sta.xml")
-    
-    tmpDf['fstation'] = \
-      tmpDf['maille_drias'].astype(str) + '_' + \
-      tmpDf['horizon '].astype(str) + '_sta.xml'
+    if SafranOrDrias :    
+        # Updating the fstation column
+        # alias =CONCATENATE($E2;"_";M2;"_sta.xml")
 
-    # Updating the fclim1 column
-    # alias =CONCATENATE($E2;".";YEAR(R2))
+        tmpDf['fstation'] = \
+            tmpDf['maille_safran'].astype(str) + '_' + \
+            tmpDf['horizon '].astype(str) + '_sta.xml'
+        
+        # Updating the fclim1 column
+        # alias =CONCATENATE($E2;".";YEAR(R2))
+        
+        tmpDf['fclim1'] = \
+            tmpDf['maille_safran'].astype(str) + '.' + \
+            pd.to_datetime(tmpDf['Début'], dayfirst = True).dt.year.astype(str)
+        
+        # Updating the fclim2 column
+        # alias =CONCATENATE($E2;".";YEAR(S2))
+        
+        tmpDf['fclim2'] = \
+            tmpDf['maille_safran'].astype(str) + '.' + \
+            pd.to_datetime(tmpDf['Fin'], dayfirst = True).dt.year.astype(str)
 
-    tmpDf['fclim1'] = \
-      tmpDf['maille_drias'].astype(str) + '.' + \
-      pd.to_datetime(tmpDf['Début'], dayfirst = True).dt.year.astype(str)
-
-    # Updating the fclim2 column
-    # alias =CONCATENATE($E2;".";YEAR(S2))
-    
-    tmpDf['fclim2'] = \
-      tmpDf['maille_drias'].astype(str) + '.' + \
-      pd.to_datetime(tmpDf['Fin'], dayfirst = True).dt.year.astype(str)
+    else :
+        # Updating the fstation column
+        # alias =CONCATENATE($E2;"_";M2;"_sta.xml")
+        
+        tmpDf['fstation'] = \
+            tmpDf['maille_drias'].astype(str) + '_' + \
+            tmpDf['horizon '].astype(str) + '_sta.xml'
+        
+        # Updating the fclim1 column
+        # alias =CONCATENATE($E2;".";YEAR(R2))
+        
+        tmpDf['fclim1'] = \
+            tmpDf['maille_drias'].astype(str) + '.' + \
+            pd.to_datetime(tmpDf['Début'], dayfirst = True).dt.year.astype(str)
+        
+        # Updating the fclim2 column
+        # alias =CONCATENATE($E2;".";YEAR(S2))
+        
+        tmpDf['fclim2'] = \
+            tmpDf['maille_drias'].astype(str) + '.' + \
+            pd.to_datetime(tmpDf['Fin'], dayfirst = True).dt.year.astype(str)
 
     expandedDf = pd.concat([expandedDf, tmpDf])