Compare commits

...
Sign in to create a new pull request.

23 commits

Author SHA1 Message Date
5c3d6154dc Merge pull request 'Point this repository at its new home in astrophotography' (#18) from moved-notice into main 2026-07-21 17:17:23 +01:00
4a18048542 Point this repository at its new home
Merged into git.discworld.casa/laurence/astrophotography on 2026-07-21,
where it lives on as the itelescope/ directory alongside the processing
pipeline, with both histories preserved.

The notice goes in CLAUDE.md as well as README.md deliberately: under the
Default Workflow a session reads CLAUDE.md first, and the drain campaign
is live with runs most nights, so a concurrent session needs to see the
redirect before it starts work rather than after it has committed.

Not archiving yet. The campaign runs until 10-12 Aug and nothing should
break mid-flight; archive once it closes.
2026-07-21 17:17:05 +01:00
de37a19ee6 Merge pull request 'Correct the saturated-nucleus claim and cancel the booking it justified' (#17) from correct-core-saturation into main 2026-07-21 14:51:06 +01:00
7dc6119359 Correct the saturated-nucleus claim and cancel the booking it justified
The previous commit asserted that the 21 Jul Centaurus A data came back
with a saturated nucleus, and booked a short-exposure core set on T32 to
fix it. The assertion was wrong.

It 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. The 65313 ADU
belonged to a foreground star 128 px (69 arcsec) from the nucleus, well
inside the box. Median filtering the inner 800 x 800 px to remove stars
leaves the galaxy peaking at 1944 ADU, roughly a thirtieth of the clip
level, with not one star-free pixel above 30000 ADU anywhere in that box.
The brightest pixel in the whole frame is at the right-hand edge, 2370 px
from centre.

The core looked blown in the processed image because of the stretch, not
the sensor: the white point sat at the 99.995th percentile, a level set
by field stars, so the galaxy's entire range from a 7 ADU sky to a 1944
ADU peak was compressed into the top few percent of the tone curve.
Re-rendering the same frames with a second curve scaled to the galaxy
recovered the core completely, with no new data.

The T32 reservation has been cancelled without running, so it cost
nothing. The other three reservations were verified intact afterwards
and quota is back to 6:05 of 8:00. plans/hdrcore-t32.txt stays in the
repo and on the scope: 47 Tuc and the SMC may genuinely saturate, a
dense cluster core being the fastest thing there is to clip, and the
ladder is ready if they do.

The corrected habit is recorded in CAMPAIGN.md: measure whether a core is
saturated before buying time to fix it, filtering stars out of the
measurement first. The check takes a minute and would have saved this
whole detour.

TODO.md also records a second result that affects future planning: the
faint outer halo of that stack is limited by the sky-plane subtraction,
which absorbed about 17.9 ADU/px of real halo light, rather than by
exposure time. More integration alone would not have gone deeper.
2026-07-21 14:50:38 +01:00
57e999a669 Merge pull request 'Book a short-exposure core set for Cen A, and make it a campaign habit' (#16) from hdr-core-booking into main 2026-07-21 13:42:18 +01:00
7bf834a184 Book a short-exposure core set for Cen A, and make it a campaign habit
Processing the 21 Jul Centaurus A data showed the nucleus is saturated: a
single 300 s luminance sub reads 65313 ADU in the core, so the deep stack
is clipped there and the core cannot be recovered by processing. The only
fix is more data at shorter exposures.

plans/hdrcore-t32.txt is that data: L 8x60s, 8x15s and 8x5s plus RGB
5x30s, all BIN2 so the frames register against the deep stack without
rescaling. The ladder spans a factor of 60 below the 300 s subs, which
covers the unknown true peak of the nucleus, and the RGB gives the core
its colour. 18.2 minutes of imaging, about 25 points.

Uploaded to T32 and verified byte-identical, then booked for the evening
of 22 Jul, 18:50-19:50 SSO local, which is the same window in which the
deep run actually succeeded (T32 has a 35 degree elevation floor and Cen A
is an evening target). Verified in MySummary; quota now 7:05 of 8:00.

The wider point is recorded in CAMPAIGN.md: bright targets need a short
set budgeted alongside the deep run. NGC 6744 has already been shot
without one, and 47 Tuc and the SMC in queue #5 will certainly need one,
a globular cluster core being the fastest thing there is to saturate.
2026-07-21 13:41:23 +01:00
6ba6024192 Merge pull request 'Verify Cen A, book CrA on T8 for the 22 Jul evening, rebuild the rate model' (#15) from campaign-ledger-2026-07-21 into main 2026-07-21 12:44:39 +01:00
cd3de71361 Verify Cen A, book CrA on T8 for 22 Jul evening, rebuild the rate model
Cen A (reservation 749302, T32) completed at 11:16 UTC, 34 minutes early
because the plan finished, not because of a fault: NGC5128 images are on
t32.itelescope.net:8032 and transaction 851344 billed 160 points. Balance
is now 2,097 of the original 2,638.

That second bill settles the billing question the 20 Jul note left open.
T32 billed 160 for a 120 min plan (2.00 h x 80) and T59 billed 381 for a
180 min plan (3.00 h x 127); both land exactly on the plan's exposure
total and neither lands on wall-clock time. So billing is per imaging
minute as originally documented, and the x1.6 wall-clock multiplier is
withdrawn from CAMPAIGN.md, TODO.md and NOTES.md. What is actually wrong
is the rate card's per-scope numbers, so each scope's rate now has to be
derived from its first real bill. The practical consequence is the
opposite of the old warning: the campaign is now heading to UNDER-spend
by roughly 800 points, so later planning sessions should add or lengthen
runs rather than trim them.

Queue #2 (Corona Australis on T8) is booked at last. The original
01:35-04:35 slot was confirmed dead by probing New.aspx, which answered
"Conflicting reservation. Start time must be later than 2:25 AM" (user
hajo's reservation 749207, exactly as the previous session predicted).
Rather than take the leftover 02:30-05:30, where the target sits 3.5 to
6.5 hours past the meridian, the run moved to the next night's evening,
2026-07-22 21:45 to 2026-07-23 00:45 SSO local, which brackets the ~22:30
culmination so all 115 minutes of imaging happen near the zenith. This is
the geometry of the previously rejected option (c) on the night of option
(b): (c) was only rejected because Cen A held the reservation quota, and
that expired when Cen A completed. Verified via Reservation/MySummary.aspx;
quota now 6:50 of 8:00.

The New.aspx probe is documented in plans/README.md as the way to test a
slot for conflicts, since the DayPilot grid renders client-side and shows
nothing to a plain HTTP fetch.
2026-07-21 12:43:11 +01:00
f94ecce678 Merge pull request 'Book free T33 47 Tuc retry (749314); defer cra-t8 on quota + hajo conflict' (#14) from book-t33-retry-20260721 into main 2026-07-21 09:52:49 +01:00
f49e045bb6 Book free T33 47 Tuc retry (749314); defer cra-t8 on quota + hajo conflict
- Session ran early (08:48 UTC, before Cen A 749302's 08:50 UTC start), so this
  round did only the time-sensitive, unblocked work.
- Free T33 47 Tuc retry booked and grid-verified as reservation 749314
  (night of 21 Jul SSO, 00:05-00:50, runs 14:05 UTC). Third attempt: the two
  prior free reservations expired unused, so if this one also fails to run the
  issue is free-scope auto-start, not the booking.
- Cen A (749302) verify deferred: had not run yet; runs 08:50-11:50 UTC.
- cra-t8 (queue #2) deferred, blocked twice: quota held by Cen A until ~11:50
  UTC, AND user hajo holds T8 00:25-02:25 SSO local that night (res 749207),
  overlapping the planned 01:35-04:35 slot. Documented resolution options;
  preferred is slipping cra-t8 one night to 2026-07-23T01:35 to dodge the
  conflict and keep Corona Australis near culmination.
- Scheduled job ae3af497 (~12:13 UTC) will verify Cen A and book cra-t8 against
  a live grid re-check.
2026-07-21 09:52:35 +01:00
0e246f9dda Merge pull request 'Rebook Cen A on T32: evening reservation 749302' (#13) from rebook-cena-t32 into main 2026-07-20 21:57:13 +01:00
bd31a8a6fb Rebook Cen A on T32 as evening reservation 749302; document quota-driven booking order
- Reservation 749302 created and grid-verified: T32, night of 21 Jul SSO,
  18:50-21:50 local (08:50-11:50 UTC 21 Jul), plan cena-t32.txt, est ~350 pts
  at the corrected x1.6 rate with 25% moon discount (46% moon ~30 deg away).
- The original queue slot (00:35-03:35) was an astronomy error: T32 has a
  35 degree elevation floor and Cen A culminates ~17:10 SSO local in late July,
  sinking to ~11 degrees by midnight. Evening is the only viable window; noted
  in the ledger so the mistake is not repeated.
- Reschedule flag confirmed to never stick (second booking posting
  RescheduleCheckbox=on that renders as No in the grid): every reservation is
  one-shot, verify the morning after.
- Quota math recorded: 5h20m of 8h held; queue #2 (cra-t8) plus the free T33
  47 Tuc retry must wait for the Cen A run to release its 3h (~11:50 UTC
  21 Jul). Full remaining queue at corrected rates ~2,530 vs 2,257 balance:
  Phase 3 needs a ~270-point trim once real bills confirm the rate model.
2026-07-20 21:56:56 +01:00
fb5f17a8e1 Merge pull request 'Session outcomes 19-20 Jul: T59 NGC 6744 success, rate correction, T33 misses' (#12) from session-outcome-20260720 into main 2026-07-20 21:30:39 +01:00
07713c2f13 Record 19-20 Jul session outcomes: T59 success (381 pts), T33 free runs missed
- T59 NGC 6744 (reservation 749227) ran 00:05-03:30 SSO local 20 Jul and billed
  381 points (txn 851148), not the ~240 estimated. Full LRGB dataset verified on
  the scope server (L 15x300s BIN1, R/G/B 7x300s each BIN2); preview JPEGs
  checked: round stars, clean galaxy, no weather damage, so no refund claim.
- Rate correction in state/NOTES.md: history 'Time Used' equals wall-clock
  session time (3h24m32s), and the effective rate was ~112 pts/hr wall /
  ~127 pts/hr exposure vs the 80/hr the UpdatePlan rate card predicted. All
  existing queue estimates flagged ~1.6x low until more bills confirm the model.
- Both free T33 reservations (749228 47 Tuc, 749229 NGC 6752) expired unused:
  no images, no logs; grid shows reschedule=No despite the flag being set at
  booking. First-light test is still outstanding; plans remain uploaded on T33.
- Ledger, booked-reservations table and queue updated: balance verified 2,257
  via GetAccountStatus; queue #1 (Cen A T32) missed its 21 Jul slot and needs a
  new night.
2026-07-20 21:30:11 +01:00
67f8455e41 Merge pull request 'Campaign plan files' (#11) from campaign-plans into main 2026-07-18 23:25:56 +01:00
512cdd3074 Campaign plan files for every queued session
The eight ACP plans backing the drain-campaign booking queue: cena-t32
(Centaurus A LRGB), cra-t8 (Corona Australis dust), catspaw-t8 (NGC 6334
Ha, booked as 749230), smc47tuc-t8 (the SMC + 47 Tuc signature frame),
tarantula-t32 (NGC 2070 LRGB), ngc6188-haoiii-t59 and ngc6188-sii-t59
(bright-moon narrowband pair), scorpius-t70 (super-wide, pending the T70
server returning). All except scorpius-t70 are uploaded to their scopes
and verified byte-identical; keeping them in the repo lets any session
re-upload after scope-side maintenance wipes or for T71 substitution
re-cuts. Binning conventions: Bin1 L / Bin2 RGB on the CCD scopes (T8),
Bin2 throughout on T32 (camera is Bin2-only), Bin1 on modern CMOS (T70),
Bin1 narrowband on T59 with 600 s subs.
2026-07-18 23:25:54 +01:00
6666de5e27 Merge pull request 'Booking queue and quota handling' (#10) from booking-queue into main 2026-07-18 23:25:23 +01:00
a091e38bc4 Booking queue: full campaign reservations attempted, quota documented
All seven remaining campaign sessions were attempted against
reservations.itelescope.net in one pass. The rolling reservation allowance
(8 hours outstanding on Plan-40) admitted only the Cat's Paw Ha session
(749230, T8, night of 26 Jul, verified via Edit.aspx?id= since the grid
cannot page that far forward); the other six returned 'quota.' and are
recorded as a ready-to-fire queue with exact New.aspx parameters. All plans
are uploaded and verified on T8/T32/T59; T70's plan could not be uploaded
(scope server unreachable, consistent with the Chile outage) and its entry
is blocked pending the server returning.

Substitution rules recorded: T71, if it returns, takes the widefield
sessions (better optics, lower rate); T70 books as-is if reachable; status
line checked before every booking round. Booking cadence: a daily job (or
manual 'process the booking queue') books queue items in order as completed
sessions release quota.
2026-07-18 23:25:22 +01:00
36cc26d7fa Merge pull request 'Reservations created and reservation system documented' (#9) from reservations into main 2026-07-18 23:04:27 +01:00
9003d672ff Reservations created for all three sessions; mechanics documented
The Reservations Pilot app at reservations.itelescope.net is now mapped and
driven end to end: three-step WebForms flow (form GET, Refresh Plans
postback with plan+times selected which enables Confirm, then Confirm),
observatory-local times, 4-hour maximum, plan attachment causing iTelescope
to auto-start the run at reservation start, and the reschedule flag that
rebooks weather losses on the next free night. Crucial gotcha recorded: the
confirm modal returns OK even when nothing was created (first attempt
silently failed on the 4-hour rule), so verification against the grid is
mandatory.

Live reservations: 749227 (T59, NGC 6744, 00:05-03:45 SSO local 20 Jul),
749228 (T33, 47 Tuc test, 00:05-00:50 same night), 749229 (T33, NGC 6752,
00:05-00:50 following night). Ledger corrected: T59 moon discount is 0%
until 21 Jul (the earlier 25% figure came from a Utah scope's grid), so the
NGC 6744 estimate returns to ~240 pts. Monitoring crons replace the old
starter crons since the scheduler now fires the plans itself.
2026-07-18 23:04:26 +01:00
1846125907 Merge pull request 'T59 window fix: reservation collision and moon discount' (#8) from t59-window-fix into main 2026-07-18 22:56:37 +01:00
c1d353ca10 T59 window fix: third-party reservation constrains the NGC 6744 run
The booking grid (Reservation/Overview.aspx embeds the DayPilot events)
shows astrosharp holding T59 from 03:50 to 04:40 SSO local on 20 Jul, i.e.
17:50-19:40 UTC on 19 Jul, which collided with the original 15:33 UTC
walk-in start. The run is rescheduled to start ~14:15 UTC (parallel with
the free T33 test, different scope) so it completes by 17:45 UTC, with a
trim-or-skip rule if the start slips. The grid also confirms a 25% moon
discount in effect, so the cost estimate drops from ~240 to ~185 points;
ledger updated. Times in the embedded grid are per-observatory local time
(verified against Utah sunset and the first-quarter moon note).
2026-07-18 22:56:36 +01:00
09e2d95358 Merge pull request 'Drain campaign: spend the balance by 10 Aug, then close' (#7) from drain-campaign into main 2026-07-18 22:41:35 +01:00
15 changed files with 408 additions and 17 deletions

View file

@ -23,9 +23,30 @@ Update after every run: date, scope, target, imaging minutes, points charged
| Date | Scope | Target | Plan file | Imaging | Est. pts | Actual pts | Notes | | Date | Scope | Target | Plan file | Imaging | Est. pts | Actual pts | Notes |
|---|---|---|---|---|---|---|---| |---|---|---|---|---|---|---|---|
| 2026-07-19 | T33 | 47 Tuc | ngc104-test.txt | 17 min | 0 (free) | | first-light test | | 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 | | first paid run | | 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) | | | | 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: 541. Balance after (verified GetAccountStatus 2026-07-21
11:40 UTC): **2,097**.
**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) ## Planned allocation (~2,600 points, adapt as scopes/weather allow)
@ -49,13 +70,145 @@ Update after every run: date, scope, target, imaging minutes, points charged
Chile scopes (T71 106/hr, T73 224/hr) if they return from maintenance: Tarantula Chile scopes (T71 106/hr, T73 224/hr) if they return from maintenance: Tarantula
and NGC 1313 preferred. Aim to land the balance under ~50 points. and NGC 1313 preferred. Aim to land the balance under ~50 points.
## Booked reservations (all with plan attached + reschedule flag)
| ID | Scope | Night of (SSO/obs local) | Slot | Plan | Est. pts | Status (2026-07-20) |
|---|---|---|---|---|---|---|
| 749227 | T59 | 19 Jul | 00:05-03:45 | ngc6744-t59.txt | ~240 | COMPLETED, billed 381 |
| 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.) | 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
reservations expired unused. If this one also fails to run, the problem is not the
booking but the auto-start on free scopes: escalate to walk-in (POST plan.asp per
plans/README.md) or drop the free-imaging objective.
## Booking queue (blocked by the rolling 8-hour reservation allowance)
Book in order as quota frees (a session completing releases its hours). Exact
New.aspx parameters; all plans already uploaded and verified on their scopes.
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 | 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)
Done this session: free T33 47 Tuc retry booked as 749314 (grid-verified). NOT
done, both correctly deferred:
- **Cen A verify**: 749302 had not run yet (starts 08:50 UTC, this session ran at
08:48). Verify after 11:50 UTC.
- **cra-t8 (#2)**: blocked twice over. (1) Quota: Cen A holds 3h until it
completes ~11:50 UTC; with Cat's Paw (2h20m) + Cen A (3h) + T33 (45m) held,
under ~1h55m is free, not enough for a 3h slot. (2) Conflict: user hajo holds
T8 00:25-02:25 SSO local (res 749207), overlapping our planned 01:35-04:35.
**cra-t8 resolution options** (pick with a live grid re-check when quota frees):
- (a) Shift to 02:25-05:25 after hajo. Downside: Corona Australis culminates
~22:30 SSO local, so by 02:25-05:25 it is 4-6.5h past meridian and low; poor.
- (b) PREFERRED: move cra-t8 to the NEXT night, 2026-07-23T01:35-04:35 (night of
22 Jul SSO), same clock time, avoids hajo, keeps decent altitude. Re-check that
night's T8 grid first. One night's slip is fine inside the drain window.
- (c) Earlier slot 21:25-00:25 (before hajo) is astronomically best but starts
11:25 UTC, before Cen A releases quota at 11:50; not bookable in time.
The scheduled 12:13 UTC job (ae3af497) fires after Cen A completes: it should
verify Cen A + bill, then book cra-t8 by option (b) unless the grid has changed
(hajo may cancel, opening option (a)/original). At corrected (x1.6) rates the
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
each booking round. After #6, allocate the remaining balance (~450 pts) to a
final deep session on the best-performing scope, sized to land under 50 pts.
**10 Aug: verify balance is near zero, download ALL data from data.itelescope.net, **10 Aug: verify balance is near zero, download ALL data from data.itelescope.net,
then (with explicit user confirmation) cancel via MyAccount/Cancel.aspx.** then (with explicit user confirmation) cancel via MyAccount/Cancel.aspx.**
## Operational notes ## Operational notes
- Every paid session follows plans/README.md (walk-in when idle; same ACP flow as - Sessions are now RESERVED, not walk-in: upload the plan to the scope, then book
the free scopes). Upload plans the day before where possible. it at reservations.itelescope.net with the plan attached (procedure in
plans/README.md); iTelescope auto-starts the plan at reservation start and the
reschedule flag retries weather losses. Claude sessions monitor rather than
drive. T59 moon discount correction: 0% until 21 Jul, 25% from 22 Jul.
- Cron jobs live only in an open Claude session; if a day's session has no live - Cron jobs live only in an open Claude session; if a day's session has no live
session to fire it, the user prompts "run today's drain session" and any session session to fire it, the user prompts "run today's drain session" and any session
picks it up from this file plus state/TODO.md. picks it up from this file plus state/TODO.md.

View file

@ -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 # Default Workflow
This file is the entry point for any Claude Code session working under the Default This file is the entry point for any Claude Code session working under the Default

View file

@ -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 # itelescope
Reference and review of the [iTelescope.net](https://www.itelescope.net/) remote Reference and review of the [iTelescope.net](https://www.itelescope.net/) remote

View file

@ -63,3 +63,38 @@ stop well before dawn.
Abort path if something looks wrong: the web UI exposes an abort on the console Abort path if something looks wrong: the web UI exposes an abort on the console
page; locate it live before starting exposures (not yet mapped). page; locate it live before starting exposures (not yet mapped).
## Reservations (verified working 2026-07-18)
Reservations live at http://reservations.itelescope.net ("Reservations Pilot"),
reached from each scope's /ac/MenuItems/reservation-edit.asp iframe as
`?t=<scope-id>&u=<username>` (scope ids look like GRAS059 for T59, GRAS033 for
T33; full list in the resources JSON on go.itelescope.net/Reservation/Overview.aspx,
whose embedded DayPilot events also show everyone's bookings, roof/sun times, and
the moon discount per night). No separate login: it trusts the u= parameter once a
session cookie exists.
Creating one is a three-step WebForms dance against
`New.aspx?start=<ISO local>&end=<ISO local>&r=<scope-id>` (times are OBSERVATORY
LOCAL): (1) GET the form, (2) POST tokens + DropDownStartTime/DropDownEndTime
(e.g. "12:05 AM"/"3:45 AM") + PlanToRunListBox=<plan file> + RescheduleCheckbox
+ ButtonRefreshPlans=Refresh Plans, which re-renders with Confirm enabled,
(3) re-POST the fresh tokens with the same fields + ReservationOKButton=Confirm
Reservation. Success = response script `ModalStatic.result("OK")` AND the booking
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
timeslot on the first available night of the next 30 if the run does not happen.
Delete/edit via Edit.aspx?id=<reservation id> from the grid.

12
plans/catspaw-t8.txt Normal file
View file

@ -0,0 +1,12 @@
;
; Cat Paw NGC 6334 in Ha on T8 - phase 2 narrowband
; Ha 9x600s Bin1. 90 min imaging. Bright moon OK.
;
#largepreviews
#tiff
#count 9
#interval 600
#binning 1
#filter Ha
NGC6334 17.340000 -36.116667
#shutdown

12
plans/cena-t32.txt Normal file
View file

@ -0,0 +1,12 @@
;
; Centaurus A (NGC 5128) on T32 for qisback - drain campaign phase 1
; L 12x300s, RGB 4x300s each. 120 min imaging.
;
#largepreviews
#tiff
#count 12,4,4,4
#interval 300,300,300,300
#binning 2,2,2,2
#filter Luminance,Red,Green,Blue
NGC5128 13.424333 -43.019139
#shutdown

12
plans/cra-t8.txt Normal file
View file

@ -0,0 +1,12 @@
;
; Corona Australis dust complex on T8 for qisback - drain campaign phase 1
; L 8x300s Bin1, RGB 5x300s each Bin2. 115 min imaging.
;
#largepreviews
#tiff
#count 8,5,5,5
#interval 300,300,300,300
#binning 1,2,2,2
#filter Luminance,Red,Green,Blue
CrA-complex 19.030000 -36.955000
#shutdown

17
plans/hdrcore-t32.txt Normal file
View file

@ -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

View file

@ -0,0 +1,12 @@
;
; NGC 6188 Fighting Dragons on T59, session A: Ha + OIII - phase 2 narrowband
; Ha 6x600s, OIII 6x600s. 120 min imaging. Bright moon OK.
;
#largepreviews
#tiff
#count 6,6
#interval 600,600
#binning 1,1
#filter Ha,OIII
NGC6188 16.669167 -48.796667
#shutdown

12
plans/ngc6188-sii-t59.txt Normal file
View file

@ -0,0 +1,12 @@
;
; NGC 6188 on T59, session B: SII + extra Ha - phase 2 narrowband
; SII 6x600s, Ha 3x600s. 90 min imaging. Bright moon OK.
;
#largepreviews
#tiff
#count 6,3
#interval 600,600
#binning 1,1
#filter SII,Ha
NGC6188 16.669167 -48.796667
#shutdown

12
plans/scorpius-t70.txt Normal file
View file

@ -0,0 +1,12 @@
;
; Scorpius tail super-wide (Prawn/Cat Paw region) on T70 for qisback - phase 1
; L 10x300s, RGB 4x300s each. 110 min imaging.
;
#largepreviews
#tiff
#count 10,4,4,4
#interval 300,300,300,300
#binning 1,1,1,1
#filter Luminance,Red,Green,Blue
Scorpius-tail 16.916667 -40.000000
#shutdown

12
plans/smc47tuc-t8.txt Normal file
View file

@ -0,0 +1,12 @@
;
; SMC + 47 Tucanae in one T8 frame - phase 3 signature shot
; L 8x300s Bin1, RGB 6x300s each Bin2. 130 min imaging. Dark of moon.
;
#largepreviews
#tiff
#count 8,6,6,6
#interval 300,300,300,300
#binning 1,2,2,2
#filter Luminance,Red,Green,Blue
SMC-47Tuc 0.650000 -72.500000
#shutdown

12
plans/tarantula-t32.txt Normal file
View file

@ -0,0 +1,12 @@
;
; Tarantula Nebula NGC 2070 on T32 - phase 3
; L 10x300s, RGB 5x300s each. 125 min imaging. Pre-dawn rising target.
;
#largepreviews
#tiff
#count 10,5,5,5
#interval 300,300,300,300
#binning 2,2,2,2
#filter Luminance,Red,Green,Blue
NGC2070 5.643333 -69.100000
#shutdown

View file

@ -52,6 +52,28 @@ T73 224, T74 295, T75 202, T80 119.
Standouts: T59 at 80/hr is the value big scope (20" CDK, square 37 arcmin Standouts: T59 at 80/hr is the value big scope (20" CDK, square 37 arcmin
field, 900 s subs); T5 at 68/hr the cheapest paid; T26 at 394/hr the dearest. field, 900 s subs); T5 at 68/hr the cheapest paid; T26 at 394/hr the dearest.
Billing is per minute of imaging (exposure) time, so overhead is not billed. Billing is per minute of imaging (exposure) time, so overhead is not billed.
**RATE CORRECTION (2026-07-20, from the first real bill):** the paragraph above
underestimates. T59 session 851148: 180 min of exposure, wall clock 00:05:22 to
03:29:56 (3h24m34s), history "Time Used" 3h24m32s = WALL time, billed 381 points
at 0% moon discount. That is ~112 pts/hr of wall time or ~127 pts/hr of exposure
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 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 as the free scopes, points just deduct. Reservations (to guarantee a slot) go
through lookup.itelescope.online, which is Cloudflare-protected: Playwright through lookup.itelescope.online, which is Cloudflare-protected: Playwright

View file

@ -13,22 +13,68 @@
from lat 51.5°N), matched to Q62/X07 scopes, seasonal booking calendar, and a from lat 51.5°N), matched to Q62/X07 scopes, seasonal booking calendar, and a
July-August starter campaign (T33 free, T71 narrowband, T73 galaxy, T8 LMC later). July-August starter campaign (T33 free, T71 narrowband, T73 galaxy, T8 LMC later).
## Done (recent)
- 2026-07-20: NGC 6744 on T59 SUCCEEDED (reservation 749227, txn 851148): full
LRGB dataset on the scope server (L 15x300s BIN1, RGB 7x300s each BIN2),
previews verified clean. Billed 381 pts (est was ~240: see the rate
correction in NOTES.md). Balance now 2,257. Ledger updated in CAMPAIGN.md.
## Done (recent)
- 2026-07-21 ~08:55 UTC: free T33 47 Tuc retry booked as reservation 749314
(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 ## In progress
- T33 first-light test: ngc104-test.txt (47 Tuc, ~24 min LRGB) uploaded to - T33 first-light test on its THIRD booking (749314), which had NOT yet run as of
/plans/qisback/ on T33 and verified. Run window: 2026-07-19 roughly 14:00-19:30 11:40 UTC 21 Jul: it starts 14:05 UTC. Verify after 14:50 UTC (images and logs
UTC when 47 Tuc clears the 20 degree limit. Procedure in plans/README.md. on t33.itelescope.net:8033 were still empty/stale at 11:40, as expected). The
Remaining: live-run the plan (confirm the plan.asp POST and any scope-connect two prior free reservations (749228, 749229) expired unused with reschedule=No;
step), monitor via console, pull images/logs, record outcome in NOTES. if 749314 also fails to run, stop rebooking and either walk it in (POST
- Second free session scheduled for 2026-07-20 same window: runs plan.asp per plans/README.md) or drop the free objective.
plans/ngc6752.txt (uploaded to T33, verified) if the 47 Tuc test succeeded, - The T32 HDR core set (plans/hdrcore-t32.txt) was booked and then CANCELLED on
otherwise retries ngc104-test.txt. Whichever session runs must record its 2026-07-21 without running: the Cen A nucleus is not saturated, the earlier
outcome here and in NOTES so the other knows. 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, - 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 then cancel before the 12 Aug renewal (user confirmation required for the
cancel itself). First paid run: NGC 6744 on T59 (plans/ngc6744-t59.txt, cancel itself). 541 of 2,638 spent; 2,097 remain. The x1.6 estimate multiplier
uploaded and verified), scheduled 2026-07-19 after the free test, ~240 pts. is WITHDRAWN: billing is on plan imaging minutes, and per-scope rates must come
Update the CAMPAIGN.md ledger after every session from account/history.aspx. 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 ## Pending