The configuration can be done via a graphical configuration interface, with which you can create plots and widgets or change certain settings with a few mouse clicks, visually supported by a live preview. In addition, the configuration can also be done manually via the <modelname>.json file inside the directory: <modeldirecory>/<modelname>.json.
The <modelname>_io.json file, for example
transport_io.json, holds the
GAMS/MIRO data contract
and is located in the
<modelname>/conf_<modelname>
directory. It contains the metadata of all input and
output symbols defined between the
$onExternalInput
/
$offExternalInput
and
$onExternalOutput
/
$offExternalOutput
tags in the corresponding GAMS model. The
<modelname>_io.json file is created each
time a MIRO app ist started via GAMS Studio and should
not be changed. If you use the command line, please
follow
these steps.
The <modelname>.json file, for example
transport.json, is located in the
<modelname>/conf_<modelname>
directory. It contains the configuration of graphics,
input widgets, language and all other model-specific
configurations for a MIRO app. This file can be filled
manually by the user. However, the easiest way for the
configuration is the
Configuration Mode.
Like the
<modelname>_io.json file, the structure of
this file is based on a
schema with
which the file is validated when a MIRO app is started.
Every time you start a MIRO app via GAMS Studio or the command line (i.e. in development mode), a gdx container is created in the directory data_<modelname>. This file contains data extracted from the GAMS model and will be stored in the MIRO database under the scenario name: default at the next start of your app.
These files are generated when starting a MIRO app in development mode. They contain the configuration and initialization steps of an app and can by used by an executable for a fast startup of MIRO. Learn more here.
We call the collection of input and output datasets that result from a particular model run and which are communicated with MIRO a scenario.
A Job describes the submission of one or more GAMS runs.
A Hypercube job describes a set of scenarios for a particular model which MIRO generated automatically by expanding the cartesian product over all selected scalars. Input widgets are automatically expanded when a Hypercube job is created (e.g. a slider becomes a slider range, a single dropdown becomes a multi-dropdown, etc.). This way you can configure multiple scenarios at once. For more information see the section about Hypercube jobs.
A Hypercube job tag is an identifier attached to all scenarios of a Hypercube job. Job tags can help you find scenarios of a particular Hypercube job. They can also be useful for scenario analysis.
You are in development mode when you start a MIRO app from GAMS Studio (or via the command line with the environment variable MIRO_DEV_MODE set to true). Every time you launch MIRO in development mode, your app resources (configuration, README file, data files etc.) are loaded and validated, so your application is always in sync with your current GAMS source. Once you want to share your application with other people you can deploy it. Deployed apps work with a compiled version of your resources, so they tend to launch faster. However, this also means that you can no longer change your app without deploying a new version.