HARPgroup / HSPsquared

Hydrologic Simulation Program Python (HSPsquared)
GNU Affero General Public License v3.0
1 stars 0 forks source link

SimTimer #51

Open rburghol opened 1 year ago

rburghol commented 1 year ago

Data Model

rburghol commented 1 year ago

Testing

import os
os.chdir("c:/usr/local/home/git/HSPsquared")

import HSP2.HYDR
import HSP2.utilities
from pandas.tseries.offsets import Minute
from HSP2.utilities_specl import *
from HSP2.SPECL import specl, _specl_
from HSP2.om_model_object import ModelObject
from HSP2.om_equation import *
from HSP2.om_data_matrix import *
from HSP2.om_sim_timer import *
from HSP2.om_model_linkage import ModelLinkage, step_model_link
from pandas import DataFrame, date_range

domain = "/STATE/RCHRES_R001/HYDR" # any objects that are connected to this object should be loaded 
op_tokens, state_paths, state_ix, dict_ix, ts_ix = init_sim_dicts()
hydr_ix = hydr_get_ix(state_ix, state_paths, domain)
print(hydr_ix)
siminfo = {}
siminfo['delt'] =3600
siminfo['tindex'] = date_range("2001-01-01", "2001-12-31", freq=Minute(siminfo['delt']))[1:]
steps = siminfo['steps'] = len(siminfo['tindex'])

ModelObject.op_tokens, ModelObject.state_paths, ModelObject.state_ix, ModelObject.dict_ix, ModelObject.ts_ix = (op_tokens, state_paths, state_ix, dict_ix, ts_ix)
timer = SimTimer('timer', False, siminfo)
timer.add_op_tokens()
river = ModelObject('RCHRES_R001')
river.state_path = specl_state_path('RCHRES', 1)
river.add_op_tokens()

mx_mon_wd = np.asarray([ [1,1.0], [2,1.0], [3,1.1], [4,1.2], [5,1.3], [6,1.4], [7,1.5], [8,1.5], [9,1.5], [10,1.4], [11,1.2], [12,1.1] ] , dtype= "float32")
mon_wd_mgd = DataMatrix('mon_wd_mgd', river, mx_mon_wd )
mon_wd_mgd.add_op_tokens()

step = 1
step_model(op_tokens, state_ix, dict_ix, ts_ix, step)
iterate_models(op_tokens, state_ix, dict_ix, ts_ix, steps)