#%% vertical spacing class Grid: def __init__(self, kmax, dz0): self.kmax = kmax self.dz0 = dz0 self.z = np.zeros(kmax) self.dz = np.zeros(kmax) self.zsize = None class Grid_linear_stretched(Grid): def __init__(self, kmax, dz0, alpha): Grid.__init__(self, kmax, dz0) self.dz[:] = dz0 * (1 + alpha)**np.arange(kmax) zh = np.zeros(kmax+1) zh[1:] = np.cumsum(self.dz) self.z[:] = 0.5 * (zh[1:] + zh[:-1]) self.zsize = zh[-1] grid = Grid_linear_stretched(kmax=150, dz0=20, alpha=0.012)