SkyAreaGenerator¶
- class rubin_sim.scheduler.utils.SkyAreaGenerator(nside=32, dust_limit=0.199, smoothing_cutoff=0.45, smoothing_beam=10, lmc_radius=8, smc_radius=5, scp_dec_max=-60, gal_long1=335, gal_long2=25, gal_lat_width_max=23, center_width=12, end_width=4, gal_dec_max=12, low_dust_dec_min=-70, low_dust_dec_max=15, adjust_halves=12, dusty_dec_min=-90, dusty_dec_max=15, eclat_min=-10, eclat_max=10, eclip_dec_min=0, nes_glon_limit=45.0, virgo_ra=186.75, virgo_dec=12.717, virgo_radius=8.75)¶
Bases:
object
Generate survey footprint maps in each filter.
- Parameters:
- nside
int
(32) Healpix nside (32)
- dust_limit
float
(0.199) E(B-V) limit for dust extinction. Default of 0.199.
- smoothing_cutoff
float
(0.45) We apply a smoothing filter to the defined dust-free region to avoid sharp edges. Larger values = less area, but guaranteed less dust extinction. Default 0.45 (degrees).
- smoothing_beam
float
(10) The size of the smoothing filter, in degrees. Default 10.
- lmc_radius
float
(8) The radius to use around the LMC (degrees).
- smc_radius
float
(5) The radius to use around the SMC (degrees)
- scp_dec_max
float
(-60) Maximum declination for the south celestial pole region (degrees)
- gal_long1
float
(335) Longitude at which to start the GP region (degrees).
- gal_long2
float
(25) Longitude at which to stop the GP region (degrees). Order matters for gal_long1 / gal_long2!
- gal_lat_width_max
float
(23) Max width of the galactic plane (degrees)
- center_width
float
(12) Width at the center of the galactic plane region (degrees).
- end_width: `float` (4)
Width at the remainder of the galactic plane region.
- gal_dec_max
float
(12) Maximum declination for the galactic plane region (degrees).
- dusty_dec_min
float
(-90) The minimum dec for the dusty plane region (degrees)
- dusty_dec_max
float
(15) The maximum dec for the dusty plane (degrees)
- eclat_min
float
(-10) Ecliptic latitutde minimum for the NES (degrees).
- eclat_max
float
(10) Ecliptic latitude maximum for the NES (degrees).
- eclip_dec_min
float
(0) Declination minimum for the NES (degrees)
- nes_glon_limit
float
(45.) Galactic longitude limit for the NES (degrees).
- nside
Methods Summary
add_bulge
(filter_ratios[, label])add_dusty_plane
(filter_ratios[, label])add_lowdust_wfd
(filter_ratios[, label])add_magellanic_clouds
(filter_ratios[, ...])add_nes
(filter_ratios[, label])add_scp
(filter_ratios[, label])add_virgo_cluster
(filter_ratios[, label])estimate_visits
(nvis_total[, fov_area])Convience method for converting relative maps into number of visits
estimate_visits_per_label
(nvis_total, **kwargs)Estimate how many visits would be used for each region
read_dustmap
([dustmap_file])Read the dustmap from rubin_sim, in the appropriate resolution.
return_maps
([magellenic_clouds_ratios, ...])Parameters: various_ratios :
dict
Dict with filternames for keys and floats for values that are the desired ratio of observations in each filter. By conventions, I usually set the low_dust_ratios['r']=1, then all the other values can be interpreted relative to that. E.g., if scp_ratios['u']=0.1, then when the low_dust r has 10 visits (per pixel) the scp should have 1 vist (per pixel).Methods Documentation
- add_bulge(filter_ratios, label='bulge')¶
- add_dusty_plane(filter_ratios, label='dusty_plane')¶
- add_lowdust_wfd(filter_ratios, label='lowdust')¶
- add_magellanic_clouds(filter_ratios, label='LMC_SMC', lmc_ra=80.89386, lmc_dec=-69.756126, smc_ra=13.186588, smc_dec=-72.828599)¶
- add_nes(filter_ratios, label='nes')¶
- add_scp(filter_ratios, label='scp')¶
- add_virgo_cluster(filter_ratios, label='virgo')¶
- estimate_visits(nvis_total, fov_area=9.6, **kwargs)¶
Convience method for converting relative maps into number of visits
- Parameters:
- Returns:
- result
np.array
array with filtername dtypes that have HEALpix arrays with the number of expected visits of each HEALpix center
- sum_map
np.array
The number of visits summed over all the filters
- labels
np.ndarray
Array string labels for each HEALpix
- result
- estimate_visits_per_label(nvis_total, **kwargs)¶
Estimate how many visits would be used for each region
- Parameters:
- nvis_total
int
The total number of visits in the survey
- **kwargs
Gets passed to self.return_maps if one wants to change the default ratios.
- nvis_total
- Returns:
- result
dict
Dictionary with keys that are label names and values that are the expected number of visits for that region if nvis_total is reached.
- result
- read_dustmap(dustmap_file=None)¶
Read the dustmap from rubin_sim, in the appropriate resolution.
- return_maps(magellenic_clouds_ratios={'g': 0.4, 'i': 1.0, 'r': 1.0, 'u': 0.32, 'y': 0.9, 'z': 0.9}, scp_ratios={'g': 0.1, 'i': 0.1, 'r': 0.1, 'u': 0.1, 'y': 0.1, 'z': 0.1}, nes_ratios={'g': 0.28, 'i': 0.4, 'r': 0.4, 'z': 0.28}, dusty_plane_ratios={'g': 0.28, 'i': 0.28, 'r': 0.28, 'u': 0.1, 'y': 0.1, 'z': 0.28}, low_dust_ratios={'g': 0.4, 'i': 1.0, 'r': 1.0, 'u': 0.32, 'y': 0.9, 'z': 0.9}, bulge_ratios={'g': 1.0, 'i': 1.05, 'r': 1.05, 'u': 0.18, 'y': 0.23, 'z': 1.0}, virgo_ratios={'g': 0.4, 'i': 1.0, 'r': 1.0, 'u': 0.32, 'y': 0.9, 'z': 0.9})¶
Parameters: various_ratios :
dict
Dict with filternames for keys and floats for values that are the desired ratio of observations in each filter. By conventions, I usually set the low_dust_ratios[‘r’]=1, then all the other values can be interpreted relative to that. E.g., if scp_ratios[‘u’]=0.1, then when the low_dust r has 10 visits (per pixel) the scp should have 1 vist (per pixel).
- Returns:
- self.healmaps
np.ndarray
HEALPix maps for ugrizy
- self.pix_labels
np.ndarray
Array string labels for each HEALpix
- self.healmaps