grdwindinversion 0.3.2__tar.gz → 0.3.3__tar.gz
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.
- {grdwindinversion-0.3.2/grdwindinversion.egg-info → grdwindinversion-0.3.3}/PKG-INFO +1 -1
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/grdwindinversion/inversion.py +27 -10
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3/grdwindinversion.egg-info}/PKG-INFO +1 -1
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/grdwindinversion.egg-info/SOURCES.txt +2 -0
- grdwindinversion-0.3.3/tests/listing_rcm_safe.txt +1506 -0
- grdwindinversion-0.3.3/tests/test_getOutputName.py +31 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/.editorconfig +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/.github/dependabot.yml +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/.github/workflows/build.yml +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/.github/workflows/ci.yml +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/.github/workflows/publish.yml +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/.gitignore +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/.pre-commit-config.yaml +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/AUTHORS.rst +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/CONTRIBUTING.rst +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/HISTORY.rst +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/LICENSE +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/MANIFEST.in +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/Makefile +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/README.md +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/ci/requirements/docs.yaml +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/ci/requirements/environment.yaml +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/docs/Makefile +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/docs/_static/css/grdwindinversion.css +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/docs/algorithm.rst +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/docs/authors.rst +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/docs/conf.py +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/docs/contributing.rst +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/docs/examples/streaks-display.ipynb +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/docs/examples/wind-inversion-from-grd.ipynb +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/docs/history.rst +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/docs/index.rst +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/docs/installation.rst +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/docs/make.bat +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/docs/modules.rst +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/docs/usage.rst +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/grdwindinversion/.github/ISSUE_TEMPLATE.md +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/grdwindinversion/.gitignore +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/grdwindinversion/__init__.py +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/grdwindinversion/config_prod.yaml +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/grdwindinversion/config_prod_recal.yaml +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/grdwindinversion/config_prod_recal_streaks_nrcsmod.yaml +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/grdwindinversion/config_prod_streaks.yaml +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/grdwindinversion/config_prod_streaks_nrcsmod.yaml +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/grdwindinversion/data_config.yaml +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/grdwindinversion/gradientFeatures.py +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/grdwindinversion/load_config.py +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/grdwindinversion/main.py +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/grdwindinversion/utils.py +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/grdwindinversion/utils_memory.py +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/grdwindinversion.egg-info/dependency_links.txt +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/grdwindinversion.egg-info/entry_points.txt +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/grdwindinversion.egg-info/requires.txt +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/grdwindinversion.egg-info/top_level.txt +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/pyproject.toml +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/recipe/meta.yaml +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/requirements_dev.txt +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/requirements_doc.txt +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/setup.cfg +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/tests/__init__.py +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/tests/config_test.yaml +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/tests/test_grdwindinversion_ci.py +0 -0
- {grdwindinversion-0.3.2 → grdwindinversion-0.3.3}/tox.ini +0 -0
|
@@ -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
|
|
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
|
-
|
|
72
|
-
|
|
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-
|
|
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
|
-
|
|
605
|
-
|
|
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)
|