예제 #1
0
파일: test_mos.py 프로젝트: xoxo143/pyIEM
def test_nbm_v32_station(cursor):
    """Can we parse the NBM v3.2 data."""
    utcnow = utc(2020, 2, 19, 17)
    prod = mosparser(get_test_file("MOS/NBSUSA_32_station.txt"), utcnow=utcnow)
    assert len(prod.data) == 4
    inserts = prod.sql(cursor)
    assert inserts == 92
예제 #2
0
파일: test_mos.py 프로젝트: xoxo143/pyIEM
def test_200930_nbx_int(cursor):
    """Test a problem found with the product."""
    utcnow = utc(2020, 9, 30, 12)
    prod = mosparser(get_test_file("MOS/NBXUSA_int.txt"), utcnow=utcnow)
    assert len(prod.data) == 6
    inserts = prod.sql(cursor)
    assert inserts == 84
예제 #3
0
파일: test_mos.py 프로젝트: xoxo143/pyIEM
def test_mex(cursor):
    """Test that we can parse the Extended GFS MEX."""
    utcnow = utc(2020, 7, 10, 12)
    prod = mosparser(get_test_file("MOS/MEXNC1.txt"), utcnow=utcnow)
    assert len(prod.data) == 4
    inserts = prod.sql(cursor)
    assert inserts == 60
예제 #4
0
파일: test_mos.py 프로젝트: xoxo143/pyIEM
def test_lav(cursor):
    """Test that we can parse the GFS LAMP."""
    utcnow = utc(2020, 7, 10, 12, 30)
    prod = mosparser(get_test_file("MOS/LAVUSA.txt"), utcnow=utcnow)
    assert len(prod.data) == 3
    inserts = prod.sql(cursor)
    assert inserts == 75
예제 #5
0
파일: test_mos.py 프로젝트: xoxo143/pyIEM
def test_winter_mex(cursor):
    """Test that we store the GFSX fields in the winter."""
    utcnow = utc(2020, 9, 1, 0)
    prod = mosparser(get_test_file("MOS/MEXNC1_winter.txt"), utcnow=utcnow)
    assert len(prod.data) == 2
    inserts = prod.sql(cursor)
    assert inserts == 30
예제 #6
0
파일: test_mos.py 프로젝트: xoxo143/pyIEM
def test_ecmwf(cursor):
    """Test that we can parse the ECMWF MOS."""
    utcnow = utc(2020, 2, 24, 0)
    prod = mosparser(get_test_file("MOS/ECS.txt"), utcnow=utcnow)
    assert len(prod.data) == 3
    inserts = prod.sql(cursor)
    assert inserts == 63
예제 #7
0
파일: test_mos.py 프로젝트: xoxo143/pyIEM
def test_empty_nbm(cursor):
    """Does an empty product trip us up."""
    utcnow = utc(2018, 11, 7, 17)
    prod = mosparser(get_test_file("MOS/NBSUSA_empty.txt"), utcnow=utcnow)
    assert len(prod.data) == 2

    inserts = prod.sql(cursor)
    assert inserts == 0
예제 #8
0
파일: test_mos.py 프로젝트: akrherz/pyIEM
def test_empty_nbm(cursor):
    """Does an empty product trip us up."""
    utcnow = utc(2018, 11, 7, 17)
    prod = mosparser(get_test_file("MOS/NBSUSA_empty.txt"), utcnow=utcnow)
    assert len(prod.data) == 2

    inserts = prod.sql(cursor)
    assert inserts == 0
예제 #9
0
파일: test_mos.py 프로젝트: akrherz/pyIEM
def test_parse(cursor):
    """MOS type"""
    utcnow = utc(2017, 8, 12, 12)
    prod = mosparser(get_test_file("MOS/METNC1.txt"), utcnow=utcnow)
    assert len(prod.data) == 4
    assert len(prod.data[0]['data'].keys()) == 21

    inserts = prod.sql(cursor)
    assert inserts == (4 * 21)
예제 #10
0
파일: test_mos.py 프로젝트: xoxo143/pyIEM
def test_parse(cursor):
    """MOS type"""
    utcnow = utc(2017, 8, 12, 12)
    prod = mosparser(get_test_file("MOS/METNC1.txt"), utcnow=utcnow)
    assert len(prod.data) == 4
    assert len(prod.data[0]["data"].keys()) == 21

    inserts = prod.sql(cursor)
    assert inserts == (4 * 21)
