grdwindinversion 0.3.1__py3-none-any.whl → 0.3.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -56,7 +56,7 @@ def getSensorMetaDataset(filename):
56
56
  "must be S1A|S1B|RS2|RCM1|RCM2|RCM3, got filename %s" % filename)
57
57
 
58
58
 
59
- def getOutputName2(input_file, outdir, sensor, meta, subdir=True):
59
+ def getOutputName(input_file, outdir, sensor, meta_start_date, meta_stop_date, subdir=True):
60
60
  """
61
61
  Create output filename for L2-GRD product
62
62
 
@@ -68,8 +68,10 @@ def getOutputName2(input_file, outdir, sensor, meta, subdir=True):
68
68
  output folder
69
69
  sensor : str
70
70
  sensor name
71
- meta : obj `xsar.BaseMeta` (one of the supported SAR mission)
72
- meta object
71
+ start_date : str
72
+ start date
73
+ stop_date : str
74
+ stop date
73
75
 
74
76
  Returns
75
77
  -------
@@ -78,10 +80,6 @@ def getOutputName2(input_file, outdir, sensor, meta, subdir=True):
78
80
  """
79
81
  basename = os.path.basename(input_file)
80
82
  basename_match = basename
81
- meta_start_date = meta.start_date.split(".")[0].replace(
82
- "-", "").replace(":", "").replace(" ", "t").replace("Z", "")
83
- meta_stop_date = meta.stop_date.split(".")[0].replace(
84
- "-", "").replace(":", "").replace(" ", "t").replace("Z", "")
85
83
 
86
84
  if sensor == 'S1A' or sensor == 'S1B':
87
85
  regex = re.compile(
@@ -89,6 +87,10 @@ def getOutputName2(input_file, outdir, sensor, meta, subdir=True):
89
87
  template = string.Template(
90
88
  "${MISSIONID}_${BEAM}_${PRODUCT}${RESOLUTION}_${LEVEL}${CLASS}${POL}_${STARTDATE}_${STOPDATE}_${ORBIT}_${TAKEID}_${PRODID}.SAFE")
91
89
  match = regex.match(basename_match)
90
+ if not match:
91
+ raise AttributeError(
92
+ f"S1 file {basename_match} does not match the expected pattern")
93
+
92
94
  MISSIONID, BEAM, PRODUCT, RESOLUTION, LEVEL, CLASS, POL, STARTDATE, STOPDATE, ORBIT, TAKEID, PRODID = match.groups()
93
95
  new_format = f"{MISSIONID.lower()}-{BEAM.lower()}-owi-xx-{STARTDATE.lower()}-{STOPDATE.lower()}-{ORBIT}-{TAKEID}.nc"
94
96
  elif sensor == 'RS2':
@@ -97,14 +99,24 @@ def getOutputName2(input_file, outdir, sensor, meta, subdir=True):
97
99
  template = string.Template(
98
100
  "${MISSIONID}_OK${DATA1}_PK${DATA2}_DK${DATA3}_${DATA4}_${DATE}_${TIME}_${POLARIZATION}_${LAST}")
99
101
  match = regex.match(basename_match)
102
+ if not match:
103
+ raise AttributeError(
104
+ f"RC2 file {basename_match} does not match the expected pattern")
105
+
100
106
  MISSIONID, DATA1, DATA2, DATA3, DATA4, DATE, TIME, POLARIZATION, LAST = match.groups()
101
107
  new_format = f"{MISSIONID.lower()}--owi-xx-{meta_start_date.lower()}-{meta_stop_date.lower()}-_____-_____.nc"
102
108
  elif sensor == 'RCM':
109
+
103
110
  regex = re.compile(
104
- r"(RCM[0-9])_OK([0-9]+)_PK([0-9]+)_([0-9]+)_([A-Z]+)_(\d{8})_(\d{6})_([A-Z]{2}(?:_[A-Z]{2})?)_([A-Z]+)$")
111
+ r"(RCM[0-9])_OK([0-9]+)_PK([0-9]+)_([0-9]+)_([A-Z0-9]+)_(\d{8})_(\d{6})_([A-Z]{2}(?:_[A-Z]{2})?)_([A-Z]+)$")
105
112
  match = regex.match(basename_match)
113
+ if not match:
114
+ raise AttributeError(
115
+ f"RCM file {basename_match} does not match the expected pattern")
116
+
106
117
  MISSIONID, DATA1, DATA2, DATA3, BEAM, DATE, TIME, POLARIZATION, PRODUCT = match.groups()
107
118
  new_format = f"{MISSIONID.lower()}-{BEAM.lower()}-owi-xx-{meta_start_date.lower()}-{meta_stop_date.lower()}-_____-_____.nc"
119
+
108
120
  else:
109
121
  raise ValueError(
110
122
  "sensor must be S1A|S1B|RS2|RCM, got sensor %s" % sensor)
