def test_generar_sin_submodelos(símismo): mds = generar_mds(archivo=arch_mds) bf = ModeloPrueba(unid_tiempo='mes') cnctd = Conectado() cnctd.estab_bf(bf) cnctd.estab_mds(mds) símismo.assertSetEqual(set(cnctd.modelos), {'mds', 'bf'})
def run_model(name, switches): # Create a coupled model instance modelo = Conectado() # Establish SDM and Biofisical model paths. The Biofisical model path must point to the Python wrapper for the model modelo.estab_bf(os.path.join(os.path.split(__file__)[0], 'SAHYSMOD.py')) modelo.estab_mds( os.path.join(os.path.split(__file__)[0], 'Tinamit_sub_v2.vpm')) # Set appropriate switches for policy analysis modelo.mds.inic_vals_vars(switches) # Couple models(Change variable names as needed) modelo.conectar( var_mds='Soil salinity Tinamit CropA', mds_fuente=False, var_bf="Cr4 - Fully rotated land irrigated root zone salinity") modelo.conectar( var_mds='Soil salinity Tinamit CropB', mds_fuente=False, var_bf="Cr4 - Fully rotated land irrigated root zone salinity") modelo.conectar(var_mds='Watertable depth Tinamit', mds_fuente=False, var_bf="Dw - Groundwater depth") modelo.conectar(var_mds='ECdw Tinamit', mds_fuente=False, var_bf='Cqf - Aquifer salinity') modelo.conectar(var_mds='Lc', mds_fuente=True, var_bf='Lc - Canal percolation') modelo.conectar(var_mds='IaAS1', mds_fuente=True, var_bf='IaA - Crop A field irrigation') modelo.conectar(var_mds='IaBS1', mds_fuente=True, var_bf='IaB - Crop B field irrigation') modelo.conectar(var_mds='Gw', mds_fuente=True, var_bf='Gw - Groundwater extraction') modelo.conectar(var_mds='Irrigation efficiency', mds_fuente=True, var_bf='FsA - Water storage efficiency crop A') modelo.conectar(var_mds='Fw', mds_fuente=True, var_bf='Fw - Fraction well water to irrigation') # Simulate the coupled model modelo.simular( paso=1, t_final=240, nombre_corrida=name) # time step and final time are in months
runs_complex[run_name] = { 'Capacity per tubewell': cp, 'Fw': fw, 'Policy Canal lining': cl, 'Policy RH': rw, 'Policy Irrigation improvement': ir } # 3. Now create the model # Create a coupled model instance modelo = Conectado() # Establish SDM and Biofisical model paths. The Biofisical model path must point to the Python wrapper for the model modelo.estab_mds(os.path.join(os.path.split(__file__)[0], 'Vensim', 'Tinamit_Rechna.vpm')) modelo.estab_bf(Envoltura) modelo.estab_conv_unid_tiempo(unid='season', unid_ref='mes', factor=6) # Couple models(Change variable names as needed) modelo.conectar(var_mds='Soil salinity Tinamit CropA', mds_fuente=False, var_bf="CrA - Root zone salinity crop A") modelo.conectar(var_mds='Soil salinity Tinamit CropB', mds_fuente=False, var_bf="CrB - Root zone salinity crop B") modelo.conectar(var_mds='Area fraction Tinamit CropA', mds_fuente=False, var_bf="Area A - Seasonal fraction area crop A") modelo.conectar(var_mds='Area fraction Tinamit CropB', mds_fuente=False, var_bf="Area B - Seasonal fraction area crop B") modelo.conectar(var_mds='Watertable depth Tinamit', mds_fuente=False, var_bf="Dw - Groundwater depth") modelo.conectar(var_mds='ECdw Tinamit', mds_fuente=False, var_bf='Cqf - Aquifer salinity') modelo.conectar(var_mds='Final Rainfall', mds_fuente=True, var_bf='Pp - Rainfall') modelo.conectar(var_mds='Lc', mds_fuente=True, var_bf='Lc - Canal percolation') modelo.conectar(var_mds='Ia CropA', mds_fuente=True, var_bf='IaA - Crop A field irrigation') modelo.conectar(var_mds='Ia CropB', mds_fuente=True, var_bf='IaB - Crop B field irrigation')
import os from tinamit.Conectado import Conectado modelo = Conectado() directorio = os.path.dirname(__file__) modelo.estab_mds(os.path.join(directorio, "Prueba dll.mdl")) modelo.estab_bf(os.path.join(directorio, 'Prueba bf.py')) modelo.conectar(var_mds='Lluvia', var_bf='Lluvia', mds_fuente=False) modelo.conectar(var_mds='Bosques', var_bf='Bosques', mds_fuente=True) res = modelo.simular(paso=1, t_final=100, nombre_corrida='Corrida_Tinamit') print(res)
import os from tinamit.Conectado import Conectado modelo = Conectado() directorio = os.path.dirname(__file__) modelo.estab_mds(os.path.join(directorio, "mds_bosques.mdl")) modelo.estab_bf(os.path.join(directorio, 'bf_bosques.py')) modelo.conectar(var_ds='Lluvia', var_bf='Lluvia', mds_fuente=False) modelo.conectar(var_ds='Bosques', var_bf='Bosques', mds_fuente=True) res = modelo.simular(paso=1, t_final=100, nombre='Corrida_Tinamit')