This is an old revision of the document!


Dinamica EGO Reference

This wiki documents Dinamica EGO's scripting language, execution model, and the functors most commonly needed when building a model — organized here by topic rather than alphabetically, so each section can be read in order as an introduction to that part of the system.

Language and Execution Model

  • EGO Script Language — the primary text notation for writing a model: functor calls, constants, containers, the calculator shorthand family, properties, and submodels. Start here for the language itself.
  • EGOML Script — the equivalent XML notation, generated by the GUI or written by hand, and its DTD.
  • Basic Data Flow — the execution model underneath both notations: how connections and containers determine execution order, independent of whether the model was written as EGO Script, EGOML, or built visually.
  • Image Virtualization — how Dinamica reconciles maps of different extents, resolutions, or rotations at runtime: every map handed to a functor is wrapped in a virtual version at a shared resolution and extent first, so functors never see mismatched inputs; requirements (shared projection), the Not Allowed / Limited / Unrestricted control under “Tools ⇒ Options | Advanced | Virtualization”, and the functors that opt out of it entirely.
  • Submodels — packaging part of a model as a reusable functor with its own declared inputs and outputs, so it can be called from other models the same way a built-in functor is: local, user, store, and system submodels, expansion before execution, and the GUI workflow for creating, updating, and publishing them.

Type System

Calculator Functors

Tables and Lookup Tables

  • Table Type — the general table format: key and value columns, naming, and type inference.
  • Lookup Table Type — the single-key, single-value specialization of Table Type, and its own literal syntax and conversions.
  • Manipulating Tables and Lookup Tables — functors and techniques for reading, iterating, restructuring, and computing statistics from tables and lookup tables, from a table with a known shape through to tables with an arbitrary number of columns or keys.

Regions

  • Working with Subregions Using Region Manager — when and why to split a model's computation by region; defining regions from a categorical map with Region Manager; reading region metadata; visiting one region or looping over all of them; splitting a global map into regional pieces and merging them back; and the two supporting patterns — per-region functor parameters and per-region accumulation — a region-based model typically needs.

Command-Line Execution

  • Dinamica Console — running a model script from the command line instead of the GUI: execution flags, worker and memory control, logging, accelerators, metadata, and converting a script to another format without running it.

Practical Guidance