Skip to content

Commit f3d7774

Browse files
committed
added plot to icepx_region script
1 parent 90e2171 commit f3d7774

File tree

1 file changed

+19
-15
lines changed

1 file changed

+19
-15
lines changed

utils/icepx_region.py

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from datetime import date
33
from sliderule import ipxapi
44
from sliderule import icesat2
5+
import matplotlib.pyplot as plt
56
import icepyx
67

78
###############################################################################
@@ -15,7 +16,7 @@ def parse_command_line(args, cfg):
1516
if args[i] == '--'+entry:
1617
if type(cfg[entry]) is str:
1718
cfg[entry] = args[i + 1]
18-
elif type(cfg[entry]) is list:
19+
elif (type(cfg[entry]) is list) or (cfg[entry] is None):
1920
l = []
2021
while (i + 1) < len(args) and args[i + 1].isnumeric():
2122
l.append(int(args[i + 1]))
@@ -37,7 +38,7 @@ def parse_command_line(args, cfg):
3738

3839
# set script defaults
3940
scfg = {
40-
"url": ['127.0.0.1'],
41+
"url": '127.0.0.1',
4142
"asset": 'atlas-local'
4243
}
4344

@@ -46,8 +47,8 @@ def parse_command_line(args, cfg):
4647
"short_name": 'ATL03',
4748
"spatial_extent": 'valgrande.shp',
4849
"date_range": ['2018-01-01', "{}-{}-{}".format(today.year, today.month, today.day)],
49-
"cycles": [],
50-
"tracks": []
50+
"cycles": None,
51+
"tracks": None
5152
}
5253

5354
# set processing parameter defaults
@@ -66,27 +67,30 @@ def parse_command_line(args, cfg):
6667
parse_command_line(sys.argv, scfg)
6768
parse_command_line(sys.argv, parms)
6869

69-
# massage command line parameters
70-
if len(icfg["cycles"]) == 0:
71-
icfg["cycles"] = None
72-
if len(icfg["tracks"]) == 0:
73-
icfg["tracks"] = None
70+
# bypass service discovery if url is localhost
71+
if scfg["url"] == '127.0.0.1':
72+
scfg["url"] = ['127.0.0.1']
7473

7574
# create icepx region
7675
iregion = icepyx.Query(icfg["short_name"], icfg["spatial_extent"], icfg["date_range"], cycles=icfg["cycles"], tracks=icfg["tracks"])
7776

7877
# visualize icepx region
79-
iregion.visualize_spatial_extent()
78+
# iregion.visualize_spatial_extent()
8079

8180
# display summary information
8281
iregion.product_summary_info()
83-
print("Available Granules:", iregion.avail_granules())
84-
print("Available Granule IDs:", iregion.avail_granules(ids=True))
82+
# print("Available Granules:", iregion.avail_granules())
83+
# print("Available Granule IDs:", iregion.avail_granules(ids=True))
8584

8685
# initialize sliderule api
8786
icesat2.init(scfg["url"], verbose=True)
8887

8988
# generate sliderule atl06 elevations
90-
parms["poly"] = icesat2.toregion(icfg["spatial_extent"])
91-
ipxapi.atl06p(iregion, parms, scfg["asset"])
92-
89+
parms["poly"] = icesat2.toregion(icfg["spatial_extent"])[0]
90+
atl06_sr = ipxapi.atl06p(iregion, parms, scfg["asset"])
91+
92+
# Create Plot
93+
f, ax = plt.subplots()
94+
vmin, vmax = atl06_sr['h_mean'].quantile((0.02, 0.98))
95+
atl06_sr.plot(ax=ax, column='h_mean', cmap='inferno', s=0.1, vmin=vmin, vmax=vmax)
96+
plt.show()

0 commit comments

Comments
 (0)