@@ -601,8 +613,13 @@ def preprocess(filename, outdir, config_path, overwrite=False, add_gradientsfeat
601
613
  # creating a dictionnary of parameters
602
614
  config["l2_params"] = {}
603
615
 
604
- out_file = getOutputName2(filename, outdir, sensor,
605
- meta, subdir=not no_subdir_cfg)
616
+ meta_start_date = meta.start_date.split(".")[0].replace(
617
+ "-", "").replace(":", "").replace(" ", "t").replace("Z", "")
618
+ meta_stop_date = meta.stop_date.split(".")[0].replace(
619
+ "-", "").replace(":", "").replace(" ", "t").replace("Z", "")
620
+
621
+ out_file = getOutputName(filename, outdir, sensor,
622
+ meta_start_date, meta_stop_date, subdir=not no_subdir_cfg)
606
623
 
607
624
  if os.path.exists(out_file) and overwrite is False:
608
625
  raise FileExistsError("outfile %s already exists" % out_file)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: grdwindinversion
3
- Version: 0.3.1
3
+ Version: 0.3.3
4
4
  Summary: Package to perform Wind inversion from GRD Level-1 SAR images
5
5
  Author-email: Antoine Grouazel <antoine.grouazel@ifremer.fr>
6
6
  License: MIT
@@ -7,16 +7,16 @@ grdwindinversion/config_prod_streaks.yaml,sha256=lJMl4qH6XYqO8ich7yW0WDQsQDrjmWT
7
7
  grdwindinversion/config_prod_streaks_nrcsmod.yaml,sha256=4yC4KcsC7rUumYHwhpKxM8_LDMe_Je-RIu4-9e1ayp8,1312
8
8
  grdwindinversion/data_config.yaml,sha256=FnglUHbAtGwHWg8w86hwZt3-vo-dY8uIjxqyI1jZpv8,567
9
9
  grdwindinversion/gradientFeatures.py,sha256=pBmsk6L8V9OrfSaAlFnxWztowSMEq2uoNdK93-drCuQ,17234
10
- grdwindinversion/inversion.py,sha256=Tup2TbjKzxHA4aF-0BOXFrUX_ILHbrKtMi2SVZ4JMgo,53972
10
+ grdwindinversion/inversion.py,sha256=iqUTEFfYh_PU9AGeKs6PasDHDovsABpznruTKk9SnYM,54437
11
11
  grdwindinversion/load_config.py,sha256=o0zVRpw3cIk-0fAsgOAb5JYzbHd3wdKmFskT8B3FAok,875
12
12
  grdwindinversion/main.py,sha256=0DLDW0i14CWhDKAGegzOKlWnCkag_cGn3vzMIAKcv4g,2658
13
13
  grdwindinversion/utils.py,sha256=bowCr2wKqXE7j0Uo5xkFMjWkr7NhnmjCaPFTO4MYNV4,3803
14
14
  grdwindinversion/utils_memory.py,sha256=1N3Kh4qVZPELPU6I4onbmkur1CZd7EHZqfbSAa6eaVc,1480
15
15
  grdwindinversion/.github/ISSUE_TEMPLATE.md,sha256=qiM_a7CCUz3fSrz3Q20Se1nwPNFS8QCc8tkwK_0DSCo,327
16
- grdwindinversion-0.3.1.dist-info/AUTHORS.rst,sha256=KmhW_5LBKGTIGwWEVkoTm1qx_bvdDR3yYL-1cwbDOFQ,218
17
- grdwindinversion-0.3.1.dist-info/LICENSE,sha256=-B8mBiTeY3J7OLuayiV1myqmc7yeijBc7s34kc8RTmg,1075
18
- grdwindinversion-0.3.1.dist-info/METADATA,sha256=-7HAO9FEm6AXR0aFdVtNptBOzVXbRQxzFHMuhBCysmw,2441
19
- grdwindinversion-0.3.1.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
20
- grdwindinversion-0.3.1.dist-info/entry_points.txt,sha256=2rjvlVCy0iasRXjOz3kOIGuy2OCGQ-VTNuwuViQ6cMM,95
21
- grdwindinversion-0.3.1.dist-info/top_level.txt,sha256=z6lPix3QPEYOo37qq8plA2hY7S3C8MQZY81agRlksMI,17
22
- grdwindinversion-0.3.1.dist-info/RECORD,,
16
+ grdwindinversion-0.3.3.dist-info/AUTHORS.rst,sha256=KmhW_5LBKGTIGwWEVkoTm1qx_bvdDR3yYL-1cwbDOFQ,218
17
+ grdwindinversion-0.3.3.dist-info/LICENSE,sha256=-B8mBiTeY3J7OLuayiV1myqmc7yeijBc7s34kc8RTmg,1075
18
+ grdwindinversion-0.3.3.dist-info/METADATA,sha256=smWjGdzzyLLXJa8Ugz0xfAoI6udjTpy3VDLvZnSXiJ4,2441
19
+ grdwindinversion-0.3.3.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
20
+ grdwindinversion-0.3.3.dist-info/entry_points.txt,sha256=2rjvlVCy0iasRXjOz3kOIGuy2OCGQ-VTNuwuViQ6cMM,95
21
+ grdwindinversion-0.3.3.dist-info/top_level.txt,sha256=z6lPix3QPEYOo37qq8plA2hY7S3C8MQZY81agRlksMI,17
22
+ grdwindinversion-0.3.3.dist-info/RECORD,,