Skip to content

Phase 2 docs: concepts, migration guide, PSFs, FAQs, build fix#928

Draft
astronomyk wants to merge 4 commits into
mainfrom
kl/scopesim_docs_improvements
Draft

Phase 2 docs: concepts, migration guide, PSFs, FAQs, build fix#928
astronomyk wants to merge 4 commits into
mainfrom
kl/scopesim_docs_improvements

Conversation

@astronomyk
Copy link
Copy Markdown
Collaborator

Summary

  • Add architecture/concepts guide (concepts.rst) covering the 5 core objects, pipeline flow, FOVs, and a complete worked example
  • Add SimCADO → ScopeSim migration guide (simcado_migration.rst) with side-by-side API mapping tables for users coming from SimCADO
  • Add PSF documentation (psfs.rst) covering all effect classes (FieldConstantPSF, FieldVaryingPSF, AnisocadoPSF, SeeingPSF, GaussianDiffractionPSF), when to use each, and how to swap PSFs at runtime
  • Add FAQ entries: troubleshooting (common errors + fixes), filters (listing/using filters), and source creation patterns
  • Reorganise index.rst into three labelled toctrees: Getting Started, Reference, Examples
  • Fix docs build (scopesim_sphinx_ext.py): the custom Sphinx extension was regenerating effects_docstrings/*.rst using the platform default encoding (cp1252 on Windows), writing the § placeholder as a lone 0xA7 byte that Sphinx then failed to decode as UTF-8. Fixed by adding encoding="utf-8" to the open() call.
  • Add docs/_build/ and docs/source/_autosummary/ to .gitignore

Test plan

  • Docs build locally with sphinx-build -b html -D nb_execution_mode=off docs/source docs/_build/html — succeeds (36 pre-existing warnings, no errors)
  • index.html renders with three sidebar sections: Getting Started, Reference, Examples
  • concepts.html, simcado_migration.html, psfs.html all present and linked
  • faqs/ directory renders with the three new FAQ pages
  • RTD preview build passes

🤖 Generated with Claude Code

@codecov
Copy link
Copy Markdown

codecov Bot commented May 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 75.19%. Comparing base (1359039) to head (36c0419).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #928      +/-   ##
==========================================
+ Coverage   72.45%   75.19%   +2.73%     
==========================================
  Files          70       70              
  Lines        9018     9018              
==========================================
+ Hits         6534     6781     +247     
+ Misses       2484     2237     -247     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@teutoburg teutoburg added the documentation Improvements or additions to documentation label May 15, 2026
@teutoburg teutoburg moved this to 🏗 In progress in ScopeSim-development May 15, 2026
astronomyk and others added 4 commits May 19, 2026 23:33
simcado_migration.rst: side-by-side API mapping table (source
creation, UserCommands, run workflow, observing modes) plus
explanation of the three key conceptual changes (modular packages,
bang-string parameters, MORFEO requirement).

concepts.rst: explains the five core objects (Source, OpticalTrain,
Effect, UserCommands, Detector), the FOV pipeline, and YAML instrument
packages with a complete worked example.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
faq_troubleshooting.md: common errors (missing default.yaml, black
image, slow simulation, FITS extension count) with causes and fixes.

faq_filters.md: listing filters, changing filter, plotting transmission,
custom filters, MICADO filter table, wavelength range gotcha.

faq_sources.md: creating stars, fields, clusters, galaxies, combining
sources, source from FITS image, setting positions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
psfs.rst: describes all PSF effect classes (FieldConstantPSF,
FieldVaryingPSF, AnisocadoConstPSF, SeeingPSF, GaussianDiffractionPSF),
how to disable/replace a PSF at runtime, field-varying PSF download
info for MICADO, and the FITS file format specification.

index.rst: split the single toctree into three labelled sections
(Getting Started, Reference, Examples) and add the four new pages.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…artefacts

scopesim_sphinx_ext.py was opening generated RST files with the platform
default encoding (cp1252 on Windows), causing the § character in the
FitsHeadersHDU docstring to be written as Latin-1 0xA7 rather than UTF-8.
Sphinx then failed to read the regenerated file on every build.

Add docs/_build/ and docs/source/_autosummary/ to .gitignore so generated
build artefacts are not tracked.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@astronomyk astronomyk force-pushed the kl/scopesim_docs_improvements branch from 5e9949c to 36c0419 Compare May 19, 2026 21:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

Status: 🏗 In progress

Development

Successfully merging this pull request may close these issues.

2 participants