I don't think it's a PHP 8.3 issue, but instead, a clientrawextra.txt file that is empty at the time the script is run. Probably because WD is not set to have 'upload temporary file and rename' in the FTP settings.
The lines in question
$data = explode(" ",$file[0]);
$sunrise = $data[556];
$sunset = $data[557];
$moonrise = $data[558];
$moonset = $data[559];
all depend on having data (clientrawextra.txt) to explode() with spaces.
Using the clientraw parser on my site shows you do have data there
556 Sunrise Time 6:27am
557 Sunset Time 8:21pm
558 Moonrise Time 6:31am
559 Moonset Time 8:10pm
so I suspect it was a transient issue. Fix it by changing the way WD uploads the realtime files to use "upload as temporary and rename' option.