itelescope/state/NOTES.md
Laurence 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

4.9 KiB

Notes

Working notes, gotchas, environment quirks, and dead ends to avoid. Free form. The point is to save a future session from rediscovering something the hard way.

  • Refresh the specs snapshot with: curl -sL "https://docs.google.com/spreadsheets/d/1jZWkkjewOuyNC9YzQ8y2d0pO1e4T7EBeysmQMPBVSOk/export?format=csv" -o data/itelescope-telescopes.csv
  • The CSV has multi-line cells (quoted); line count is not row count. Telescope rows start T<number>,; observatory header rows have an empty first column.
  • Sensors are 16-bit ADC unless noted (T20's ASI2400C is 14-bit).
  • Free scopes (30 min/day): T68 (Utah), T33 (Siding Spring).
  • Minimum elevation limits come from the support article, not the sheet.

Automation recon (2026-07-18, all verified live)

Credentials live OUTSIDE this repo (local claudetemp, never commit them).

  • go.itelescope.net is ASP.NET WebForms. Login: GET /login.aspx, POST UsernameTextBox/PasswordTextBox plus __VIEWSTATE, __VIEWSTATEGENERATOR, __EVENTVALIDATION, LoginButton=Login; session cookie then works everywhere.
  • JSON service at /DataService.svc (session-cookie auth): GetAccountStatus (balance, plan, renewal), GetMyAvailablePlans (per-plan, per-scope AccessDiscount), ApplyPromoCode (POST). More methods likely; enumerate from inline $.ajax calls on each page (Scripts/Common.js has none).
  • Home page /default.aspx carries live network status text (per-scope offline/online reasons) plus points balance: cheap to poll.
  • Reservation/Overview.aspx links every telescope's own control server: https://tNN.itelescope.online/ or http://tNN.itelescope.net:80NN/. These are ACP web servers behind HTTP auth accepting the same iTelescope credentials (verified read-only on T33: index.asp is a TiddlyWiki info page, min elevation 20 degrees, 900 s max exposure). Session control and plan submission happen here; ACP endpoint mapping is the next step.
  • Reservation/Planner.aspx now redirects to https://lookup.itelescope.online (new planning tool, not yet explored).
  • Weather per site: Weather/Weather.aspx?site=UDRO|SSO|DSC|SRO|AC|EYE.
  • Account: Plan-40 (GBP 32.00 per 28 days), renewal 12 Aug 2026, subscribed since Apr 2019, balance 2,638 points at recon time.

Rate card (2026-07-18, points per imaging hour, billed per minute)

Extracted from MyAccount/UpdatePlan.aspx: each scope row carries data-default-rate (dark-of-moon base); effective rate = base x (1 - AccessDiscount from DataService GetMyAvailablePlans) x (1 - moon discount, server-side table keyed on illumination, not extracted yet). Plan-40 discount is 10% on most scopes, 20% on a few, 0% on the newest (T25, T26, T73, T74).

Plan-40 rates before moon discount: T2 50, T5 68, T8 130, T10 146, T11 161, T14 97, T17 135, T18 81, T20 89, T21 76, T24 186, T25 322, T26 394, T30 161, T32 146, T33 0 (free), T59 80, T68 0 (free), T70 119, T71 106, T72 202, T73 224, T74 295, T75 202, T80 119.

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. 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 as the free scopes, points just deduct. Reservations (to guarantee a slot) go through lookup.itelescope.online, which is Cloudflare-protected: Playwright needed.