Example #1
0
def do():

    h_r = 8.3
    vc_list = [216.78]*4#,203.7565,200.516,242.0]
    zlist = [0,0.43,0.86,1.72]

    w = 0.8
    N = 6
    view_ang = 0.    
    pitch_list = [0.17] #np.arange(0.17,0.52,0.10)

    for z, vc in zip(zlist,vc_list):
        for pitch in pitch_list:
            
            name = 'sim_z{:n}_spirala_p{:04.0f}.fits'.format(z/0.43,pitch*1000)
            print name
            salty.simcurve(1001,z,vc,5.45,scale=100/1001.,output=name,
                           spiralpars=dict(w=w,
                                           N=N,
                                           view_ang=view_ang,
                                           pitch=pitch))
        salty.plt.close('all')
        salty.gc.collect()

    return
Example #2
0
def galaxy_batch():
    
    for w in [0.6,0.8,0.9,1.0]:
        for pitch in np.pi/np.array([3.,4.,5.,6.]):
            for view in np.pi/np.array([2.,3.,4.,5.]):
                for N in [4,6,8]:
                    name = 'sim_{:.1f}_{:}_{:n}_{:n}.fits'.\
                        format(w,N,np.pi/pitch,np.pi/view)
                    print name
                    salty.simcurve(205,0.83,256,5.45,w=w,N=N,pitch=pitch,
                                   view_ang=view,scale=0.39,output=name)

    return
Example #3
0
def do_linear():
    '''run in /d/monk/eigenbrot/EdgeOn/flare_test/linear
    '''

    h_r = 8.3
    hzrlist = np.arange(0.1,1.0,0.25) * h_r
    filelist = [
        '/d/monk/eigenbrot/EdgeOn/SALT_data/tiESO_z0_MgI_binz2.slay.fits',
        '/d/monk/eigenbrot/EdgeOn/SALT_data/tiESO_z1_MgI_binz2.slay.fits',
        '/d/monk/eigenbrot/EdgeOn/SALT_data/tiESO_z2_MgI_bin60.slay.fits',
        '/d/monk/eigenbrot/EdgeOn/SALT_data/tiESO_z4_MgI_binz2.slay.fits']
    zlist = [0,0.43,0.86,1.72]
    fliplist = [True,False,False,False]

    print "hzrlist:"
    print hzrlist

    vclist = [salty.find_Vc(*salty.openslay(i),back=back) 
              for (i,back) in zip(filelist,fliplist)]
    print "vclist:"
    print vclist
    salty.plt.close('all')
    
    '''generate some sim files'''
    for filename, z, flip, vc in zip(filelist,zlist,fliplist,vclist):
        print filename+':'
        zx = filename.split('_')[2]
        noname = 'sim_{}_noflare.fits'.format(zx)
        salty.simcurve(1001,z,vc,5.45,scale=100/1001.,output = noname)
        noprefix = 'noflare_comp_{}'.format(zx)
#        mt.line_comp(noname,filename,noprefix,flip=flip)

        for hzr in hzrlist:
            print filename+'\t'+str(hzr)
            flarename = 'sim_{:}_lflare_{:03.0f}.fits'.format(zx,hzr*100.)
            salty.simcurve(1001,z,vc,5.45,scale=100/1001.,
                           output=flarename,
                           flarepars=dict(ftype='linear',h_zR = hzr))

            prefix = 'lflare_comp_{:}_f{:04.0f}'.format(zx,hzr*100.)
#            mt.line_comp(flarename,filename,prefix,flip=flip)
            salty.plt.close('all')
            mt.plt.close('all')
            salty.gc.collect()
            mt.gc.collect()
            gc.collect()

    return    
Example #4
0
def do():

    h_r = 8.3
    r_R = h_r*3.
    r_sig = 1.
    vc_list = [216.78] * 4 #,203.7565,200.516,242.0]
    zlist = [0,0.43,0.86,1.72]

    for z, vc in zip(zlist,vc_list):        
        
        name = 'sim_z{:n}_boring.fits'.format(z/0.43)
        print name
        salty.simcurve(1001,z,vc,5.45,scale=100/1001.,output=name)
            
        salty.plt.close('all')
        salty.gc.collect()

    return
