Example #1
0
from hydroDL import kPath
from hydroDL.app import waterQuality
from hydroDL.master import basins
from hydroDL.data import usgs, gageII, gridMET, ntn
import numpy as np
from hydroDL.master import slurm
import importlib

import warnings
warnings.simplefilter('always')

dataName = 'sbW'
varX = gridMET.varLst + ntn.varLst
varY = ['00060']
varYC = ['00410']
subset = '00410-Y1'
saveName = 'temp'
caseName = basins.wrapMaster(dataName=dataName,
                             trainName=subset,
                             batchSize=[None, 100],
                             outName=saveName,
                             varX=varX,
                             varY=varY,
                             varYC=varYC)
basins.trainModelTS(caseName)
Example #2
0
from hydroDL import kPath
from hydroDL.app import waterQuality
from hydroDL.master import basins
from hydroDL.data import usgs, gageII, gridMET, ntn, gageII
import numpy as np
from hydroDL.master import slurm
import importlib
from hydroDL.model import rnn, crit, trainTS

dataName = 'test'
varQ = ['00060']
varP = ntn.varLst
varT = ['sinT', 'cosT']
varF = gridMET.varLst


varX = varQ+varF+varP
varXC = gageII.varLst
varY = varQ
varYC = usgs.newC

saveName = 'test'
trainSet = 'comb-A10'
outName = basins.wrapMaster(
    dataName=dataName, trainName=trainSet, batchSize=[None, 500],
    outName=saveName, varX=varX, varY=varY, varYC=varYC,
    crit='SigmaLoss',
    nEpoch=10, saveEpoch=10)

basins.trainModelTS(outName)
Example #3
0
from hydroDL.app import waterQuality
from hydroDL.data import gageII
from hydroDL.master import basins

import pandas as pd
import numpy as np
import os
import time

# all gages
fileSiteNo = os.path.join(kPath.dirData, 'USGS', 'inventory', 'siteNoLst-1979')
siteNoLstAll = pd.read_csv(fileSiteNo, header=None, dtype=str)[0].tolist()
dfHBN = pd.read_csv(os.path.join(kPath.dirData, 'USGS', 'inventory', 'HBN.csv'), dtype={
    'siteNo': str}).set_index('siteNo')
siteNoHBN = [siteNo for siteNo in dfHBN.index.tolist()
             if siteNo in siteNoLstAll]

# wrap up data
caseName = 'HBN-30d'
if waterQuality.exist(caseName):
    wqData = waterQuality.DataModelWQ(caseName)
else:
    wqData = waterQuality.DataModelWQ.new(caseName, siteNoHBN, rho=30)
    ind1 = wqData.indByRatio(0.8)
    ind2 = wqData.indByRatio(0.2, first=False)
    wqData.saveSubset(['first80', 'last20'], [ind1, ind2])

basins.trainModelTS('HBN', 'first80', batchSize=[None, 500], saveName='HBN_opt1', optQ=1)

a, b = [200, None]
Example #4
0
import argparse
import os
from hydroDL.master import basins

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('-M', dest='masterName', type=str)
    args = parser.parse_args()
    basins.trainModelTS(args.masterName)
Example #5
0
        wqData.saveSubset('-'.join(sorted(codeLst) + [lab, 'Y0010']), indYr2)

if 'training' in doLst:
    dataName = 'HBN5'
    codeLst = ['00618', '00955']
    trainset = '00618-00955-all-Y8090'
    testset = '00618-00955-all-Y0010'
    out = 'HBN5-00618-00955-all-Y8090'
    wqData = waterQuality.DataModelWQ(dataName)
    masterName = basins.wrapMaster(dataName='HBN5',
                                   trainName=trainset,
                                   batchSize=[None, 100],
                                   outName=out,
                                   varYC=codeLst,
                                   nEpoch=100)
    basins.trainModelTS(masterName)

# sequence testing
dataName = 'HBN'
outName = 'HBN-00618-00955-all-Y8090-opt2'
trainset = '00618-00955-all-Y8090'
testset = '00618-00955-all-Y0010'

wqData = waterQuality.DataModelWQ(dataName)

# point testing
yP, ycP = basins.testModel(outName, testset, wqData=wqData)

# sequence testing
infoTrain = wqData.info.iloc[wqData.subset[trainset]]
siteNoLst = infoTrain['siteNo'].unique().tolist()