; Given type (string, eg.g, "O"), subtype (float, e.g. 3) ; and class (integer), return star radius (in km) from ; AQ 4th ed ; function aq_starr, type, subtype, class rsun = 6.95508e5 ; solar radius in km CASE class OF 5: begin ; Main sequence CASE type OF 'O': begin x = [3,5,6,8] & y = [15,12,10,8.5]*rsun end 'B': begin x = [0,3,5,8] & y = [7.4, 4.8, 3.9, 3.0]*rsun end 'A': begin x = [0,5] & y = [2.4, 1.7]*rsun end 'F': begin x = [0,5] & y = [0.5, 0.3]*rsun end 'G': begin x = [0,5] & y = [1.1, 0.92]*rsun end 'K': begin x = [0,5] & y = [0.85, 0.72]*rsun end 'M': begin x = [0,2,5,8] & y = [0.60, 0.50, 0.27, 0.10]*rsun end ENDCASE end 3: begin ; giants. CASE type OF 'B': begin x = [0,5] & y = [15, 8]*rsun end 'A': begin x = [-5,18] & y = [8, 6]*rsun end 'F': begin x = [-15,8] & y = [8,6]*rsun end 'G': begin x = [0,5] & y = [6,10]*rsun end 'K': begin x = [0,5] & y = [15,25]*rsun end 'M': begin x = [-1,0] & y = [25,40]*rsun end ENDCASE end 1: begin ; super giants. T CASE type OF 'O': begin x = [5,6,8] & y = [30,25,20]*rsun end 'B': begin x = [0,5] & y = [30,50]*rsun end 'A': begin x = [0,5] & y = [60,60]*rsun end 'F': begin x = [0,5] & y = [80,100]*rsun end 'G': begin x = [0,5] & y = [120,150]*rsun end 'K': begin x = [0,5] & y = [200,400]*rsun end 'M': begin x = [0,2] & y = [500,800]*rsun end ENDCASE end ELSE: begin ; out of bounds! print, 'aq_teff: spectral type out of bounds' return,-100 end ENDCASE res = poly_fit(x, y, 1) starr = poly(subtype,res) return, starr end