USW-Tax-Analyzer

Using the CLI
Login

Telling the Model What to Do

The command line interface (CLI) to the USW-Tax-Analyzer, which is built using the open-source Tax-Analyzer-Framework, understands a simple declarative language that tells the model what kind of tax analysis to do. Once you tell the CLI what kind of analysis to do, the model figures out the detailed procedures for doing that analysis. So, to use the USW-Tax-Analyzer all you need to learn are the words and rules of a simple declarative language.

Actually, the USW-Tax-Analyzer understands two different declarative languages:

  1. The RUNSPEC CLI invokes the model at the command line (using the uswrun tool) by specifying the name of a single file containing a complete specification of the model run written in a simple run specification language.

  2. The JSON CLI invokes the model at the command line (using the uswta tool) by specifying various model options and the name of one or more files containing JSON language.

The uswplot tool converts any plotting output file written by either CLI into a graph in either SVG, PDF, or EPS format.

The run specification language is easy to learn, has a number of special features making it easier to specify a policy reform or behavior response or growth difference, puts all the details of a run in one file, makes it easy to include comments in the run specification, and produces output files that have simple names. And there are helpful error messages concerning language mistakes. As a result of these features, most people using the model will be using the RUNSPEC CLI language. But both are available and produce the same output.

In both cases, the model understands the same set of words representing model variables and parameters. The model words are described in the language-words file, which is written when executing either the uswrun --test or the uswta --test command. And both the --test commands also write a language-rules file, which contains a brief description of the RUNSPEC language rules and the JSON language rules.

When you tell the model what tax analysis to do, it responds in one of two ways. If it does not understand what you told it to do, it will stop and respond (in English) telling you what it doesn't understand. If it does understand what you told it to do, and the tax analysis you specified makes sense to the model, it will conduct the analysis and describe (in English) what it is doing and will tell you the name of each output file it is writing.

CLI Details

The documents linked below all assume you have read the working at the command prompt documentation.

Documentation and use examples are available at the following links: