نمونہ۔

class tinamit.mod.Modelo(variables, nombre)[source]

ٹنامیت میں تمام چیز ماڈل کی مثال ہیں، جو نظام کی ڈھانچے کا ایک ماڈل، فصل یا مٹی یا آب و ہوا ماڈل، یا منسلک ماڈل ہے۔ ہر قسم کی ماڈل مخصوص ذیلی کلاس کی طرف سے نمائندگی کی جاتی ہے۔ لہذا یہاں وضاحت کی جانے والی وسیع اکثریت ماڈل کے ہر ذیلی کلاس میں آزادانہ طور پر لاگو کئے جاتے ہیں۔

La función de inicialización de todos modelos, conectados o no.

Parameters:
  • variables (VariablesMod) -- Los variables del modelo.
  • nombre (str) -- El nombre del modelo.
cambiar_vals(valores)[source]

Esta función cambia el valor de uno o más variables del modelo.

Parameters:valores (dict) -- Un diccionario de variables y sus valores para cambiar.
cerrar()[source]

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')[source]

Conecta un variable climático.

Parameters:
  • 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 es None, se tomará el último día en el caso de pasos de más de 1 día.
correr()[source]

Efectuar una simulación ya inicializada. En general, no llamarías esta función directamente.

classmethod estab_conf(llave, valor)[source]

Establece un valor de configuración.

Parameters:
incrementar(rebanada)[source]

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.

Parameters:rebanada (Rebanada) -- La rebanada del incremento.
iniciar_modelo(corrida)[source]

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.

Parameters:corrida (Corrida) -- La corrida.
classmethod instalado()[source]

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 y False sino.

Returns:Si el modelo está instalado completamente o no.
Return type:bool
classmethod obt_conf(llave, auto=None, cond=None, mnsj_err=None)[source]

Obtiene un valor de configuración de la subclase de modelo.

Parameters:
  • 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.
Returns:

El valor de configuración

Return type:

str, int, float, list, bool, dict

paralelizable()[source]

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í.

Returns:Si el modelo es paralelizable o no.
Return type:bool
simular(t, nombre='Tinamït', extern=None, clima=None, vars_interés=None)[source]
Parameters:
  • 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
Returns:

Return type:

ResultadosSimul

simular_grupo(ops_grupo, nombre='Tinamït', paralelo=False)[source]

Efectua un grupo de simulaciones. Muy útil para accelerar corridas múltiples.

Parameters:
  • ops_grupo (PlantillaOpsSimulGrupo) -- Las opciones de simulación en grupo.
  • nombre (str) -- El nombre de la simulación.
  • paralelo (bool) -- Si se simula en paralelo o no. Si el modelo no soporte corridas en paralelo, se ignorará este argumento.
Returns:

Return type:

ResultadosGrupo

unidad_tiempo()[source]

نمونے کی طرف سے استعمال کردہ وقت کا یونٹ اس فعل کے ذریعے واپس جانا چاہئے۔

Returns:La unidad de tiempo (p. ej., 'meses', 'مہینہ', etc.)
Return type:str

Rebanada

class tinamit.mod.corrida.Rebanada(n_pasos, resultados)[source]

Una rebanada del eje de tiempo que corresponde al paso actual.

Parameters:
  • 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)[source]

Objeto para especificar opciones de tiempo para la simulación.

Parameters:
  • 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.
gen_tiempo(unid_paso)[source]

Genera un objeto Tiempo con las especificaciones.

Parameters:unid_paso (str) -- La unidad de paso de la simulación.
Returns:
Return type:Tiempo
class tinamit.mod.OpsSimulGrupoCombin(t, extern=None, clima=None, vars_interés=None, nombre='Tinamït')[source]

Corridas en grupo que generan todas las combinaciones posibles de las opciones de simulación especificadas.

class tinamit.mod.OpsSimulGrupo(t, extern=None, clima=None, vars_interés=None, nombre='Tinamït')[source]

Corridas en grupo sin combinaciones (las primeras opciones de cada parámetro se corrirán juntas en una simulación, seguidas por las segundas, etc.).