gaia_access 0.2.0

Access the Gaia ESA Archive for astronomical data.
Documentation
// This code is generated by generate_code.py, do not modify it manually.

//! This module contains all the known columns in the lamost_dr9_mrs table.

use crate::traits::{Column, Table};

/// LAMOST Medium-Resolution Spectroscopic Survey General Catalogue Data Release 9. The Large Sky Area Multi-Object Fiber Spectroscopic Telescope (LAMOST) is a Chinese national scientific research facility operated by the National Astronomical Observatories, Chinese Academy of Sciences. It is a special reflecting Schmidt telescope with 4000 fibers in a field of view of 20 degrees. The LAMOST survey provides flux- and wavelength-calibrated, sky-subtracted spectra in the wavelength range 3690-9100 Angstrom for many types of astronomical objects. Since October 2018, LAMOST started the second stage survey program containing both low- and medium-resolution spectroscopic surveys, and the medium-resolution spectroscopic survey includes two surveys, i.e., the time-domain and the non-time-domain surveys. The ninth LAMOST data release (LAMOST DR9) includes observations until June 2021. The Medium-Resolution spectroscopic Survey (MRS) General Catalogue contains 8,259,362 spectra, where there are 1,846,438 and 6,412,924 spectra for the non-time-domain and time-domain surveys, respectively. For more information, please consult the LAMOST homepage: https://www.lamost.org/dr9/
#[allow(non_camel_case_types)]
pub struct lamost_dr9_mrs;

impl Table for lamost_dr9_mrs {
    fn string(&self) -> String {
        "lamost_dr9_mrs".to_string()
    }
}

/// The columns in the lamost_dr9_mrs table.
#[allow(non_camel_case_types)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, strum::Display)]
pub enum Col {
    /// The product_url column. (No further description available)
    product_url,
    /// Unique ID for each medium-resolution spectrum in each exposure
    mobsid,
    /// Unique spectrum ID for each observation of each target
    obsid,
    /// Unique source identifier calculated with the "ura" and "udec" in table 9
    uid,
    /// For each LAMOST source, the equatorial coordinates ("ura" and "udec" in table 9) used to calculate "uid" were from which survey ((Pan-STARRS, Gaia or LAMOST), "gp_id" gives the corresponding source identifier in that survey.
    gp_id,
    /// Target designation
    designation,
    /// Target Observation Date
    obsdate,
    /// Local Modified Julian Day
    lmjd,
    /// Modified Julian Day
    mjd,
    /// Plan Name
    planid,
    /// Spectrograph ID
    spid,
    /// Fiber ID
    fiberid,
    /// Local modified Julian minute
    lmjm,
    /// Having two values of B and R, which represent B and R band spectra
    band,
    /// Fiber pointing right ascension
    ra_obs,
    /// Fiber pointing declination
    dec_obs,
    /// The median value of all pixel S/Ns in B band spectrum or R band
    snr,
    /// Fiber Type of target [Obj, Sky, F-std, Unused, PosErr, Dead]
    fibertype,
    /// Whether there is a fiber offset during observation
    offsets,
    /// If the "offsets" field is true, "offsets_v" gives the offset distance from the target's coordinator in input catalog
    offsets_v,
    /// Right Ascension from input catalog
    ra,
    /// Declination from input catalog
    dec,
    /// Radial velocity of B band spectra measured with 483 selected KURUCZ synthetic templates
    rv_b0,
    /// Uncertainty of rv_b0 measured by the method LASP used
    rv_b0_err,
    /// Radial velocity after zero-point correction of rv_b0
    rv_b1,
    /// Uncertainty of rv_b1 measured by the error propagation
    rv_b1_err,
    /// Radial velocity flag for B band spectra
    rv_b_flag,
    /// Radial velocity of R band spectra measured with 483 selected KURUCZ synthetic templates
    rv_r0,
    /// Uncertainty of rv_r0 measured by the method LASP used
    rv_r0_err,
    /// Radial velocity after zero-point correction of rv_r0
    rv_r1,
    /// Uncertainty of rv_r1 measured by the error propagation
    rv_r1_err,
    /// Radial velocity flag for R band spectra
    rv_r_flag,
    /// Radial velocity of B and R band spectra measured with 483 selected KURUCZ synthetic templates
    rv_br0,
    /// Uncertainty of rv_br0 measured by the method LASP used
    rv_br0_err,
    /// Radial velocity after zero-point correction of rv_br0
    rv_br1,
    /// Uncertainty of rv_br1 measured by the error propagation
    rv_br1_err,
    /// Radial velocity flag for B and R band spectra
    rv_br_flag,
    /// Radial velocity measured by the LASP
    rv_lasp0,
    /// Uncertainty of rv_lasp0 also given by the LASP
    rv_lasp0_err,
    /// Radial velocity after zero-point correction of rv_lasp0
    rv_lasp1,
    /// Uncertainty of rv_lasp1 measured by the error propagation
    rv_lasp1_err,
    /// A flag to show whether it is a coadd spectrum
    coadd,
    /// Possible fiber problems
    fibermask,
    /// A flag to show whether the B band spectra is problematic
    bad_b,
    /// A flag to show whether the R band spectra is problematic
    bad_r,
    /// The angular distance of each target to the moon
    moon_angle,
    /// The date of Chinese lunar calendar, which represents the moon phase, and its value is from 1 to 30.
    lunardate,
    /// This is a flag for "moon_angle", and it has two values of 0 and 1, which represent the range of angular distance. If "moon_flg" equals to 1, it indicates that angular distance is in the range of [10 degree, 30 degree], and it represents that the angular distance is larger than 30 degree when "moon_flg" equals to 0.
    moon_flg,
    /// The sub-project names of LAMOST Medium-Resolution Spectroscopic Survey
    subproject,
}

