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:
nsideint (32)

Healpix nside (32)

dust_limitfloat (0.199)

E(B-V) limit for dust extinction. Default of 0.199.

smoothing_cutofffloat (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_beamfloat (10)

The size of the smoothing filter, in degrees. Default 10.

lmc_radiusfloat (8)

The radius to use around the LMC (degrees).

smc_radiusfloat (5)

The radius to use around the SMC (degrees)

scp_dec_maxfloat (-60)

Maximum declination for the south celestial pole region (degrees)

gal_long1float (335)

Longitude at which to start the GP region (degrees).

gal_long2float (25)

Longitude at which to stop the GP region (degrees). Order matters for gal_long1 / gal_long2!

gal_lat_width_maxfloat (23)

Max width of the galactic plane (degrees)

center_widthfloat (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_maxfloat (12)

Maximum declination for the galactic plane region (degrees).

dusty_dec_minfloat (-90)

The minimum dec for the dusty plane region (degrees)

dusty_dec_maxfloat (15)

The maximum dec for the dusty plane (degrees)

eclat_minfloat (-10)

Ecliptic latitutde minimum for the NES (degrees).

eclat_maxfloat (10)

Ecliptic latitude maximum for the NES (degrees).

eclip_dec_minfloat (0)

Declination minimum for the NES (degrees)

nes_glon_limitfloat (45.)

Galactic longitude limit for the NES (degrees).

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:
nvis_totalint

The total number of visits in the survey

fov_areafloat (9.6)

The area of a single visit (sq degrees)

**kwargs

Gets passed to self.return_maps if one wants to change the default ratios.

Returns:
resultnp.array

array with filtername dtypes that have HEALpix arrays with the number of expected visits of each HEALpix center

sum_mapnp.array

The number of visits summed over all the filters

labelsnp.ndarray

Array string labels for each HEALpix

estimate_visits_per_label(nvis_total, **kwargs)

Estimate how many visits would be used for each region

Parameters:
nvis_totalint

The total number of visits in the survey

**kwargs

Gets passed to self.return_maps if one wants to change the default ratios.

Returns:
resultdict

Dictionary with keys that are label names and values that are the expected number of visits for that region if nvis_total is reached.

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.healmapsnp.ndarray

HEALPix maps for ugrizy

self.pix_labelsnp.ndarray

Array string labels for each HEALpix