Modify a scenario preset

Warning

Pre-implementation. Commands describe the target CLI surface.

Start from a shipped scenario preset and override only the fields needed for your experiment.

When to use this

Use this when the preset is mostly right but you need a different sample count, seed, output path, class mix, density, SNR range, storage mode, or channel backend. If you are inventing a new scenario family, create a new preset instead of accumulating a long command line.

Prerequisites

List the shipped presets, then inspect the documented dense_urban_2_4ghz preset before changing it:

rfgen list-presets
rfgen show-preset dense_urban_2_4ghz

Hydra uses +preset=<name> to add the named preset to the composed config. Dotted paths such as run.num_samples=1000 override fields on the resolved GenerationConfig. See Config Schema / CLI override patterns for the broader syntax.

Minimal command path

Inspect the resolved config:

rfgen validate +preset=dense_urban_2_4ghz \
    run.num_samples=1000 \
    run.seed=7 \
    storage.path=./out/dense-urban-1k

Generate with the same overrides:

rfgen generate +preset=dense_urban_2_4ghz \
    run.num_samples=1000 \
    run.seed=7 \
    storage.path=./out/dense-urban-1k

These overrides change RunConfig.num_samples, RunConfig.seed, and StorageConfig.path. The run block controls run metadata; the storage block controls where records are written.

Common override patterns:

# Change density. poisson_rate is the mean emitter count before min/max clipping.
rfgen generate +preset=dense_urban_2_4ghz \
    scene.density.mode=poisson \
    scene.density.poisson_rate=25

# Keep a local prototype small. orchestration=local swaps a config group.
rfgen generate +preset=dense_urban_2_4ghz \
    run.num_samples=100 \
    orchestration=local \
    storage.path=./out/dense-prototype

The density override changes fields on DensityConfig. Bare assignments such as orchestration=local swap an entire Hydra config group; dotted assignments such as storage.path=... override one field inside a group.

Verify

rfgen config-dump +preset=dense_urban_2_4ghz \
    run.num_samples=1000 \
    storage.path=./out/dense-urban-1k

rfgen inspect ./out/dense-urban-1k summary

rfgen config-dump prints the resolved config hash next to the merged config. Record that hash in your experiment notes. Reusing the same resolved config, seed, and backend versions should reproduce Phase 1 outputs.

Troubleshoot

Symptom

Fix

Override is ignored

Check the resolved config with rfgen config-dump.

Hydra list override fails

Quote list values in your shell, for example 'annotator.types=[caption,qa]'.

Preset becomes hard to read

Save the overrides as a new preset and document the intent.

Next steps