impl Column for Col {}

#[cfg(test)]
/// Collects all the known columns in the lamost_dr9_mrs table.
pub fn collect_known(map: &mut std::collections::HashMap<String, Vec<String>>) {
    let mut col_strings = Vec::new();
    col_strings.push(Col::product_url.to_string());
    col_strings.push(Col::mobsid.to_string());
    col_strings.push(Col::obsid.to_string());
    col_strings.push(Col::uid.to_string());
    col_strings.push(Col::gp_id.to_string());
    col_strings.push(Col::designation.to_string());
    col_strings.push(Col::obsdate.to_string());
    col_strings.push(Col::lmjd.to_string());
    col_strings.push(Col::mjd.to_string());
    col_strings.push(Col::planid.to_string());
    col_strings.push(Col::spid.to_string());
    col_strings.push(Col::fiberid.to_string());
    col_strings.push(Col::lmjm.to_string());
    col_strings.push(Col::band.to_string());
    col_strings.push(Col::ra_obs.to_string());
    col_strings.push(Col::dec_obs.to_string());
    col_strings.push(Col::snr.to_string());
    col_strings.push(Col::fibertype.to_string());
    col_strings.push(Col::offsets.to_string());
    col_strings.push(Col::offsets_v.to_string());
    col_strings.push(Col::ra.to_string());
    col_strings.push(Col::dec.to_string());
    col_strings.push(Col::rv_b0.to_string());
    col_strings.push(Col::rv_b0_err.to_string());
    col_strings.push(Col::rv_b1.to_string());
    col_strings.push(Col::rv_b1_err.to_string());
    col_strings.push(Col::rv_b_flag.to_string());
    col_strings.push(Col::rv_r0.to_string());
    col_strings.push(Col::rv_r0_err.to_string());
    col_strings.push(Col::rv_r1.to_string());
    col_strings.push(Col::rv_r1_err.to_string());
    col_strings.push(Col::rv_r_flag.to_string());
    col_strings.push(Col::rv_br0.to_string());
    col_strings.push(Col::rv_br0_err.to_string());
    col_strings.push(Col::rv_br1.to_string());
    col_strings.push(Col::rv_br1_err.to_string());
    col_strings.push(Col::rv_br_flag.to_string());
    col_strings.push(Col::rv_lasp0.to_string());
    col_strings.push(Col::rv_lasp0_err.to_string());
    col_strings.push(Col::rv_lasp1.to_string());
    col_strings.push(Col::rv_lasp1_err.to_string());
    col_strings.push(Col::coadd.to_string());
    col_strings.push(Col::fibermask.to_string());
    col_strings.push(Col::bad_b.to_string());
    col_strings.push(Col::bad_r.to_string());
    col_strings.push(Col::moon_angle.to_string());
    col_strings.push(Col::lunardate.to_string());
    col_strings.push(Col::moon_flg.to_string());
    col_strings.push(Col::subproject.to_string());
    map.insert(lamost_dr9_mrs.string(), col_strings);
}