Example #5
0
def do():

    h_r = 8.3
    hzrlist = [12.45]#np.arange(0.25,1.75,0.25) * h_r
    filelist = [
        '/d/monk/eigenbrot/EdgeOn/SALT_data/tiESO_z0_MgI_binz2.slay.fits',
        '/d/monk/eigenbrot/EdgeOn/SALT_data/tiESO_z1_MgI_binz2.slay.fits',
        '/d/monk/eigenbrot/EdgeOn/SALT_data/tiESO_z2_MgI_bin60.slay.fits',
        '/d/monk/eigenbrot/EdgeOn/SALT_data/tiESO_z4_MgI_binz2.slay.fits']
    zlist = [0,0.43,0.86,1.72]
    fliplist = [True,False,False,False]

    print "hzrlist:"
    print hzrlist

    vclist = [216]*4#[salty.find_Vc(*salty.openslay(i),back=back) 
              #for (i,back) in zip(filelist,fliplist)]
    salty.plt.close('all')
    
    '''generate some sim files'''
    for filename, z, flip, vc in zip(filelist,zlist,fliplist,vclist):
        zx = filename.split('_')[2]
        noname = 'sim_{}_noflare.fits'.format(zx)
        salty.simcurve(1001,z,vc,5.45,scale=100/1001.,output = noname)
        noprefix = 'noflare_comp_{}'.format(zx)
#        mt.line_comp(noname,filename,noprefix,flip=flip)

        for hzr in hzrlist:
            flarename = 'sim_{:}_nflarea_{:3.0f}.fits'.format(zx,hzr*100.)
            salty.simcurve(1001,z,vc,5.45,scale=100/1001.,
                           output=flarename,flarepars=dict(h_zR = hzr,
                                                           ftype='exp'))

            prefix = 'nflare_comp_{:}_f{:04.0f}'.format(zx,hzr*100.)
#            mt.line_comp(flarename,filename,prefix,flip=flip)
            salty.plt.close('all')
            mt.plt.close('all')
            salty.gc.collect()
            mt.gc.collect()
            gc.collect()

    return
Example #6
0
def do_radius():

    h_r = 8.3
    r_w = 0.7
    r_sig = 1.
    vc_list = [216.78,203.7565,200.516,242.0]
    zlist = [0,0.43,0.86,1.72]
    radius_list = np.arange(1,30,10.)

    for z, vc in zip(zlist,vc_list):        
        for r_R in radius_list:

            name = 'sim_z{:n}_ring_R{:04.0f}.fits'.format(z/0.43,r_R*100)
            print name
            salty.simcurve(1001,z,vc,5.45,scale=100/1001.,output=name,
                           ringpars=dict(r_R=r_R,r_sig=r_sig,r_w=r_w))
            
        salty.plt.close('all')
        salty.gc.collect()

    return
Example #7
0
def do():

    h_r = 8.3
    r_R = h_r*3.
    r_sig = 1.
    vc_list = [216.78] * 4 #,203.7565,200.516,242.0]
    zlist = [0,0.43,0.86,1.72]
    weight_list = [0.28] #np.linspace(0.05,0.5,3)

    for z, vc in zip(zlist,vc_list):        
        for r_w in weight_list:

            name = 'sim_z{:n}_ringa_w{:03.0f}.fits'.format(z/0.43,r_w*100)
            print name
            salty.simcurve(1001,z,vc,5.45,scale=100/1001.,output=name,
                           ringpars=dict(r_R=r_R,r_sig=r_sig,r_w=r_w))
            
        salty.plt.close('all')
        salty.gc.collect()

    return
