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.
100 lines
5.2 KiB
Markdown
100 lines
5.2 KiB
Markdown
# Observing plans and the T33 session runbook
|
|
|
|
ACP observing plans for iTelescope scopes, plus the procedure to run one on T33
|
|
(the free Siding Spring scope). Credentials are NOT in this repo: they live in
|
|
the local claudetemp itelescope folder (creds.txt, `username=`/`password=` lines).
|
|
|
|
## Plan format (ACP)
|
|
|
|
See [ngc104-test.txt](ngc104-test.txt). Directives, then a target line:
|
|
`Name<TAB>RA_decimal_hours<TAB>Dec_decimal_degrees`. Counts, intervals, binning
|
|
and filters are parallel comma-separated lists. `#shutdown` parks safely at the
|
|
end (iTelescope's own one-click plans do the same).
|
|
|
|
## T33 endpoints (base http://t33.itelescope.net:8033, HTTP auth = iTelescope creds)
|
|
|
|
| Purpose | Path |
|
|
|---|---|
|
|
| Status JSON (times, obsStat, obsOwner) | /ac/SystemStatus/asystemstatus.asp |
|
|
| Console text | /ac/SystemStatus/aconsread.asp |
|
|
| Scope connect control | /ac/SystemStatus/ascopeconn.asp |
|
|
| Shutter/roof status | /ac/SystemStatus/ashutterctl.asp |
|
|
| My plan folder (list/upload/delete) | /plans/qisback/aindex.asp, aupload.asp, adelfile.asp |
|
|
| Run a plan ("Acquire Images") | POST /ac/Plans/plan.asp |
|
|
| My logs | /logs/qisback/aindex.asp |
|
|
| Finished data | data.itelescope.net |
|
|
|
|
Upload: multipart POST to `/plans/qisback/aupload.asp`, fields `File1` (the file)
|
|
and `DestPath=/plans/qisback`. Verified working 2026-07-18; content round-trips
|
|
exactly.
|
|
|
|
Run: the web UI posts the plan select to `/ac/Plans/plan.asp`; the select's value
|
|
is the WINDOWS path `C:\ProgramData\ACP\ACP Web Data\Doc Root\plans\qisback\<file>`.
|
|
Field names seen: `plan`, optional `VPhot`, `AutoLogoff`. NOT yet exercised live
|
|
(observatory was closed, daytime); the first live session must confirm whether a
|
|
scope-connect POST (ascopeconn.asp) is required first, and capture the exact
|
|
response shape.
|
|
|
|
## The 47 Tuc free-session test (ngc104-test.txt)
|
|
|
|
- Target: NGC 104 / 47 Tucanae, RA 0.4015 h, Dec -72.0814 deg (circumpolar at SSO).
|
|
- L 4x120 s, RGB 2x90 s each, Bin2: about 17 min exposure, about 24 min with
|
|
overhead, inside the daily free 30 minutes.
|
|
- Uploaded to /plans/qisback/ on 2026-07-18 and verified.
|
|
|
|
### When to run
|
|
|
|
47 Tuc clears T33's 20 degree minimum elevation in the second half of the SSO
|
|
night. SSO local = UTC+10; the good window is roughly 14:00-19:30 UTC (UK
|
|
afternoon/evening). Sunrise at SSO was 06:14 local (20:14 UTC) at recon time;
|
|
stop well before dawn.
|
|
|
|
### Procedure
|
|
|
|
1. GET asystemstatus.asp: confirm observatory open (obsStat) and no other user
|
|
(obsOwner n/a). If someone is on, wait and retry; T33 is first-come.
|
|
2. Confirm the plan file is still in /plans/qisback/ (aindex.asp).
|
|
3. POST plan.asp with the plan's Windows path to start acquisition.
|
|
4. Poll aconsread.asp (console) every minute or two: slew, centering, filter
|
|
changes, exposures. The run self-terminates via #shutdown.
|
|
5. Images land in /images/qisback/ on the scope server and then on
|
|
data.itelescope.net; logs in /logs/qisback/.
|
|
6. Record the session outcome in state/NOTES.md.
|
|
|
|
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).
|
|
|
|
## 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.
|