예제 #11
0
파일: test_mos.py 프로젝트: xoxo143/pyIEM
def test_180125_empty(cursor):
    """Can we parse a MOS product with empty data"""
    utcnow = utc(2018, 1, 26, 1)
    prod = mosparser(get_test_file("MOS/MET_empty.txt"), utcnow=utcnow)
    assert len(prod.data) == 3
    assert len(prod.data[0]["data"].keys()) == 21

    inserts = prod.sql(cursor)
    assert inserts == 42
예제 #12
0
파일: test_mos.py 프로젝트: akrherz/pyIEM
def test_180125_empty(cursor):
    """Can we parse a MOS product with empty data"""
    utcnow = utc(2018, 1, 26, 1)
    prod = mosparser(get_test_file("MOS/MET_empty.txt"), utcnow=utcnow)
    assert len(prod.data) == 3
    assert len(prod.data[0]['data'].keys()) == 21

    inserts = prod.sql(cursor)
    assert inserts == 42
예제 #13
0
파일: test_mos.py 프로젝트: xoxo143/pyIEM
def test_lev(cursor):
    """Test that we can parse the GFS LAMP (LEV stored as LAV)."""
    utcnow = utc(2020, 7, 13, 12, 30)
    prod = mosparser(get_test_file("MOS/LEVUSA.txt"), utcnow=utcnow)
    assert prod.data[0]["model"] == "LAV"
    assert max(prod.data[0]["data"].keys()) == utc(2020, 7, 15, 2)
    assert len(prod.data) == 3
    inserts = prod.sql(cursor)
    assert inserts == 39
예제 #14
0
파일: test_mos.py 프로젝트: xoxo143/pyIEM
def test_nbx(cursor):
    """Test that we can parse the NBE."""
    utcnow = utc(2020, 7, 22, 14)
    prod = mosparser(get_test_file("MOS/NBXUSA.txt"), utcnow=utcnow)
    assert prod.data[0]["model"] == "NBE"
    assert len(prod.data) == 3
    inserts = prod.sql(cursor)
    assert inserts == 18
    # Check that we parsed data OK
    assert prod.data[0]["data"][utc(2020, 8, 2, 12)]["Q12"] == "0"
예제 #15
0
파일: test_mos.py 프로젝트: xoxo143/pyIEM
def test_nbe(cursor):
    """Test that we can parse the NBE."""
    utcnow = utc(2020, 7, 22, 14)
    prod = mosparser(get_test_file("MOS/NBEUSA.txt"), utcnow=utcnow)
    assert len(prod.data) == 2
    inserts = prod.sql(cursor)
    assert inserts == 30
    # Check that we parsed data OK
    assert prod.data[0]["data"][utc(2020, 7, 30, 12)]["P12"] == "5"
    assert prod.data[0]["data"][utc(2020, 7, 30, 12)]["PRA"] == "100"
예제 #16
0
파일: test_mos.py 프로젝트: akrherz/pyIEM
def test_nbm(cursor):
    """Can we parse the NBM data."""
    utcnow = utc(2018, 11, 7, 15)
    prod = mosparser(get_test_file("MOS/NBSUSA.txt"), utcnow=utcnow)
    assert len(prod.data) == 2

    inserts = prod.sql(cursor)
    assert inserts == (2 * 21)

    cursor.execute("""
        SELECT count(*), max(ftime) from t2018
        where model = 'NBS' and station = 'KALM' and runtime = %s
    """, (utcnow, ))
    row = cursor.fetchone()
    assert row[0] == 21
    assert row[1] == utc(2018, 11, 10, 9)
예제 #17
0
파일: test_mos.py 프로젝트: xoxo143/pyIEM
def test_nbm(cursor):
    """Can we parse the NBM data."""
    utcnow = utc(2018, 11, 7, 15)
    prod = mosparser(get_test_file("MOS/NBSUSA.txt"), utcnow=utcnow)
    assert len(prod.data) == 2

    inserts = prod.sql(cursor)
    assert inserts == (2 * 21)

    cursor.execute(
        """
        SELECT count(*), max(ftime) from t2018
        where model = 'NBS' and station = 'KALM' and runtime = %s
    """,
        (utcnow, ),
    )
    row = cursor.fetchone()
    assert row[0] == 21
    assert row[1] == utc(2018, 11, 10, 9)
예제 #18
0
파일: test_mos.py 프로젝트: xoxo143/pyIEM
def test_201107_mex_negative():
    """Test problem with negative low temperature climo."""
    utcnow = utc(2020, 11, 7)
    prod = mosparser(get_test_file("MOS/MEXAFG.txt"), utcnow=utcnow)
    # Leaked column data
    assert prod.data[0]["data"][utc(2020, 11, 15)]["X_N"] == "7"