Esempio n. 1
0
def test_bootstrap_uninit_pm_ensemble_from_control_cftime_all_freq(init, control):
    """Test bootstrap_uninit_pm_ensemble_from_control_cftime for all freq data."""
    uninit = bootstrap_uninit_pm_ensemble_from_control_cftime(init, control)
    # lead and member identical
    for d in ['lead', 'member']:
        assert (uninit[d] == init[d]).all()
    # init same size
    assert uninit['init'].size == init['init'].size
Esempio n. 2
0
def test_bootstrap_uninit_pm_ensemble_from_control_cftime_all_freq(init, control):
    """Test bootstrap_uninit_pm_ensemble_from_control_cftime for all freq data."""
    init = init.isel(lead=range(3), init=range(5))
    uninit = bootstrap_uninit_pm_ensemble_from_control_cftime(init, control)
    # lead and member identical
    for d in ["lead", "member"]:
        assert (uninit[d] == init[d]).all()
    # init same size
    assert uninit["init"].size == init["init"].size
Esempio n. 3
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
Esempio n. 4
0
def test_bootstrap_uninit_pm_ensemble_from_control_cftime_annual_identical_da(
        PM_ds_initialized_1d_ym_cftime, PM_ds_control_1d_ym_cftime):
    """Test ``bootstrap_uninit_pm_ensemble_from_control_cftime`` cftime identical to
    ``bootstrap_uninit_pm_ensemble_from_control`` for annual data."""
    PM_ds_initialized_1d_ym_cftime = PM_ds_initialized_1d_ym_cftime["tos"]
    PM_ds_control_1d_ym_cftime = PM_ds_control_1d_ym_cftime["tos"]
    cftime_res = bootstrap_uninit_pm_ensemble_from_control_cftime(
        PM_ds_initialized_1d_ym_cftime, PM_ds_control_1d_ym_cftime)
    noncftime_res = bootstrap_uninit_pm_ensemble_from_control(
        PM_ds_initialized_1d_ym_cftime, PM_ds_control_1d_ym_cftime)
    # lead and member identical
    for d in ["lead", "member"]:
        assert (cftime_res[d] == noncftime_res[d]).all()
    # init same size
    assert cftime_res["init"].size == noncftime_res["init"].size
    assert cftime_res.name == noncftime_res.name
Esempio n. 5
0
def test_bootstrap_uninit_pm_ensemble_from_control_cftime_annual_identical(
    PM_ds_initialized_1d_ym_cftime, PM_ds_control_1d_ym_cftime
):
    """Test ``bootstrap_uninit_pm_ensemble_from_control_cftime`` cftime identical to
    ``bootstrap_uninit_pm_ensemble_from_control`` for annual data."""
    cftime_res = bootstrap_uninit_pm_ensemble_from_control_cftime(
        PM_ds_initialized_1d_ym_cftime, PM_ds_control_1d_ym_cftime
    )

    noncftime_res = bootstrap_uninit_pm_ensemble_from_control(
        PM_ds_initialized_1d_ym_cftime, PM_ds_control_1d_ym_cftime
    )
    # lead and member identical
    for d in ['lead', 'member']:
        assert (cftime_res[d] == noncftime_res[d]).all()
    # init same size
    assert cftime_res['init'].size == noncftime_res['init'].size
    assert cftime_res.dims == noncftime_res.dims
    assert list(cftime_res.data_vars) == list(noncftime_res.data_vars)