Commit df245226 authored by Sean Leavey's avatar Sean Leavey

Add --noxaxis and --no-simulate flags

parent 01c4d4fc
......@@ -15,6 +15,8 @@ from .finesse import kat as katparser
@click.command(help="Python interface and tools for FINESSE")
@click.argument("file", type=click.File())
@click.option("--simulate/--no-simulate", is_flag=True, default=True,
help="Simulate FILE.")
@click.option("--xstart", type=float,
help="Simulation start value. If specified, this overrides the xaxis start "
"value specified in the parsed file.")
......@@ -25,6 +27,7 @@ from .finesse import kat as katparser
help="Number of steps to simulate between --start and --stop. If specified, "
"this overrides the number of xaxis steps specified in the parsed file.")
@click.option("--xscale", type=click.Choice(["lin", "log"]), help="Scaling for the xaxis.")
@click.option("--noxaxis", is_flag=True, default=False, help="Switch off x-axis.")
@click.option("--trace", type=click.Choice(["tem", "cavity", "mismatch", "beams", "gouy",
"coupling", "modechanges", "nodes", "all"]),
multiple=True, help="Show simulation trace results. This option can be specified "
......@@ -48,18 +51,26 @@ from .finesse import kat as katparser
help="Save image of figure to file.")
@click.option("--display-graph", is_flag=True, help="Generate and display model node graph.")
@click.version_option(version=__version__, prog_name="Pykat")
def cli(file, xstart, xstop, xsteps, xscale, trace, maxtem, ignored_blocks, plot, save_figure,
display_graph):
def cli(file, simulate, xstart, xstop, xsteps, xscale, noxaxis, trace, maxtem, ignored_blocks,
plot, save_figure, display_graph):
"""Base CLI command group"""
kat = katparser()
kat.load(file.name)
has_xaxis = hasattr(kat, "xaxis")
if ignored_blocks:
for block in ignored_blocks:
kat.removeBlock(block)
if simulate:
if xstart is not None or xstop is not None or xsteps is not None or xscale is not None:
if not has_xaxis:
click.echo("Limits can only be overridden when an xaxis is defined in FILE.",
err=True)
sys.exit(1)
if noxaxis:
click.echo("Limits can only be set when --noxaxis is unset.", err=True)
sys.exit(1)
# Override xaxis.
limits = kat.xaxis.limits
set_limits = False
......@@ -77,6 +88,9 @@ def cli(file, xstart, xstop, xsteps, xscale, trace, maxtem, ignored_blocks, plot
if set_limits:
kat.xaxis.limits = np.array(limits).astype(float)
if noxaxis:
kat.noxaxis = True
if maxtem:
kat.maxtem = maxtem
......@@ -91,10 +105,6 @@ def cli(file, xstart, xstop, xsteps, xscale, trace, maxtem, ignored_blocks, plot
traceval |= traceints[tracetype]
kat.trace = traceval
if ignored_blocks:
for block in ignored_blocks:
kat.removeBlock(block)
results = kat.run()
if kat.trace:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment