Exemplo n.º 1
0
def test_rotate_inst2beam(make_data=False):

    td = load('RDI_test01_rotate_beam2inst.h5')
    td.rotate2('beam', inplace=True)
    td_awac = load('AWAC_test01_earth2inst.h5')
    td_awac.rotate2('beam', inplace=True)
    td_sig = load('BenchFile01_rotate_beam2inst.h5')
    td_sig.rotate2('beam', inplace=True)
    td_sigi = load('Sig1000_IMU_rotate_beam2inst.h5')
    td_sigi.rotate2('beam', inplace=True)

    if make_data:
        save(td_awac, 'AWAC_test01_inst2beam.h5')
        return

    cd_td = tr.dat_rdi.copy()
    cd_awac = load('AWAC_test01_inst2beam.h5')
    cd_sig = tr.dat_sig.copy()
    cd_sigi = tr.dat_sigi.copy()

    # # The reverse RDI rotation doesn't work b/c of NaN's in one beam
    # # that propagate to others, so we impose that here.
    cd_td['vel'][:, np.isnan(cd_td['vel']).any(0)] = np.NaN

    msg = "adp.rotate.beam2inst gives unexpected REVERSE results for {}"
    for t, c, msg in (
            (td, cd_td, msg.format('RDI_test01')),
            (td_awac, cd_awac, msg.format('AWAC_test01')),
            (td_sig, cd_sig, msg.format('BenchFile01')),
            (td_sigi, cd_sigi, msg.format('Sig1000_IMU')),
    ):
        yield data_equiv, t, c, msg
Exemplo n.º 2
0
def test_rotate_earth2inst(make_data=False):
    td = (load('RDI_test01_rotate_inst2earth.h5').rotate2('inst',
                                                          inplace=True))
    # tdwr2 = load('winriver02_rotate_ship2earth.h5')
    # tdwr2.rotate2('inst', inplace=True)
    # This AWAC is in earth coords.
    td_awac = tr.dat_awac.rotate2('inst')
    td_sig = load('BenchFile01_rotate_inst2earth.h5')
    td_sig.rotate2('inst', inplace=True)
    td_sigi = load('Sig1000_IMU_rotate_inst2earth.h5')
    td_sigi.rotate2('inst', inplace=True)

    if make_data:
        save(td_awac, 'AWAC_test01_earth2inst.h5')
        return

    cd_awac = load('AWAC_test01_earth2inst.h5')
    cd_sig = load('BenchFile01_rotate_beam2inst.h5')
    cd_sigi = load('Sig1000_IMU_rotate_beam2inst.h5')

    msg = "adp.rotate.inst2earth gives unexpected REVERSE results for {}"
    for t, c, msg in (
        (td, tr.dat_rdi_i, msg.format('RDI_test01')),
            #(tdwr2, dat_wr2, msg.format('winriver02')),
        (td_awac, cd_awac, msg.format('AWAC_test01')),
        (td_sig, cd_sig, msg.format('BenchFile01')),
        (td_sigi, cd_sigi, msg.format('Sig1000_IMU')),
    ):
        yield data_equiv, t, c, msg
Exemplo n.º 3
0
def test_rotate_earth2inst(make_data=False):
    td = (load('RDI_test01_rotate_inst2earth.h5')
          .rotate2('inst', inplace=True))
    # tdwr2 = load('winriver02_rotate_ship2earth.h5')
    # tdwr2.rotate2('inst', inplace=True)
    # This AWAC is in earth coords.
    td_awac = tr.dat_awac.rotate2('inst')
    td_sig = load('BenchFile01_rotate_inst2earth.h5')
    td_sig.rotate2('inst', inplace=True)
    td_sigi = load('Sig1000_IMU_rotate_inst2earth.h5')
    td_sigi.rotate2('inst', inplace=True)

    if make_data:
        save(td_awac, 'AWAC_test01_earth2inst.h5')
        return

    cd_awac = load('AWAC_test01_earth2inst.h5')
    cd_sig = load('BenchFile01_rotate_beam2inst.h5')
    cd_sigi = load('Sig1000_IMU_rotate_beam2inst.h5')

    assert (np.abs(cd_sigi['orient'].pop('accel') - \
                   td_sigi['orient'].pop('accel')) < 1e-3).all(), \
                  "adp.rotate.inst2earth gives unexpected ACCEL results for 'Sig1000_IMU_rotate_beam2inst.h5'"
    

    msg = "adp.rotate.inst2earth gives unexpected REVERSE results for {}"
    for t, c, msg in (
            (td, tr.dat_rdi_i, msg.format('RDI_test01')),
            #(tdwr2, dat_wr2, msg.format('winriver02')),
            (td_awac, cd_awac, msg.format('AWAC_test01')),
            (td_sig, cd_sig, msg.format('BenchFile01')),
            (td_sigi, cd_sigi, msg.format('Sig1000_IMU')),
    ):
        yield data_equiv, t, c, msg
