This is the distribution of temperatures typical for this time of year, which we’ve defined as a seven day window either side of today. Just like a bell curve, the plot is higher at more common temperatures and lower at rare temperatures.
Here’s how the rest of Australia looks today so far.
nowHour = (newDate()).getUTCHours()nowHour >=10&& nowHour <=22?md`Some places may still be cooling off as the night continues.`:md`Some places may still be heating up as the day continues.`
nowHour = 18
Some places may still be cooling off as the night continues.
statsAllRaw =FA(bucket_base +"stats/stats_all.json").json()// statsAllRaw is an object with keys by station id, but we// need an array with an id field. let's move the ids instatsAll = {const statsArray = []Object.keys(statsAllRaw).map(k => statsArray.push({...statsAllRaw[k],id: k}))const tidiedStats = aq.from(statsArray).derive({lat: d =>op.parse_float(d.isit_lat),lon: d => op.parse_float(d.isit_lon),isit_average: d => op.parse_float(d.isit_average),// current? (that's the actual avg temp)isit_maximum: d => op.parse_float(d.isit_maximum),isit_minimum: d => op.parse_float(d.isit_minimum),max_when: d => op.parse_date(d.isit_maximum_dt),min_when: d => op.parse_date(d.isit_minimum_dt),slug: d => op.replace( op.replace( op.replace( op.lower(d.isit_label),/\s-\s/g,"-"),/\s/g,"-"),/[()]/g,"") })// mark as stale if latest obs are > 24 hours old.derive({max_stale: d => ((d.max_when- op.now()) / (1000*60)) / (24*60) >1,min_stale: d => ((d.min_when- op.now()) / (1000*60)) / (24*60) >1 }).objects()return(tidiedStats)}
// breaking out the pointer layer for readability// (and in case we decide to customise it later)tipTemplate = Plot.pointer({x:"lon",y:"lat",channels: {place: {label:"",value: d => d.isit_label, },label: {label:"",value: d => d.isit_comment },separator: {label:"",value: d =>"" },isit_maximum: {label:"Max:",value: d => d.isit_maximum+"°C" },isit_minimum: {label:"Min:",value: d => d.isit_minimum+"°C" } },fontSize:20,fontFamily:"Roboto Condensed",format: {x:null,y:null },lineWidth:20,lineHeight:1.25,pointerSize:0,fillOpacity:0.8,strokeOpacity:0})