Esempio n. 1
0
 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'})
Esempio n. 2
0
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')
Esempio n. 4
0
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)
Esempio n. 5
0
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')