Two models are provided one computes the apparent magnitude while the other computes Absolute magnitude. Output is available for following roman passbands ['roman_f062', 'roman_f087', 'roman_f106', 'roman_f129', 'roman_f146', 'roman_f158', 'roman_f184', 'roman_f213', 'roman_prism', 'roman_grism', 'roman_prism_b8', 'roman_prism_r8', 'roman_grism_b8', 'roman_grism_r8']
See tech-report Roman-STScI–000825 for further details.
Apparent magnitude is based on analytical formulas and requires photometry in Gaia or 2MASS bands/ One can also provide additional stellar parameters like metallicity and extinction. This leads to 3 basic combinations or schemes. Optionally, for each of the scheme given below one can also provide parallax.
- scheme A: ('phot_bp_mean_mag', 'phot_rp_mean_mag', 'feh', 'ag')
- scheme B: ('phot_bp_mean_mag', 'phot_rp_mean_mag')
- scheme C: ('tmass_j', 'tmass_ks')
import numpy as np
import roman_magnitudes.models
df={}
df['phot_rp_mean_mag'] = np.array([8.0,9.0,10.0,12.0,14.0])
df['phot_bp_mean_mag'] = df['phot_rp_mean_mag']+1.0
df['feh'] = np.array([-0.5, 0.25, 0.0, 0.25, 0.5])
df['ag'] = np.array([0.0, 0.1, 0.5, 1.0, 2.0])
df['parallax'] = np.array([1.0, 1.0, 1.0, 1.0, 1.0])
rmodel1=roman_magnitudes.models.RomanAppMagModel().load(df)
print('roman_f106:',rmodel1.get_magnitude('roman_f106'))
df={}
df['tmass_ks'] = np.array([8.0,9.0,10.0,12.0,14.0])
df['tmass_j'] = df['tmass_ks']+0.5
df['parallax'] = np.array([1.0, 1.0, 1.0, 1.0, 1.0])
rmodel1.load(df)
print('roman_grism:',rmodel1.get_magnitude('roman_grism'))
print('roman_grism counts:',rmodel1.mag_to_counts(rmodel1.get_magnitude('roman_grism'),'roman_grism'))
print('roman_grism counts:',rmodel1.mag_to_counts(26.61,'roman_f062'))Absolute magntidues are presented as a function of stellar parameters (feh, teff, logg) and gaia_g, the absolute magnitude in gaia band. If gaia_g is not provided it is assumed to be 0.0. The output is in AB magnitude system for Roman bands (roman_f15', roman_f184, roman_f213, roman_prism, roman_grism, roman_prism_b8, roman_prism_r8, roman_grism_b8, roman_grism_r8) and Vega for other bands (gaia_gbp, gaia_grp, gaia_g, tmass_j, tmass_h, tmass_ks, wise_w1, wise_w2). Results are based on interpolation tables constructed from Phoenix synthetic spectra using the python synphot package.
import numpy as np
import roman_magnitudes.models
rmodel2=roman_magnitudes.models.RomanAbsMagModel()
feh=np.array([-0.5, 0.25, 0.0, 0.25])
teff=np.array([5000, 4500, 4250.0, 4000])
logg=np.array([4.0, 3.5, 3.0, 0.0])
gaia_g=np.array([1.0, 2.0, 3.0, 4.0])
ebv=np.array([0.0, 0.2, 0.3, 0.4])
print(rmodel2.get_magnitude(feh, teff, logg, bandpass='gaia_g'))
print(rmodel2.get_magnitude(feh, teff, logg, bandpass='gaia_g', gaia_g=gaia_g))
print(rmodel2.get_magnitude(feh, teff, logg, bandpass='gaia_gbp', gaia_g=gaia_g))
print(rmodel2.get_magnitude(feh, teff, logg, bandpass='gaia_gbp', gaia_g=gaia_g, ebv=ebv))
print(rmodel2.get_magnitude(feh, teff, logg, bandpass='roman_f062', gaia_g=gaia_g))
print(rmodel2.get_magnitude(feh, teff, logg, bandpass='roman_f062', gaia_g=gaia_g, ebv=ebv))