#!/usr/bin/perl ######################################################################## # otfaste.pl -- a perl script to estimate OTF obs parameters for ASTE # usage: type "perl otfaste.pl" # 2006-11-15 for multi-ON/OFF observations # 2007-10-22 WHSF support # 2007-10-22 tdump=0.2 for WHSF # sawada @ NRO ######################################################################## $tapp = 4.; $ttran = 2.; $ttranoff = 5.; $fcal = 16./15.; $eta = 4.3; $etaq = 0.88; $tdump = 0.1; printf("### OTF sensitivity estimation for ASTE ###\n"); # /* BACKEND TYPE */ printf("backend type (1:MAC, 2:WHSF): "); chomp($betype = ); # /* MAPPING AREA */ printf("length of mapping area (along the scans) l1 [arcsec]: "); chomp($len1 = ); printf("length of mapping area (perp. to the scans) l2 [arcsec]: "); chomp($len2 = ); # /* TIME FOR SCAN */ printf("time for scan tscan [s]: "); chomp($tscan = ); # /* SEQUENCE PATTERN */ printf("number of ONs per OFF Nscan(SEQ): "); chomp($nscanseq = ); # /* SEPARATION BETWEEN SCANS */ printf("separation between scans (delta)l [arcsec]: "); chomp($deltal = ); # /* MAP GRID */ printf("map grid d [arcsec]: "); chomp($dgrid = ); # /* SYSTEM NOISE TEMPERATURE */ printf("system noise temperature Tsys [K]: "); chomp($tsys = ); # /* RESOLUTION BANDWIDTH */ printf("resolution bandwidth B [kHz]: "); chomp($bandw = ); printf("----------------------------------------------------------------\n"); # /* END OF INPUT */ if ($betype == 2) { $etaq = 0.64; $tdump = 0.2; } $vscan = $len1/$tscan; printf("vscan=%0.1f[\"/sec]",$vscan); printf(" (%0.1f\" per %0.1fs sample)\n",$vscan*$tdump,$tdump); $nrow = $len2/$deltal + 1; $tontot = $tscan*$nrow; $toh = 2.*$ttranoff/$nscanseq + $tapp + ($nscanseq-1)/$nscanseq*$ttran; $toff = sqrt(($tscan+$toh)*$eta*$nrow*$tscan*$deltal*$dgrid/$len1/$len2 * $nscanseq*$nscanseq*$dgrid/(($nscanseq-1)*$deltal+$dgrid)); printf("tOFF=%0.1f[s]",$toff); $toff = int($toff+0.5); printf(" -> %d[s]\n",$toff); printf("tOH=%0.1f[s]\n",$toh); $tobstot = $nrow*($tscan+$toff/$nscanseq+$toh) * $fcal; printf("ttot(ON)=%0.1f[min]\n",$tontot/60.); printf("ttot(OBS)=%0.1f[min]\n",$tobstot/60.); printf("eta(ON/OBS)=%0.2f\n",$tontot/$tobstot); $tcellon = $eta*$tontot*$dgrid*$dgrid/$len1/$len2; $tcelloff = $toff*(($nscanseq-1)*$deltal+$dgrid)/($nscanseq*$deltal); $dta = $tsys/$etaq/sqrt(1000.0*$bandw)*sqrt(1./$tcellon+1./$tcelloff); printf("tcell(ON)=%0.2f[s]\n",$tcellon); printf("tcell(OFF)=%0.2f[s]\n",$tcelloff); printf("dTa*=%0.2f[K]\n",$dta);