Source code for torx.specializations.grillix.initialize_multigrid_m

"""Allows interfacing the PARALLAX multigrid from GRILLIX data."""
from pathlib import Path
from warnings import warn

import torx
from torx.fileio import filepath_resolver
from torx.normalization import Normalization
from torx.autodoc_decorators_m import autodoc_function

[docs] @autodoc_function def initialize_grillix_multigrid( filepath: Path, load_all_levels: bool = True, ) -> torx.grid.Multigrid2D: """ Initialize a multigrid object stored in GRILLIX format. Parameters ---------- filepath: pathlib.Path Path to the GRILLIX directory load_all_levels: bool, optional Default is True. Returns ------- multigrid: torx.grid.Multigrid2D TorX interpreted version of a PARALLAX multigrid. """ try: norm = Normalization.initialize_from_normalization_file( filepath_resolver(filepath, "physical_parameters.nml") ) R0 = norm.R0 except FileNotFoundError: warn( "physical_parameters.nml not found. Normalization will not be useable. "\ "Returning the multigrid in units of meter." ) norm = Normalization(dict()) R0 = torx.Quantity(1, "m") multigrid_file = filepath_resolver(filepath, "multigrid.nc") multigrid = torx.grid.Multigrid2D( multigrid_file, multigrid_group = "", load_all_levels = load_all_levels, R0 = R0 ) return multigrid