grdwindinversion 0.2.3.post10__tar.gz → 0.2.3.post12__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.2.3.post10/grdwindinversion.egg-info → grdwindinversion-0.2.3.post12}/PKG-INFO +1 -1
- grdwindinversion-0.2.3.post12/docs/examples/wind-inversion-from-grd.ipynb +196 -0
- grdwindinversion-0.2.3.post12/grdwindinversion/config_luts.yaml +4 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/grdwindinversion/config_prod.yaml +4 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/grdwindinversion/config_prod_recal.yaml +4 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/grdwindinversion/inversion.py +325 -163
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/grdwindinversion/main.py +16 -14
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12/grdwindinversion.egg-info}/PKG-INFO +1 -1
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/grdwindinversion.egg-info/SOURCES.txt +1 -0
- grdwindinversion-0.2.3.post10/docs/examples/wind-inversion-from-grd.ipynb +0 -134
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/.editorconfig +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/.github/dependabot.yml +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/.github/workflows/publish.yml +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/.gitignore +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/.pre-commit-config.yaml +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/AUTHORS.rst +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/CONTRIBUTING.rst +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/HISTORY.rst +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/LICENSE +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/MANIFEST.in +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/Makefile +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/README.md +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/ci/requirements/docs.yaml +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/ci/requirements/environment.yaml +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/docs/Makefile +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/docs/_static/css/grdwindinversion.css +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/docs/algorithm.rst +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/docs/authors.rst +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/docs/conf.py +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/docs/contributing.rst +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/docs/history.rst +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/docs/index.rst +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/docs/installation.rst +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/docs/make.bat +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/docs/modules.rst +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/docs/readme.rst +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/docs/usage.rst +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/grdwindinversion/.github/ISSUE_TEMPLATE.md +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/grdwindinversion/.gitignore +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/grdwindinversion/.travis.yml +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/grdwindinversion/__init__.py +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/grdwindinversion/data_config.yaml +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/grdwindinversion/load_config.py +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/grdwindinversion/utils.py +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/grdwindinversion.egg-info/dependency_links.txt +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/grdwindinversion.egg-info/entry_points.txt +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/grdwindinversion.egg-info/requires.txt +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/grdwindinversion.egg-info/top_level.txt +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/pyproject.toml +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/requirements_dev.txt +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/requirements_doc.txt +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/setup.cfg +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/tests/__init__.py +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/tests/test_grdwindinversion.py +0 -0
- {grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/tox.ini +0 -0
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cells": [
|
|
3
|
+
{
|
|
4
|
+
"cell_type": "markdown",
|
|
5
|
+
"id": "e578297a-d2dc-4cb4-b016-1181649d227b",
|
|
6
|
+
"metadata": {},
|
|
7
|
+
"source": [
|
|
8
|
+
"## Example of Wind inversion"
|
|
9
|
+
]
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"cell_type": "markdown",
|
|
13
|
+
"id": "fa19ad8e-ebaa-430e-bd91-c21d517e7e88",
|
|
14
|
+
"metadata": {},
|
|
15
|
+
"source": [
|
|
16
|
+
"### define a product GRD Sentinel-1"
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"cell_type": "code",
|
|
21
|
+
"execution_count": 5,
|
|
22
|
+
"id": "ef483f15-4690-460b-b688-fa966bab8cd8",
|
|
23
|
+
"metadata": {},
|
|
24
|
+
"outputs": [],
|
|
25
|
+
"source": [
|
|
26
|
+
"import xsar"
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"cell_type": "code",
|
|
31
|
+
"execution_count": 6,
|
|
32
|
+
"id": "e04fa1b0-eb49-4e45-af0f-0be798e26f95",
|
|
33
|
+
"metadata": {},
|
|
34
|
+
"outputs": [
|
|
35
|
+
{
|
|
36
|
+
"name": "stderr",
|
|
37
|
+
"output_type": "stream",
|
|
38
|
+
"text": [
|
|
39
|
+
"/home/vincelhx/Documents/autoentreprise/IFREMER/libs/fork_xsar_vinc/xsar/src/xsar/xsar.py:212: UserWarning: Downloading https://cyclobs.ifremer.fr/static/sarwing_datarmor/xsardata/S1A_IW_GRDH_1SDV_20170907T103020_20170907T103045_018268_01EB76_Z010.SAFE.zip\n",
|
|
40
|
+
" warnings.warn(\"Downloading %s\" % file_url)\n"
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"ename": "ClientResponseError",
|
|
45
|
+
"evalue": "503, message='Service Unavailable', url=URL('https://cyclobs.ifremer.fr/static/sarwing_datarmor/xsardata/S1A_IW_GRDH_1SDV_20170907T103020_20170907T103045_018268_01EB76_Z010.SAFE.zip')",
|
|
46
|
+
"output_type": "error",
|
|
47
|
+
"traceback": [
|
|
48
|
+
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
|
49
|
+
"\u001b[0;31mClientResponseError\u001b[0m Traceback (most recent call last)",
|
|
50
|
+
"Cell \u001b[0;32mIn[6], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# test on an dummy GRD IW product\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m input_file \u001b[38;5;241m=\u001b[39m \u001b[43mxsar\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_test_file\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mS1A_IW_GRDH_1SDV_20170907T103020_20170907T103045_018268_01EB76_Z010.SAFE\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n",
|
|
51
|
+
"File \u001b[0;32m~/Documents/autoentreprise/IFREMER/libs/fork_xsar_vinc/xsar/src/xsar/xsar.py:213\u001b[0m, in \u001b[0;36mget_test_file\u001b[0;34m(fname)\u001b[0m\n\u001b[1;32m 211\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39mexists(os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39mjoin(res_path, fname)):\n\u001b[1;32m 212\u001b[0m warnings\u001b[38;5;241m.\u001b[39mwarn(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mDownloading \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;241m%\u001b[39m file_url)\n\u001b[0;32m--> 213\u001b[0m local_file \u001b[38;5;241m=\u001b[39m \u001b[43murl_get\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfile_url\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 214\u001b[0m warnings\u001b[38;5;241m.\u001b[39mwarn(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mUnzipping \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;241m%\u001b[39m os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39mjoin(res_path, fname))\n\u001b[1;32m 215\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m zipfile\u001b[38;5;241m.\u001b[39mZipFile(local_file, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mr\u001b[39m\u001b[38;5;124m'\u001b[39m) \u001b[38;5;28;01mas\u001b[39;00m zip_ref:\n",
|
|
52
|
+
"File \u001b[0;32m~/Documents/autoentreprise/IFREMER/libs/fork_xsar_vinc/xsar/src/xsar/utils.py:664\u001b[0m, in \u001b[0;36murl_get\u001b[0;34m(url, cache_dir)\u001b[0m\n\u001b[1;32m 640\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 641\u001b[0m \u001b[38;5;124;03mGet fil from url, using caching.\u001b[39;00m\n\u001b[1;32m 642\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 660\u001b[0m \u001b[38;5;124;03mDue to fsspec, the returned filename won't match the remote one.\u001b[39;00m\n\u001b[1;32m 661\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 663\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m://\u001b[39m\u001b[38;5;124m'\u001b[39m \u001b[38;5;129;01min\u001b[39;00m url:\n\u001b[0;32m--> 664\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m fsspec\u001b[38;5;241m.\u001b[39mopen(\n\u001b[1;32m 665\u001b[0m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mfilecache::\u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m'\u001b[39m \u001b[38;5;241m%\u001b[39m url,\n\u001b[1;32m 666\u001b[0m https\u001b[38;5;241m=\u001b[39m{\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mclient_kwargs\u001b[39m\u001b[38;5;124m'\u001b[39m: {\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mtimeout\u001b[39m\u001b[38;5;124m'\u001b[39m: aiohttp\u001b[38;5;241m.\u001b[39mClientTimeout(total\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m3600\u001b[39m)}},\n\u001b[1;32m 667\u001b[0m filecache\u001b[38;5;241m=\u001b[39m{\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mcache_storage\u001b[39m\u001b[38;5;124m'\u001b[39m: os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39mjoin(os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39mjoin(config[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdata_dir\u001b[39m\u001b[38;5;124m'\u001b[39m], \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mfsspec_cache\u001b[39m\u001b[38;5;124m'\u001b[39m))}\n\u001b[1;32m 668\u001b[0m ) \u001b[38;5;28;01mas\u001b[39;00m f:\n\u001b[1;32m 669\u001b[0m fname \u001b[38;5;241m=\u001b[39m f\u001b[38;5;241m.\u001b[39mname\n\u001b[1;32m 670\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n",
|
|
53
|
+
"File \u001b[0;32m~/.local/lib/python3.10/site-packages/fsspec/core.py:102\u001b[0m, in \u001b[0;36mOpenFile.__enter__\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 99\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__enter__\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[1;32m 100\u001b[0m mode \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmode\u001b[38;5;241m.\u001b[39mreplace(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mt\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m\"\u001b[39m)\u001b[38;5;241m.\u001b[39mreplace(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mb\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;241m+\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mb\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m--> 102\u001b[0m f \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfs\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mopen\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpath\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmode\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 104\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfobjects \u001b[38;5;241m=\u001b[39m [f]\n\u001b[1;32m 106\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcompression \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n",
|
|
54
|
+
"File \u001b[0;32m~/.local/lib/python3.10/site-packages/fsspec/implementations/cached.py:444\u001b[0m, in \u001b[0;36mCachingFileSystem.__getattribute__.<locals>.<lambda>\u001b[0;34m(*args, **kw)\u001b[0m\n\u001b[1;32m 408\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__getattribute__\u001b[39m(\u001b[38;5;28mself\u001b[39m, item):\n\u001b[1;32m 409\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m item \u001b[38;5;129;01min\u001b[39;00m [\n\u001b[1;32m 410\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mload_cache\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 411\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m_open\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 442\u001b[0m \u001b[38;5;66;03m# all the methods defined in this class. Note `open` here, since\u001b[39;00m\n\u001b[1;32m 443\u001b[0m \u001b[38;5;66;03m# it calls `_open`, but is actually in superclass\u001b[39;00m\n\u001b[0;32m--> 444\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mlambda\u001b[39;00m \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkw: \u001b[38;5;28;43mgetattr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mtype\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mitem\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;21;43m__get__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 445\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkw\u001b[49m\n\u001b[1;32m 446\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 447\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m item \u001b[38;5;129;01min\u001b[39;00m [\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m__reduce_ex__\u001b[39m\u001b[38;5;124m\"\u001b[39m]:\n\u001b[1;32m 448\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mAttributeError\u001b[39;00m\n",
|
|
55
|
+
"File \u001b[0;32m~/.local/lib/python3.10/site-packages/fsspec/spec.py:1151\u001b[0m, in \u001b[0;36mAbstractFileSystem.open\u001b[0;34m(self, path, mode, block_size, cache_options, compression, **kwargs)\u001b[0m\n\u001b[1;32m 1149\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 1150\u001b[0m ac \u001b[38;5;241m=\u001b[39m kwargs\u001b[38;5;241m.\u001b[39mpop(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mautocommit\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_intrans)\n\u001b[0;32m-> 1151\u001b[0m f \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_open\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1152\u001b[0m \u001b[43m \u001b[49m\u001b[43mpath\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1153\u001b[0m \u001b[43m \u001b[49m\u001b[43mmode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmode\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1154\u001b[0m \u001b[43m \u001b[49m\u001b[43mblock_size\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mblock_size\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1155\u001b[0m \u001b[43m \u001b[49m\u001b[43mautocommit\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mac\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1156\u001b[0m \u001b[43m \u001b[49m\u001b[43mcache_options\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcache_options\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1157\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1158\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1159\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m compression \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 1160\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mfsspec\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcompression\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m compr\n",
|
|
56
|
+
"File \u001b[0;32m~/.local/lib/python3.10/site-packages/fsspec/implementations/cached.py:444\u001b[0m, in \u001b[0;36mCachingFileSystem.__getattribute__.<locals>.<lambda>\u001b[0;34m(*args, **kw)\u001b[0m\n\u001b[1;32m 408\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__getattribute__\u001b[39m(\u001b[38;5;28mself\u001b[39m, item):\n\u001b[1;32m 409\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m item \u001b[38;5;129;01min\u001b[39;00m [\n\u001b[1;32m 410\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mload_cache\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 411\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m_open\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 442\u001b[0m \u001b[38;5;66;03m# all the methods defined in this class. Note `open` here, since\u001b[39;00m\n\u001b[1;32m 443\u001b[0m \u001b[38;5;66;03m# it calls `_open`, but is actually in superclass\u001b[39;00m\n\u001b[0;32m--> 444\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mlambda\u001b[39;00m \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkw: \u001b[38;5;28;43mgetattr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mtype\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mitem\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;21;43m__get__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 445\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkw\u001b[49m\n\u001b[1;32m 446\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 447\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m item \u001b[38;5;129;01min\u001b[39;00m [\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m__reduce_ex__\u001b[39m\u001b[38;5;124m\"\u001b[39m]:\n\u001b[1;32m 448\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mAttributeError\u001b[39;00m\n",
|
|
57
|
+
"File \u001b[0;32m~/.local/lib/python3.10/site-packages/fsspec/implementations/cached.py:695\u001b[0m, in \u001b[0;36mWholeFileCacheFileSystem._open\u001b[0;34m(self, path, mode, **kwargs)\u001b[0m\n\u001b[1;32m 693\u001b[0m f2\u001b[38;5;241m.\u001b[39mwrite(data)\n\u001b[1;32m 694\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 695\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfs\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[43mpath\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfn\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 696\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msave_cache()\n\u001b[1;32m 697\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_open(path, mode)\n",
|
|
58
|
+
"File \u001b[0;32m~/.local/lib/python3.10/site-packages/fsspec/asyn.py:115\u001b[0m, in \u001b[0;36msync_wrapper.<locals>.wrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 112\u001b[0m \u001b[38;5;129m@functools\u001b[39m\u001b[38;5;241m.\u001b[39mwraps(func)\n\u001b[1;32m 113\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mwrapper\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 114\u001b[0m \u001b[38;5;28mself\u001b[39m \u001b[38;5;241m=\u001b[39m obj \u001b[38;5;129;01mor\u001b[39;00m args[\u001b[38;5;241m0\u001b[39m]\n\u001b[0;32m--> 115\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43msync\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mloop\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfunc\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
|
|
59
|
+
"File \u001b[0;32m~/.local/lib/python3.10/site-packages/fsspec/asyn.py:100\u001b[0m, in \u001b[0;36msync\u001b[0;34m(loop, func, timeout, *args, **kwargs)\u001b[0m\n\u001b[1;32m 98\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m FSTimeoutError \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mreturn_result\u001b[39;00m\n\u001b[1;32m 99\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(return_result, \u001b[38;5;167;01mBaseException\u001b[39;00m):\n\u001b[0;32m--> 100\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m return_result\n\u001b[1;32m 101\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 102\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m return_result\n",
|
|
60
|
+
"File \u001b[0;32m~/.local/lib/python3.10/site-packages/fsspec/asyn.py:55\u001b[0m, in \u001b[0;36m_runner\u001b[0;34m(event, coro, result, timeout)\u001b[0m\n\u001b[1;32m 53\u001b[0m coro \u001b[38;5;241m=\u001b[39m asyncio\u001b[38;5;241m.\u001b[39mwait_for(coro, timeout\u001b[38;5;241m=\u001b[39mtimeout)\n\u001b[1;32m 54\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 55\u001b[0m result[\u001b[38;5;241m0\u001b[39m] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mawait\u001b[39;00m coro\n\u001b[1;32m 56\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m ex:\n\u001b[1;32m 57\u001b[0m result[\u001b[38;5;241m0\u001b[39m] \u001b[38;5;241m=\u001b[39m ex\n",
|
|
61
|
+
"File \u001b[0;32m~/.local/lib/python3.10/site-packages/fsspec/asyn.py:562\u001b[0m, in \u001b[0;36mAsyncFileSystem._get\u001b[0;34m(self, rpath, lpath, recursive, callback, **kwargs)\u001b[0m\n\u001b[1;32m 560\u001b[0m callback\u001b[38;5;241m.\u001b[39mbranch(rpath, lpath, kwargs)\n\u001b[1;32m 561\u001b[0m coros\u001b[38;5;241m.\u001b[39mappend(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_file(rpath, lpath, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs))\n\u001b[0;32m--> 562\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mawait\u001b[39;00m _run_coros_in_chunks(\n\u001b[1;32m 563\u001b[0m coros, batch_size\u001b[38;5;241m=\u001b[39mbatch_size, callback\u001b[38;5;241m=\u001b[39mcallback\n\u001b[1;32m 564\u001b[0m )\n",
|
|
62
|
+
"File \u001b[0;32m~/.local/lib/python3.10/site-packages/fsspec/asyn.py:246\u001b[0m, in \u001b[0;36m_run_coros_in_chunks\u001b[0;34m(coros, batch_size, callback, timeout, return_exceptions, nofiles)\u001b[0m\n\u001b[1;32m 240\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m callback \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m _DEFAULT_CALLBACK:\n\u001b[1;32m 241\u001b[0m [\n\u001b[1;32m 242\u001b[0m t\u001b[38;5;241m.\u001b[39madd_done_callback(\u001b[38;5;28;01mlambda\u001b[39;00m \u001b[38;5;241m*\u001b[39m_, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m__: callback\u001b[38;5;241m.\u001b[39mrelative_update(\u001b[38;5;241m1\u001b[39m))\n\u001b[1;32m 243\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m t \u001b[38;5;129;01min\u001b[39;00m chunk\n\u001b[1;32m 244\u001b[0m ]\n\u001b[1;32m 245\u001b[0m results\u001b[38;5;241m.\u001b[39mextend(\n\u001b[0;32m--> 246\u001b[0m \u001b[38;5;28;01mawait\u001b[39;00m asyncio\u001b[38;5;241m.\u001b[39mgather(\u001b[38;5;241m*\u001b[39mchunk, return_exceptions\u001b[38;5;241m=\u001b[39mreturn_exceptions),\n\u001b[1;32m 247\u001b[0m )\n\u001b[1;32m 248\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m results\n",
|
|
63
|
+
"File \u001b[0;32m~/miniconda3/envs/xsar_N3_local/lib/python3.10/asyncio/tasks.py:408\u001b[0m, in \u001b[0;36mwait_for\u001b[0;34m(fut, timeout)\u001b[0m\n\u001b[1;32m 405\u001b[0m loop \u001b[38;5;241m=\u001b[39m events\u001b[38;5;241m.\u001b[39mget_running_loop()\n\u001b[1;32m 407\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m timeout \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m--> 408\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mawait\u001b[39;00m fut\n\u001b[1;32m 410\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m timeout \u001b[38;5;241m<\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[1;32m 411\u001b[0m fut \u001b[38;5;241m=\u001b[39m ensure_future(fut, loop\u001b[38;5;241m=\u001b[39mloop)\n",
|
|
64
|
+
"File \u001b[0;32m~/.local/lib/python3.10/site-packages/fsspec/implementations/http.py:248\u001b[0m, in \u001b[0;36mHTTPFileSystem._get_file\u001b[0;34m(self, rpath, lpath, chunk_size, callback, **kwargs)\u001b[0m\n\u001b[1;32m 245\u001b[0m size \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 247\u001b[0m callback\u001b[38;5;241m.\u001b[39mset_size(size)\n\u001b[0;32m--> 248\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_raise_not_found_for_status\u001b[49m\u001b[43m(\u001b[49m\u001b[43mr\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrpath\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 249\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m isfilelike(lpath):\n\u001b[1;32m 250\u001b[0m outfile \u001b[38;5;241m=\u001b[39m lpath\n",
|
|
65
|
+
"File \u001b[0;32m~/.local/lib/python3.10/site-packages/fsspec/implementations/http.py:214\u001b[0m, in \u001b[0;36mHTTPFileSystem._raise_not_found_for_status\u001b[0;34m(self, response, url)\u001b[0m\n\u001b[1;32m 212\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m response\u001b[38;5;241m.\u001b[39mstatus \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m404\u001b[39m:\n\u001b[1;32m 213\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mFileNotFoundError\u001b[39;00m(url)\n\u001b[0;32m--> 214\u001b[0m \u001b[43mresponse\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mraise_for_status\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
|
|
66
|
+
"File \u001b[0;32m~/.local/lib/python3.10/site-packages/aiohttp/client_reqrep.py:1005\u001b[0m, in \u001b[0;36mClientResponse.raise_for_status\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1003\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mreason \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 1004\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mrelease()\n\u001b[0;32m-> 1005\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m ClientResponseError(\n\u001b[1;32m 1006\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mrequest_info,\n\u001b[1;32m 1007\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhistory,\n\u001b[1;32m 1008\u001b[0m status\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstatus,\n\u001b[1;32m 1009\u001b[0m message\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mreason,\n\u001b[1;32m 1010\u001b[0m headers\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mheaders,\n\u001b[1;32m 1011\u001b[0m )\n",
|
|
67
|
+
"\u001b[0;31mClientResponseError\u001b[0m: 503, message='Service Unavailable', url=URL('https://cyclobs.ifremer.fr/static/sarwing_datarmor/xsardata/S1A_IW_GRDH_1SDV_20170907T103020_20170907T103045_018268_01EB76_Z010.SAFE.zip')"
|
|
68
|
+
]
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
"source": [
|
|
72
|
+
"# test on an dummy GRD IW product\n",
|
|
73
|
+
"input_file = xsar.get_test_file('S1A_IW_GRDH_1SDV_20170907T103020_20170907T103045_018268_01EB76_Z010.SAFE')\n"
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"cell_type": "markdown",
|
|
78
|
+
"id": "f4886386-b19a-4c43-a790-192f4866a692",
|
|
79
|
+
"metadata": {},
|
|
80
|
+
"source": [
|
|
81
|
+
"### perform wind inversion"
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"cell_type": "code",
|
|
86
|
+
"execution_count": null,
|
|
87
|
+
"id": "d3fda3a2-2ee6-4401-be8f-c0fab8344a49",
|
|
88
|
+
"metadata": {},
|
|
89
|
+
"outputs": [],
|
|
90
|
+
"source": [
|
|
91
|
+
"from grdwindinversion.inversion import makeL2 \n",
|
|
92
|
+
"\n"
|
|
93
|
+
]
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"cell_type": "markdown",
|
|
97
|
+
"id": "c8924754-34f5-4a27-a598-492022b3b3f5",
|
|
98
|
+
"metadata": {},
|
|
99
|
+
"source": [
|
|
100
|
+
"### define config file"
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"cell_type": "code",
|
|
105
|
+
"execution_count": null,
|
|
106
|
+
"id": "f95ee426-0b46-4d39-ae90-241e8bbaa332",
|
|
107
|
+
"metadata": {},
|
|
108
|
+
"outputs": [
|
|
109
|
+
{
|
|
110
|
+
"name": "stdout",
|
|
111
|
+
"output_type": "stream",
|
|
112
|
+
"text": [
|
|
113
|
+
"True\n"
|
|
114
|
+
]
|
|
115
|
+
}
|
|
116
|
+
],
|
|
117
|
+
"source": [
|
|
118
|
+
"import grdwindinversion\n",
|
|
119
|
+
"import os\n",
|
|
120
|
+
"config_file_s1 = os.path.join(os.path.dirname(grdwindinversion.__file__),'config_prod.yaml')\n",
|
|
121
|
+
"grdwindinversion.__file__\n",
|
|
122
|
+
"print(os.path.exists(config_file_s1))"
|
|
123
|
+
]
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"cell_type": "code",
|
|
127
|
+
"execution_count": null,
|
|
128
|
+
"id": "3cbe649d-44d7-4a7f-9041-137092a61e07",
|
|
129
|
+
"metadata": {},
|
|
130
|
+
"outputs": [],
|
|
131
|
+
"source": [
|
|
132
|
+
"out_folder = '/tmp/test_windinversion'"
|
|
133
|
+
]
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"cell_type": "code",
|
|
137
|
+
"execution_count": null,
|
|
138
|
+
"id": "b90c78bb-8643-4d64-a463-28fcb68d9b38",
|
|
139
|
+
"metadata": {},
|
|
140
|
+
"outputs": [
|
|
141
|
+
{
|
|
142
|
+
"ename": "NameError",
|
|
143
|
+
"evalue": "name 'input_file' is not defined",
|
|
144
|
+
"output_type": "error",
|
|
145
|
+
"traceback": [
|
|
146
|
+
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
|
147
|
+
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
|
|
148
|
+
"Cell \u001b[0;32mIn[4], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m out_file,outds \u001b[38;5;241m=\u001b[39m makeL2(\u001b[43minput_file\u001b[49m,out_folder, config_path\u001b[38;5;241m=\u001b[39mconfig_file_s1,overwrite\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[1;32m 2\u001b[0m outds\n",
|
|
149
|
+
"\u001b[0;31mNameError\u001b[0m: name 'input_file' is not defined"
|
|
150
|
+
]
|
|
151
|
+
}
|
|
152
|
+
],
|
|
153
|
+
"source": [
|
|
154
|
+
"out_file,outds = makeL2(input_file,out_folder, config_path=config_file_s1,overwrite=True)\n",
|
|
155
|
+
"outds"
|
|
156
|
+
]
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"cell_type": "code",
|
|
160
|
+
"execution_count": null,
|
|
161
|
+
"id": "91137cfe",
|
|
162
|
+
"metadata": {},
|
|
163
|
+
"outputs": [],
|
|
164
|
+
"source": []
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"cell_type": "code",
|
|
168
|
+
"execution_count": null,
|
|
169
|
+
"id": "9a83becc",
|
|
170
|
+
"metadata": {},
|
|
171
|
+
"outputs": [],
|
|
172
|
+
"source": []
|
|
173
|
+
}
|
|
174
|
+
],
|
|
175
|
+
"metadata": {
|
|
176
|
+
"kernelspec": {
|
|
177
|
+
"display_name": "Python 3 (ipykernel)",
|
|
178
|
+
"language": "python",
|
|
179
|
+
"name": "python3"
|
|
180
|
+
},
|
|
181
|
+
"language_info": {
|
|
182
|
+
"codemirror_mode": {
|
|
183
|
+
"name": "ipython",
|
|
184
|
+
"version": 3
|
|
185
|
+
},
|
|
186
|
+
"file_extension": ".py",
|
|
187
|
+
"mimetype": "text/x-python",
|
|
188
|
+
"name": "python",
|
|
189
|
+
"nbconvert_exporter": "python",
|
|
190
|
+
"pygments_lexer": "ipython3",
|
|
191
|
+
"version": "3.10.12"
|
|
192
|
+
}
|
|
193
|
+
},
|
|
194
|
+
"nbformat": 4,
|
|
195
|
+
"nbformat_minor": 5
|
|
196
|
+
}
|
{grdwindinversion-0.2.3.post10 → grdwindinversion-0.2.3.post12}/grdwindinversion/config_prod.yaml
RENAMED
|
@@ -4,21 +4,25 @@ S1A:
|
|
|
4
4
|
dsig_VH_NAME: "gmf_s1_v2"
|
|
5
5
|
apply_flattening: True
|
|
6
6
|
recalibration: False
|
|
7
|
+
ancillary: "ecmwf"
|
|
7
8
|
S1B:
|
|
8
9
|
GMF_VV_NAME: "gmf_cmod5n"
|
|
9
10
|
GMF_VH_NAME: "gmf_s1_v2"
|
|
10
11
|
dsig_VH_NAME: "gmf_s1_v2"
|
|
11
12
|
apply_flattening: True
|
|
12
13
|
recalibration: False
|
|
14
|
+
ancillary: "ecmwf"
|
|
13
15
|
RS2:
|
|
14
16
|
GMF_VV_NAME: "gmf_cmod5n"
|
|
15
17
|
GMF_VH_NAME: "gmf_rs2_v2"
|
|
16
18
|
dsig_VH_NAME: "gmf_rs2_v2"
|
|
17
19
|
apply_flattening: False
|
|
18
20
|
recalibration: False
|
|
21
|
+
ancillary: "ecmwf"
|
|
19
22
|
RCM:
|
|
20
23
|
GMF_VV_NAME: "gmf_cmod5n"
|
|
21
24
|
GMF_VH_NAME: "gmf_rcm_noaa"
|
|
22
25
|
dsig_VH_NAME: "gmf_s1_v2"
|
|
23
26
|
apply_flattening: True
|
|
24
27
|
recalibration: False
|
|
28
|
+
ancillary: "ecmwf"
|
|
@@ -4,21 +4,25 @@ S1A:
|
|
|
4
4
|
dsig_VH_NAME: "gmf_s1_v2"
|
|
5
5
|
apply_flattening: True
|
|
6
6
|
recalibration: True
|
|
7
|
+
ancillary: "ecmwf"
|
|
7
8
|
S1B:
|
|
8
9
|
GMF_VV_NAME: "gmf_cmod5n"
|
|
9
10
|
GMF_VH_NAME: "gmf_s1_v2"
|
|
10
11
|
dsig_VH_NAME: "gmf_s1_v2"
|
|
11
12
|
apply_flattening: True
|
|
12
13
|
recalibration: True
|
|
14
|
+
ancillary: "ecmwf"
|
|
13
15
|
RS2:
|
|
14
16
|
GMF_VV_NAME: "gmf_cmod5n"
|
|
15
17
|
GMF_VH_NAME: "gmf_rs2_v2"
|
|
16
18
|
dsig_VH_NAME: "gmf_rs2_v2"
|
|
17
19
|
apply_flattening: False
|
|
18
20
|
recalibration: True
|
|
21
|
+
ancillary: "ecmwf"
|
|
19
22
|
RCM:
|
|
20
23
|
GMF_VV_NAME: "gmf_cmod5n"
|
|
21
24
|
GMF_VH_NAME: "gmf_rcm_noaa"
|
|
22
25
|
dsig_VH_NAME: "gmf_s1_v2"
|
|
23
26
|
apply_flattening: True
|
|
24
27
|
recalibration: True
|
|
28
|
+
ancillary: "ecmwf"
|