Example #1
0
def test_horizontal_derivatives(test_dataset):
    ds = test_dataset
    dx = ds.attrs['dx']
    dy = ds.attrs['dy']
    Lx = ds.attrs['Lx']
    Ly = ds.attrs['Ly']

    # perdiodic function of Xp1
    f = np.sin(np.pi * ds.Xp1.values / Lx)
    ds['f'] = ('Xp1', f)
    ds['df'] = ('X', np.roll(f,-1) - f)
    ds['dfdx'] = ds.df/dx
    # periodic function of Yp1
    g = np.cos(np.pi * ds.Yp1.values / Ly)
    ds['g'] = ('Yp1', g)
    ds['dg'] = ('Y', np.roll(g,-1) - g)
    ds['dgdy'] = ds.dg/dy

    gcm = GCMDataset(ds)
    gcm_df = gcm.diff_xp1_to_x(ds.f)
    assert gcm_df.equals(ds.df), (gcm_df, ds.df)
    gcm_dg = gcm.diff_yp1_to_y(ds.g)
    assert gcm_dg.equals(ds.dg), (gcm_dg, ds.dg)
Example #2
0
def test_horizontal_derivatives(test_dataset):
    ds = test_dataset
    dx = ds.attrs["dx"]
    dy = ds.attrs["dy"]
    Lx = ds.attrs["Lx"]
    Ly = ds.attrs["Ly"]

    # perdiodic function of Xp1
    f = np.sin(np.pi * ds.Xp1.values / Lx)
    ds["f"] = ("Xp1", f)
    ds["df"] = ("X", np.roll(f, -1) - f)
    ds["dfdx"] = ds.df / dx
    # periodic function of Yp1
    g = np.cos(np.pi * ds.Yp1.values / Ly)
    ds["g"] = ("Yp1", g)
    ds["dg"] = ("Y", np.roll(g, -1) - g)
    ds["dgdy"] = ds.dg / dy

    gcm = GCMDataset(ds)
    gcm_df = gcm.diff_xp1_to_x(ds.f)
    assert gcm_df.equals(ds.df), (gcm_df, ds.df)
    gcm_dg = gcm.diff_yp1_to_y(ds.g)
    assert gcm_dg.equals(ds.dg), (gcm_dg, ds.dg)
Example #3
0
def test_horizontal_derivatives(test_dataset):
    ds = test_dataset
    dx = ds.attrs['dx']
    dy = ds.attrs['dy']
    Lx = ds.attrs['Lx']
    Ly = ds.attrs['Ly']

    # perdiodic function of Xp1
    f = np.sin(np.pi * ds.Xp1.values / Lx)
    ds['f'] = ('Xp1', f)
    ds['df'] = ('X', np.roll(f, -1) - f)
    ds['dfdx'] = ds.df / dx
    # periodic function of Yp1
    g = np.cos(np.pi * ds.Yp1.values / Ly)
    ds['g'] = ('Yp1', g)
    ds['dg'] = ('Y', np.roll(g, -1) - g)
    ds['dgdy'] = ds.dg / dy

    gcm = GCMDataset(ds)
    gcm_df = gcm.diff_xp1_to_x(ds.f)
    assert gcm_df.equals(ds.df), (gcm_df, ds.df)
    gcm_dg = gcm.diff_yp1_to_y(ds.g)
    assert gcm_dg.equals(ds.dg), (gcm_dg, ds.dg)