import numpy as np import matplotlib.pyplot as plt from hydroDL.model import rnn, crit, trainTS import torch dataName = 'ssW' wqData = waterQuality.DataModelWQ(dataName) code = '00945' label = 'plain' trainSet = '{}-Y1'.format(code) testSet = '{}-Y2'.format(code) outName = '{}-{}-{}-{}'.format(dataName, code, label, trainSet) outFolder = basins.nameFolder(outName) dictP = basins.loadMaster(outName) # load data rmFlag = dictP['rmFlag'] if 'rmFlag' in dictP else False wqData = waterQuality.DataModelWQ(dictP['dataName'], rmFlag) varTup = (dictP['varX'], dictP['varXC'], dictP['varY'], dictP['varYC']) dataTup, statTup = wqData.transIn(subset=dictP['trainName'], varTup=varTup) dataTup = trainTS.dealNaN(dataTup, dictP['optNaN']) # wrapStat(outName, statTup) [nx, nxc, ny, nyc, nt, ns] = trainTS.getSize(dataTup) model = basins.loadModel(outName, ep=500) lossFun = crit.RmseLoss() lossFun = lossFun.cuda() model = model.cuda()
import torch import os import json import pandas as pd import numpy as np import matplotlib.pyplot as plt wqData = waterQuality.DataModelWQ('basinRef', rmFlag=True) outName = 'basinRef-Yeven-opt2' trainSet = 'Yeven' testSet = 'Yodd' siteNoLst = wqData.info['siteNo'].unique().tolist() master = basins.loadMaster(outName) ep = 300 yP1, ycP1 = basins.testModel(outName, trainSet, wqData=wqData, ep=ep) yP2, ycP2 = basins.testModel(outName, testSet, wqData=wqData, ep=ep) errMatC1 = wqData.errBySiteC(ycP1, varC=master['varYC'], subset=trainSet, rmExt=True) errMatC2 = wqData.errBySiteC(ycP2, varC=master['varYC'], subset=testSet, rmExt=True) dirWrtds = os.path.join(kPath.dirWQ, 'modelStat', 'WRTDS-F') dfCorr1 = pd.read_csv(os.path.join(dirWrtds, '{}-{}-corr'.format(trainSet, trainSet)),
from hydroDL import kPath from hydroDL.master import basins from hydroDL.app import waterQuality from hydroDL.data import gridMET, usgs, gageII import json import os import pandas as pd import numpy as np modelFolder = os.path.join(kPath.dirWQ, 'model') outLst = os.listdir(modelFolder) for out in outLst: master = basins.loadMaster(out) master['varYC'] = usgs.varC master['varXC'] = gageII.lstWaterQuality if 'optQ' in master.keys(): if master['optQ'] == 1: master['varX'] = gridMET.varLst master['varY'] = usgs.varQ if master['optQ'] == 2: master['varX'] = usgs.varQ+gridMET.varLst master['varY'] = None if master['optQ'] == 3: master['varX'] = gridMET.varLst master['varY'] = None if master['optQ'] == 4: master['varX'] = usgs.varQ master['varY'] = None outFolder = os.path.join(modelFolder, out) with open(os.path.join(outFolder, 'master.json'), 'w') as fp: