Modelo¶
-
class
tinamit.mod.
Modelo
(variables, nombre)[fuente]¶ Todas las cosas en Tinamit son instancias de Modelo, que sea un modelo de dinámicas de los sistemas, un modelo de cultivos o de suelos o de clima, o un modelo conectado. Cada tipo de modelo se representa por subclases específicas. Por eso, la gran mayoría de los métodos definidos aquí se implementan de manera independiente en cada subclase de Modelo.
La función de inicialización de todos modelos, conectados o no.
Parámetros: - variables (VariablesMod) – Los variables del modelo.
- nombre (str) – El nombre del modelo.
-
cambiar_vals
(valores)[fuente]¶ Esta función cambia el valor de uno o más variables del modelo.
Parámetros: valores (dict) – Un diccionario de variables y sus valores para cambiar.
-
cerrar
()[fuente]¶ Esta función toma acciones necesarias para terminar la simulación y cerrar el modelo, si aplica.
-
conectar_var_clima
(var, var_clima, conv, combin='prom')[fuente]¶ Conecta un variable climático.
Parámetros: - var (str) – El nombre interno del variable en el modelo.
- var_clima (str) – El nombre oficial del variable climático.
- conv (number) – La conversión entre el variable clima en Tinamït y el variable correspondiente en el modelo.
- combin (str or function or None) – Si este variable se debe adicionar o tomar el promedio entre varios pasos. Puede ser
prom
,total
, o una función. Si esNone
, se tomará el último día en el caso de pasos de más de 1 día.
-
correr
()[fuente]¶ Efectuar una simulación ya inicializada. En general, no llamarías esta función directamente.
-
incrementar
(rebanada)[fuente]¶ Incrementa el modelo. En general, no llamarías esta función directamente.
No se te olvide una llamada al
super
cuando reimplementas esta función.Parámetros: rebanada (Rebanada) – La rebanada del incremento.
-
iniciar_modelo
(corrida)[fuente]¶ Inicia la simulación. En general no llamarías esta función directamente.
No se te olvide una llamada al
super
cuando reimplementas esta función.Parámetros: corrida (Corrida) – La corrida.
-
classmethod
instalado
()[fuente]¶ Si tu modelo depiende en una instalación de otro programa externo a Tinamït, puedes reimplementar esta función para devolver
True
si el modelo está instalado yFalse
sino.Devuelve: Si el modelo está instalado completamente o no. Tipo del valor devuelto: bool
-
classmethod
obt_conf
(llave, auto=None, cond=None, mnsj_err=None)[fuente]¶ Obtiene un valor de configuración de la subclase de modelo.
Parámetros: - llave (str) – El parámetro de configuración.
- auto (str or int or float or list or bool or dict) – Un valor automático a aplicar si no se encuentra en el diccionario de configuración.
- cond – Una condición para validar el valor; si no pasa la condición, se tratará como valor que falta.
- mnsj_err – Un mensaje de aviso para devolver al usuario si no se encuentra el valor.
Devuelve: El valor de configuración
Tipo del valor devuelto:
-
paralelizable
()[fuente]¶ Indica si el modelo actual se puede paralelizar de manera segura o no. Si implementas una subclase paralelizable, reimplementar esta función para devolver
True
.¿No sabes si es paralelizable tu modelo?
Respuesta larga: Si el modelo se puede paralelizar (con corridas de nombres distintos) sin encontrar dificultades técnicas (sin riesgo que las corridas paralelas terminen escribiendo en los mismos archivos de egreso), entonces sí es paralelizable tu modelo.
Respuesta rápida: 95% seguro que sí.
Devuelve: Si el modelo es paralelizable o no. Tipo del valor devuelto: bool
-
simular
(t, nombre='Tinamït', extern=None, clima=None, vars_interés=None)[fuente]¶ Parámetros: - t (int or EspecTiempo) – La especificación del eje de tiempo. Si es
int
, significará el número de pasos. - nombre (str) – El nombre de la corrida.
- extern (Extern or pd.DataFrame or xr.Dataset or dict) – Valores externos para la simulación.
- clima (Clima) – El clima de la simulación.
- vars_interés (list) – Los variables para incluir en los resultados
Devuelve: Tipo del valor devuelto: - t (int or EspecTiempo) – La especificación del eje de tiempo. Si es
Rebanada¶
-
class
tinamit.mod.corrida.
Rebanada
(n_pasos, resultados)[fuente]¶ Una rebanada del eje de tiempo que corresponde al paso actual.
Parámetros: - n_pasos (int) – El número de pasos que debe incrementar el modelo.
- resultados (ResultadosSimul) – Objeto de resultados deseados. El modelo tiene que leer los egresos únicamente de los variables de interés presentes en este objeto y guardarlos en símismo.variables (otros variables de egreso se pueden ignorar).
Opciones de simulación¶
-
class
tinamit.tiempo.
EspecTiempo
(n_pasos, f_inic=None, tmñ_paso=1, guardar_cada=1)[fuente]¶ Objeto para especificar opciones de tiempo para la simulación.
Parámetros: - n_pasos (int) – El número de pasos en la simulación.
- f_inic (str or datetime.datetime or datetime.date) – La fecha inicial, si hay.
- tmñ_paso (int) – El tamaño de cada paso.
- guardar_cada – La frequencia para guardar resultados.