Birds & soundscape

The study\'s central causal comparison: acoustic activity at the development site and at the control shoreline two kilometres away, compared on changes, never on levels. Period markers separate before, construction and operation.

'; $from=$_GET['from']??date('Y-m-d',strtotime('-30 days')); $to=$_GET['to']??date('Y-m-d'); echo '
' .'
' .'
'; $imp=stream_by_code('ac_impact_activity'); $ctl=stream_by_code('ac_control_activity'); if($imp&&$ctl){ $a=series($imp,$from.' 00:00:00',$to.' 23:59:59'); $b=series($ctl,$from.' 00:00:00',$to.' 23:59:59'); echo '

Vocal activity index ยท impact vs control '.mode_badge($imp).' '.mode_badge($ctl).'

'; echo '
'idx','normalize'=>false,'series'=>[ ['label'=>'Development site','slot'=>0,'data'=>array_map(fn($r)=>[substr($r['ts'],0,16),(float)$r['value']],$a)], ['label'=>'Control site (2 km)','slot'=>2,'data'=>array_map(fn($r)=>[substr($r['ts'],0,16),(float)$r['value']],$b)], ]])).'\'>
'; echo '

The control is not assumed to hold the same number of birds, and it does not need to: if activity falls at both sites, the region did it; if it falls only here, the development did.

'; echo instrument_card($imp); echo instrument_card($ctl); echo '
'; } foreach(['ac_species_rich','ac_dawn_chorus'] as $c){ $s=stream_by_code($c); if(!$s) continue; $r=series($s,$from.' 00:00:00',$to.' 23:59:59'); echo '

'.h($s['label']).' '.mode_badge($s).'

$s['unit'],'series'=>[['label'=>$s['label'],'slot'=>(int)$s['series_slot'],'data'=>array_map(fn($x)=>[substr($x['ts'],0,16),(float)$x['value']],$r)]]])).'\'>
'.instrument_card($s).'
'; } page_footer();