metradar 0.1.8__tar.gz → 0.1.8.2__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.
- {metradar-0.1.8 → metradar-0.1.8.2}/.gitignore +1 -0
- {metradar-0.1.8/metradar.egg-info → metradar-0.1.8.2}/PKG-INFO +2 -3
- {metradar-0.1.8 → metradar-0.1.8.2}/README.md +1 -1
- {metradar-0.1.8 → metradar-0.1.8.2}/examples/download_data_from_cmadaas.ipynb +49 -62
- {metradar-0.1.8 → metradar-0.1.8.2}/examples/draw_mosaic_datan.ipynb +2 -20
- {metradar-0.1.8 → metradar-0.1.8.2}/examples/draw_radar_aws.ipynb +25 -14
- {metradar-0.1.8 → metradar-0.1.8.2}/examples/draw_radar_single.ipynb +3 -6
- {metradar-0.1.8 → metradar-0.1.8.2}/examples/draw_swan.ipynb +2 -20
- {metradar-0.1.8 → metradar-0.1.8.2}/examples/nowcasting_pysteps.ipynb +20 -29
- {metradar-0.1.8 → metradar-0.1.8.2}/examples/qc_velocity_dealias_cn.ipynb +3 -3
- {metradar-0.1.8 → metradar-0.1.8.2}/examples/qc_wradlib_clutter_cn.ipynb +290 -902
- {metradar-0.1.8 → metradar-0.1.8.2}/examples/wind_PyDDA_cn.ipynb +8 -8
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/config.py +1 -1
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/io/decode_fmt_pyart.py +1 -0
- metradar-0.1.8.2/metradar/project/make_vpr_aws/make_mosaic_20230731_daxing.ini +29 -0
- metradar-0.1.8.2/metradar/project/make_vpr_aws/make_mosaic_basefile.ini +29 -0
- {metradar-0.1.8 → metradar-0.1.8.2/metradar.egg-info}/PKG-INFO +2 -3
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar.egg-info/SOURCES.txt +57 -1
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar.egg-info/requires.txt +0 -1
- {metradar-0.1.8 → metradar-0.1.8.2}/pyproject.toml +2 -3
- metradar-0.1.8.2/resources/fonts/YaHeiConsolasHybrid_1.12.ttf +0 -0
- metradar-0.1.8.2/resources/gr2_colors/BR_AVL_BroadcastNegatives.pal +12 -0
- metradar-0.1.8.2/resources/gr2_colors/BR_SimuAwipsRC.pal +14 -0
- metradar-0.1.8.2/resources/gr2_colors/BR_WDTB_Bright.pal +18 -0
- metradar-0.1.8.2/resources/gr2_colors/BV_EvansVelo_Mph1.pal +26 -0
- metradar-0.1.8.2/resources/gr2_colors/BV_EvansVelo_Mph2.pal +22 -0
- metradar-0.1.8.2/resources/gr2_colors/BV_RTWX_VEL.pal +82 -0
- metradar-0.1.8.2/resources/gr2_colors/BV_simuAwips.pal +20 -0
- metradar-0.1.8.2/resources/gr2_colors/IR_dark_alpha.pal +19 -0
- metradar-0.1.8.2/resources/gr2_colors/IR_dark_alpha_for_colorbar.pal +16 -0
- metradar-0.1.8.2/resources/gr2_colors/SRV_EvansVelo_Mph.pal +26 -0
- metradar-0.1.8.2/resources/gr2_colors/Visible_depth.pal +13 -0
- metradar-0.1.8.2/resources/gr2_colors/Visible_transparent.pal +13 -0
- metradar-0.1.8.2/resources/gr2_colors/Visible_transparent_for_colorbar.pal +13 -0
- metradar-0.1.8.2/resources/gr2_colors/WV_noaa.pal +19 -0
- metradar-0.1.8.2/resources/gr2_colors/WV_noaa_new.pal +19 -0
- metradar-0.1.8.2/resources/gr2_colors/default_BR.pal +18 -0
- metradar-0.1.8.2/resources/gr2_colors/default_BR_CMA.pal +23 -0
- metradar-0.1.8.2/resources/gr2_colors/default_BR_CMA_full.pal +23 -0
- metradar-0.1.8.2/resources/gr2_colors/default_BR_PUP1.pal +29 -0
- metradar-0.1.8.2/resources/gr2_colors/default_BR_PUP2.pal +29 -0
- metradar-0.1.8.2/resources/gr2_colors/default_BR_full.pal +19 -0
- metradar-0.1.8.2/resources/gr2_colors/default_BV.pal +20 -0
- metradar-0.1.8.2/resources/gr2_colors/default_BV_CMA.pal +33 -0
- metradar-0.1.8.2/resources/gr2_colors/default_BV_PUP1.pal +33 -0
- metradar-0.1.8.2/resources/gr2_colors/default_BV_PUP2.pal +35 -0
- metradar-0.1.8.2/resources/gr2_colors/default_CC.pal +20 -0
- metradar-0.1.8.2/resources/gr2_colors/default_CC_ROSE.pal +30 -0
- metradar-0.1.8.2/resources/gr2_colors/default_ET.pal +21 -0
- metradar-0.1.8.2/resources/gr2_colors/default_ET_PUP.pal +27 -0
- metradar-0.1.8.2/resources/gr2_colors/default_HCAS.pal +17 -0
- metradar-0.1.8.2/resources/gr2_colors/default_IP.pal +8 -0
- metradar-0.1.8.2/resources/gr2_colors/default_KDP.pal +19 -0
- metradar-0.1.8.2/resources/gr2_colors/default_KDP_ROSE.pal +23 -0
- metradar-0.1.8.2/resources/gr2_colors/default_MEHS.pal +24 -0
- metradar-0.1.8.2/resources/gr2_colors/default_NROT.pal +16 -0
- metradar-0.1.8.2/resources/gr2_colors/default_PHI.pal +14 -0
- metradar-0.1.8.2/resources/gr2_colors/default_POSH.pal +16 -0
- metradar-0.1.8.2/resources/gr2_colors/default_RA.pal +10 -0
- metradar-0.1.8.2/resources/gr2_colors/default_SN.pal +11 -0
- metradar-0.1.8.2/resources/gr2_colors/default_SRV.pal +22 -0
- metradar-0.1.8.2/resources/gr2_colors/default_SW.pal +24 -0
- metradar-0.1.8.2/resources/gr2_colors/default_T_DS.pal +7 -0
- metradar-0.1.8.2/resources/gr2_colors/default_T_GR.pal +7 -0
- metradar-0.1.8.2/resources/gr2_colors/default_T_HA.pal +8 -0
- metradar-0.1.8.2/resources/gr2_colors/default_T_RA.pal +7 -0
- metradar-0.1.8.2/resources/gr2_colors/default_T_WS.pal +7 -0
- metradar-0.1.8.2/resources/gr2_colors/default_VIL.pal +19 -0
- metradar-0.1.8.2/resources/gr2_colors/default_VILD.pal +17 -0
- metradar-0.1.8.2/resources/gr2_colors/default_ZDR.pal +18 -0
- metradar-0.1.8.2/resources/gr2_colors/default_ZDR_ROSE.pal +24 -0
- metradar-0.1.8.2/resources/gr2_colors/default_ZR.pal +17 -0
- metradar-0.1.8.2/resources/stations/cma_city_station_info.dat +6 -0
- metradar-0.1.8.2/resources/stations/radars.csv +3 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/setup.py +1 -1
- {metradar-0.1.8 → metradar-0.1.8.2}/LICENSE +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/config.ini +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/environment.yml +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/examples/read_rose.ipynb +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/__init__.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/core/__init__.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/core/get_cross_section.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/core/mosaic_merge.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/core/oa_dig_func.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/graph/__init__.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/graph/draw_comp_mosaic.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/graph/draw_latlon_func.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/graph/draw_radar_aws.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/graph/draw_radar_comp_func.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/graph/parse_pal.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/io/__init__.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/io/cnrad_level2.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/io/decode_pup_rose.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/io/pgmb_io.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/io/read_new_mosaic_func.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/io/read_swan.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/io/rose_structer.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/__init__.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/make_mosaic/__init__.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/make_mosaic/batch_draw_mosaic.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/make_mosaic/make_mosaic_func.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/make_mosaic/make_mosaic_mp.ini +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/make_mosaic/make_mosaic_mp.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/make_vpr_aws/__init__.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/make_vpr_aws/construct_aws_refvpr_mainprog.ini +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/make_vpr_aws/construct_aws_refvpr_mainprog.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/make_vpr_aws/exceptions.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/make_vpr_aws/geo_transforms_pyart.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/nowcasting/__init__.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/nowcasting/nowcast_by_pysteps.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/nowcasting/trans_mosaic_pgmb.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/qpe/Archive /346/250/241/345/274/217/350/257/264/346/230/216.txt" +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/qpe/__init__.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/qpe/archive_main_qpe_cfg.ini +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/qpe/do_s1.sh +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/qpe/do_s2.sh +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/qpe/do_s3.sh +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/qpe/do_s4.sh +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/qpe/do_s5.sh +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/qpe/exec_all.sh +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/qpe/get_rainrate_func.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/qpe/main_qpe_cfg.ini +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/qpe/s1_download_radar_region_cmadaas.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/qpe/s2_pre_process_single_radar.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/qpe/s3_trans_rainrate_to_qpe.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/qpe/s4_mosaic_qpe.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/qpe/s5_draw_qpe_mosaic.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/wind_retrieval/__init__.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/wind_retrieval/config_3dwind.ini +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/project/wind_retrieval/main_pydda.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/util/__init__.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/util/comm_func.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/util/exceptions.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/util/geo_transforms_pyart.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/util/get_tlogp_from_sharppy.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/util/make_gif.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/util/parse_pal.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/util/radar_common.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar/util/trans_new_mosaic_nc.py +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar.egg-info/dependency_links.txt +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/metradar.egg-info/top_level.txt +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/requirements.txt +0 -0
- {metradar-0.1.8 → metradar-0.1.8.2}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: metradar
|
|
3
|
-
Version: 0.1.8
|
|
3
|
+
Version: 0.1.8.2
|
|
4
4
|
Summary: radar data processing
|
|
5
5
|
Author-email: Wenjian Zhu <kevin2075@163.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/nmcdev/metradar
|
|
@@ -28,7 +28,6 @@ Requires-Dist: tqdm>=4.67.0
|
|
|
28
28
|
Requires-Dist: wradlib>=2.6.1
|
|
29
29
|
Requires-Dist: MetPy>=1.7.1
|
|
30
30
|
Requires-Dist: matplotlib>=3.10.8
|
|
31
|
-
Requires-Dist: pysteps>=1.19.0
|
|
32
31
|
Requires-Dist: nmc_met_io>=0.1.15.0
|
|
33
32
|
Requires-Dist: netCDF4>=1.7.4
|
|
34
33
|
Requires-Dist: schedule>=1.2.2
|
|
@@ -66,9 +65,9 @@ Using the fellowing command to install packages:
|
|
|
66
65
|
### 📂若要构建全功能运行环境,建议安装顺序如下:
|
|
67
66
|
* conda create -n radar312 python=3.12
|
|
68
67
|
* conda activate radar312
|
|
68
|
+
* conda install -c conda-forge pysteps -y
|
|
69
69
|
* pip install metradar
|
|
70
70
|
* conda install -c conda-forge arm_pyart -y
|
|
71
|
-
* conda install -c conda-forge cartopy -y
|
|
72
71
|
* conda install -c conda-forge gdal -y
|
|
73
72
|
* pip install tensorflow
|
|
74
73
|
* pip install tensorflow-probability
|
|
@@ -29,9 +29,9 @@ Using the fellowing command to install packages:
|
|
|
29
29
|
### 📂若要构建全功能运行环境,建议安装顺序如下:
|
|
30
30
|
* conda create -n radar312 python=3.12
|
|
31
31
|
* conda activate radar312
|
|
32
|
+
* conda install -c conda-forge pysteps -y
|
|
32
33
|
* pip install metradar
|
|
33
34
|
* conda install -c conda-forge arm_pyart -y
|
|
34
|
-
* conda install -c conda-forge cartopy -y
|
|
35
35
|
* conda install -c conda-forge gdal -y
|
|
36
36
|
* pip install tensorflow
|
|
37
37
|
* pip install tensorflow-probability
|
|
@@ -18,36 +18,23 @@
|
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
20
|
"cell_type": "code",
|
|
21
|
-
"execution_count":
|
|
21
|
+
"execution_count": null,
|
|
22
22
|
"id": "3af5f15e",
|
|
23
23
|
"metadata": {},
|
|
24
24
|
"outputs": [
|
|
25
25
|
{
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"File already exists: /mnt/e/metradar_test/cmadaas/mosaic_cref//2025/07/05/RADA_L3_MST_CREF_QC/Z_RADA_C_BABJ_20250705065419_P_DOR_ACHN_CREF_20250705_064800.bin\n",
|
|
38
|
-
"File already exists: /mnt/e/metradar_test/cmadaas/mosaic_cref//2025/07/05/RADA_L3_MST_CREF_QC/Z_RADA_C_BABJ_20250705070019_P_DOR_ACHN_CREF_20250705_065400.bin\n",
|
|
39
|
-
"File already exists: /mnt/e/metradar_test/cmadaas/mosaic_cref//2025/07/05/RADA_L3_MST_CREF_QC/Z_RADA_C_BABJ_20250705070617_P_DOR_ACHN_CREF_20250705_070000.bin\n"
|
|
26
|
+
"ename": "_ConfigFetchError",
|
|
27
|
+
"evalue": "The C:\\Users\\wenjianzhu\\.nmcdev\\config.ini doese not exist. Please create it with text editor. \n Refer to https://github.com/nmcdev/nmc_met_io ",
|
|
28
|
+
"output_type": "error",
|
|
29
|
+
"traceback": [
|
|
30
|
+
"\u001b[31m---------------------------------------------------------------------------\u001b[39m",
|
|
31
|
+
"\u001b[31m_ConfigFetchError\u001b[39m Traceback (most recent call last)",
|
|
32
|
+
"\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[1]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mnmc_met_io\u001b[39;00m\u001b[34;01m.\u001b[39;00m\u001b[34;01mretrieve_cmadaas\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m cmadaas_radarmosaic_cref_by_timerange\n\u001b[32m 2\u001b[39m outpath = \u001b[33m'\u001b[39m\u001b[33md:/metradar_test/cmadaas/mosaic_cref/\u001b[39m\u001b[33m'\u001b[39m\n\u001b[32m 3\u001b[39m cmadaas_radarmosaic_cref_by_timerange( time_range=\u001b[33m'\u001b[39m\u001b[33m[20250705060000,20250705070000]\u001b[39m\u001b[33m'\u001b[39m, \n\u001b[32m 4\u001b[39m outpath=outpath)\n",
|
|
33
|
+
"\u001b[36mFile \u001b[39m\u001b[32mc:\\Users\\wenjianzhu\\.conda\\envs\\radar312_win\\Lib\\site-packages\\nmc_met_io\\retrieve_cmadaas.py:31\u001b[39m\n\u001b[32m 28\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mxarray\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mas\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mxr\u001b[39;00m\n\u001b[32m 29\u001b[39m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mtqdm\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m tqdm\n\u001b[32m---> \u001b[39m\u001b[32m31\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mnmc_met_io\u001b[39;00m\u001b[34;01m.\u001b[39;00m\u001b[34;01mconfig\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mas\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mCONFIG\u001b[39;00m\n\u001b[32m 34\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mget_rest_result\u001b[39m(interface_id, params, url_only=\u001b[38;5;28;01mFalse\u001b[39;00m,\n\u001b[32m 35\u001b[39m dns=\u001b[38;5;28;01mNone\u001b[39;00m, port=\u001b[38;5;28;01mNone\u001b[39;00m, data_format=\u001b[33m'\u001b[39m\u001b[33mjson\u001b[39m\u001b[33m'\u001b[39m):\n\u001b[32m 36\u001b[39m \u001b[38;5;250m \u001b[39m\u001b[33;03m\"\"\"\u001b[39;00m\n\u001b[32m 37\u001b[39m \u001b[33;03m Get the http result from CAMDaaS REST api service.\u001b[39;00m\n\u001b[32m 38\u001b[39m \u001b[33;03m 2021/01/13, 采用hashlib.md5对输入参数进行加密, 则在url中不会出现pwd关键字, 数据传输更加安全.\u001b[39;00m\n\u001b[32m (...)\u001b[39m\u001b[32m 59\u001b[39m \u001b[33;03m data = get_rest_result('getSurfEleByTime', params)\u001b[39;00m\n\u001b[32m 60\u001b[39m \u001b[33;03m \"\"\"\u001b[39;00m\n",
|
|
34
|
+
"\u001b[36mFile \u001b[39m\u001b[32mc:\\Users\\wenjianzhu\\.conda\\envs\\radar312_win\\Lib\\site-packages\\nmc_met_io\\config.py:60\u001b[39m\n\u001b[32m 57\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m config\n\u001b[32m 59\u001b[39m \u001b[38;5;66;03m# Global Variables\u001b[39;00m\n\u001b[32m---> \u001b[39m\u001b[32m60\u001b[39m CONFIG = \u001b[43m_get_config_from_rcfile\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 63\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mget_cache_file\u001b[39m(sub_dir, filename, name=\u001b[38;5;28;01mNone\u001b[39;00m, cache_clear=\u001b[38;5;28;01mTrue\u001b[39;00m):\n\u001b[32m 64\u001b[39m \u001b[38;5;250m \u001b[39m\u001b[33;03m\"\"\"\u001b[39;00m\n\u001b[32m 65\u001b[39m \u001b[33;03m Get the cache file pathname.\u001b[39;00m\n\u001b[32m 66\u001b[39m \n\u001b[32m (...)\u001b[39m\u001b[32m 70\u001b[39m \u001b[33;03m :param cache_clear: if True, clear old cache folder\u001b[39;00m\n\u001b[32m 71\u001b[39m \u001b[33;03m \"\"\"\u001b[39;00m\n",
|
|
35
|
+
"\u001b[36mFile \u001b[39m\u001b[32mc:\\Users\\wenjianzhu\\.conda\\envs\\radar312_win\\Lib\\site-packages\\nmc_met_io\\config.py:47\u001b[39m, in \u001b[36m_get_config_from_rcfile\u001b[39m\u001b[34m()\u001b[39m\n\u001b[32m 41\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m rc.is_file():\n\u001b[32m 42\u001b[39m msg = (\n\u001b[32m 43\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mThe \u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[33m doese not exist. Please create it with text editor. \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 44\u001b[39m \u001b[33m\"\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[33m Refer to https://github.com/nmcdev/nmc_met_io \u001b[39m\u001b[33m\"\u001b[39m.format(\n\u001b[32m 45\u001b[39m CONFIG_DIR / \u001b[33m\"\u001b[39m\u001b[33mconfig.ini\u001b[39m\u001b[33m\"\u001b[39m)\n\u001b[32m 46\u001b[39m )\n\u001b[32m---> \u001b[39m\u001b[32m47\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m _ConfigFetchError(msg)\n\u001b[32m 49\u001b[39m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[32m 50\u001b[39m config = configparser.ConfigParser()\n",
|
|
36
|
+
"\u001b[31m_ConfigFetchError\u001b[39m: The C:\\Users\\wenjianzhu\\.nmcdev\\config.ini doese not exist. Please create it with text editor. \n Refer to https://github.com/nmcdev/nmc_met_io "
|
|
40
37
|
]
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"data": {
|
|
44
|
-
"text/plain": [
|
|
45
|
-
"True"
|
|
46
|
-
]
|
|
47
|
-
},
|
|
48
|
-
"execution_count": 1,
|
|
49
|
-
"metadata": {},
|
|
50
|
-
"output_type": "execute_result"
|
|
51
38
|
}
|
|
52
39
|
],
|
|
53
40
|
"source": [
|
|
@@ -67,7 +54,7 @@
|
|
|
67
54
|
},
|
|
68
55
|
{
|
|
69
56
|
"cell_type": "code",
|
|
70
|
-
"execution_count":
|
|
57
|
+
"execution_count": 2,
|
|
71
58
|
"id": "eb054787",
|
|
72
59
|
"metadata": {},
|
|
73
60
|
"outputs": [
|
|
@@ -75,17 +62,17 @@
|
|
|
75
62
|
"name": "stdout",
|
|
76
63
|
"output_type": "stream",
|
|
77
64
|
"text": [
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
65
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/mosaic_qref//2025/07/05/RADA_L3_MST_REF_QC/Z_RADA_C_BABJ_20250705060640_P_DOR_ACHN_QREF_20250705_060000.bin\n",
|
|
66
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/mosaic_qref//2025/07/05/RADA_L3_MST_REF_QC/Z_RADA_C_BABJ_20250705061240_P_DOR_ACHN_QREF_20250705_060600.bin\n",
|
|
67
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/mosaic_qref//2025/07/05/RADA_L3_MST_REF_QC/Z_RADA_C_BABJ_20250705061841_P_DOR_ACHN_QREF_20250705_061200.bin\n",
|
|
68
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/mosaic_qref//2025/07/05/RADA_L3_MST_REF_QC/Z_RADA_C_BABJ_20250705062440_P_DOR_ACHN_QREF_20250705_061800.bin\n",
|
|
69
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/mosaic_qref//2025/07/05/RADA_L3_MST_REF_QC/Z_RADA_C_BABJ_20250705063041_P_DOR_ACHN_QREF_20250705_062400.bin\n",
|
|
70
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/mosaic_qref//2025/07/05/RADA_L3_MST_REF_QC/Z_RADA_C_BABJ_20250705063640_P_DOR_ACHN_QREF_20250705_063000.bin\n",
|
|
71
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/mosaic_qref//2025/07/05/RADA_L3_MST_REF_QC/Z_RADA_C_BABJ_20250705064241_P_DOR_ACHN_QREF_20250705_063600.bin\n",
|
|
72
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/mosaic_qref//2025/07/05/RADA_L3_MST_REF_QC/Z_RADA_C_BABJ_20250705064840_P_DOR_ACHN_QREF_20250705_064200.bin\n",
|
|
73
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/mosaic_qref//2025/07/05/RADA_L3_MST_REF_QC/Z_RADA_C_BABJ_20250705065440_P_DOR_ACHN_QREF_20250705_064800.bin\n",
|
|
74
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/mosaic_qref//2025/07/05/RADA_L3_MST_REF_QC/Z_RADA_C_BABJ_20250705070041_P_DOR_ACHN_QREF_20250705_065400.bin\n",
|
|
75
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/mosaic_qref//2025/07/05/RADA_L3_MST_REF_QC/Z_RADA_C_BABJ_20250705070639_P_DOR_ACHN_QREF_20250705_070000.bin\n"
|
|
89
76
|
]
|
|
90
77
|
},
|
|
91
78
|
{
|
|
@@ -94,7 +81,7 @@
|
|
|
94
81
|
"True"
|
|
95
82
|
]
|
|
96
83
|
},
|
|
97
|
-
"execution_count":
|
|
84
|
+
"execution_count": 2,
|
|
98
85
|
"metadata": {},
|
|
99
86
|
"output_type": "execute_result"
|
|
100
87
|
}
|
|
@@ -418,7 +405,7 @@
|
|
|
418
405
|
},
|
|
419
406
|
{
|
|
420
407
|
"cell_type": "code",
|
|
421
|
-
"execution_count":
|
|
408
|
+
"execution_count": 3,
|
|
422
409
|
"id": "f8cebf80",
|
|
423
410
|
"metadata": {},
|
|
424
411
|
"outputs": [
|
|
@@ -426,26 +413,26 @@
|
|
|
426
413
|
"name": "stdout",
|
|
427
414
|
"output_type": "stream",
|
|
428
415
|
"text": [
|
|
429
|
-
"
|
|
430
|
-
"
|
|
431
|
-
"
|
|
432
|
-
"
|
|
433
|
-
"
|
|
434
|
-
"
|
|
435
|
-
"
|
|
436
|
-
"
|
|
437
|
-
"
|
|
438
|
-
"
|
|
439
|
-
"
|
|
440
|
-
"
|
|
441
|
-
"
|
|
442
|
-
"
|
|
443
|
-
"
|
|
444
|
-
"
|
|
445
|
-
"
|
|
446
|
-
"
|
|
447
|
-
"
|
|
448
|
-
"
|
|
416
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/radar_level2//2025/07/05/Z9010/Z_RADR_I_Z9010_20250705062401_O_DOR_SAD_CAP_FMT.bin.bz2\n",
|
|
417
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/radar_level2//2025/07/05/Z9200/Z_RADR_I_Z9200_20250705062400_O_DOR_SAD_CAP_FMT.bin.bz2\n",
|
|
418
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/radar_level2//2025/07/05/Z9010/Z_RADR_I_Z9010_20250705063001_O_DOR_SAD_CAP_FMT.bin.bz2\n",
|
|
419
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/radar_level2//2025/07/05/Z9200/Z_RADR_I_Z9200_20250705063000_O_DOR_SAD_CAP_FMT.bin.bz2\n",
|
|
420
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/radar_level2//2025/07/05/Z9010/Z_RADR_I_Z9010_20250705063601_O_DOR_SAD_CAP_FMT.bin.bz2\n",
|
|
421
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/radar_level2//2025/07/05/Z9200/Z_RADR_I_Z9200_20250705063600_O_DOR_SAD_CAP_FMT.bin.bz2\n",
|
|
422
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/radar_level2//2025/07/05/Z9010/Z_RADR_I_Z9010_20250705064200_O_DOR_SAD_CAP_FMT.bin.bz2\n",
|
|
423
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/radar_level2//2025/07/05/Z9200/Z_RADR_I_Z9200_20250705064201_O_DOR_SAD_CAP_FMT.bin.bz2\n",
|
|
424
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/radar_level2//2025/07/05/Z9010/Z_RADR_I_Z9010_20250705064800_O_DOR_SAD_CAP_FMT.bin.bz2\n",
|
|
425
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/radar_level2//2025/07/05/Z9200/Z_RADR_I_Z9200_20250705064800_O_DOR_SAD_CAP_FMT.bin.bz2\n",
|
|
426
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/radar_level2//2025/07/05/Z9010/Z_RADR_I_Z9010_20250705065401_O_DOR_SAD_CAP_FMT.bin.bz2\n",
|
|
427
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/radar_level2//2025/07/05/Z9200/Z_RADR_I_Z9200_20250705065401_O_DOR_SAD_CAP_FMT.bin.bz2\n",
|
|
428
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/radar_level2//2025/07/05/Z9010/Z_RADR_I_Z9010_20250705060000_O_DOR_SAD_CAP_FMT.bin.bz2\n",
|
|
429
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/radar_level2//2025/07/05/Z9200/Z_RADR_I_Z9200_20250705060000_O_DOR_SAD_CAP_FMT.bin.bz2\n",
|
|
430
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/radar_level2//2025/07/05/Z9010/Z_RADR_I_Z9010_20250705060600_O_DOR_SAD_CAP_FMT.bin.bz2\n",
|
|
431
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/radar_level2//2025/07/05/Z9200/Z_RADR_I_Z9200_20250705060600_O_DOR_SAD_CAP_FMT.bin.bz2\n",
|
|
432
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/radar_level2//2025/07/05/Z9010/Z_RADR_I_Z9010_20250705061200_O_DOR_SAD_CAP_FMT.bin.bz2\n",
|
|
433
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/radar_level2//2025/07/05/Z9200/Z_RADR_I_Z9200_20250705061201_O_DOR_SAD_CAP_FMT.bin.bz2\n",
|
|
434
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/radar_level2//2025/07/05/Z9010/Z_RADR_I_Z9010_20250705061801_O_DOR_SAD_CAP_FMT.bin.bz2\n",
|
|
435
|
+
"File already exists: /mnt/e/metradar_test/cmadaas/radar_level2//2025/07/05/Z9200/Z_RADR_I_Z9200_20250705061800_O_DOR_SAD_CAP_FMT.bin.bz2\n"
|
|
449
436
|
]
|
|
450
437
|
},
|
|
451
438
|
{
|
|
@@ -454,7 +441,7 @@
|
|
|
454
441
|
"True"
|
|
455
442
|
]
|
|
456
443
|
},
|
|
457
|
-
"execution_count":
|
|
444
|
+
"execution_count": 3,
|
|
458
445
|
"metadata": {},
|
|
459
446
|
"output_type": "execute_result"
|
|
460
447
|
}
|
|
@@ -702,7 +689,7 @@
|
|
|
702
689
|
],
|
|
703
690
|
"metadata": {
|
|
704
691
|
"kernelspec": {
|
|
705
|
-
"display_name": "
|
|
692
|
+
"display_name": "radar312_win",
|
|
706
693
|
"language": "python",
|
|
707
694
|
"name": "python3"
|
|
708
695
|
},
|
|
@@ -716,7 +703,7 @@
|
|
|
716
703
|
"name": "python",
|
|
717
704
|
"nbconvert_exporter": "python",
|
|
718
705
|
"pygments_lexer": "ipython3",
|
|
719
|
-
"version": "3.12.
|
|
706
|
+
"version": "3.12.0"
|
|
720
707
|
}
|
|
721
708
|
},
|
|
722
709
|
"nbformat": 4,
|
|
@@ -13,25 +13,7 @@
|
|
|
13
13
|
"execution_count": 1,
|
|
14
14
|
"id": "72026524",
|
|
15
15
|
"metadata": {},
|
|
16
|
-
"outputs": [
|
|
17
|
-
{
|
|
18
|
-
"name": "stdout",
|
|
19
|
-
"output_type": "stream",
|
|
20
|
-
"text": [
|
|
21
|
-
"\n",
|
|
22
|
-
"## You are using the Python ARM Radar Toolkit (Py-ART), an open source\n",
|
|
23
|
-
"## library for working with weather radar data. Py-ART is partly\n",
|
|
24
|
-
"## supported by the U.S. Department of Energy as part of the Atmospheric\n",
|
|
25
|
-
"## Radiation Measurement (ARM) Climate Research Facility, an Office of\n",
|
|
26
|
-
"## Science user facility.\n",
|
|
27
|
-
"##\n",
|
|
28
|
-
"## If you use this software to prepare a publication, please cite:\n",
|
|
29
|
-
"##\n",
|
|
30
|
-
"## JJ Helmus and SM Collis, JORS 2016, doi: 10.5334/jors.119\n",
|
|
31
|
-
"\n"
|
|
32
|
-
]
|
|
33
|
-
}
|
|
34
|
-
],
|
|
16
|
+
"outputs": [],
|
|
35
17
|
"source": [
|
|
36
18
|
"%matplotlib inline\n",
|
|
37
19
|
"import os\n",
|
|
@@ -57,7 +39,7 @@
|
|
|
57
39
|
},
|
|
58
40
|
{
|
|
59
41
|
"cell_type": "code",
|
|
60
|
-
"execution_count":
|
|
42
|
+
"execution_count": 3,
|
|
61
43
|
"id": "324d2930",
|
|
62
44
|
"metadata": {},
|
|
63
45
|
"outputs": [
|
|
@@ -207,7 +207,7 @@
|
|
|
207
207
|
},
|
|
208
208
|
{
|
|
209
209
|
"cell_type": "code",
|
|
210
|
-
"execution_count":
|
|
210
|
+
"execution_count": 4,
|
|
211
211
|
"id": "c21f2504",
|
|
212
212
|
"metadata": {},
|
|
213
213
|
"outputs": [
|
|
@@ -302,7 +302,7 @@
|
|
|
302
302
|
},
|
|
303
303
|
{
|
|
304
304
|
"cell_type": "code",
|
|
305
|
-
"execution_count":
|
|
305
|
+
"execution_count": 5,
|
|
306
306
|
"id": "d0e037d0",
|
|
307
307
|
"metadata": {},
|
|
308
308
|
"outputs": [
|
|
@@ -312,7 +312,7 @@
|
|
|
312
312
|
"True"
|
|
313
313
|
]
|
|
314
314
|
},
|
|
315
|
-
"execution_count":
|
|
315
|
+
"execution_count": 5,
|
|
316
316
|
"metadata": {},
|
|
317
317
|
"output_type": "execute_result"
|
|
318
318
|
}
|
|
@@ -326,7 +326,7 @@
|
|
|
326
326
|
},
|
|
327
327
|
{
|
|
328
328
|
"cell_type": "code",
|
|
329
|
-
"execution_count":
|
|
329
|
+
"execution_count": 6,
|
|
330
330
|
"id": "15c8dc34",
|
|
331
331
|
"metadata": {},
|
|
332
332
|
"outputs": [
|
|
@@ -334,12 +334,12 @@
|
|
|
334
334
|
"name": "stdout",
|
|
335
335
|
"output_type": "stream",
|
|
336
336
|
"text": [
|
|
337
|
+
"differential_phase\n",
|
|
338
|
+
"velocity\n",
|
|
337
339
|
"reflectivity\n",
|
|
338
340
|
"cross_correlation_ratio\n",
|
|
339
|
-
"differential_phase\n",
|
|
340
|
-
"spectrum_width\n",
|
|
341
341
|
"differential_reflectivity\n",
|
|
342
|
-
"
|
|
342
|
+
"spectrum_width\n",
|
|
343
343
|
"/mnt/e/metradar_test/radar_aws/pic/垂直剖面/20210720.083000.reflectivity.png\n"
|
|
344
344
|
]
|
|
345
345
|
}
|
|
@@ -351,7 +351,7 @@
|
|
|
351
351
|
},
|
|
352
352
|
{
|
|
353
353
|
"cell_type": "code",
|
|
354
|
-
"execution_count":
|
|
354
|
+
"execution_count": 7,
|
|
355
355
|
"id": "692dd914",
|
|
356
356
|
"metadata": {},
|
|
357
357
|
"outputs": [
|
|
@@ -359,7 +359,7 @@
|
|
|
359
359
|
"name": "stdout",
|
|
360
360
|
"output_type": "stream",
|
|
361
361
|
"text": [
|
|
362
|
-
"
|
|
362
|
+
"/mnt/e/metradar_test/radar_aws/pic/0.5_ref/20210720.083000.png\n"
|
|
363
363
|
]
|
|
364
364
|
}
|
|
365
365
|
],
|
|
@@ -464,7 +464,7 @@
|
|
|
464
464
|
},
|
|
465
465
|
{
|
|
466
466
|
"cell_type": "code",
|
|
467
|
-
"execution_count":
|
|
467
|
+
"execution_count": 8,
|
|
468
468
|
"id": "659cfafd",
|
|
469
469
|
"metadata": {},
|
|
470
470
|
"outputs": [
|
|
@@ -482,7 +482,7 @@
|
|
|
482
482
|
"True"
|
|
483
483
|
]
|
|
484
484
|
},
|
|
485
|
-
"execution_count":
|
|
485
|
+
"execution_count": 8,
|
|
486
486
|
"metadata": {},
|
|
487
487
|
"output_type": "execute_result"
|
|
488
488
|
}
|
|
@@ -495,7 +495,7 @@
|
|
|
495
495
|
},
|
|
496
496
|
{
|
|
497
497
|
"cell_type": "code",
|
|
498
|
-
"execution_count":
|
|
498
|
+
"execution_count": 9,
|
|
499
499
|
"id": "d529b2c6",
|
|
500
500
|
"metadata": {},
|
|
501
501
|
"outputs": [
|
|
@@ -515,10 +515,21 @@
|
|
|
515
515
|
},
|
|
516
516
|
{
|
|
517
517
|
"cell_type": "code",
|
|
518
|
-
"execution_count":
|
|
518
|
+
"execution_count": 10,
|
|
519
519
|
"id": "0fd33dfe",
|
|
520
520
|
"metadata": {},
|
|
521
|
-
"outputs": [
|
|
521
|
+
"outputs": [
|
|
522
|
+
{
|
|
523
|
+
"name": "stdout",
|
|
524
|
+
"output_type": "stream",
|
|
525
|
+
"text": [
|
|
526
|
+
"/mnt/e/metradar_test/radar_aws/pic/cref_pre/20210720.083000.png\n",
|
|
527
|
+
"/mnt/e/metradar_test/radar_aws/pic/cref_wind_barb/20210720.083000.png\n",
|
|
528
|
+
"/mnt/e/metradar_test/radar_aws/pic/cref_wind_quiver/20210720.083000.png\n",
|
|
529
|
+
"/mnt/e/metradar_test/radar_aws/pic/cref_pre_wind_barb/20210720.083000.png\n"
|
|
530
|
+
]
|
|
531
|
+
}
|
|
532
|
+
],
|
|
522
533
|
"source": [
|
|
523
534
|
"_draw_radar_other.draw_cref_pre(subdir='cref_pre',)\n",
|
|
524
535
|
"_draw_radar_other.draw_cref_wind_barb(subdir='cref_wind_barb',)\n",
|
|
@@ -255,7 +255,7 @@
|
|
|
255
255
|
},
|
|
256
256
|
{
|
|
257
257
|
"cell_type": "code",
|
|
258
|
-
"execution_count":
|
|
258
|
+
"execution_count": 3,
|
|
259
259
|
"metadata": {},
|
|
260
260
|
"outputs": [],
|
|
261
261
|
"source": [
|
|
@@ -294,7 +294,7 @@
|
|
|
294
294
|
},
|
|
295
295
|
{
|
|
296
296
|
"cell_type": "code",
|
|
297
|
-
"execution_count":
|
|
297
|
+
"execution_count": 4,
|
|
298
298
|
"metadata": {},
|
|
299
299
|
"outputs": [
|
|
300
300
|
{
|
|
@@ -479,7 +479,7 @@
|
|
|
479
479
|
},
|
|
480
480
|
{
|
|
481
481
|
"cell_type": "code",
|
|
482
|
-
"execution_count":
|
|
482
|
+
"execution_count": null,
|
|
483
483
|
"metadata": {},
|
|
484
484
|
"outputs": [
|
|
485
485
|
{
|
|
@@ -495,9 +495,6 @@
|
|
|
495
495
|
],
|
|
496
496
|
"source": [
|
|
497
497
|
"fig = plt.figure(figsize=(8,6))\n",
|
|
498
|
-
"# nmc_draw.add_china_map_2cartopy(ax1, name='county', edgecolor='darkgray', lw=0.5)\n",
|
|
499
|
-
"# nmc_draw.add_china_map_2cartopy(ax1, name='province', edgecolor='k', lw=1)\n",
|
|
500
|
-
"\n",
|
|
501
498
|
"display.plot_ppi_map('cross_correlation_ratio', 0, vmin=0.45, vmax=1,cmap='Wild25',resolution='50m',\n",
|
|
502
499
|
" min_lon=g_rad_lon-rs, max_lon=g_rad_lon+rs, \n",
|
|
503
500
|
" min_lat=g_rad_lat -rs, max_lat=g_rad_lat +rs,\n",
|
|
@@ -13,25 +13,7 @@
|
|
|
13
13
|
"execution_count": 1,
|
|
14
14
|
"id": "ceb714d7",
|
|
15
15
|
"metadata": {},
|
|
16
|
-
"outputs": [
|
|
17
|
-
{
|
|
18
|
-
"name": "stdout",
|
|
19
|
-
"output_type": "stream",
|
|
20
|
-
"text": [
|
|
21
|
-
"\n",
|
|
22
|
-
"## You are using the Python ARM Radar Toolkit (Py-ART), an open source\n",
|
|
23
|
-
"## library for working with weather radar data. Py-ART is partly\n",
|
|
24
|
-
"## supported by the U.S. Department of Energy as part of the Atmospheric\n",
|
|
25
|
-
"## Radiation Measurement (ARM) Climate Research Facility, an Office of\n",
|
|
26
|
-
"## Science user facility.\n",
|
|
27
|
-
"##\n",
|
|
28
|
-
"## If you use this software to prepare a publication, please cite:\n",
|
|
29
|
-
"##\n",
|
|
30
|
-
"## JJ Helmus and SM Collis, JORS 2016, doi: 10.5334/jors.119\n",
|
|
31
|
-
"\n"
|
|
32
|
-
]
|
|
33
|
-
}
|
|
34
|
-
],
|
|
16
|
+
"outputs": [],
|
|
35
17
|
"source": [
|
|
36
18
|
"%matplotlib inline\n",
|
|
37
19
|
"import os\n",
|
|
@@ -257,7 +239,7 @@
|
|
|
257
239
|
},
|
|
258
240
|
{
|
|
259
241
|
"cell_type": "code",
|
|
260
|
-
"execution_count":
|
|
242
|
+
"execution_count": 4,
|
|
261
243
|
"id": "a8bf6040",
|
|
262
244
|
"metadata": {},
|
|
263
245
|
"outputs": [
|
|
@@ -85,17 +85,6 @@
|
|
|
85
85
|
"name": "stdout",
|
|
86
86
|
"output_type": "stream",
|
|
87
87
|
"text": [
|
|
88
|
-
"\n",
|
|
89
|
-
"## You are using the Python ARM Radar Toolkit (Py-ART), an open source\n",
|
|
90
|
-
"## library for working with weather radar data. Py-ART is partly\n",
|
|
91
|
-
"## supported by the U.S. Department of Energy as part of the Atmospheric\n",
|
|
92
|
-
"## Radiation Measurement (ARM) Climate Research Facility, an Office of\n",
|
|
93
|
-
"## Science user facility.\n",
|
|
94
|
-
"##\n",
|
|
95
|
-
"## If you use this software to prepare a publication, please cite:\n",
|
|
96
|
-
"##\n",
|
|
97
|
-
"## JJ Helmus and SM Collis, JORS 2016, doi: 10.5334/jors.119\n",
|
|
98
|
-
"\n",
|
|
99
88
|
"write pgmb file /mnt/e/metradar_test/pysteps_data/radar/fmi/20250609/202506091000_fmi.radar.composite.lowest_FIN_SUOMI1.pgm successfully!\n",
|
|
100
89
|
"write pgmb file /mnt/e/metradar_test/pysteps_data/radar/fmi/20250609/202506091006_fmi.radar.composite.lowest_FIN_SUOMI1.pgm successfully!\n",
|
|
101
90
|
"write pgmb file /mnt/e/metradar_test/pysteps_data/radar/fmi/20250609/202506091012_fmi.radar.composite.lowest_FIN_SUOMI1.pgm successfully!\n",
|
|
@@ -196,7 +185,7 @@
|
|
|
196
185
|
},
|
|
197
186
|
{
|
|
198
187
|
"cell_type": "code",
|
|
199
|
-
"execution_count":
|
|
188
|
+
"execution_count": 3,
|
|
200
189
|
"id": "62bf1909",
|
|
201
190
|
"metadata": {},
|
|
202
191
|
"outputs": [
|
|
@@ -204,21 +193,23 @@
|
|
|
204
193
|
"name": "stdout",
|
|
205
194
|
"output_type": "stream",
|
|
206
195
|
"text": [
|
|
207
|
-
"/
|
|
208
|
-
"
|
|
209
|
-
"/mnt/e/metradar_test/pysteps_nowcast/pic/
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
"
|
|
218
|
-
"
|
|
219
|
-
"
|
|
220
|
-
"
|
|
221
|
-
"
|
|
196
|
+
"Pysteps configuration file found at: /home/wjzhu/.pysteps/pystepsrc\n",
|
|
197
|
+
"\n",
|
|
198
|
+
"/mnt/e/metradar_test/pysteps_nowcast/pic/202506091100_obs.png saved!\n"
|
|
199
|
+
]
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"ename": "MissingOptionalDependency",
|
|
203
|
+
"evalue": "opencv package is required for the morphologyEx routine but it is not installed",
|
|
204
|
+
"output_type": "error",
|
|
205
|
+
"traceback": [
|
|
206
|
+
"\u001b[31m---------------------------------------------------------------------------\u001b[39m",
|
|
207
|
+
"\u001b[31mMissingOptionalDependency\u001b[39m Traceback (most recent call last)",
|
|
208
|
+
"\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[3]\u001b[39m\u001b[32m, line 115\u001b[39m\n\u001b[32m 85\u001b[39m \u001b[38;5;66;03m# Convert to rain rate\u001b[39;00m\n\u001b[32m 86\u001b[39m \u001b[38;5;66;03m# R, metadata = conversion.to_rainrate(Z, metadata)\u001b[39;00m\n\u001b[32m 87\u001b[39m \n\u001b[32m (...)\u001b[39m\u001b[32m 112\u001b[39m \u001b[38;5;66;03m# Estimate the motion field with Lucas-Kanade\u001b[39;00m\n\u001b[32m 113\u001b[39m \u001b[38;5;66;03m# st = time.time()\u001b[39;00m\n\u001b[32m 114\u001b[39m oflow_method = motion.get_method(\u001b[33m\"\u001b[39m\u001b[33mLK\u001b[39m\u001b[33m\"\u001b[39m)\n\u001b[32m--> \u001b[39m\u001b[32m115\u001b[39m V = \u001b[43moflow_method\u001b[49m\u001b[43m(\u001b[49m\u001b[43mZ\u001b[49m\u001b[43m[\u001b[49m\u001b[43m-\u001b[49m\u001b[32;43m3\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m:\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m:\u001b[49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 117\u001b[39m \u001b[38;5;66;03m# Extrapolate the last radar observation\u001b[39;00m\n\u001b[32m 118\u001b[39m extrapolate = nowcasts.get_method(\u001b[33m\"\u001b[39m\u001b[33mextrapolation\u001b[39m\u001b[33m\"\u001b[39m)\n",
|
|
209
|
+
"\u001b[36mFile \u001b[39m\u001b[32m~/miniconda3/envs/radar312/lib/python3.12/site-packages/pysteps/decorators.py:145\u001b[39m, in \u001b[36mcheck_input_frames.<locals>._check_input_frames.<locals>.new_function\u001b[39m\u001b[34m(*args, **kwargs)\u001b[39m\n\u001b[32m 138\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m minimum_input_frames < num_of_frames > maximum_input_frames:\n\u001b[32m 139\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[32m 140\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33minput_images frames \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mnum_of_frames\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m mismatch.\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[33m\"\u001b[39m\n\u001b[32m 141\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mMinimum frames: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mminimum_input_frames\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[33m\"\u001b[39m\n\u001b[32m 142\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mMaximum frames: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mmaximum_input_frames\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[33m\"\u001b[39m\n\u001b[32m 143\u001b[39m )\n\u001b[32m--> \u001b[39m\u001b[32m145\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mmotion_method_func\u001b[49m\u001b[43m(\u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
|
|
210
|
+
"\u001b[36mFile \u001b[39m\u001b[32m~/miniconda3/envs/radar312/lib/python3.12/site-packages/pysteps/motion/lucaskanade.py:223\u001b[39m, in \u001b[36mdense_lucaskanade\u001b[39m\u001b[34m(input_images, lk_kwargs, fd_method, fd_kwargs, interp_method, interp_kwargs, dense, nr_std_outlier, k_outlier, size_opening, decl_scale, verbose)\u001b[39m\n\u001b[32m 221\u001b[39m \u001b[38;5;66;03m# remove small noise with a morphological operator (opening)\u001b[39;00m\n\u001b[32m 222\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m size_opening > \u001b[32m0\u001b[39m:\n\u001b[32m--> \u001b[39m\u001b[32m223\u001b[39m prvs_img = \u001b[43mmorph_opening\u001b[49m\u001b[43m(\u001b[49m\u001b[43mprvs_img\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mprvs_img\u001b[49m\u001b[43m.\u001b[49m\u001b[43mmin\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msize_opening\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 224\u001b[39m next_img = morph_opening(next_img, next_img.min(), size_opening)\n\u001b[32m 226\u001b[39m \u001b[38;5;66;03m# features detection\u001b[39;00m\n",
|
|
211
|
+
"\u001b[36mFile \u001b[39m\u001b[32m~/miniconda3/envs/radar312/lib/python3.12/site-packages/pysteps/utils/images.py:52\u001b[39m, in \u001b[36mmorph_opening\u001b[39m\u001b[34m(input_image, thr, n)\u001b[39m\n\u001b[32m 27\u001b[39m \u001b[38;5;250m\u001b[39m\u001b[33;03m\"\"\"\u001b[39;00m\n\u001b[32m 28\u001b[39m \u001b[33;03mFilter out small scale noise on the image by applying a binary\u001b[39;00m\n\u001b[32m 29\u001b[39m \u001b[33;03mmorphological opening, that is, erosion followed by dilation.\u001b[39;00m\n\u001b[32m (...)\u001b[39m\u001b[32m 49\u001b[39m \u001b[33;03m Array of shape (m,n) containing the filtered image.\u001b[39;00m\n\u001b[32m 50\u001b[39m \u001b[33;03m\"\"\"\u001b[39;00m\n\u001b[32m 51\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m CV2_IMPORTED:\n\u001b[32m---> \u001b[39m\u001b[32m52\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m MissingOptionalDependency(\n\u001b[32m 53\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mopencv package is required for the morphologyEx \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 54\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mroutine but it is not installed\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 55\u001b[39m )\n\u001b[32m 57\u001b[39m input_image = input_image.copy()\n\u001b[32m 59\u001b[39m \u001b[38;5;66;03m# Check if a MaskedArray is used. If not, mask the ndarray\u001b[39;00m\n",
|
|
212
|
+
"\u001b[31mMissingOptionalDependency\u001b[39m: opencv package is required for the morphologyEx routine but it is not installed"
|
|
222
213
|
]
|
|
223
214
|
}
|
|
224
215
|
],
|
|
@@ -433,7 +424,7 @@
|
|
|
433
424
|
},
|
|
434
425
|
{
|
|
435
426
|
"cell_type": "code",
|
|
436
|
-
"execution_count":
|
|
427
|
+
"execution_count": 4,
|
|
437
428
|
"id": "52e50161",
|
|
438
429
|
"metadata": {},
|
|
439
430
|
"outputs": [
|
|
@@ -454,7 +445,7 @@
|
|
|
454
445
|
"202506091240_fst.png added!\n",
|
|
455
446
|
"202506091250_fst.png added!\n",
|
|
456
447
|
"202506091300_fst.png added!\n",
|
|
457
|
-
"/mnt/e/metradar_test/
|
|
448
|
+
"/mnt/e/metradar_test/pysteps_data/pic/202506091300_fst.png.gif saved successfully!\n"
|
|
458
449
|
]
|
|
459
450
|
}
|
|
460
451
|
],
|
|
@@ -253,7 +253,7 @@
|
|
|
253
253
|
},
|
|
254
254
|
{
|
|
255
255
|
"cell_type": "code",
|
|
256
|
-
"execution_count":
|
|
256
|
+
"execution_count": 3,
|
|
257
257
|
"id": "c4021b38",
|
|
258
258
|
"metadata": {},
|
|
259
259
|
"outputs": [
|
|
@@ -292,7 +292,7 @@
|
|
|
292
292
|
},
|
|
293
293
|
{
|
|
294
294
|
"cell_type": "code",
|
|
295
|
-
"execution_count":
|
|
295
|
+
"execution_count": 4,
|
|
296
296
|
"id": "86cf9702",
|
|
297
297
|
"metadata": {},
|
|
298
298
|
"outputs": [],
|
|
@@ -311,7 +311,7 @@
|
|
|
311
311
|
},
|
|
312
312
|
{
|
|
313
313
|
"cell_type": "code",
|
|
314
|
-
"execution_count":
|
|
314
|
+
"execution_count": 5,
|
|
315
315
|
"id": "b3433616",
|
|
316
316
|
"metadata": {},
|
|
317
317
|
"outputs": [
|