#!/usr/bin/perl

# Calculate baselines

# Usage: bl.pl lat1 long1 lat2 long2

die "usage: bl.pl lat1 long1 lat2 long2.  (in deg)" if @ARGV != 4;

$PI = 3.14159265358979;

$lat1=$ARGV[0]*$PI/180.;
$long1=$ARGV[1]*$PI/180.;
$lat2=$ARGV[2]*$PI/180.;
$long2=$ARGV[3]*$PI/180.;

$rearth=6373;			# km

$x1 = $rearth * sin(0.5*$PI - $lat1) * cos($long1);
$x2 = $rearth * sin(0.5*$PI - $lat2) * cos($long2);

$y1 = $rearth * sin(0.5*$PI - $lat1) * sin($long1);
$y2 = $rearth * sin(0.5*$PI - $lat2) * sin($long2);

$z1 = $rearth * cos(0.5*$PI - $lat1);
$z2 = $rearth * cos(0.5*$PI - $lat2);

$dx=$x2-$x1;
$dy=$y2-$y1;
$dz=$z2-$z1;

$l = sqrt($dx*$dx + $dy*$dy + $dz*$dz);

print $l;
