This is an old revision of the document!
PHP's gd library is missing or unable to create PNG images
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
- 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.
- 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.
Execution Model
- 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.
Type System
- Type System — the registry tying every type in the engine together: which conversions run automatically when a value is connected from one port to another, which relationships are subtyping instead, and which conversions can fail or lose information.
- Individual type pages, grouped the way the Type System page itself groups them (Table Type and Lookup Table Type are listed above rather than repeated here):
- Filename and text types: Folder Type, Generic Filename Type, Kmz Filename Type, Lookup Table Filename Type, Map Filename Type, Projection Type, Table Filename Type, Weights Filename Type
- Table and Lookup Table types: Base Table Type, Int Set Type, Lookup Table Group Type, Table Cell Type, Table Value Type, Tuple Type
- Calibration types: Weights Of Evidence Skeleton Type
- Region types: Region Manager Type
- Other types (no automatic conversions documented on the Type System page besides the standard sequencing conversion to None Type): Connection Info Type, Image Expression Type, Kml Type, Kml Timeline Type, Struct Type, Table Manager Type, Workdir Type
Calculator Functors
- Calculate Functors — Complete Operator Documentation — the full expression language available inside a calculator functor: operators, functions, and the shorthand family (
#,##,$,%,%%). - Calculate R Expression — embedding R code in a model, including how tables, maps, and values convert between Dinamica and R.
- Calculate Python Expression — embedding Python code in a model, including how tables, maps, and values convert between Dinamica and Python.
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
- Useful Tips for Creating Models — practical tips that don't fit neatly under a single functor or language feature.
- Useful Tips for Using the Graphical Interface — practical tips for working with the graphical interface itself: panels, editors, model execution, and the issue panel.