Example #1
0
File: plot_aq.py Project: OSSOS/MOP
def plot_tnos(ax, name=True, ossos=True):
    # plot the star of the show first
    plt.errorbar(740, 50, xerr=70,
                 fmt='*', ms=12,
                 mfc='r', mec=palette[3], ecolor='r', elinewidth=1, capsize=0, zorder=0,
                 label='_nolegend_')
    plt.text(630, 50.5, 'L91', fontsize='small')

    tnos = Table.read('/Users/bannisterm/Dropbox/Papers_in_progress/OSSOS/high_q_uo3l91/data/all_tnos_no_centaurs.csv',
                      format='csv', data_start=1)
    plt.errorbar(tnos['a'], tnos['q'],
                 xerr=tnos['sigma_a'],
                 fmt='o', ms=6,
                 mfc=palette[3], mec=palette[3], ecolor=palette[3], capsize=0, elinewidth=0.5, zorder=0,
                 label='_nolegend_')

    if name:
        for id in ['GP136', 'Sedna', 'VP113', 'GB174', 'SR349', 'VN112', 'CR105', 'FT28', 'FE72']:
            for tno in tnos:
                if tno['full_name'].__contains__(id):
                    xoffset = 15
                    yoffset = 0.5
                    if id in ['SR349']: # pesky overlapping labels
                        xoffset = -55
                    if id in ['VN112']:
                        yoffset = -0.2
                    plt.text(tno['a']+xoffset, tno['q']+yoffset, id, fontsize='xx-small')

    if ossos:
        ossos_tnos = parsers.ossos_release_parser(table=True)
        ossos_tnos['q'] = ossos_tnos['a'] * (1. - ossos_tnos['e'])
        ossos_tnos['e_q'] = (ossos_tnos['e_a'] / ossos_tnos['a']) + (ossos_tnos['e_e'] / ossos_tnos['e'])

        plt.errorbar(ossos_tnos['a'], ossos_tnos['q'],
                     xerr=ossos_tnos['e_a'],
                     yerr=ossos_tnos['e_q'],
                     fmt='o', ms=6,
                     capsize=0, elinewidth=0.5, mfc=palette[2],
                     mec=palette[3], ecolor=palette[2], zorder=1,
                     label='_nolegend_'
                     )
        for tno in ossos_tnos:
            if tno['object'] in ['o5t52', 'o5m52', 'o5p060', 'o3l83', 'o5m72']:
                plt.text(tno['a'] + 5, tno['q'] + 0.3, tno['object'], fontsize='xx-small')
    return
Example #2
0
def plot_tnos(ax, name=True, ossos=True):
    # plot the star of the show first
    plt.errorbar(740, 50, xerr=70,
                 fmt='*', ms=12,
                 mfc='r', mec=palette[3], ecolor='r', elinewidth=1, capsize=0, zorder=0,
                 label='_nolegend_')
    plt.text(630, 50.5, 'L91', fontsize='small')

    tnos = Table.read('/Users/bannisterm/Dropbox/Papers_in_progress/OSSOS/high_q_uo3l91/data/all_tnos_no_centaurs.csv',
                      format='csv', data_start=1)
    plt.errorbar(tnos['a'], tnos['q'],
                 xerr=tnos['sigma_a'],
                 fmt='o', ms=6,
                 mfc=palette[3], mec=palette[3], ecolor=palette[3], capsize=0, elinewidth=0.5, zorder=0,
                 label='_nolegend_')

    if name:
        for id in ['GP136', 'Sedna', 'VP113', 'GB174', 'SR349', 'VN112', 'CR105', 'FT28', 'FE72']:
            for tno in tnos:
                if tno['full_name'].__contains__(id):
                    xoffset = 15
                    yoffset = 0.5
                    if id in ['SR349']: # pesky overlapping labels
                        xoffset = -55
                    if id in ['VN112']:
                        yoffset = -0.2
                    plt.text(tno['a']+xoffset, tno['q']+yoffset, id, fontsize='xx-small')

    if ossos:
        ossos_tnos = parsers.ossos_release_parser(table=True)
        ossos_tnos['q'] = ossos_tnos['a'] * (1. - ossos_tnos['e'])
        ossos_tnos['e_q'] = (ossos_tnos['e_a'] / ossos_tnos['a']) + (ossos_tnos['e_e'] / ossos_tnos['e'])

        plt.errorbar(ossos_tnos['a'], ossos_tnos['q'],
                     xerr=ossos_tnos['e_a'],
                     yerr=ossos_tnos['e_q'],
                     fmt='o', ms=6,
                     capsize=0, elinewidth=0.5, mfc=palette[2],
                     mec=palette[3], ecolor=palette[2], zorder=1,
                     label='_nolegend_'
                     )
        for tno in ossos_tnos:
            if tno['object'] in ['o5t52', 'o5m52', 'o5p060', 'o3l83', 'o5m72']:
                plt.text(tno['a'] + 5, tno['q'] + 0.3, tno['object'], fontsize='xx-small')
    return
