From 4befdc42b8a4f27f8c6b29db47335674dc3f8f87 Mon Sep 17 00:00:00 2001 From: Tim-Oliver Husser Date: Sun, 31 May 2026 10:11:40 +0200 Subject: [PATCH 1/4] fixed calculation of airmass --- pyobs/robotic/scheduler/constraints/airmassconstraint.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pyobs/robotic/scheduler/constraints/airmassconstraint.py b/pyobs/robotic/scheduler/constraints/airmassconstraint.py index 200e12a0..0808a4aa 100644 --- a/pyobs/robotic/scheduler/constraints/airmassconstraint.py +++ b/pyobs/robotic/scheduler/constraints/airmassconstraint.py @@ -22,8 +22,10 @@ def to_astroplan(self) -> astroplan.AirmassConstraint: async def __call__(self, time: Time, task: Task, data: DataProvider) -> bool: if task.target is None: return False - airmass = float(data.observer.altaz(time, task.target).secz) - return 0.0 < airmass <= self.max_airmass + coord = task.target.coordinates(time) + altaz = data.observer.altaz(time, coord) + airmass = float(altaz.secz) + return 0.0 < airmass <= self.max_airmass and altaz.alt.degree > 0.0 __all__ = ["AirmassConstraint"] From 314eca45e37045199a89dcfa76c3ea6396fee6c7 Mon Sep 17 00:00:00 2001 From: Tim-Oliver Husser Date: Sun, 31 May 2026 10:12:51 +0200 Subject: [PATCH 2/4] fixed target --- .../scheduler/constraints/moonseparationconstraint.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pyobs/robotic/scheduler/constraints/moonseparationconstraint.py b/pyobs/robotic/scheduler/constraints/moonseparationconstraint.py index ca9f26f2..42d9646d 100644 --- a/pyobs/robotic/scheduler/constraints/moonseparationconstraint.py +++ b/pyobs/robotic/scheduler/constraints/moonseparationconstraint.py @@ -22,11 +22,11 @@ def to_astroplan(self) -> astroplan.MoonSeparationConstraint: return astroplan.MoonSeparationConstraint(min=self.min_distance * u.deg) async def __call__(self, time: Time, task: Task, data: DataProvider) -> bool: - target = task.target - if target is None: + if task.target is None: return True + coord = task.target.coordinates(time) moon_separation = astropy.coordinates.get_body("moon", time).separation( - target.coordinates(time), origin_mismatch="ignore" + coord.coordinates(time), origin_mismatch="ignore" ) return float(moon_separation.degree) >= self.min_distance From 229c5284b47c6e8aef09d51d13768d18850e7331 Mon Sep 17 00:00:00 2001 From: Tim-Oliver Husser Date: Sun, 31 May 2026 10:14:15 +0200 Subject: [PATCH 3/4] fixed target --- .../robotic/scheduler/constraints/moonseparationconstraint.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pyobs/robotic/scheduler/constraints/moonseparationconstraint.py b/pyobs/robotic/scheduler/constraints/moonseparationconstraint.py index 42d9646d..6af0cb4f 100644 --- a/pyobs/robotic/scheduler/constraints/moonseparationconstraint.py +++ b/pyobs/robotic/scheduler/constraints/moonseparationconstraint.py @@ -25,9 +25,7 @@ async def __call__(self, time: Time, task: Task, data: DataProvider) -> bool: if task.target is None: return True coord = task.target.coordinates(time) - moon_separation = astropy.coordinates.get_body("moon", time).separation( - coord.coordinates(time), origin_mismatch="ignore" - ) + moon_separation = astropy.coordinates.get_body("moon", time).separation(coord, origin_mismatch="ignore") return float(moon_separation.degree) >= self.min_distance From 8a4f2c7a314c222c18024af63b734c3b8b3c128c Mon Sep 17 00:00:00 2001 From: Tim-Oliver Husser Date: Sun, 31 May 2026 10:16:35 +0200 Subject: [PATCH 4/4] v1.45.5 --- pyproject.toml | 2 +- uv.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 44cc395a..9bd086e7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "pyobs-core" -version = "1.45.4" +version = "1.45.5" description = "robotic telescope software" authors = [{ name = "Tim-Oliver Husser", email = "thusser@uni-goettingen.de" }] requires-python = ">=3.11" diff --git a/uv.lock b/uv.lock index e9c1572d..4adeb1fd 100644 --- a/uv.lock +++ b/uv.lock @@ -3120,7 +3120,7 @@ wheels = [ [[package]] name = "pyobs-core" -version = "1.45.4" +version = "1.45.5" source = { editable = "." } dependencies = [ { name = "aiohttp" },