---
title: Globals
url: 'https://timeloop.csail.mit.edu/v4/input-formats/globals'
markdown: 'https://timeloop.csail.mit.edu/v4/input-formats/globals.md'
date: '2024-08-15'
description: 'Globals Configuration The top-level globals key can be used to set globals and environment variables. The globals key uses the following structure: globals: version: 0.4 environment_variables: ENVIRONMENT_VARIABLE_1: Value1 ENVIRONMENT_VARIABLE_2: Value2 ... expression_custom_fun…'
---

[](#)  [ Overview ](https://timeloop.csail.mit.edu/)     [ Timeloop+Accelergy v4 ](https://timeloop.csail.mit.edu/v4)     [ Input Formats ](https://timeloop.csail.mit.edu/v4/input-formats)      Globals    

# Globals

# Globals Configuration

The top-level `globals` key can be used to set globals and environment variables. The `globals` key uses the following structure:

```
globals:
  version: 0.4

  environment_variables:
    ENVIRONMENT_VARIABLE_1: Value1
    ENVIRONMENT_VARIABLE_2: Value2
    ...
  expression_custom_functions:
    - path_to_script_1.py
    - path_to_script_2.py
```

Multiple `globals` keys can exist in a specification using different prefixes and/or suffixes. For example, `globals1: ...` and `globals2: ...` may exist as two distinct globals top-keys, and their contents will be combined by the parser.

# The `environment_variables` key

This key contains a dictionary of environment variables that will be activated for Timeloop+Accelergy calls. The following settings are accepted:

- `\*ACCELERGY_COMPONENT_LIBRARIES\*: <PATH>`: Add a path to the search path for the [Accelergy Library Plug-In](https://github.com/Accelergy-Project/accelergy-library-plug-in). Files found in this path will be used to find estimations for primitive components. Prefixes and suffixes are allowed for this key, allowing multiple keys to specify multiple paths.
- `TIMELOOP_HIDE_INCONSEQUENTIAL_STATS: 1`: Do not output zero-energy zero-access buffers and networks in Timeloop outputs.
- `TIMELOOP_OUTPUT_STAT_DEFAULT_FLOAT: 0`: Disable default C++-style float representations.
- `TIMELOOP_OUTPUT_STAT_SCIENTIFIC: 1`: Set to `1` to use scientific notation in Timeloop statistic outputs. Use with `TIMELOOP_OUTPUT_STAT_DEFAULT_FLOAT: 0`.
- `TIMELOOP_USE_ISL: 1`: Enable ISL-based mapping evaluation.

# The `expression_custom_functions` key

This key contains a list of paths to Python scripts which include functions that may be useful for parsing expressions. The parser will import the pointed-to and make all functions in the top-level scope available to the parser. For example, the following is allowed:

In script.py:

```python
def my_function(x):
    return x + 5
```

In the YAML specification:

```yaml
globals:
    version: 0.4
    expression_custom_functions:
    - script.py
    ...

variables:
    evaluated_value: my_function(5) # Imported my_function from script.py
```

For more information on parsing expressions, see the [arithmetic parsing](https://timeloop.csail.mit.edu/v4/parsing_and_intermediate_files/arithmetic-parsing) page.

[accessibility](https://accessibility.mit.edu/)

---

## Navigation

- Parent: [Input Formats](https://timeloop.csail.mit.edu/v4/input-formats.md)
- Previous: [Variables](https://timeloop.csail.mit.edu/v4/input-formats/variables.md)
