diff --git a/message_ix/models.py b/message_ix/models.py index e1567d316..9f7fb6f09 100644 --- a/message_ix/models.py +++ b/message_ix/models.py @@ -917,8 +917,21 @@ def __init__(self, *args, **kwargs): f"{self.name} requires GAMS >= {self.GAMS_min_version}; found {version}" ) + # Additional command-line arguments to GAMS + solve_args = [] + try: + concurrent = str(kwargs.pop("concurrent")) + except KeyError: + pass + else: + if concurrent not in ("0", "1"): + raise ValueError(f"{concurrent = }") + solve_args.append(f"--MACRO_CONCURRENT={concurrent}") + super().__init__(*args, **kwargs) + self.solve_args.extend(solve_args) + @classmethod def initialize(cls, scenario, with_data=False): """Initialize the model structure."""