from . import constant as cst
from . import cst_exchanges as cste
from . import Internal_variables as iv
[docs]
VHM_VAR = iv.Group_to_Activate(
name="VHM",
all_params=[
iv.Param_to_Activate(
key="x", group="Internal variables to save", file="soil",
all_variables=[
iv.Internal_Variable(name=f"%xu", file="xu", type_of_var=iv.FRAC_VAR, linked_param=None),
iv.Internal_Variable(name=f"%xof", file="xof", type_of_var=iv.FRAC_VAR, linked_param=None),
iv.Internal_Variable(name=f"%xif", file="xif", type_of_var=iv.FRAC_VAR, linked_param=None),
iv.Internal_Variable(name=f"%xbf", file="xbf", type_of_var=iv.FRAC_VAR, linked_param=None),
]),
iv.Param_to_Activate(
key="U", group="Internal variables to save", file="soil",
all_variables=[
iv.Internal_Variable(name="U", file="U", type_of_var=iv.IV_VAR,
linked_param=cste.exchange_parameters_VHM_Umax)
]),
iv.Param_to_Activate(
key=None, group=None, file="",
all_variables=[
iv.Internal_Variable(name="q_of", file="of", type_of_var=iv.DEFAULT_VAR, linked_param=None),
iv.Internal_Variable(name="q_if", file="if", type_of_var=iv.DEFAULT_VAR, linked_param=None),
iv.Internal_Variable(name="q_bf", file="bf", type_of_var=iv.DEFAULT_VAR, linked_param=None),
])
])
[docs]
UHDIST_LINBF_VAR = iv.Group_to_Activate(
name="2 layers",
all_params=[
iv.Param_to_Activate(
key="x", group="Internal variables to save", file="soil",
all_variables=[
iv.Internal_Variable(name=f"% xif", file="x", type_of_var=iv.FRAC_VAR, linked_param=None)
]),
iv.Param_to_Activate(
key="U", group="Internal variables to save", file="soil",
all_variables=[
iv.Internal_Variable(name=f"%U", file="U", type_of_var=iv.IV_VAR,
linked_param=cste.exchange_parameters_Dist_Soil_Umax)
]),
iv.Param_to_Activate(
key="Reservoir", group="Internal variables to save", file="soil",
all_variables=[
iv.Internal_Variable(name=f"% xp", file="xp", type_of_var=iv.FRAC_VAR, linked_param=None),
iv.Internal_Variable(name=f"S", file="S", type_of_var=iv.IV_VAR,
linked_param=cste.exchange_parameters_Dist_RS_Hs)
]),
iv.Param_to_Activate(
key=None, group=None, file="",
all_variables=[
iv.Internal_Variable(name="q_of", file="of", type_of_var=iv.DEFAULT_VAR, linked_param=None),
iv.Internal_Variable(name="q_if", file="if", type_of_var=iv.DEFAULT_VAR, linked_param=None)
])
]
)
[docs]
HBV_VAR = iv.Group_to_Activate(
name="HBV",
all_params=[
iv.Param_to_Activate(
key="U", group="Internal variables to save", file="soil",
all_variables=[
iv.Internal_Variable(name="U", file="U", type_of_var=iv.IV_VAR,
linked_param=cste.exchange_parameters_HBV_FC),
]),
iv.Param_to_Activate(
key="Q out", group="Internal variables to save", file="soil",
all_variables=[
iv.Internal_Variable(name="q recharge", file="qrech", type_of_var=iv.OUT_VAR, linked_param=None),
iv.Internal_Variable(name="q capillary", file="qcap", type_of_var=iv.OUT_VAR, linked_param=None),
iv.Internal_Variable(name="Evapotranspiration", file="etr", type_of_var=iv.OUT_VAR, linked_param=None)
]),
iv.Param_to_Activate(
key="Su", group="Internal variables to save", file="UZ",
all_variables=[
iv.Internal_Variable(name="Su", file="Su", type_of_var=iv.IV_VAR,
linked_param=cste.exchange_parameters_HBV_SUmax)
]),
iv.Param_to_Activate(
key="Q out", group="Internal variables to save", file="UZ",
all_variables=[
iv.Internal_Variable(name="q_of", file="qr", type_of_var=iv.FINAL_OUT_VAR, linked_param=None),
iv.Internal_Variable(name="q_if", file="qif", type_of_var=iv.FINAL_OUT_VAR, linked_param=None),
iv.Internal_Variable(name="q percolation", file="qperc", type_of_var=iv.OUT_VAR, linked_param=None),
iv.Internal_Variable(name="q cap UZ", file="qcap", type_of_var=iv.OUT_VAR, linked_param=None)
]),
iv.Param_to_Activate(
key=None, group=None, file="",
all_variables=[
iv.Internal_Variable(name="q_bf", file="bf", type_of_var=iv.DEFAULT_VAR, linked_param=None)
])
]
)
[docs]
SACSMA_VAR = iv.Group_to_Activate(
name="SAC-SMA",
all_params=[
iv.Param_to_Activate(
key="IV", group="Internal variables to save", file="UZ",
all_variables=[
iv.Internal_Variable(name="C_UZ_TW", file="Ctw", type_of_var=iv.IV_VAR,
linked_param=cste.exchange_parameters_SAC_M_UZ_TW),
iv.Internal_Variable(name="C_UZ_FW", file="Cfw", type_of_var=iv.IV_VAR,
linked_param=cste.exchange_parameters_SAC_M_UZ_FW),
iv.Internal_Variable(name="C_Adimp", file="Cadimp", type_of_var=iv.IV_VAR, linked_param=None)
]),
iv.Param_to_Activate(
key="Q out", group="Internal variables to save", file="UZ",
all_variables=[
iv.Internal_Variable(name="E1", file="e1", type_of_var=iv.OUT_VAR, linked_param=None),
iv.Internal_Variable(name="E2", file="e2", type_of_var=iv.OUT_VAR, linked_param=None),
iv.Internal_Variable(name="E5", file="e5", type_of_var=iv.OUT_VAR, linked_param=None),
iv.Internal_Variable(name="q_ft", file="qft", type_of_var=iv.OUT_VAR, linked_param=None),
iv.Internal_Variable(name="q_tf", file="qtf", type_of_var=iv.OUT_VAR, linked_param=None),
iv.Internal_Variable(name="q_if", file="qif", type_of_var=iv.OUT_VAR, linked_param=None),
iv.Internal_Variable(name="q_perc", file="qperc", type_of_var=iv.OUT_VAR, linked_param=None),
iv.Internal_Variable(name="q_sr", file="qsr", type_of_var=iv.OUT_VAR, linked_param=None),
iv.Internal_Variable(name="q_in Adimp", file="qinadimp", type_of_var=iv.OUT_VAR, linked_param=None),
iv.Internal_Variable(name="q_dr Adimp", file="qdr", type_of_var=iv.OUT_VAR, linked_param=None)
]),
iv.Param_to_Activate(
key="IV", group="Internal variables to save", file="LZ",
all_variables=[
iv.Internal_Variable(name="C_LZ_TW", file="Ctw", type_of_var=iv.IV_VAR,
linked_param=cste.exchange_parameters_SAC_M_LZ_TW),
iv.Internal_Variable(name="C_LZ_FP", file="Cfp", type_of_var=iv.IV_VAR,
linked_param=cste.exchange_parameters_SAC_M_LZ_FP),
iv.Internal_Variable(name="C_LZ_FS", file="Cfs", type_of_var=iv.IV_VAR,
linked_param=cste.exchange_parameters_SAC_M_LZ_FS)
]),
iv.Param_to_Activate(
key="Q out", group="Internal variables to save", file="LZ",
all_variables=[
iv.Internal_Variable(name="E3", file="e3", type_of_var=iv.OUT_VAR, linked_param=None),
iv.Internal_Variable(name="q_fp", file="qfp", type_of_var=iv.OUT_VAR, linked_param=None),
iv.Internal_Variable(name="q_fs", file="qfs", type_of_var=iv.OUT_VAR, linked_param=None),
iv.Internal_Variable(name="q_in tw", file="qintw", type_of_var=iv.OUT_VAR, linked_param=None),
iv.Internal_Variable(name="q_in fp", file="qinfp", type_of_var=iv.OUT_VAR, linked_param=None),
iv.Internal_Variable(name="q_in fs", file="qinfs", type_of_var=iv.OUT_VAR, linked_param=None),
iv.Internal_Variable(name="q_out tw", file="qouttw", type_of_var=iv.OUT_VAR, linked_param=None),
iv.Internal_Variable(name="q_out fp", file="qoutfp", type_of_var=iv.OUT_VAR, linked_param=None),
iv.Internal_Variable(name="q_out fs", file="qoutfs", type_of_var=iv.OUT_VAR, linked_param=None),
]),
iv.Param_to_Activate(
key=None, group=None, file="out",
all_variables=[
iv.Internal_Variable(name="E_tot", file="Etot", type_of_var=iv.DEFAULT_VAR, linked_param=None),
iv.Internal_Variable(name="Q_of", file="Qof", type_of_var=iv.DEFAULT_VAR, linked_param=None),
iv.Internal_Variable(name="Q_if", file="Qif", type_of_var=iv.DEFAULT_VAR, linked_param=None),
iv.Internal_Variable(name="Q_bf", file="Qbf", type_of_var=iv.DEFAULT_VAR, linked_param=None),
iv.Internal_Variable(name="Q_subbf", file="Qsubbf", type_of_var=iv.DEFAULT_VAR, linked_param=None),
iv.Internal_Variable(name="Q_surf", file="Qsurf", type_of_var=iv.DEFAULT_VAR, linked_param=None),
iv.Internal_Variable(name="Q_base", file="Qbase", type_of_var=iv.DEFAULT_VAR, linked_param=None)
])
]
)
[docs]
NAM_VAR = iv.Group_to_Activate(
name="NAM",
all_params=[
iv.Param_to_Activate(
key="U", group="Internal variables to save", file="SS",
all_variables=[
iv.Internal_Variable(name="U", file="U", type_of_var=iv.IV_VAR,
linked_param=cste.exchange_parameters_NAM_UMAX),
]),
iv.Param_to_Activate(
key="Q out", group="Internal variables to save", file="SS",
all_variables=[
iv.Internal_Variable(name="qqof", file="qof", type_of_var=iv.OUT_VAR, linked_param=None),
iv.Internal_Variable(name="qqif", file="qif", type_of_var=iv.OUT_VAR, linked_param=None),
# iv.Internal_Variable(name="q_infil", file="qinfil", type_of_var=iv.OUT_VAR),
iv.Internal_Variable(name="Ea", file="ea", type_of_var=iv.OUT_VAR, linked_param=None),
]),
iv.Param_to_Activate(
key="IV", group="Internal variables to save", file="RZ",
all_variables=[
iv.Internal_Variable(name="L", file="L", type_of_var=iv.IV_VAR,
linked_param=cste.exchange_parameters_NAM_LMAX),
]),
iv.Param_to_Activate(
key="Q out", group="Internal variables to save", file="RZ",
all_variables=[
iv.Internal_Variable(name="E_rz", file="erz", type_of_var=iv.OUT_VAR, linked_param=None),
iv.Internal_Variable(name="q_g", file="qg", type_of_var=iv.OUT_VAR, linked_param=None),
]),
iv.Param_to_Activate(
key=None, group=None, file="",
all_variables=[
iv.Internal_Variable(name="q_of", file="OF", type_of_var=iv.DEFAULT_VAR, linked_param=None),
iv.Internal_Variable(name="q_if", file="IF", type_of_var=iv.DEFAULT_VAR, linked_param=None),
iv.Internal_Variable(name="q_bf", file="BF", type_of_var=iv.DEFAULT_VAR, linked_param=None)
])
]
)
[docs]
MODELS_VAR:dict[int, iv.Group_to_Activate] = {
cst.tom_VHM: VHM_VAR,
cst.tom_2layers_linIF: UHDIST_LINBF_VAR,
cst.tom_HBV: HBV_VAR,
cst.tom_SAC_SMA: SACSMA_VAR,
cst.tom_NAM: NAM_VAR
}
if __name__ == "__main__":
print(f"VHM keys: {VHM_VAR.get_keys()}")
print(f"UHDIST_LINBF keys: {UHDIST_LINBF_VAR.get_keys()}")
print(f"HBV keys: {HBV_VAR.get_keys()}")
print(f"SACSMA keys: {SACSMA_VAR.get_keys()}")
print(f"NAM keys: {NAM_VAR.get_keys()}")
print(f"VHM files: {VHM_VAR.get_files_per_keys()}")
print(f"UHDIST_LINBF files: {UHDIST_LINBF_VAR.get_files_per_keys()}")
print(f"HBV files: {HBV_VAR.get_files_per_keys()}")
print(f"SACSMA files: {SACSMA_VAR.get_files_per_keys()}")
print(f"NAM files: {NAM_VAR.get_files_per_keys()}")