Example #8
0
def make_image(output):

    v_r = 238.3067
    hrot = 5.45
    h_z = 0.43
    size = 501
    scale = 100.0/size
    warppars = dict(warp_factor=7e-7, warp_ang=0)

    maxz = 30.
    numz = 500

    heights = np.linspace(-1*maxz,maxz,numz)
    
    SBlist = []

    for Z in heights:

        name = 'eonview_warp_{:04.0f}.fits'.format(Z*1000)
        print Z, name
        # salty.simcurve(size,Z,v_r,hrot,scale=scale,flarepars=flarepars,
        #                output=name)
        salty.simcurve(size,Z,v_r,hrot,scale=scale,warppars=warppars,
                        output=name)
        SB = pyfits.open(name)['SB'].data[size/2,:]
        SBlist = SBlist + [SB]

    galaxy = np.vstack(SBlist)
    HDU = pyfits.PrimaryHDU(galaxy)
    HDU.header.update('CRPIX1',size/2,comment='WCS: X reference pixel')
    HDU.header.update('CRPIX2',numz/2,comment='WCS: Y reference pixel')
    HDU.header.update('CRVAL1',0.0,'WCS: X reference coordinate value')
    HDU.header.update('CRVAL2',0.0,'WCS: Y reference coordinate value')    
    HDU.header.update('CDELT1',scale,comment='WCS: X pixel size')
    HDU.header.update('CDELT2',maxz/(numz-1)*2,comment='WCS: Y pixel size')
    HDU.header.update('CTYPE1','LINEAR',comment='X type')
    HDU.header.update('CTYPE2','LINEAR',comment='Y type')
    HDU.writeto(output,clobber=True)

    return
Example #9
0
def make_image(output,h_zR):

    v_r = 238.3067
    hrot = 5.45
    h_z = 0.43
    size = 501
    scale = 100.0/size
    flarepars = dict(ftype='linear', h_zR = h_zR)

    maxz = 30.
    numz = 250

    heights = np.linspace(0,maxz,numz)
    
    SBlist = []

    for Z in heights:

        name = 'eonview_lf{:04.0f}_{:04.0f}.fits'.format(h_zR*100,Z*1000)
        print Z, name
        salty.simcurve(size,Z,v_r,hrot,scale=scale,flarepars=flarepars,
                       output=name)
        SB = pyfits.open(name)['SB'].data[size/2,:]
        SBlist = [SB] + SBlist
        if Z != 0.0:
            SBlist = SBlist + [SB]

    galaxy = np.vstack(SBlist)
    HDU = pyfits.PrimaryHDU(galaxy)
    HDU.header.update('CRPIX1',size/2,comment='WCS: X reference pixel')
    HDU.header.update('CRPIX2',numz,comment='WCS: Y reference pixel')
    HDU.header.update('CRVAL1',0.0,'WCS: X reference coordinate value')
    HDU.header.update('CRVAL2',0.0,'WCS: Y reference coordinate value')    
    HDU.header.update('CDELT1',scale,comment='WCS: X pixel size')
    HDU.header.update('CDELT2',maxz/(numz-1),comment='WCS: Y pixel size')
    HDU.header.update('CTYPE1','LINEAR',comment='X type')
    HDU.header.update('CTYPE2','LINEAR',comment='Y type')
    HDU.writeto(output,clobber=True)

    return
Example #10
0
def make_boring(vr_list, h_rot_list, h_dust=8.43, kappa_0=1.62,nofits=False,
                z=0, size=1001, z_d=0.23, name='boring',flarepars=None):
    '''Given a list of values for v_r and h_rot, make a grid of galaxy models
    with all possible combinations of those two parameters.
    '''
    basename = 'sim_z{:n}_{}'.format(z,name)
    outlist = []
    for v_r in vr_list:
        for h_rot in h_rot_list:
            name = '{}_{}.fits'.format(basename,int(round(time.time(), 3)*100))
            sim = salty.simcurve(size,z,v_r,h_rot,output=name,scale=0.0999,
                                 h_dust=h_dust,kappa_0=kappa_0,z_d=z_d,
                                 flarepars=flarepars,full=True,
                                 verbose=False,nofits=nofits)
            if nofits:
                outlist.append(sim)
            else:
                outlist.append(name)

    return outlist