Example #3
0
        "specify blocks to be plotted, e.g. 13AE. Without specifying, will do all eight blocks,"
        "making eight separate plots.")
    args = parser.parse_args()
    print(args)

    file_id = ""
    if args.blocks:  # Coordinates at discovery-opposition of currently-determined OSSOS blocks (2013: 4; 2015: 8
        # total).
        blocks = {}
        for b in args.blocks:
            assert b in parameters.BLOCKS
            blocks[b] = parameters.BLOCKS[b]
    else:  # do them all!
        blocks = parameters.BLOCKS

    discoveries = parsers.ossos_release_parser(table=True)

    # extent = plot_extents['13A'] # hardwired for doing both at once

    for blockname, block in list(blocks.items()):
        extent = plot_extents[blockname]

        if args.opposition:
            # 13AE is a month different in opposition from 13AO, but 13B are both in October
            date = parameters.OPPOSITION_DATES[blockname]
            file_id = 'opposition-'

        if args.discovery:
            # E block discovery triplets are April 4,9,few 19; O block are May 7,8.
            # BL is 09-29 AND 10-31. Discoveries in 10-31 are placed at predicted locations, to accommodate split.
            date = parameters.DISCOVERY_DATES[blockname]
Example #4
0
    ax[2].set_ylabel('eccentricity')
    ax[2].grid(True, alpha=grid_alpha)
    # ax[2].set_xlabel('semimajor axis (AU)')
    plt.xlabel('semimajor axis (AU)')
    # ax[3].grid(True, alpha=grid_alpha)
    # ax[3].set_xlabel('perihelion (AU)')
    # ax[3].set_ylabel('arg. peri. (degrees)')

    plt.draw()
    # ofile = 'OSSOS+CFEPS+NGVS_aei_argperi.pdf'
    outfile = 'OSSOS_aei_{}.pdf'.format(parameters.RELEASE_VERSION)
    plt.savefig(outfile, transparent=True, bbox_inches='tight')


if __name__ == '__main__':
    tnos = parsers.ossos_release_parser(
        table=True)  # return as an astropy.Table.Table

    mag = tnos[numpy.where(tnos['mag'] < 23.5)]
    ossos = []
    for t in mag:
        if t['object'].startswith('o'):
            ossos.append(t)
    print(len(ossos))

    sys.exit()

    # argperi_a(parameters.REAL_KBO_AST_DIR)

    # fov = ['medium', 'classical', 'thousand_au']
    # full_aei(tnos, fov[0])
    # classicals_qi(tnos)
Example #5
0
def main():
    # parsers.output_discoveries_for_animation()
    discoveries = parsers.ossos_release_parser(table=True)
    ossos_sequence(discoveries)
Example #6
0
    ax[2].set_ylabel('eccentricity')
    ax[2].grid(True, alpha=grid_alpha)
    # ax[2].set_xlabel('semimajor axis (AU)')
    plt.xlabel('semimajor axis (AU)')
    # ax[3].grid(True, alpha=grid_alpha)
    # ax[3].set_xlabel('perihelion (AU)')
    # ax[3].set_ylabel('arg. peri. (degrees)')

    plt.draw()
    # ofile = 'OSSOS+CFEPS+NGVS_aei_argperi.pdf'
    outfile = 'OSSOS_aei_{}.pdf'.format(parameters.RELEASE_VERSION)
    plt.savefig(outfile, transparent=True, bbox_inches='tight')


if __name__ == '__main__':
    tnos = parsers.ossos_release_parser(table=True)  # return as an astropy.Table.Table

    mag = tnos[numpy.where(tnos['mag'] < 23.5)]
    ossos = []
    for t in mag:
        if t['object'].startswith('o'):
            ossos.append(t)
    print len(ossos)

    sys.exit()

    # argperi_a(parameters.REAL_KBO_AST_DIR)

    # fov = ['medium', 'classical', 'thousand_au']
    # full_aei(tnos, fov[0])
    # classicals_qi(tnos)