OpenClaw-Medical-Skills time-stepping

Plan and control time-step policies for simulations. Use when coupling CFL/physics limits with adaptive stepping, ramping initial transients, scheduling outputs/checkpoints, or planning restart strategies for long runs.

install
source · Clone the upstream repo
git clone https://github.com/FreedomIntelligence/OpenClaw-Medical-Skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/FreedomIntelligence/OpenClaw-Medical-Skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/time-stepping" ~/.claude/skills/freedomintelligence-openclaw-medical-skills-time-stepping && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/FreedomIntelligence/OpenClaw-Medical-Skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/time-stepping" ~/.openclaw/skills/freedomintelligence-openclaw-medical-skills-time-stepping && rm -rf "$T"
manifest: skills/time-stepping/SKILL.md
source content

Time Stepping

Goal

Provide a reliable workflow for choosing, ramping, and monitoring time steps plus output/checkpoint cadence.

Requirements

  • Python 3.8+
  • No external dependencies (uses stdlib)

Inputs to Gather

InputDescriptionExample
Stability limitsCFL/Fourier/reaction limits
dt_max = 1e-4
Target dtDesired time step
1e-5
Total run timeSimulation duration
10 s
Output intervalTime between outputs
0.1 s
Checkpoint costTime to write checkpoint
120 s

Decision Guidance

Time Step Selection

Is stability limit known?
├── YES → Use min(dt_target, dt_limit × safety)
└── NO → Start conservative, increase adaptively

Need ramping for startup?
├── YES → Start at dt_init, ramp to dt_target over N steps
└── NO → Use dt_target from start

Ramping Strategy

Problem TypeRamp StepsInitial dt
Smooth ICNone neededFull dt
Sharp gradients5-100.1 × dt
Phase change10-200.01 × dt
Cold start10-500.001 × dt

Script Outputs (JSON Fields)

ScriptKey Outputs
scripts/timestep_planner.py
dt_limit
,
dt_recommended
,
ramp_schedule
scripts/output_schedule.py
output_times
,
interval
,
count
scripts/checkpoint_planner.py
checkpoint_interval
,
checkpoints
,
overhead_fraction

Workflow

  1. Get stability limits - Use numerical-stability skill
  2. Plan time stepping - Run
    scripts/timestep_planner.py
  3. Schedule outputs - Run
    scripts/output_schedule.py
  4. Plan checkpoints - Run
    scripts/checkpoint_planner.py
  5. Monitor during run - Adjust dt if limits change

Conversational Workflow Example

User: I'm running a 10-hour phase-field simulation. How often should I checkpoint?

Agent workflow:

  1. Plan checkpoints based on acceptable lost work:
    python3 scripts/checkpoint_planner.py --run-time 36000 --checkpoint-cost 120 --max-lost-time 1800 --json
    
  2. Interpret: Checkpoint every 30 minutes, overhead ~0.7%, max 30 min lost work on crash.

Pre-Run Checklist

  • Confirm dt limits from stability analysis
  • Define ramping strategy for transient startup
  • Choose output interval consistent with physics time scales
  • Plan checkpoints based on restart risk
  • Re-evaluate dt after parameter changes

CLI Examples

# Plan time stepping with ramping
python3 scripts/timestep_planner.py --dt-target 1e-4 --dt-limit 2e-4 --safety 0.8 --ramp-steps 10 --json

# Schedule output times
python3 scripts/output_schedule.py --t-start 0 --t-end 10 --interval 0.1 --json

# Plan checkpoints for long run
python3 scripts/checkpoint_planner.py --run-time 36000 --checkpoint-cost 120 --max-lost-time 1800 --json

Error Handling

ErrorCauseResolution
dt-target must be positive
Invalid time stepUse positive value
t-end must be > t-start
Invalid time rangeCheck time bounds
checkpoint-cost must be < run-time
Checkpoint too expensiveReduce checkpoint size

Interpretation Guidance

dt Behavior

ObservationMeaningAction
dt stable at targetGoodContinue
dt shrinkingStability issueCheck CFL, reduce target
dt oscillatingBorderline stabilityAdd safety factor

Checkpoint Overhead

OverheadAcceptability
< 1%Excellent
1-5%Good
5-10%Acceptable
> 10%Too frequent, increase interval

Limitations

  • Not adaptive control: Plans static schedules, not runtime adaptation
  • Assumes constant physics: If parameters change, re-plan

References

  • references/cfl_coupling.md
    - Combining multiple stability limits
  • references/ramping_strategies.md
    - Startup policies
  • references/output_checkpoint_guidelines.md
    - Cadence rules

Version History

  • v1.1.0 (2024-12-24): Enhanced documentation, decision guidance, examples
  • v1.0.0: Initial release with 3 planning scripts