benchmarking

Module for preparing the benchmark test as used in Lubin et al. 2025.

astroq.benchmarking.build_toy_model_from_paper(ns, hours_per_program=80, plot=False)[source]

Generate the nominal set of requests used for performance testing in Lubin et al. 2025.

Parameters:
  • ns (int) – the number of slots needed to complete each of the single shot observations in program 6. In the paper we start with 12, and work down to increase complexity.

  • hours_per_program (float) – the total number of hours to allocate to each program. In the paper, this is 80 hours.

  • plot (bool) – True to create a simple plot of the requests’ locations on the sky.

Returns:

a DataFrame with the request information, equivalent to the requests.csv file.

Return type:

requests_data (pandas DataFrame)

astroq.benchmarking.getDec(maxDec=90, minDec=-20)[source]

Randomly draw a declination from cosine i distribution between two values. The default min/max declination values are chosen based on favorable viewing from Hawaii.

Parameters:
  • maxDec (float) – the maximum declination (degrees) to draw from

  • minDec (float) – the minimum declination (degrees) to draw from

Returns:

the randomly drawn declination

Return type:

dec (float)

astroq.benchmarking.stars_in_program(program, total_hours)[source]

Determine how many stars should be in a program based on that program’s observing strategy and its awarded time.

Parameters:
  • program (list) – a list containing the strategy of all stars in the program [tau_inter, t_exp [seconds], n_inter_max, n_intra_max]

  • total_hours (float) – the total number of hours to allocate to the program.

Returns:

the number of stars to allocate to the program

Return type:

n_stars (int)