def METHOD_NAME(
    dataset_model: DatasetModel,
    global_dimension: str,
    global_axis: ArrayLike,
    model_dimension: str,
    model_axis: ArrayLike,
) -> xr.Dataset:
    """Simulate a dataset model with global megacomplexes.
    Parameters
    ----------
    dataset_model : DatasetModel
        The dataset model to simulate.
    global_dimension : str
        The global dimension of the dataset.
    global_axis : ArrayLike
        The global axis of the dataset.
    model_dimension : str
        The model dimension of the dataset.
    model_axis : ArrayLike
        The model axis of the dataset.
    Returns
    -------
    xr.Dataset
        The simulated dataset.
    Raises
    ------
    ValueError
        Raised if at least one of the dataset model's global megacomplexes is index dependent.
    """
    global_matrix = MatrixProvider.calculate_dataset_matrix(
        dataset_model, global_axis, model_axis, global_matrix=True
    )
    if global_matrix.is_index_dependent:
        raise ValueError("Index dependent models for global dimension are not supported.")
    global_clp_labels = global_matrix.clp_labels
    global_matrix = xr.DataArray(
        global_matrix.matrix.T,
        coords=[
            ("clp_label", global_clp_labels),
            (global_dimension, global_axis),
        ],
    )
    return simulate_from_clp(
        dataset_model, global_dimension, global_axis, model_dimension, model_axis, global_matrix
    )