コード例 #1
0
def main():
    base_dir, dry_run = process_input()

    for rec, pth in get_all_records(base_dir):
        print("\n\n******************\n")
        print("processing:", rec.oil_id, rec.metadata.name)
        fixer = FixAPI(rec)
        flag, msg = fixer.check()
        if flag is True:
            print(msg)
            print("Cleaning up!")
            fixer.cleanup()
            print("API is now:", rec.metadata.API)
            if not dry_run:
                print("Saving out:", pth)
                rec.to_file(pth)
            else:
                print("Nothing saved")
        elif flag is False:
            print(msg)
            print("It's a:", rec.metadata.product_type)
            print("Densities are:",
                  rec.sub_samples[0].physical_properties.densities)
        else:
            print(msg)
コード例 #2
0
def test_non_crude_one_density_far():
    # density at too far a temp to compute API
    oil = no_api_with_one_density_13C()
    oil.sub_samples[0].physical_properties.densities[0].ref_temp.value = 0.0
    fixer = FixAPI(oil)

    fixer.cleanup()
    assert oil.metadata.API is None
コード例 #3
0
def test_non_crude_one_density_close():
    oil = no_api_with_one_density_13C()

    fixer = FixAPI(oil)

    fixer.cleanup()

    assert isclose(oil.metadata.API, 30.06, rel_tol=1e4)
コード例 #4
0
def test_add_density():
    oil = no_api_with_density()

    # before adding:
    assert oil.metadata.API is None

    fixer = FixAPI(oil)

    fixer.cleanup()

    assert isclose(oil.metadata.API, 30.06, rel_tol=1e4)
コード例 #5
0
def test_non_crude_two_densities_not_straddle_60():
    oil = no_api_with_density()

    oil.metadata.product_type = "Refined Product NOS"

    oil.sub_samples[0].physical_properties.densities[0].ref_temp.value = 0.0
    oil.sub_samples[0].physical_properties.densities[0].ref_temp.unit = 'C'

    oil.sub_samples[0].physical_properties.densities[1].ref_temp.value = 10.0
    oil.sub_samples[0].physical_properties.densities[1].ref_temp.unit = 'C'

    fixer = FixAPI(oil)

    fixer.cleanup()

    assert oil.metadata.API is None