Astro::Misc(3pm)

NAME
Astro::Misc - Miscellaneous astronomical routines

SYNOPSIS
    use Astro::Misc;

    $U = calc_U($flux, $dist, $freq);
    ($dist1, $dist2)= kindist($ra, $dec, $vel, $epoch, $model);

DESCRIPTION
Astro::Misc contains an assorted set Perl routines for doing various astronomical calculations.

AUTHOR
Chris Phillips Chris.Phillips@csiro.au

FUNCTIONS

read_possm
     Read_possm interprets the output file from the AIPS POSSM task.
     the task may be called repeatably if there is more than one POSSM
     output in the file. The file must be open before calling
     read_possm, using the FileHandle module. The data from the possm
     plot is returned in a hash. Some of the header values are returned
     as scalar values while the actual plot values are returned as
     references to arrays. The scalar values returned are:
       SOURCE, DATE, TIME, BANDWIDTH, TYPE (='A&P'||'R&I')
     The array references are: CHANNEL,
       VELOCITY, FREQUENCY, AMPLITUDE, PHASE, ANTENNA
     The global variable $Astro::Misc:oldpossm (default=0) controls whether
     old or new style possm plots are read.  For oldpossm=1, one of
     VELOCITY or FREQUENCY will be a reference to an empty list (but the
     hash value IS defined).

     Usage:    use FileHandle
               my $fh = FileHandle->new();
               my %ahash = ();
               open($fh, 'possmfile');
               read_possm($fh, %ahash);

     Returns:  0 on success (but not hit eof)
               1 on success (and hit eof)
               2 on premature eof

     Examples of hash usage:
          $hash{SOURCE}         # Source name
          @{$hash{VELOCITY}}    # Array of velocity values
          ${$hash{PHASE}}[4]    # The fifth phase value

read_lovas
     Read_lovas read the Lovas "Recommended Rest Frequencies for Observed
     Interstellar Molecular Microwave Transitions - 1991 Revision"
     (J. Phys. Chem. Ref. Data, 21, 181-272, 1992). Alpha quality!!

       my @lovas = read_lovas($fname);
       my @lovas = read_lovas($fname, $minfreq, $maxfreq);

calc_U
      $U = calc_U($flux, $dist, $freq);

     Calculate U (Excitation Parameter) for an UCHII region
     Based on Eqn 8 in Schraml and Mezger, 1969
       $flux        Integrated Source Flux Density (Jy)
       $dist        Distance to source (kpc)
       $freq        Frequency of observation (GHz)
     Note:
      Uses the global variable $Astro::Misc::Temp for electron temperature
      Default is 10000K

calc_Nl
      $Nl = calc_Nl($U);

     Calculate the Lyman continuum photon flux given U, the Excitation
     Parameter for an UCHII region
       $U is the Excitation Parameter (from calc_U)
      Ref: Kurtz 1994 ApJS 91 p659 Eq (1) (Original Origin unknown)

lum2spectral
      $spectral_type = lum2spectral($luminosity);

     Calculate the spectral type of a ZAMS star from its luminosity
     Based on Thompson 1984 ApJ 283 165 Table 1
       $luminosity   Star luminosity (normalised to Lsun)

Nl2spectral
      $spectral = Nl2spectral($Nl);

     Calculate the spectral type of a ZAMS star from its flux of
     Lyman Continuum Photons (Nl)
     Based on Panagia, 1973, ApJ, 78, 929
        $Nl     Flux of Lyman Continuum Photons

kindist
      ($dist1, $dist2)= kindist($ra, $dec, $vel, $epoch, $model);

     Calculate the kinematic distance to an object
       $dist1, $dist2  Near/Far distance (kpc)
       $ra             RA of object (turns)
       $dec            Dec of object (turns)
       $vel            LSR Velocity (km/s)
       $epoch          Epoch of coords (J2000/J/B1950/B)
       $model          Model to use (1 or 2)

     Note:
      Model 1 is based on Brand and Blitz, 1993, A&A, 275, 67-90.
      Model 2 has unknown origin.