Exemplo n.º 4
0
def test_rotate_inst2beam(make_data=False):

    td = load('RDI_test01_rotate_beam2inst.h5')
    td.rotate2('beam', inplace=True)
    td_awac = load('AWAC_test01_earth2inst.h5')
    td_awac.rotate2('beam', inplace=True)
    td_sig = load('BenchFile01_rotate_beam2inst.h5')
    td_sig.rotate2('beam', inplace=True)
    td_sigi = load('Sig1000_IMU_rotate_beam2inst.h5')
    td_sigi.rotate2('beam', inplace=True)

    if make_data:
        save(td_awac, 'AWAC_test01_inst2beam.h5')
        return

    cd_td = tr.dat_rdi.copy()
    cd_awac = load('AWAC_test01_inst2beam.h5')
    cd_sig = tr.dat_sig.copy()
    cd_sigi = tr.dat_sigi.copy()

    # # The reverse RDI rotation doesn't work b/c of NaN's in one beam
    # # that propagate to others, so we impose that here.
    cd_td['vel'][:, np.isnan(cd_td['vel']).any(0)] = np.NaN

    msg = "adp.rotate.beam2inst gives unexpected REVERSE results for {}"
    for t, c, msg in (
            (td, cd_td, msg.format('RDI_test01')),
            (td_awac, cd_awac, msg.format('AWAC_test01')),
            (td_sig, cd_sig, msg.format('BenchFile01')),
            (td_sigi, cd_sigi, msg.format('Sig1000_IMU')),
    ):
        yield data_equiv, t, c, msg
Exemplo n.º 5
0
def test_rotate_beam2inst(make_data=False):

    td = tr.dat_rdi.rotate2('inst')
    td_sig = tr.dat_sig.rotate2('inst')
    td_sigi = tr.dat_sigi.rotate2('inst')
    td_sigi_echo_bt = tr.dat_sigi_echo_bt.rotate2('inst')

    if make_data:
        save(td, 'RDI_test01_rotate_beam2inst.h5')
        save(td_sig, 'BenchFile01_rotate_beam2inst.h5')
        save(td_sigi, 'Sig1000_IMU_rotate_beam2inst.h5')
        save(td_sigi_echo_bt, 'VelEchoBT01_rotate_beam2inst.h5')
        return

    cd_sig = load('BenchFile01_rotate_beam2inst.h5')
    cd_sigi = load('Sig1000_IMU_rotate_beam2inst.h5')
    cd_sigi_echo_bt = load('VelEchoBT01_rotate_beam2inst.h5')

    msg = "adp.rotate.beam2inst gives unexpected results for {}"
    for t, c, msg in (
            (td, tr.dat_rdi_i, msg.format('RDI_test01')),
            (td_sig, cd_sig, msg.format('BenchFile01')),
            (td_sigi, cd_sigi, msg.format('Sig1000_IMU')),
            (td_sigi_echo_bt, cd_sigi_echo_bt, msg.format('VelEchoBT01')),
    ):
        yield data_equiv, t, c, msg
