Exemplo n.º 1
0
def test_bootstrap_by_stacking_chunked(PM_ds_initialized_1d_ym_cftime,
                                       PM_ds_control_1d_ym_cftime):
    res_chunked = _bootstrap_by_stacking(
        PM_ds_initialized_1d_ym_cftime.chunk(),
        PM_ds_control_1d_ym_cftime.chunk(),
    )
    assert dask.is_dask_collection(res_chunked)
    res_chunked = res_chunked.compute()
    res = _bootstrap_by_stacking(PM_ds_initialized_1d_ym_cftime,
                                 PM_ds_control_1d_ym_cftime)
    for d in ["lead", "member"]:
        assert (res_chunked[d] == res[d]).all()
    # init same size
    assert res_chunked["init"].size == res["init"].size
Exemplo n.º 2
0
def test_bootstrap_by_stacking_dataset(PM_ds_initialized_1d_ym_cftime,
                                       PM_ds_control_1d_ym_cftime):
    res = _bootstrap_by_stacking(PM_ds_initialized_1d_ym_cftime,
                                 PM_ds_control_1d_ym_cftime)
    assert res.lead.attrs["units"] == "years"
    assert isinstance(res, xr.Dataset)
    assert res.tos.dims == PM_ds_initialized_1d_ym_cftime.tos.dims
Exemplo n.º 3
0
def test_bootstrap_by_stacking_dataarray(PM_ds_initialized_1d_ym_cftime,
                                         PM_ds_control_1d_ym_cftime):
    v = list(PM_ds_initialized_1d_ym_cftime.data_vars)[0]
    res = _bootstrap_by_stacking(PM_ds_initialized_1d_ym_cftime[v],
                                 PM_ds_control_1d_ym_cftime[v])
    assert res.lead.attrs["units"] == "years"
    assert isinstance(res, xr.DataArray)
    assert res.dims == PM_ds_initialized_1d_ym_cftime[v].dims
Exemplo n.º 4
0
def test_bootstrap_by_stacking_two_var_dataset(PM_ds_initialized_1d_ym_cftime,
                                               PM_ds_control_1d_ym_cftime):
    """Test _bootstrap_by_stacking when init_pm and control two variable dataset."""
    PM_ds_initialized_1d_ym_cftime["sos"] = PM_ds_initialized_1d_ym_cftime[
        "tos"]
    PM_ds_control_1d_ym_cftime["sos"] = PM_ds_control_1d_ym_cftime["tos"]
    res = _bootstrap_by_stacking(PM_ds_initialized_1d_ym_cftime,
                                 PM_ds_control_1d_ym_cftime)
    res_cf = bootstrap_uninit_pm_ensemble_from_control_cftime(
        PM_ds_initialized_1d_ym_cftime, PM_ds_control_1d_ym_cftime)
    assert len(list(res.data_vars)) == len(list(res_cf.data_vars))
    # lead and member identical
    for d in ["lead", "member"]:
        assert (res[d] == res_cf[d]).all()
    # init same size
    assert res["init"].size == res_cf["init"].size