def test_deletedsn(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=2, base_year=1970, tsstep=15) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts='tests/nwisiv_02246000.csv') wdmtoolbox.deletedsn(self.wdmname, 101)
def test_extract(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=5, base_year=1870) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts='tests/sunspot_area.csv') ret1 = wdmtoolbox.extract(self.wdmname, 101).astype('f') ret2 = wdmtoolbox.extract('{0},101'.format(self.wdmname)).astype('f') assert_frame_equal(ret1, ret2) ret3 = tstoolbox.read('tests/sunspot_area.csv').astype('f') ret1.columns = ['Area'] assert_frame_equal(ret1, ret3) ret4 = tstoolbox.read('tests/sunspot_area_with_missing.csv', dropna='no').astype('f') wdmtoolbox.createnewdsn(self.wdmname, 500, tcode=5, base_year=1870) wdmtoolbox.csvtowdm(self.wdmname, 500, input_ts='tests/sunspot_area_with_missing.csv') ret5 = wdmtoolbox.extract(self.wdmname, 500).astype('f') ret5.columns = ['Area'] assert_frame_equal(ret5, ret4)
def test_listdsns(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=2, base_year=1970, tsstep=15) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts='tests/nwisiv_02246000.csv') ldsns = wdmtoolbox.listdsns(self.wdmname)
def test_out_of_bounds_dsn(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=2, base_year=1970, tsstep=15) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts="tests/nwisiv_02246000.csv") with self.assertRaisesRegex( WDMError, "WDM error: data set number out of valid range" ): ret1 = wdmtoolbox.extract(self.wdmname, 32001)
def test_rdii(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=2, base_year=1970, tsstep=15) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts='tests/nwisiv_02246000.csv') wdmtoolbox.copydsn(self.wdmname, 101, self.wdmname, 1101) wdmtoolbox.wdmtoswmm5rdii(self.wdmname, 101, 1101)
def test_dsn_not_in_wdm(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=2, base_year=1970, tsstep=15) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts='tests/nwisiv_02246000.csv') with assertRaisesRegexp(WDMError, 'error code -81'): ret1 = wdmtoolbox.extract(self.wdmname, 32000)
def test_cleancopytoself(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=2, base_year=1970, tsstep=15) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts='tests/nwisiv_02246000.csv') with self.assertRaisesRegexp(ValueError, 'The "inwdmpath" cannot be the same as "outwdmpath"'): wdmtoolbox.cleancopywdm(self.wdmname, self.wdmname)
def test_extract_args(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=2, base_year=1970, tsstep=15) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts='tests/nwisiv_02246000.csv') with assertRaisesRegexp(ValueError, 'The only allowed keywords are'): ret1 = wdmtoolbox.extract(self.wdmname, 101, ph=True)
def test_out_of_bounds_dsn(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=2, base_year=1970, tsstep=15) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts='tests/nwisiv_02246000.csv') with assertRaisesRegexp(WDMError, 'WDM error: data set number out of valid range'): ret1 = wdmtoolbox.extract(self.wdmname, 32001)
def test_cleancopy_a_to_b(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=2, base_year=1970, tsstep=15) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts='tests/nwisiv_02246000.csv') tfd, twdmname = tempfile.mkstemp(suffix='.wdm') os.close(tfd) wdmtoolbox.cleancopywdm(self.wdmname, twdmname, overwrite=True) os.remove(twdmname)
def test_start_date(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=2, base_year=1970, tsstep=15) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts='tests/nwisiv_02246000.csv') ret1 = wdmtoolbox.extract(self.wdmname, 101, start_date='2014-02-21 16:00:00') ret3 = tstoolbox.read('tests/nwisiv_02246000.csv', start_date='2014-02-21 16:00:00').astype('float64') ret1.columns = ['02246000_iv_00060'] assert_frame_equal(ret1, ret3)
def test_start_date(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=2, base_year=1970, tsstep=15) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts="tests/nwisiv_02246000.csv") ret1 = wdmtoolbox.extract(self.wdmname, 101, start_date="2014-02-21 16:00:00") ret3 = tstoolbox.read( "tests/nwisiv_02246000.csv", start_date="2014-02-21 16:00:00" ).astype("float64") ret3.index = ret3.index.tz_localize(None) ret1.columns = ["02246000_iv_00060"] assert_frame_equal(ret1, ret3, check_index_type=False)
def test_listdsns(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=2, base_year=1970, tsstep=15) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts="tests/nwisiv_02246000.csv") wdmtoolbox.createnewwdm(self.awdmname, overwrite=True) wdmtoolbox.copydsn(self.wdmname, 101, self.awdmname, 1101)
def test_dsn_not_in_wdm(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=2, base_year=1970, tsstep=15) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts='tests/nwisiv_02246000.csv') with self.assertRaisesRegexp(WDMError, 'error code -81'): ret1 = wdmtoolbox.extract(self.wdmname, 32000)
def test_negative_dsn(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=2, base_year=1970, tsstep=15) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts='tests/nwisiv_02246000.csv') with self.assertRaisesRegexp( WDMError, 'WDM error: data set number out of valid range'): ret1 = wdmtoolbox.extract(self.wdmname, 0)
def test_extract_args(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=2, base_year=1970, tsstep=15) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts='tests/nwisiv_02246000.csv') with self.assertRaisesRegexp(ValueError, 'The only allowed keywords are'): ret1 = wdmtoolbox.extract(self.wdmname, 101, ph=True)
def test_tstep(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=2, base_year=1970, tsstep=15) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts='tests/nwisiv_02246000.csv') ret1 = wdmtoolbox.extract(self.wdmname, 101) ret2 = wdmtoolbox.extract('{0},101'.format(self.wdmname)) assert_frame_equal(ret1, ret2) ret3 = tstoolbox.read('tests/nwisiv_02246000.csv').astype('float64') ret1.columns = ['02246000_iv_00060'] assert_frame_equal(ret1, ret3)
def test_cleancopytoself(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=2, base_year=1970, tsstep=15) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts='tests/nwisiv_02246000.csv') with assertRaisesRegexp( ValueError, 'The "inwdmpath" cannot be the same as "outwdmpath"'): wdmtoolbox.cleancopywdm(self.wdmname, self.wdmname)
def test_end_date(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=2, base_year=1970, tsstep=15) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts='tests/nwisiv_02246000.csv') ret1 = wdmtoolbox.extract(self.wdmname, 101, end_date='2014-02-22 11:00:00') ret3 = tstoolbox.read('tests/nwisiv_02246000.csv', end_date='2014-02-22 11:00:00').astype('float64') ret3.index = ret3.index.tz_localize(None) ret1.columns = ['02246000_iv_00060'] assert_frame_equal(ret1, ret3, check_index_type=False)
def test_copy_to_self(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=2, base_year=1970, tsstep=15) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts='tests/nwisiv_02246000.csv') ret1 = wdmtoolbox.extract(self.wdmname, 101) ret2 = wdmtoolbox.extract('{0},101'.format(self.wdmname)) assert_frame_equal(ret1, ret2) ret3 = tstoolbox.read('tests/nwisiv_02246000.csv').astype('float64') ret1.columns = ['02246000_iv_00060'] assert_frame_equal(ret1, ret3) wdmtoolbox.copydsn(self.wdmname, 101, self.wdmname, 1101)
def test_end_date(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=2, base_year=1970, tsstep=15) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts='tests/nwisiv_02246000.csv') ret1 = wdmtoolbox.extract(self.wdmname, 101, end_date='2014-02-22 11:00:00') ret3 = tstoolbox.read('tests/nwisiv_02246000.csv', end_date='2014-02-22 11:00:00').astype('float64') ret1.columns = ['02246000_iv_00060'] assert_frame_equal(ret1, ret3)
def test_copy_to_self(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=2, base_year=1970, tsstep=15) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts="tests/nwisiv_02246000.csv") ret1 = wdmtoolbox.extract(self.wdmname, 101) ret2 = wdmtoolbox.extract("{0},101".format(self.wdmname)) assert_frame_equal(ret1, ret2, check_index_type=False) ret3 = tstoolbox.read("tests/nwisiv_02246000.csv").astype("float64") ret3.index = ret3.index.tz_localize(None) ret1.columns = ["02246000_iv_00060"] assert_frame_equal(ret1, ret3, check_index_type=False) wdmtoolbox.copydsn(self.wdmname, 101, self.wdmname, 1101)
def test_extract(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=5, base_year=1870) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts="tests/sunspot_area.csv") ret1 = wdmtoolbox.extract(self.wdmname, 101).astype("f") ret2 = wdmtoolbox.extract("{0},101".format(self.wdmname)).astype("f") assert_frame_equal(ret1, ret2) ret3 = tstoolbox.read("tests/sunspot_area.csv").astype("f") ret1.columns = ["Area"] assert_frame_equal(ret1, ret3) ret4 = tstoolbox.read( "tests/sunspot_area_with_missing.csv", dropna="no" ).astype("f") wdmtoolbox.createnewdsn(self.wdmname, 500, tcode=5, base_year=1870) wdmtoolbox.csvtowdm( self.wdmname, 500, input_ts="tests/sunspot_area_with_missing.csv" ) ret5 = wdmtoolbox.extract(self.wdmname, 500).astype("f") ret5.columns = ["Area"] assert_frame_equal(ret5, ret4)
def test_extract(self): wdmtoolbox.createnewwdm(self.wdmname, overwrite=True) wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=5, base_year=1870) wdmtoolbox.csvtowdm(self.wdmname, 101, input_ts='tests/sunspot_area.csv') ret1 = wdmtoolbox.extract(self.wdmname, 101) ret2 = wdmtoolbox.extract('{0},101'.format(self.wdmname)) assert_frame_equal(ret1, ret2) ret3 = tstoolbox.read('tests/sunspot_area.csv') ret1.columns = ['Area'] assert_frame_equal(ret1, ret3) ret4 = tstoolbox.read('tests/sunspot_area_with_missing.csv', dropna='no') wdmtoolbox.createnewdsn(self.wdmname, 500, tcode=5, base_year=1870) wdmtoolbox.csvtowdm(self.wdmname, 500, input_ts='tests/sunspot_area_with_missing.csv') ret5 = wdmtoolbox.extract(self.wdmname, 500) ret5.columns = ['Area'] assert_frame_equal(ret5, ret4)
TimeStep = 3 print(LDAS_variable) stationID = station print("Downloading " + const + " data for grid: " + station[0]) df = tsget.ldas(lat=station[1], lon=station[2], variable=LDAS_variable, startDate="2018-12-31", endDate="2019-1-31") column_name = df.columns[0] df = df[column_name] df.dropna() df = convertunitforHSPF(const, df, LDAS_variable) wdm.createnewdsn(WDMFileName, index, constituent=const, scenario="OBSERVED", location=station[0][0:8], tcode=3, statid=station[0], tsstep=TimeStep, description=LDAS_variable) #Creating an empty dataset in WDM File wdm.csvtowdm(WDMFileName, index, input_ts=df) #saving the data in the DSN created in previous line Logfile.write("Constituent: " + const + ", Column Name:" + column_name + ", DSN: " + str(index) + "\n") index += 1