1 # sample data into mesh - Sugarloaf
2 # navigate to /share_home/jmandel/sugarloaf to access sample data
4 from interpolation
import sort_dates
9 csv
=False # CSV file of fire detections
10 opt
='granules' # KML folders sorted by (pixels, granules or dates)
12 fxlon
,fxlat
,bbox
,time_esmf
=read_fire_mesh('wrfout_d03_2018-09-03_15:00:00')
14 # cannot get starting time from wrfout
15 time_iso
= ("2018-08-15T00:00:00Z", "2018-09-02T00:00:00Z") # tuple, not array
17 data
=retrieve_af_data(bbox
,time_iso
)
19 print 'Sort the granules by dates'
20 sdata
=sort_dates(data
)
21 tt
=[ dd
[1]['time_num'] for dd
in sdata
] # array of times
26 print 'writting KML with fire detections'
27 keys
=['latitude','longitude','brightness','scan','track','acq_date','acq_time','satellite','instrument','confidence','bright_t31','frp','scan_angle']
28 dkeys
=['lat_fire','lon_fire','brig_fire','scan_fire','track_fire','acq_date','acq_time','sat_fire','instrument','conf_fire','t31_fire','frp_fire','scan_angle_fire']
29 prods
={'AF':'Active Fires','FRP':'Fire Radiative Power'}
30 if csv
or opt
!= 'granules':
31 N
=[len(data
[d
]['lat_fire']) for d
in data
]
32 json
=data2json(data
,keys
,dkeys
,N
)
35 json2kml(json
,'nofire.kml',bbox
,prods
,opt
=opt
)
37 N
=[len(d
[1]['lat_fire']) for d
in sdata
]
38 json
=sdata2json(sdata
,keys
,dkeys
,N
)
39 json2kml(json
,'fire_detections.kml',bbox
,prods
)
41 print 'writting KML with ground'
42 keys
=['latitude','longitude','scan','track','acq_date','acq_time','satellite','instrument','scan_angle']
43 dkeys
=['lat_nofire','lon_nofire','scan_nofire','track_nofire','acq_date','acq_time','sat_fire','instrument','scan_angle_nofire']
44 prods
={'NF':'No Fire'}
46 N
=[len(data
[d
]['lat_nofire']) for d
in data
]
47 json
=data2json(data
,keys
,dkeys
,N
)
48 json2kml(json
,'nofire.kml',bbox
,prods
,opt
=opt
)
50 N
=[len(d
[1]['lat_nofire']) for d
in sdata
]
51 json
=sdata2json(sdata
,keys
,dkeys
,N
)
52 json2kml(json
,'nofire.kml',bbox
,prods
)
55 sl
.save((data
,fxlon
,fxlat
,map(time_iso2num
,time_iso
)),'data')
57 print 'run setup next'