How bright will known and candidate exoplanet hosts appear to ULTRASAT in the near ultraviolet, once stellar color and interstellar dust enter the picture? And which proposed fields put the most interesting systems in reach? We use ULTRApipe to estimate those magnitudes with color transformations and 3D dust maps, then compare the exoplanet science potential of proposed pointings. The repository also collects ULTRASAT throughput and detector limiting- and saturation-magnitude data, so the instrumental assumptions stay visible. The API documents the available tools.
Set ULTRAPIPE_PATH to the checkout directory when using the tools from another location. If unset, the tools use this checkout. Keep local inputs in the ignored data/ directory and generated figures in visuals/. Git does not include the derived Composite_TOI_Host.csv catalog. To reproduce the field map, place it in data/ with columns ra, dec, AB_Mag, sy_dist, st_teff, Weight, and Data_Size.
Here is what the current tools let us do:
A plot of the TESS and ULTRASAT magnitudes of stars hosting confirmed exoplanets is below.
We estimate ULTRASAT magnitudes from stellar color transformations and dust extinction, using the 3D dust map derived from Pan-STARRS 1, 2MASS, and Gaia Green et al. 2019. The maps show how near-ultraviolet extinction changes with distance for declinations above -30 degrees.
We use known and candidate exoplanets to make a first-pass map of the science potential across proposed ULTRASAT fields. The map's weights and parameterization are in utils.py.
The current score measures target offsets with Astropy's spherical angular separation, including right-ascension wraparound and both poles. It treats each field as a circular region and does not model the exact detector footprint. The displayed maps predate this geometry correction.
Several useful data files are also hosted here, detailing the throughput of ULTRASAT over its passband, as well as the limiting and saturation magnitudes of different radial positions on the detector for different colored targets.
To generate the above figures, we can use utils.dust_map() and utils.cost_function_map() in tandem with utils.Plot_Cartesian_Sky_Map().
All that is needed are the relevant data lists for your targets:
import utils as ut
from paths import get_data_path, get_repository_path, get_visuals_path
import pandas as pd
data = pd.read_csv(get_data_path() / 'Composite_TOI_Host.csv')
ra = data['ra']
dec = data['dec']
AB = data['AB_Mag']
dist = data['sy_dist']
Teff = data['st_teff']
weight = data['Weight']
data_size = data['Data_Size']
SAT_Mag_dir = get_repository_path() / 'systematics' / 'SatMag.csv'
LIM_Mag_dir = get_repository_path() / 'systematics' / 'LimMag.csv'To plot the cost function:
CF_Map = ut.cost_function_map(ra, dec, AB, dist, Teff, weight, data_size, SAT_Mag_dir, LIM_Mag_dir, radius = 7, output_dir=None,
resolution = 15, dust_map_version='bayestar2019')
ut.Plot_Cartesian_Sky_Map(CF_Map, output_path=get_visuals_path() / 'ultrasat_exoplanet_field_cost.png')To plot the dust map(s):
dust_map = ut.dust_map(100, dist = 500)
ut.Plot_Cartesian_Sky_Map(dust_map)The synthetic field-ranking notebook
passes six toy targets through utils.cost_function() for three trial field
centers, using the tracked saturation and limiting-magnitude tables. Zero
reddening keeps the example offline. It saves a static PNG and, with Bokeh
installed, a hoverable HTML chart under examples/visuals/. The six targets
are synthetic, and the notebook does not query Bayestar. The scores illustrate
pipeline behavior and do not guide real pointings. Install Bokeh with
python -m pip install bokeh for the interactive chart.
The interactive Bokeh chart shows each field's RA, Dec, and toy score on hover.



