Skip to content

Disk space usage control in cloud: 18 of March 2024

Choose a tag to compare

@amc1999 amc1999 released this 18 Mar 23:06
· 278 commits to master since this release

Disk space usage control in cloud: 18 of March 2024

20240318 : v1.17.0

Main features of this release:

  • disk space usage control UI and back-end tools to set storage quotas for users and enforce space cleanup
  • control the aggregation of subs to produce run-level tables
  • multiple changes in generated model documentation

Other changes:

  • c++ core: New 'standard' model files
  • c++ core: French translations of run log messages
  • c++ core: Function definition of ProcessDevelopmentOptions no longer required in model code
  • c++ core: Renamed demo models OzProj and OzProjGen – microdata removed from distribution
  • UI and back-end: do not allow to open parameter, table or microdata if dimension type size or attribute size exceeds the limit
  • UI and back-end: fix issues related to large range types handling in back-end and UI

Disk space usage control UI and tools

For cloud environment it is important to limit disk resources usage and force users to cleanup old model runs data. This release provides an ability for cloud administrator to set storage quotas and block model run functionality until user cleanup it own space. There is a new UI and related back-end tools available for users to analyze and cleanup storage space.

Control the aggregation of subs to produce run-level tables

OpenM++ computes the run-level value of a table cell by aggregating the values of the table cell over the subs/replicates/members of the run. The aggregation method depends on the kind of model (case-based or time-based), the value of the measures_method option, the kind of table (entity or derived), and for entity tables, the measure statistic (count, sum, min, max, etc.). With this release, a model developer can specify the aggregation method explicitly for individual table measures.

For more information, please see Tables · openmpp/openmpp.github.io Wiki · GitHub.

Generated Model Documentation enhancements

The following enhancements to the generated Symbol Reference are implemented in this release:

  • attribute topics (simple, derived, identity, multilink aggregate)
  • entity set topics
  • enhancements to enumeration topics
  • enhancements to entity table topics
  • options for note placement and heading
  • other enhancements and bug fixes

For more information, please see Generated Model Documentation · openmpp/openmpp.github.io Wiki · GitHub

New 'standard' model files

The source files in the example models in this release have some differences which model developers may wish to incorporate into their models. Examples of these files can be found in the OM_ROOT/models/RiskPaths folder and copied and adapted for your model(s).

  • code/ompp_options.ompp contains commonly modified options statements, such as Model Documentation options.
  • doc/Home.EN.md contains an example starting Home topic in English for Authored Model Documentation
  • doc/Home.FR.md contains an example starting Home topic in English for Authored Model Documentation
  • ompp/Model.vcxproj is an updated Visual Studio project file with updated settings, including documentation content files
  • ompp/Model.vcxproj.filters is an updated Visual Studio project file with updated file types, including documentation content files

For more about the organization of model source and documentation files, please see the following sub-topics:
Model Code · Code folder and source files
Model Code · Doc folder and documentation files

French translations of run log messages

In this release, all normal run log messages, such as run progress messages, now have a French language translation. When a model is run in the UI when the interface language is French, the run log progress messages will also be in French. Some but not necessarily all run-time warning and error messages also have French language versions. Please let us know if you encounter any missing French translations which are visible in the UI.

Function definition of ProcessDevelopmentOptions no longer required in model code

OpenM++ provides a mechanism to create and use model-specific options in a run ini file, as described in
Model Run Options and ini file · openmpp/openmpp.github.io Wiki · GitHub
A definition of the global function ProcessDevelopmentOptions() is required to implement this feature.
An empty version of that function is typically found in the model code module ompp_framework.ompp.
As of this release, the OpenM++ compiler automatically supplies an empty definition of ProcessDevelopmentOptions if a definition is not present in model code.
Consequently, it is no longer necessary to provide an empty definition of ProcessDevelopmentOptions in ompp_framework.ompp.
Model development options continue to function as described in the wiki link above, and could (for example) be used to enable model-specific diagnostic output from a run ini file.

Renamed demo models OzProj and OzProjGen – microdata removed from distribution

The test model OzProjGen was renamed to OzProjGenX and OzProj was renamed to OzProjX. That change in name changes the file sort order, so that OzProjGenX runs before OzProjX in test_models or other scripts. That in turn allows the microdata file produced by OzProjGen and read by OzProj to be removed from the OpenM++ distribution.

Before running OzProjX, be sure the run OzProjGenX first to create the required synthetic microdata file.

This change also illustrates how a model which uses synthetic microdata can be distributed without synthetic microdata by distributing it together with a simple companion model which creates the synthetic microdata. That not only reduces the size of the model distribution, it also by construction ensures that no confidential microdata is released inadvertently.

UI and back-end: do not allow to open parameter, table or microdata if dimension type size or attribute size exceeds the limit

There multiple issues fixed related to large range types handling in back-end and UI. As result it is possible now parameter or table dimension or microdata attribute based on large range type. However by default it is not possible to view parameter, table or microdata in UI if any dimension or attribute has more than 256 items. That value is configurable through OM_CFG_TYPE_MAX_LEN environment variable.

Also, since release v1.16.0 (February 13, 2024) attributes publishable as microdata are filtered by configurable maximum enumerators (option microdata_max_enumerators, default 1000).

Microdata Output · openmpp/openmpp.github.io Wiki · GitHub

Download source code and binaries:

Download release documentation archive:

Download cluster version (MPI):

IMPORTANT:
Full version of OpenM++ source code always included into "Download" links above.
Please do NOT use "Source code (zip)" or "Source code (tar.gz)" archives from "Assets" links below.
It is auto-generated by GitHub release tools and contains only half of OpenM++ source code.