Exemplo n.º 6
0
def test_rotate_inst2earth(make_data=False):

    td = tr.dat_rdi_i.rotate2('earth')
    tdwr2 = tr.dat_wr2.rotate2('earth')
    td_sig = load('BenchFile01_rotate_beam2inst.h5')
    td_sig.rotate2('earth', inplace=True)
    td_sigi = load('Sig1000_IMU_rotate_beam2inst.h5')
    td_sigi.rotate2('earth', inplace=True)
    td_awac = load('AWAC_test01_earth2inst.h5')
    td_awac.rotate2('earth', inplace=True)

    if make_data:
        save(td, 'RDI_test01_rotate_inst2earth.h5')
        save(td_sig, 'BenchFile01_rotate_inst2earth.h5')
        save(td_sigi, 'Sig1000_IMU_rotate_inst2earth.h5')
        save(tdwr2, 'winriver02_rotate_ship2earth.h5')
        return

    cd = load('RDI_test01_rotate_inst2earth.h5')
    cdwr2 = load('winriver02_rotate_ship2earth.h5')
    cd_sig = load('BenchFile01_rotate_inst2earth.h5')
    cd_sigi = load('Sig1000_IMU_rotate_inst2earth.h5')
    cd_awac = tr.dat_awac

    msg = "adp.rotate.inst2earth gives unexpected results for {}"
    for t, c, msg in (
            (td, cd, msg.format('RDI_test01')),
            (tdwr2, cdwr2, msg.format('winriver02')),
            (td_awac, cd_awac, msg.format('AWAC_test01')),
            (td_sig, cd_sig, msg.format('BenchFile01')),
            (td_sigi, cd_sigi, msg.format('Sig1000_IMU')),
    ):
        yield data_equiv, t, c, msg
Exemplo n.º 7
0
def test_rotate_inst2earth(make_data=False):

    td = tr.dat_rdi_i.rotate2('earth')
    tdwr2 = tr.dat_wr2.rotate2('earth')
    td_sig = load('BenchFile01_rotate_beam2inst.h5')
    td_sig.rotate2('earth', inplace=True)
    td_sigi = load('Sig1000_IMU_rotate_beam2inst.h5')
    td_sigi.rotate2('earth', inplace=True)
    td_awac = load('AWAC_test01_earth2inst.h5')
    td_awac.rotate2('earth', inplace=True)

    if make_data:
        save(td, 'RDI_test01_rotate_inst2earth.h5')
        save(td_sig, 'BenchFile01_rotate_inst2earth.h5')
        save(td_sigi, 'Sig1000_IMU_rotate_inst2earth.h5')
        save(tdwr2, 'winriver02_rotate_ship2earth.h5')
        return

    cd = load('RDI_test01_rotate_inst2earth.h5')
    cdwr2 = load('winriver02_rotate_ship2earth.h5')
    cd_sig = load('BenchFile01_rotate_inst2earth.h5')
    cd_sigi = load('Sig1000_IMU_rotate_inst2earth.h5')
    cd_awac = tr.dat_awac

    msg = "adp.rotate.inst2earth gives unexpected results for {}"
    for t, c, msg in (
            (td, cd, msg.format('RDI_test01')),
            (tdwr2, cdwr2, msg.format('winriver02')),
            (td_awac, cd_awac, msg.format('AWAC_test01')),
            (td_sig, cd_sig, msg.format('BenchFile01')),
            (td_sigi, cd_sigi, msg.format('Sig1000_IMU')),
    ):
        yield data_equiv, t, c, msg
Exemplo n.º 8
0
def test_rotate_earth2principal(make_data=False):
    td = load('vector_data01_rotate_inst2earth.h5')
    rotate(td, 'principal', inplace=True)
    tdm = load('vector_data_imu01_rotate_inst2earth.h5')
    rotate(tdm, 'principal', inplace=True)

    if make_data:
        save(td, 'vector_data01_rotate_earth2principal.h5')
        save(tdm, 'vector_data_imu01_rotate_earth2principal.h5')
        return

    cd = load('vector_data01_rotate_earth2principal.h5')
    cdm = load('vector_data_imu01_rotate_earth2principal.h5')

    msg = "adv.rotate.earth2principal gives unexpected results for {}"
    for t, c, msg in (
        (td, cd, msg.format('vector_data01')),
        (tdm, cdm, msg.format('vector_data_imu01')),
    ):
        yield data_equiv, t, c, msg
