AtNightConstraint#
- class m4opt.constraints.AtNightConstraint(max_solar_altitude=<Quantity 0. deg>)[source] [edit on github]#
Bases:
ConstraintConstrain observations to specific twilight phases or a user-defined solar altitude limit.
- Parameters:
max_solar_altitude (
Quantity) – A user-defined maximum solar altitude threshold. This parameter is required when not using specific twilight methods (twilight_civil,twilight_nautical,twilight_astronomical). It sets the maximum altitude of the Sun for which observations are allowed.
Notes
The pressure is set to zero when calculating the Sun’s altitude. This avoids errors due to atmospheric refraction at very low altitudes.
Examples
>>> from astropy.coordinates import EarthLocation, SkyCoord >>> from astropy.time import Time >>> from astropy import units as u >>> from m4opt.constraints import AtNightConstraint >>> time = Time("2017-08-17T00:41:04Z") >>> target = SkyCoord.from_name("NGC 4993") >>> location = EarthLocation.of_site("Rubin Observatory") >>> constraint = AtNightConstraint.twilight_civil() >>> constraint(observer_location=location, target_coord=target, obstime=time) np.True_ >>> constraint = AtNightConstraint.twilight_nautical() >>> constraint(observer_location=location, target_coord=target, obstime=time) np.True_ >>> constraint = AtNightConstraint.twilight_astronomical() >>> constraint(observer_location=location, target_coord=target, obstime=time) np.True_
Methods Summary
__call__(observer_location, target_coord, ...)Evaluate the constraint at a given observer location, target position, and time.
Create an
AtNightConstraintfor astronomical twilight (-18°).Create an
AtNightConstraintfor civil twilight (-6°).Create an
AtNightConstraintfor nautical twilight (-12°).Methods Documentation
- __call__(observer_location, target_coord, obstime)[source] [edit on github]#
Evaluate the constraint at a given observer location, target position, and time.
- classmethod twilight_astronomical()[source] [edit on github]#
Create an
AtNightConstraintfor astronomical twilight (-18°).
- classmethod twilight_civil()[source] [edit on github]#
Create an
AtNightConstraintfor civil twilight (-6°).
- classmethod twilight_nautical()[source] [edit on github]#
Create an
AtNightConstraintfor nautical twilight (-12°).