diff --git a/src/ebfm/INIT.py b/src/ebfm/INIT.py index 90b3cb84..d21ad561 100644 --- a/src/ebfm/INIT.py +++ b/src/ebfm/INIT.py @@ -199,7 +199,11 @@ def init_grid(grid, io, config: GridConfig): else: grid["mask"] = np.ones_like(grid["x"]) # treats every grid cell as glacier - grid["gpsum"] = compute_number_of_glacier_cells(grid) + if config.grid_type is GridInputType.ELMERXIOS: + grid["gpsum"] = grid["z"].shape[0] + else: + grid["gpsum"] = compute_number_of_glacier_cells(grid) + grid["slope_x"] = np.zeros_like(grid["x"]) # test values! grid["slope_y"] = np.zeros_like(grid["x"]) # test values! grid["slope_beta"] = np.zeros_like(grid["x"]) # test values! diff --git a/src/main.py b/src/main.py index bcae5450..272caa32 100644 --- a/src/main.py +++ b/src/main.py @@ -315,7 +315,8 @@ def main(): logger.debug("Received the following data from Elmer/Ice:", data_from_elmer) IN["h"] = data_from_elmer["h"] - grid["z"] = IN["h"][0].ravel() + if coupler.couple_to_icon_atmo: + grid["z"] = IN["h"][0].ravel() # TODO add gradient field later # IN['dhdx'] = data_from_elmer('dhdx') # IN['dhdy'] = data_from_elmer('dhdy') diff --git a/src/reader.py b/src/reader.py index bdae6c42..7f32277f 100644 --- a/src/reader.py +++ b/src/reader.py @@ -106,8 +106,9 @@ def read_dem_xios(dem_file: Path, grid: dict): np.squeeze(nc["x"][:]).shape == grid["x"].shape ), "Surface mesh and Elmer mesh do not have the same number of vertices" grid["z"] = np.squeeze(nc["zs"][:]).data - grid["lat"] = np.squeeze(nc["mesh2D_node_x"][:]).data - grid["lon"] = np.squeeze(nc["mesh2D_node_y"][:]).data + grid["h"] = np.squeeze(nc["h"][:]).data + grid["lat"] = nc["mesh2D_node_x"][:] + grid["lon"] = nc["mesh2D_node_y"][:] return grid