Exemplo n.º 9
0
def test_rotate_inst2beam(make_data=False):
    td = tr.dat.copy()
    rotate(td, 'beam', inplace=True)
    tdm = tr.dat_imu.copy()
    rotate(tdm, 'beam', inplace=True)

    if make_data:
        save(td, 'vector_data01_rotate_inst2beam.h5')
        save(tdm, 'vector_data_imu01_rotate_inst2beam.h5')
        return

    cd = load('vector_data01_rotate_inst2beam.h5')
    cdm = load('vector_data_imu01_rotate_inst2beam.h5')

    msg = "adv.rotate.beam2inst gives unexpected REVERSE results for {}"
    for t, c, msg in (
        (td, cd, msg.format('vector_data01')),
        (tdm, cdm, msg.format('vector_data_imu01')),
    ):
        yield data_equiv, t, c, msg
Exemplo n.º 10
0
def test_rotate_inst2beam(make_data=False):

    # # The reverse RDI rotation doesn't work b/c of NaN's in one beam
    # # that propagate to others.
    # td = load('RDI_test01_rotate_beam2inst.h5')
    # td.rotate('beam', inplace=True)
    td_awac = load('AWAC_test01_earth2inst.h5')
    td_awac.rotate2('beam', inplace=True)

    if make_data:
        save(td_awac, 'AWAC_test01_inst2beam.h5')
        return

    cd_awac = load('AWAC_test01_inst2beam.h5')

    msg = "adp.rotate.beam2inst gives unexpected REVERSE results for {}"
    for t, c, msg in (
            # (td, dat_rdi, msg.format('RDI_test01')),
        (td_awac, cd_awac, msg.format('AWAC_test01')), ):
        yield data_equiv, t, c, msg
Exemplo n.º 11
0
def test_rotate_inst2earth(make_data=False):
    td = tr.dat.copy()
    rotate(td, 'earth', inplace=True)
    tdm = tr.dat_imu.copy()
    rotate(tdm, 'earth', inplace=True)

    if make_data:
        save(td, 'vector_data01_rotate_inst2earth.h5')
        save(tdm, 'vector_data_imu01_rotate_inst2earth.h5')
        return

    cd = load('vector_data01_rotate_inst2earth.h5')
    cdm = load('vector_data_imu01_rotate_inst2earth.h5')

    msg = "adv.rotate.inst2earth gives unexpected results for {}"
    for t, c, msg in (
            (td, cd, msg.format('vector_data01')),
            (tdm, cdm, msg.format('vector_data_imu01')),
    ):
        yield data_equiv, t, c, msg
Exemplo n.º 12
0
def test_rotate_earth2principal(make_data=False):

    td_rdi = load('RDI_test01_rotate_inst2earth.h5')
    td_sig = load('BenchFile01_rotate_inst2earth.h5')
    td_awac = tr.dat_awac.copy()

    td_rdi.props['principal_heading'] = calc_principal_heading(
        td_rdi.vel.mean(1))
    td_sig.props['principal_heading'] = calc_principal_heading(
        td_sig.vel.mean(1))
    td_awac.props['principal_heading'] = calc_principal_heading(
        td_sig.vel.mean(1), tidal_mode=False)

    td_rdi.rotate2('principal')
    td_sig.rotate2('principal')
    td_awac.rotate2('principal')

    if make_data:
        save(td_rdi, 'RDI_test01_rotate_earth2principal.h5')
        save(td_sig, 'BenchFile01_rotate_earth2principal.h5')
        save(td_awac, 'AWAC_test01_earth2principal.h5')
        return

    cd_rdi = load('RDI_test01_rotate_earth2principal.h5')
    cd_sig = load('BenchFile01_rotate_earth2principal.h5')
    cd_awac = load('AWAC_test01_earth2principal.h5')

    msg = "adp.rotate.earth2principal gives unexpected results for {}"
    for t, c, msg in (
        (td_rdi, cd_rdi, msg.format('RDI_test01')),
        (td_awac, cd_awac, msg.format('AWAC_test01')),
        (td_sig, cd_sig, msg.format('BenchFile01')),
    ):
        yield data_equiv, t, c, msg
