diff --git a/CAMPAIGN.md b/CAMPAIGN.md index 7ec6e21..06717ba 100644 --- a/CAMPAIGN.md +++ b/CAMPAIGN.md @@ -26,15 +26,27 @@ Update after every run: date, scope, target, imaging minutes, points charged | 2026-07-19 | T33 | 47 Tuc | ngc104-test.txt | 17 min | 0 (free) | DID NOT RUN | reservation 749228 expired unused: no images, no logs on T33 (checked 20 Jul); grid shows reschedule=No despite the flag being set at booking | | 2026-07-19 | T59 | NGC 6744 | ngc6744-t59.txt | 180 min | ~240 (0% moon disc. until 21 Jul) | **381** | SUCCESS (txn 851148): ran 00:05:22-03:29:56 SSO, Time Used 3h24m32s, 0% moon disc. Full dataset on scope server: L 15x300s BIN1, RGB 7x300s each BIN2; previews checked, round stars, galaxy clean: no refund case. Effective rate ~112 pts/hr of WALL time (not the 80/hr imaging-time estimate: see NOTES rate correction) | | 2026-07-20 | T33 | NGC 6752 | ngc6752.txt | 17 min | 0 (free) | DID NOT RUN | reservation 749229 expired unused: no images, no logs (checked 20 Jul 20:30 UTC, after window) | +| 2026-07-21 | T32 | Centaurus A | cena-t32.txt | 120 min | ~350 (x1.6 model) | **160** | SUCCESS (txn 851344): ran 18:50:24-21:16:19 SSO local (08:50-11:16 UTC), Time Used 2h25m55s, 25% moon discount. Images present: /images/qisback/T32/NGC5128 on t32.itelescope.net:8032. Came in at 0.46x the x1.6 model, i.e. LESS than the original estimate: see the rate correction below | -Cumulative spend: 381. Balance after (verified GetAccountStatus 2026-07-20): **2,257**. +Cumulative spend: 541. Balance after (verified GetAccountStatus 2026-07-21 +11:40 UTC): **2,097**. -**Re-estimation warning (2026-07-20):** T59 actual came in at 1.6x the estimate -(381 vs ~240). Either billing is on wall-clock session time (Time Used matched -start-to-end, not the 180 min of exposure) or the rate card's 80/hr for T59 is -stale. Treat ALL queue estimates below as ~1.6x low until re-verified against -account/history.aspx after the next paid run. At 1.6x, the remaining queue -(~1,700 est) actually covers the full 2,257 balance nicely. +**Rate correction (2026-07-21, supersedes the 2026-07-20 x1.6 warning).** Two +paid runs now bracket the question, and both bill EXACTLY the plan's imaging +minutes, not wall-clock: + +| Scope | Plan imaging | Wall (Time Used) | Billed | Points per imaging hour | +|---|---|---|---|---| +| T59 | 180 min (36x300s) | 3h24m32s | 381 | **127** (0% moon) | +| T32 | 120 min (24x300s) | 2h25m55s | 160 | **80** (25% moon) | + +381 = 3.00 h x 127 and 160 = 2.00 h x 80, both to the point. So billing is on +imaging time as originally documented, and the wall-clock theory is dead. What +is wrong is the rate card in NOTES.md: it lists T59 at 80/hr (actual 127) and +T32 at 146/hr (actual 80 even after the 25% moon discount, so a base near +107/hr). The two look transposed, but two samples cannot prove that. **Do not +apply a blanket multiplier.** Derive each scope's effective rate from its first +actual bill, and treat any not-yet-observed scope's card rate as +/-60%. ## Planned allocation (~2,600 points, adapt as scopes/weather allow) @@ -66,7 +78,9 @@ account/history.aspx after the next paid run. At 1.6x, the remaining queue | 749228 | T33 | 19 Jul | 00:05-00:50 | ngc104-test.txt | 0 | EXPIRED unused (no run, no auto-reschedule) | | 749229 | T33 | 20 Jul | 00:05-00:50 | ngc6752.txt | 0 | EXPIRED unused (no run, no auto-reschedule) | | 749230 | T8 | 26 Jul | 21:35-23:55 | catspaw-t8.txt | ~146 (25% moon disc.) | still booked | -| 749302 | T32 | 21 Jul | 18:50-21:50 | cena-t32.txt | ~350 (x1.6 rate, 25% moon disc.) | booked 20 Jul. EVENING slot: T32 has a 35 deg elevation floor and Cen A culminates ~17:10 before dark, sinking to 11 deg by the old 00:35 slot (which could never have run). 46% moon is up ~30 deg away: acceptable for a bright drain target. Reschedule flag AGAIN shows No despite RescheduleCheckbox=on in the POST: the flag does not stick, treat every booking as one-shot. RUNS 08:50-11:50 UTC 21 Jul; verify after that | +| 749302 | T32 | 21 Jul | 18:50-21:50 | cena-t32.txt | ~350 (x1.6 rate, 25% moon disc.) | COMPLETED, billed 160. EVENING slot: T32 has a 35 deg elevation floor and Cen A culminates ~17:10 before dark, sinking to 11 deg by the old 00:35 slot (which could never have run). Ran 18:50-21:16, finishing 34 min early (plan complete, not a fault); images landed under /images/qisback/T32/NGC5128 | +| (id not captured) | T8 | 22 Jul | 21:45-00:45 | cra-t8.txt | ~250 | booked + MySummary-verified 2026-07-21 11:45 UTC. This is queue #2 finally placed: see the resolution note below. Runs 11:45-14:45 UTC 22 Jul | +| (id not captured) | T32 | 22 Jul | 18:50-19:50 | hdrcore-t32.txt | ~25 | **CANCELLED 2026-07-21 ~15:00 UTC, never ran, 0 points spent.** Booked to fix a saturated Cen A nucleus; the nucleus is not saturated (see the correction below). Deleted from MySummary with the other three reservations verified intact afterwards; quota back to 6:05/8:00 | | 749314 | T33 | 21 Jul | 00:05-00:50 | ngc104-test.txt | 0 (free) | booked + grid-verified 2026-07-21 08:55 UTC. 47 Tuc first-light retry, third attempt. Runs 14:05-14:50 UTC 21 Jul. Reschedule flag again No (free scopes never rebook) | The T33 first-light test is now on its THIRD booking (749314); the two prior free @@ -83,12 +97,40 @@ Verify every booking via Edit.aspx?id= probing (sequential ids), NOT the grid. | # | Scope id | start | end | start sel | end sel | Plan | Est. pts | |---|---|---|---|---|---|---|---| | 1 | BOOKED as 749302 (see table above); the original 00:35 slot was an error, Cen A is an EVENING target (35 deg floor on T32) | | | | | cena-t32.txt | ~350 | -| 2 | GRAS008 | 2026-07-22T01:35:00 | 2026-07-22T04:35:00 | 1:35 AM | 4:35 AM | cra-t8.txt | ~250 | CONFLICT: user hajo holds T8 00:25-02:25 that night (res 749207), overlapping our 01:35 start. See resolution note below | +| 2 | BOOKED 2026-07-21 for the night of 22 Jul, 21:45-00:45 (see table above); the 01:35 slot was blocked by hajo and low anyway | | | | | cra-t8.txt | ~250 | | 3 | GRAS059 | 2026-07-25T20:35:00 | 2026-07-25T23:55:00 | 8:35 PM | 11:55 PM | ngc6188-haoiii-t59.txt | ~120 (disc.) | | 4 | GRAS059 | 2026-07-27T20:35:00 | 2026-07-27T23:05:00 | 8:35 PM | 11:05 PM | ngc6188-sii-t59.txt | ~90 (disc.) | | 5 | GRAS008 | 2026-08-08T02:35:00 | 2026-08-08T06:05:00 | 2:35 AM | 6:05 AM | smc47tuc-t8.txt | ~390 | | 6 | GRAS032 | 2026-08-09T03:05:00 | 2026-08-09T06:05:00 | 3:05 AM | 6:05 AM | tarantula-t32.txt | ~365 | | 7 | (T70, blocked: server unreachable) | night TBD before 5 Aug | ~2.5h | | | scorpius-t70.txt (in scratch, re-upload needed) | ~238 | +| 8 | WITHDRAWN: booked then cancelled 2026-07-21, premise was wrong (see below) | | | | | hdrcore-t32.txt | 0 | + +### CORRECTION (2026-07-21): the Cen A nucleus was never saturated + +An earlier entry here claimed the 21 Jul Cen A data came back with a saturated +nucleus, and booked a short-exposure core set on that basis. **The claim was +wrong and the booking has been cancelled without running, at a cost of zero +points.** + +The 65313 ADU figure came from taking the maximum pixel inside a 300 x 300 px +box centred on the frame. That measures the brightest thing near the middle of +the image, which is not the same as measuring the galaxy: it was a foreground +star 128 px (69 arcsec) from the nucleus, sitting inside the box. Median +filtering the inner 800 x 800 px to remove stars leaves the galaxy peaking at +**1944 ADU**, about a thirtieth of the clip level, with **not one star-free +pixel above 30000 ADU**. The core looked blown in the first processed image +because of the display stretch, whose white point was set by field stars, and +re-rendering the same data with a second tone curve scaled to the galaxy +recovered it fully. + +**The habit that IS worth keeping, in corrected form:** before booking extra +time to fix a saturated core, *measure whether it is saturated* - median-filter +the inner region to remove stars first, and check where the frame's bright +pixels actually are. The check costs a minute. 47 Tuc and the SMC (queue #5) +may still genuinely saturate, a dense cluster core being the fastest thing there +is to clip, so run the same measurement on their data before assuming either +way. plans/hdrcore-t32.txt stays in the repo (and on T32) as a ready-made +ladder if one of them turns out to need it. ### Session 2026-07-21 ~08:55 UTC (booking round run early, before Cen A ran) @@ -117,6 +159,40 @@ full remaining queue runs ~2,530 vs 2,257 balance (~270 over): once actual bills for Cen A and CrA land, trim Phase 3 (shorten Tarantula #6 or the SMC slot) to land the balance near zero. +### Session 2026-07-21 ~11:40 UTC (Cen A verify + cra-t8 booked) + +Ran ahead of the 12:13 UTC scheduled job, after Cen A had finished at 11:16 UTC. + +- **Cen A verified**: completed, billed 160, NGC5128 images on the scope server. + Ledger and rate model updated (the x1.6 model is withdrawn: see the rate + correction above). +- **cra-t8 booked**, but on a better slot than the deferred option (b). Probing + New.aspx for the original 01:35-04:35 returned "Conflicting reservation. Start + time must be later than 2:25 AM" (hajo, as predicted), confirming that option + (a) was all that remained on the night of 21 Jul, and it puts Corona Australis + 3.5-6.5 h past the meridian. Instead the run went to the EVENING of the next + night: **2026-07-22T21:45 - 2026-07-23T00:45 SSO local**, which brackets the + ~22:30 culmination, so the whole 115 min of imaging happens near the zenith. + This is option (c)'s geometry on option (b)'s night; the reason (c) was + unbookable earlier (quota held by Cen A) had expired by the time Cen A + completed. Grid probing showed no conflict on either side of the slot. + Verified in Reservation/MySummary.aspx; quota now 6:50 / 8:00. +- Moon on the night of 22 Jul is ~57% illuminated, the last usable night before + the bright-week narrowband phase. LRGB on a dust complex under a half moon is + a compromise, but the alternative is slipping a Phase 1 broadband target into + the bright week, which is worse. +- Reservation id NOT captured: the confirm response carries only + `ModalStatic.result("OK")` and MySummary does not print ids. Nothing depends + on the id unless the booking must be edited or deleted, in which case find it + by probing Edit.aspx?id= around the current sequence (749314 was issued + ~08:55 UTC on 21 Jul). +- Budget: 2,097 left, 19 nights to 10 Aug. Remaining queue at card rates is + roughly 1,300, which UNDER-spends by ~800. With the x1.6 model withdrawn, the + next planning session should add work rather than trim it: candidates are a + second narrowband night on T59 (observed 127/hr, the only scope with a + trustworthy rate), or extending the Phase 3 SMC and Tarantula runs, both of + which have the sky time to absorb longer plans. + Substitution rules: if T71 returns to service, move #2 and #7 to T71 (faster f/2.8 optics, cheaper 106 pts/hr; re-cut the plans for 1.55"/px). If T70's server returns, book #7 as-is. Check the go.itelescope.net status line before diff --git a/CLAUDE.md b/CLAUDE.md index 6a35dc1..27134d8 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,3 +1,14 @@ +> [!IMPORTANT] +> **This repository has moved.** Since 2026-07-21 it lives on as the +> `itelescope/` directory of +> **[astrophotography](https://git.discworld.casa/laurence/astrophotography)**, +> merged with the processing pipeline. Both histories were preserved. +> +> **Do new work there, not here.** This copy is kept read-only-in-spirit until +> the drain campaign closes (10-12 Aug 2026), because sessions are running most +> nights and nothing should break mid-campaign. Anything committed here after +> the merge will be stranded. + # Default Workflow This file is the entry point for any Claude Code session working under the Default diff --git a/README.md b/README.md index 1007f33..bb46ee9 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,14 @@ +> [!IMPORTANT] +> **This repository has moved.** Since 2026-07-21 it lives on as the +> `itelescope/` directory of +> **[astrophotography](https://git.discworld.casa/laurence/astrophotography)**, +> merged with the processing pipeline. Both histories were preserved. +> +> **Do new work there, not here.** This copy is kept read-only-in-spirit until +> the drain campaign closes (10-12 Aug 2026), because sessions are running most +> nights and nothing should break mid-campaign. Anything committed here after +> the merge will be stranded. + # itelescope Reference and review of the [iTelescope.net](https://www.itelescope.net/) remote diff --git a/plans/README.md b/plans/README.md index 1a0688d..71c823e 100644 --- a/plans/README.md +++ b/plans/README.md @@ -84,6 +84,15 @@ Reservation. Success = response script `ModalStatic.result("OK")` AND the bookin appearing in the grid: the modal also says "OK" on silent failure, so ALWAYS re-fetch the grid and look for the reservation id + username. +Availability probing (2026-07-21): a plain GET of +`New.aspx?start=...&end=...&r=...` is a cheap, side-effect-free conflict check. +The form comes back with the two time dropdowns populated for +/-60 min around +the requested times, and if the slot collides with someone else's booking it +also renders "Conflicting reservation. Start time must be later than H:MM AM". +No message plus a full pair of dropdowns means the window is clear. This beats +reading the DayPilot grid, whose event divs do not survive a plain +Invoke-WebRequest fetch (they are rendered client-side). + Rules learned: maximum reservation length 4:00; recommended duration 1.5x total imaging time; the attached plan is auto-started by iTelescope at reservation start (no walk-in POST needed); RescheduleCheckbox auto-rebooks the identical diff --git a/plans/hdrcore-t32.txt b/plans/hdrcore-t32.txt new file mode 100644 index 0000000..908c510 --- /dev/null +++ b/plans/hdrcore-t32.txt @@ -0,0 +1,17 @@ +; +; Centaurus A (NGC 5128) HDR core set on T32 for qisback - drain campaign +; Companion to cena-t32.txt (2026-07-21, 24x300s LRGB BIN2), whose nucleus is +; saturated: the core reaches 65313 ADU in a single 300s luminance sub. +; This is the short-exposure ladder to blend under that core. +; L 8x60s, 8x15s, 8x5s spans a 60x range below 300s; RGB 5x30s gives the +; nucleus colour. BIN2 throughout so the frames register to the deep stack +; without rescaling. 18.2 min imaging total. +; +#largepreviews +#tiff +#count 8,8,8,5,5,5 +#interval 60,15,5,30,30,30 +#binning 2,2,2,2,2,2 +#filter Luminance,Luminance,Luminance,Red,Green,Blue +NGC5128 13.424333 -43.019139 +#shutdown diff --git a/state/NOTES.md b/state/NOTES.md index 3d37f7e..3a4323c 100644 --- a/state/NOTES.md +++ b/state/NOTES.md @@ -61,6 +61,19 @@ time, vs the 80/hr the card predicted. So either Time Used (wall clock) is what gets billed, or the card's data-default-rate is stale. Consequence: estimate sessions at rate x reserved-slot-length (slots run ~1.15-1.5x imaging time), i.e. multiply old exposure-based estimates by ~1.6 until more bills confirm the model. + +**RATE CORRECTION 2 (2026-07-21, second bill; SUPERSEDES the x1.6 rule above).** +T32 session 851344: 120 min of exposure, Time Used 2h25m55s, 25% moon discount, +billed 160. 160 = 2.00 h x 80 exactly, and the T59 bill is 381 = 3.00 h x 127 +exactly. Both land on the plan's IMAGING minutes to the point, and neither lands +on wall time. So the wall-clock theory is dead and the original "billed per +minute of exposure" documentation was right; what is wrong is the card's +per-scope numbers. Observed effective rates: **T59 127/hr** (card said 80), +**T32 80/hr even after a 25% moon discount**, implying a base near 107/hr (card +said 146). The pair looks transposed, but two samples cannot prove it. Rules: +do NOT apply any blanket multiplier; derive each scope's rate from its first +real bill; until then treat a card rate as +/-60%; and compute estimates from +the plan's exposure total, never from the reserved slot length. Paid imaging needs no reservation when a scope is idle: same walk-in ACP flow as the free scopes, points just deduct. Reservations (to guarantee a slot) go through lookup.itelescope.online, which is Cloudflare-protected: Playwright diff --git a/state/TODO.md b/state/TODO.md index 712a10c..13a5890 100644 --- a/state/TODO.md +++ b/state/TODO.md @@ -26,30 +26,55 @@ (grid-verified), third attempt at the first-light test, runs 14:05-14:50 UTC 21 Jul, costs 0. +## Done (recent) + +- 2026-07-21 11:40 UTC: Cen A on T32 verified COMPLETE (billed 160, NGC5128 + images on the scope server), and queue #2 (Corona Australis on T8) booked for + the night of 22 Jul, 21:45-00:45 SSO local, which brackets the target's + culmination instead of chasing it down the western sky. Rate model rebuilt + from two actual bills. Details in the CAMPAIGN.md session note. + ## In progress -- T33 first-light test on its THIRD booking (749314). The two prior free - reservations (749228, 749229) expired unused with reschedule=No; the free-scope - auto-start appears not to fire. If 749314 also fails to run, stop rebooking and - either walk it in (POST plan.asp per plans/README.md) or drop the free objective. -- CEN A verify pending: reservation 749302 (T32) runs 08:50-11:50 UTC 21 Jul. - After 11:50 UTC, confirm images on t32.itelescope.net:8032, pull the actual - bill from Account/History.aspx, spot-check a preview, and refine the x1.6 rate - model in NOTES.md. -- cra-t8 (queue #2) NOT yet booked, deferred twice over: (1) quota held by Cen A - until ~11:50 UTC; (2) user hajo holds T8 00:25-02:25 SSO local that night - (res 749207), overlapping our planned 01:35-04:35. Resolution: prefer booking - the NEXT night (2026-07-23T01:35-04:35) to dodge hajo and keep altitude; see - the resolution note in CAMPAIGN.md. Scheduled job ae3af497 (~12:13 UTC) handles - Cen A verify + this booking with a live grid re-check. +- T33 first-light test on its THIRD booking (749314), which had NOT yet run as of + 11:40 UTC 21 Jul: it starts 14:05 UTC. Verify after 14:50 UTC (images and logs + on t33.itelescope.net:8033 were still empty/stale at 11:40, as expected). The + two prior free reservations (749228, 749229) expired unused with reschedule=No; + if 749314 also fails to run, stop rebooking and either walk it in (POST + plan.asp per plans/README.md) or drop the free objective. +- The T32 HDR core set (plans/hdrcore-t32.txt) was booked and then CANCELLED on + 2026-07-21 without running: the Cen A nucleus is not saturated, the earlier + claim having measured a foreground star. See the correction in CAMPAIGN.md. + Zero points spent. The plan file remains available on T32 if a genuinely + saturated target turns up. +- The 21 Jul Cen A data has been fully processed off-repo, in the user's + Downloads\NGC5128\20260721\stacked folder: masters, plate solution (0.27 + arcsec on 237 stars), an LRGB composite, a globular cluster survey (289 + candidates, 62% catalogue-confirmed, density falling 10.5x outward), surface + photometry (Sersic n = 4.27, Re = 400 arcsec, total G = 6.56, which matches + the catalogued brightness and so validates the photometric chain), and a + transient/moving-object search (both null, with measured limits). METHODS.md + there documents the lot. Nothing from that analysis needs to come back into + this repo, but two results affect FUTURE sessions and are recorded here: + **(a)** measure saturation properly before buying short subs, and **(b)** the + faint outer halo in that stack is limited by the sky-plane subtraction + (-17.9 ADU/px of real halo light absorbed), not by exposure time, so more + integration alone would not have gone deeper. +- CrA on T8 runs 11:45-14:45 UTC 22 Jul. Verify after 14:45 UTC: images under + /images/qisback/T8/ on t8.itelescope.net:8008, then the actual bill from + account/history.aspx into the ledger. This is the first T8 bill, so it also + fixes T8's effective rate (card says 130/hr; trust nothing until observed). - DRAIN CAMPAIGN ACTIVE (see CAMPAIGN.md): spend the full balance by 10 Aug, then cancel before the 12 Aug renewal (user confirmation required for the - cancel itself). 381 of 2,638 spent; 2,257 remain. Estimates run ~1.6x low vs - actual billing (see NOTES rate correction). Reschedule flag never sticks (grid - always shows No): treat every reservation as one-shot and verify the morning - after. Download the NGC 6744 data from data.itelescope.net before the 10 Aug - cancellation sweep. Update the CAMPAIGN.md ledger after every session from - account/history.aspx. + cancel itself). 541 of 2,638 spent; 2,097 remain. The x1.6 estimate multiplier + is WITHDRAWN: billing is on plan imaging minutes, and per-scope rates must come + from actual bills (T59 127/hr, T32 80/hr observed; the NOTES rate card is + unreliable). On current numbers the campaign UNDER-spends by ~800: plan extra + or longer runs, do not trim. Reschedule flag never sticks (grid always shows + No): treat every reservation as one-shot and verify the morning after. + Download the NGC 6744 and NGC 5128 data from data.itelescope.net before the + 10 Aug cancellation sweep. Update the CAMPAIGN.md ledger after every session + from account/history.aspx. ## Pending