---
name: "Astro::Misc"
section: "3pm"
platform: "linux"
package: "libastro-perl"
version: "0.78-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Astro::Misc"
---

# Astro::Misc(3pm)

Miscellaneous astronomical routines

## 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.
  ```
