async function* basinStatus (data) {
let cont = DOM.element('div', { style: `width:530px;height:276px` });
yield cont;
const divStyle = [{'textAlign':'center'}, {'fontFamily':'Arial, Helvetica, sans-serif'},
{'background-color':''},{'margin':'0px'},{'padding':'30px'},{'borderRadius':'25px'}];
let statAcc=[{'s':'p05','num':0},{'s':'p10','num':0},{'s':'p20','num':0},{'s':'p25','num':0},
{'s':'p50','num':0},{'s':'p75','num':0},{'s':'p80','num':0},{'s':'p90','num':0},{'s':'p95','num':0}];
const usgsLabels = {"p05":'LOW', "p10":'MUCH BELOW NORMAL', "p20":'BELOW NORMAL', "p25":'BELOW NORMAL', "p50":'NORMAL', "p75": 'NORMAL', "p80":'ABOVE NORMAL', "p90":'ABOVE NORMAL', "p95":'MUCH ABOVE NORMAL'};
const statCol = {"p05":'red', "p10":'redorange', "p20":'orange', "p25":'orange', "p50":'green', "p75": 'green', "p80":'blue', "p90":'darkblue', "p95":'#00034d'};
const statBor = {"p05":'15px solid red', "p10":'15px solid redorange', "p20":'15px solid orange', "p25":'15px solid orange', "p50":'15px solid green', "p75": '15px solid green', "p80":'15px solid blue', "p90":'15px solid darkblue', "p95":'15px solid #00034d'};
data.features.forEach(d => {
statAcc.forEach(e => d.properties.stationInfo.gagePercent == e.s ? e.num++ : '');
});
const getMedian = statAcc.reduce((a,d) => {
a.num == 0 ? a = d : (a.num < d.num ? a = d : '');
return a;
});
const widg = new Widget('indicator',divStyle);
const medianTxt = usgsLabels[getMedian.s];
const styles = [{'color':statCol[getMedian.s]},{'font-weight': 'bold'},{'font-size':'50px'}];
widg.addText('H3','St. Joseph Basin Median Gage Status');
widg.addBorder(statBor[getMedian.s]);
widg.addText('H1', medianTxt, styles);
widg.addText('H3',(`Gages Reporting: ${(data.features.length)}`));
cont.appendChild(widg.div);
console.log(getMedian);
}