Exemplo n.º 13
0
def test_rotate_earth2principal(make_data=False):
    td = load('vector_data01_rotate_inst2earth.h5')
    td['props']['principal_heading'] = calc_principal_heading(td['vel'])
    rotate(td, 'principal', inplace=True)
    tdm = load('vector_data_imu01_rotate_inst2earth.h5')
    tdm['props']['principal_heading'] = calc_principal_heading(tdm['vel'])
    rotate(tdm, 'principal', inplace=True)

    if make_data:
        save(td, 'vector_data01_rotate_earth2principal.h5')
        save(tdm, 'vector_data_imu01_rotate_earth2principal.h5')
        return

    cd = load('vector_data01_rotate_earth2principal.h5')
    cdm = load('vector_data_imu01_rotate_earth2principal.h5')

    msg = "adv.rotate.earth2principal gives unexpected results for {}"
    for t, c, msg in (
            (td, cd, msg.format('vector_data01')),
            (tdm, cdm, msg.format('vector_data_imu01')),
    ):
        yield data_equiv, t, c, msg
Exemplo n.º 14
0
def test_rotate_beam2inst(make_data=False):

    td = tr.dat_rdi.rotate2('inst')
    td_sig = tr.dat_sig.rotate2('inst')
    td_sigi = tr.dat_sigi.rotate2('inst')

    if make_data:
        save(td, 'RDI_test01_rotate_beam2inst.h5')
        save(td_sig, 'BenchFile01_rotate_beam2inst.h5')
        save(td_sigi, 'Sig1000_IMU_rotate_beam2inst.h5')
        return

    cd_sig = load('BenchFile01_rotate_beam2inst.h5')
    cd_sigi = load('Sig1000_IMU_rotate_beam2inst.h5')

    msg = "adp.rotate.beam2inst gives unexpected results for {}"
    for t, c, msg in (
            (td, tr.dat_rdi_i, msg.format('RDI_test01')),
            (td_sig, cd_sig, msg.format('BenchFile01')),
            (td_sigi, cd_sigi, msg.format('Sig1000_IMU')),
    ):
        yield data_equiv, t, c, msg
Exemplo n.º 15
0
def test_rotate_earth2principal(make_data=False):

    td_rdi = load('RDI_test01_rotate_inst2earth.h5')
    td_sig = load('BenchFile01_rotate_inst2earth.h5')
    td_awac = tr.dat_awac.copy()

    td_rdi.props['principal_heading'] = calc_principal_heading(
        td_rdi.vel.mean(1))
    td_sig.props['principal_heading'] = calc_principal_heading(
        td_sig.vel.mean(1))
    td_awac.props['principal_heading'] = calc_principal_heading(
        td_sig.vel.mean(1),
        tidal_mode=False)

    td_rdi.rotate2('principal')
    td_sig.rotate2('principal')
    td_awac.rotate2('principal')

    if make_data:
        save(td_rdi, 'RDI_test01_rotate_earth2principal.h5')
        save(td_sig, 'BenchFile01_rotate_earth2principal.h5')
        save(td_awac, 'AWAC_test01_earth2principal.h5')
        return

    cd_rdi = load('RDI_test01_rotate_earth2principal.h5')
    cd_sig = load('BenchFile01_rotate_earth2principal.h5')
    cd_awac = load('AWAC_test01_earth2principal.h5')
    

    msg = "adp.rotate.earth2principal gives unexpected results for {}"
    for t, c, msg in (
            (td_rdi, cd_rdi, msg.format('RDI_test01')),
            (td_awac, cd_awac, msg.format('AWAC_test01')),
            (td_sig, cd_sig, msg.format('BenchFile01')),
    ):
        yield data_equiv, t, c, msg