docs: bring skills and docs in line with the fixed code

Skills ask before using a working copy found in the user's folder and state
its check level first. The drift of the queue models before the shock is
stated in the caveats and the README. README shows how to run the check and
the tests. The drift line names the month a gradual drive begins.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-11-11 15:46:39 +01:00
commit 19858bbda9
Signed by: ktg
SSH key fingerprint: SHA256:JakMjO6FTBBzN0Bhfj9saOoEjaFxlSdYuZQQpM/lF9Q
13 changed files with 314 additions and 113 deletions

View file

@ -114,6 +114,7 @@ SEN_FASE = 60.0 # spennet i K måles etter denne måneden (som a
SNITT_FRA = 12.0 # summary_endo: gjennomsnitt fra måned 12
MAKS_KOLONNER_I_TABELL = 6
CSV_HVERT = 20 # standard: én rad per måned (DT = 0,05)
GRADVIS_ANDEL = 0.05 # første avvik under denne andelen av det største: pådraget stiger gradvis
NOTAT_HVERT = 10 # write_csv i sim.py
LIKEVEKT_TOL = 1e-12 # største tillatte rest i dK/dt ved start (pådraget er om lag 0,12 per måned)
FLYTPARAMETERE = ("gamma", "Lam0", "T0") # gir strømmen J0 = gamma Lam0 T0 som domstolen er kalibrert for
@ -1543,8 +1544,14 @@ def sjokkstart(k: Kjoring, r: Resultat) -> float | None:
if k.modell == "simulate_soc":
return k.sjokk["fra"] if k.sjokk["faktor"] != 1.0 else None
if "Omega_faktor" in s:
endret = np.flatnonzero(s["Omega_faktor"] != 1.0)
return float(s["t"][endret[0]]) if endret.size else None
avvik = np.abs(s["Omega_faktor"] - 1.0)
endret = np.flatnonzero(avvik != 0.0)
if not endret.size:
return None
i0 = int(endret[0])
# Et pådrag som stiger gradvis, begynner i tidssteget før det første avviket (måned 12, ikke 12,05).
gradvis = i0 > 0 and float(avvik[i0]) < GRADVIS_ANDEL * float(avvik.max())
return float(s["t"][i0 - 1 if gradvis else i0])
p = k.dicts["P"]
return tallfelt(p, "t_shock") if tallfelt(p, "shock") != 1.0 else None