Пример #1
0
 def test_dsn_exists(self):
     wdmtoolbox.createnewwdm(self.wdmname, overwrite=True)
     wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=5,
                             base_year=1870)
     with self.assertRaisesRegexp(DSNExistsError, 'exists.'):
         wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=5,
                                 base_year=1870)
Пример #2
0
 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)
Пример #3
0
 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)
Пример #4
0
    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)
Пример #5
0
 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)
Пример #6
0
 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)
Пример #7
0
 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)
Пример #8
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 assertRaisesRegexp(ValueError,
                             'The only allowed keywords are'):
         ret1 = wdmtoolbox.extract(self.wdmname, 101, ph=True)
Пример #9
0
 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)
Пример #10
0
 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)
Пример #11
0
 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)
Пример #12
0
    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)
Пример #13
0
    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)
Пример #14
0
 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)
Пример #15
0
 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)
Пример #16
0
 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)
Пример #17
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)
Пример #18
0
    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)
Пример #19
0
 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)
Пример #20
0
 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)
Пример #21
0
    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)
Пример #22
0
    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)
Пример #23
0
    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)
Пример #24
0
    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)
Пример #25
0
    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)
Пример #26
0
    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)
Пример #27
0
            #Going through each constituent
            LDAS_variable = ConstituentDetails[const][2]
            stationID = station
            print("Downloading " + const + " data for grid: " + station[0])
            df = tsget.ldas(lat=station[1],
                            lon=station[2],
                            variable=LDAS_variable,
                            startDate="2015-01-01",
                            endDate="2019-01-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=3,
                             description=ConstituentDetails[const][0])
            #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
Пример #28
0
                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
Пример #29
0
 def test_dsn_exists(self):
     wdmtoolbox.createnewwdm(self.wdmname, overwrite=True)
     wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=5, base_year=1870)
     with self.assertRaisesRegex(DSNExistsError, "exists."):
         wdmtoolbox.createnewdsn(self.wdmname, 101, tcode=5, base_year=1870)