Sunteți pe pagina 1din 63

FRANCISCO ALONSO SARRA

JOS ANTONIO PALAZN FERRANDO

Departamentos de Geografa y Ecologa e Hidrologa


Facultad de Biologa
Universidad de Murcia.2007/2008
Horas de clase de teora y de laboratorio: 45 horas en el aula, 15 en la microaula.
Tiempo total previsto de aprendizaje: Entre 150 y 170 horas.
TITULACIN
Nombre de la asignatura

MODELIZACIN DE SISTEMAS AMBIENTALES

Cdigo

07M1

Curso

Tipo

Optativa

Crditos LRU

Tericos: 4,5 Prcticos: 1,5

Crditos ECTS

Duracin

Cuatrimestral, 2 Cuatrimestre

Idiomas en que se imparte Espaol

COMPETENCIAS DE TIPO TERICO

Analizar algunos problemas ambientales seleccionados y disear algoritmos para su


modelizacin.
Describir el uso de modelos conceptuales, matemticos y computacionales en
Ciencias Ambientales
Discutir el anlisis de sistemas y el enfoque sistmico
Entender la diferencia entre soluciones analticas y numricas de los modelos
ambientales
Entender la diferencia entre modelos discretos y continuos
Explicar los problemas relativos a la validacin de modelos y el anlisis de
sensibilidad
Entender los conceptos de dependencia espacial y como pueden modelizarse

ndice
I

Introduccin

Modelos y Medio Ambiente

1.1

Sistemas Ambientales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2

Naturaleza de la experimentacin cientfica . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3

Situacin en las Ciencias Ambientales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

1.4

La modelizacin como solucin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

1.5

Tipos de modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

1.6

Desarrollo tecnolgico y modelizacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

Computacin en modelizacin

15

2.1

Sobre R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

2.1.1

Inconvenientes de R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

2.1.2

Uso de R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

2.1.3

Instalacin de R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

Primeros pasos con R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

2.2.1

Ayuda en R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

2.2.2

Expresiones en R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

2.2.3

Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

2.2.4

Vectores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

2.2.5

Funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

2.2

Matemticas en modelizacin

23

3.1

Conceptos de matemticas en modelizacin . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

3.2

Matemticas, notacin y computacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

3.3

Variables ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

3.4

Algebra matricial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

3.5

Azar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

3.6

Estadistica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

3.7

Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

II
4

III
7

NDICE

Modelizacin y simulacin

41

Modelos y modelizacin

43

4.1

Tipos de modelos matemticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

4.2

Componentes de un modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

46

4.3

Ecuaciones de los modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

49

4.4

Fases de la modelizacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

50

4.5

Identificacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

50

Sistemas y Anlisis de Sistemas

53

5.1

Sistemas y Anlisis de Sistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

5.2

Clasificacin de los sistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

54

5.3

Sistemas dinmicos. Trayectorias y estabilidad . . . . . . . . . . . . . . . . . . . . . . . . .

55

5.3.1

57

Sistemas jerrquicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Estimacin de parmetros, validacin de modelos y anlisis de sensibilidad

61

6.1

Calibracin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

61

6.1.1

medicin de parmetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

61

6.1.2

Optimizacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

62

6.2

Validacin y Verificacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

62

6.3

Errores e incertidumbre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

63

6.4

Anlisis de sensibilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

65

6.5

Incertidumbre en la modelizacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

66

Algortmia y programacin

67

Programacin

69

7.1

Introduccin a la computacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

69

7.2

Lenguajes de programacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

69

7.3

Fases en el desarrollo de un programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

70

7.4

Estructura de un programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

71

7.5

Elementos de programacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

71

7.5.1

Variables y operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

71

7.5.2

Entrada y salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

71

7.5.3

Estructuras de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

72

7.5.4

Funciones definidas por el usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . .

74

NDICE

IV
8

Aplicaciones

77

Algunos modelos clsicos

79

8.1

El modelo de erosin de Thornes(1990) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

79

8.2

Cuestiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

80

8.3

Un modelo de infiltracin basado en la ecuacin de Green-Ampt . . . . . . . . . . . . . . . .

80

8.3.1

El cdigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

82

El mtodo racional en hidrologa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

82

8.4.1

Agregado y esttico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

83

8.4.2

Semidistribuido y esttico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

83

8.4.3

Semidistribuido y dinmico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

84

8.4.4

El cdigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

85

8.4.5

Cuestiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

85

Un modelo para generar series temporales de variables . . . . . . . . . . . . . . . . . . . . .

85

8.5.1

El cdigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

86

8.5.2

Que ocurre si las condiciones varan? . . . . . . . . . . . . . . . . . . . . . . . . . .

86

El mundo de las margaritas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

86

8.6.1

El cdigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

87

8.6.2

Cuestiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

88

El modelo predador-presa de Lotka-Volterra . . . . . . . . . . . . . . . . . . . . . . . . . . .

88

8.7.1

El cdigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

90

8.7.2

Cuestiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

90

SIG y modelizacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

90

8.8.1

90

8.4

8.5

8.6

8.7

8.8

SIG y modelos empricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

NDICE

Parte I

Introduccin

Tema 1

Modelos y Medio Ambiente


1.1

Sistemas Ambientales

Uno de los conceptos ms ampliamente utilizados en la investigacin cientfica es el de sistema. La definicin


ms habitual de sistema es la debida a Chorley y Kennedy (1971) que definieron sistema como un conjunto
estructurado de componentes y variables que muestran relaciones entre ellos y operan en conjunto como un
todo complejo de acuerdo con unas pautas observadas.
Un sistema se percibe como algo que posee una entidad que lo distingue de su entorno, aunque mantiene una
interaccin con l. Esta identidad permanece a lo largo del tiempo y bajo entornos cambiantes.
En Ciencias de la Tierra y Ambientales se trabaja con diversos conceptos derivados de este como son ecosistema, geosistema, sistema fluvial, etc.

1.2

Naturaleza de la experimentacin cientfica

Tradicionalmente se ha considerado que la investigacin cientfica se desarrolla a travs de la acumulacin


de observaciones del comportamiento de los sistemas estudiados en circunstancias naturales o manipuladas a
travs de un experimento. Estas observaciones permiten generar y contrastar hiptesis acerca de la estructura y
funcin del sistema objeto de estudio para incrementar los conocimientos acerca del mismo.
Un experimento puede definirse como la obtencin de una serie de variables de uno o varios individuos,
previamente seleccionados de una poblacin, con el objeto de comprobar una hiptesis o desarrollar una teora.
Ello implica un control absoluto de todas las variables y factores vinculadas con el experimento.
En sentido estricto slo puede hablarse de experimentos en aquellas ciencias como la fsica o bioqumica, en
las que resulta fcil aislar los elementos que se quieren controlar. Los experimentos en fsica se dividen en una
serie de pasos:
1. Observacin de un efecto
2. Formulacin de hiptesis acerca del efecto observado
3. Medicin de las variables dependientes e independientes
4. Modificacin controlada de los factores independientes para producir el efecto deseado
5. Replicacin de (3) para permitir la falsificacin 1 de (2)
1
Falsificacin en el sentido dado por K.Popper al trmino, es decir la posibilidad de demostrar que la hiptesis es falsa. Segn este
autor, toda teora cientfica debe incluir esta posibilidad para poder considerarse como tal

10

TEMA 1. MODELOS Y MEDIO AMBIENTE


6. Derivacin de leyes que expliquen la relacin entre las variables
7. Establecimiento del rango de aplicabilidad de estas leyes

1.3

Situacin en las Ciencias Ambientales

En el conjunto de las ciencias de la Tierra y medioambientales la observacin de efectos y el establecimiento


de hiptesis resulta ms difcil debido a todo un conjunto de factores:
Complejidad del fenmeno estudiado. Los procesos que actan sobre el territorio se caracterizan por
su carcter tridimensional, su dependencia del tiempo y complejidad. Esta complejidad incluye comportamientos no lineales, componentes estocsticos, bucles de realimentacin a diferentes escalas espaciales
y temporales haciendo muy complejo, o incluso imposible, expresar los procesos mediante un conjunto
de ecuaciones matemticas. Las causas de esta complejidad son variadas:
Las relaciones no lineales implican que pequeas causas puedan tener como consecuencia grandes
efectos.
Discontinuidad y bimodalidad, existencia de diversos estados de equilibrio.
Histresis, los procesos no son exactamente reversibles.
Divergencia, existencia de varios efectos para una misma causa.
Imbricacin de mltiples causas y efectos.
El flujo de materia o energa no se traslada de un componente a otro sino que puede hacerlo de uno
a varios o viceversa.
Las relaciones de retroalimentacin (los efectos son causas de sus causas) son importantes y hacen
que un sistema sea ms complejo y su comportamiento difcil de predecir. Puede existir retroalimentacin positiva (homeorhesis) que una vez iniciado el cambio tienden a mantenerlo o incrementarlo, o negativa (homeostasis) que tienden a compensar el cambio eliminndolo.
Imposibilidad de control. En otras ciencias (fsica, qumica, etc.) es posible mantener los sistemas
estudiados en condiciones controladas de laboratorio, en las ciencias ambientales este enfoque resulta
imposible. Cualquier intento de llevar una porcin del sistema al laboratorio implica una mutilacin
del mismo y la modificacin total de las condiciones de contorno. La opcin de los campos y parcelas
experimentales pero por un lado suponen tambin un cierto aislamiento de la porcin estudiada respecto
al resto del sistema y por otro no se consigue el grado de control que se tiene en un laboratorio.
Muy relacionado con el anterior problema est la irrepetibilidad de las mediciones, por ejemplo no
podemos volver a medir la lluvia cada un da concreto. Por otro lado los procedimientos de medicin
suelen suponer la alteracin del objeto de estudio durante la medicin y tras los experimentos.
Problemas de escala tanto espacial como temporal. Por una parte el problema es que en muchos casos el
investigador slo tenga acceso a una pequea parte del continuo espacio-temporal en el que ocurren los
procesos a estudiar, y que la visin que se puede tener de estos cambia con la escala. Por otro lado un
mismo sistema puede comportarse de formas diferentes a diferentes escalas.
Los sistemas ambientales son multicomponente, requieren comprender diversos aspectos geolgicos,
climticos, hidrolgicos, ecolgicos, etc. y su imbricacin. Por tanto es imposible que un slo especialista
pueda abordar el estudio de estos sistemas que deben ser necesariamente objeto de una investigacin
multidisciplinar.

1.4. LA MODELIZACIN COMO SOLUCIN

11

Estos problemas, si bien son de difcil solucin, no son tan graves como los que aparecen en ciencias sociales
en las que el comportamiento de uno solo de los individuos estudiados es posiblemente ms complejo que
cualquiera de los sistema estudiados en ciencias ambientales.
La investigacin en ciencias ambientales tiene por otra parte un propsito fundamentalmente prctico dentro del cual es fundamental hacer prospectivas de futuro (planes de conservacin), entender los impactos de
acontecimientos que an no han sucedido (evaluacin de riesgos naturales), los impactos que puede tener la
actividad humana (anlisis de impacto ambiental). Para abordar el estudio de todo este tipo de problemas en
unos sistemas que se caracterizan por el grado de complejidad antes mencionado, es imprescindible ser capaces
de hacer una simplificacin racional de los mismos.

1.4

La modelizacin como solucin

Debido a la dificultad de llevar a cabo experimentos autnticos que cumplan con los criterios antes mencionados
y que respondan a las necesidades prcticas de la investigacin sobre sistemas ambientales se ha propuesto una
amplia gama de modos de trabajo que relajan las estrictas condiciones que debe cumplir un experimento.
Una de estas lineas es el estudio de los sistemas ambientales mediante modelos. Un modelo es una representacin simplificada de una realidad compleja de forma que resulte adecuada para los propsitos de la modelizacin. Esta simplificacin se basa en una serie de asunciones acerca de como funciona un sistema que no
son totalmente vlidas pero permiten representar el sistema de forma ms sencilla. Puesto que la validez del
modelo depende de la validez de estas asunciones, es importante que las asunciones sean entendidas y establecidas de forma explcita. La necesidad de decidir que aspectos de la realidad deben incluir en el modelo hace
que este refleje no slo la realidad del sistema sino tambin la percepcin que el investigador tenga del mismo
o lo que es lo mismo las teoras que considera ms adecuadas para representarlo.
De este modo podremos estudiar como diversas polticas, acontecimientos imprevistos o nuevas actividades
afectan a los elementos del sistema representados en el modelo bajo la hiptesis de que los resultados sern
similares en la realidad. Se experimenta por tanto con el modelo no con el sistema de manera que se solventan
muchos de los problemas prcticos mencionados ms arriba.
Por ejemplo, un modelo a escala de un cauce (figura 1.4) consiste en una maqueta que representa dicho cauce en
tamao reducido, utilizando materiales que tambin aparecen a escala (los grandes bloques pueden simularse
con cantos, los cantos con arena gruesa, la arena con limo, etc.). Si dejamos entrar al modelo diferentes caudales,
podremos observar las consecuencias (reas inundadas, erosin, etc.) en todo el modelo y asumir que el sistema
fluvial real se comportar igual.
Para lograr todos estos objetivos, la construccin de un modelo debe venir precedida:
1. Una definicin clara de los objetivos del modelo; entre los objetivos habituales en modelizacin destacan:
Incremento del conocimiento acerca del sistema
Determinacin de cuales deben ser las caractersticas de un modelo para reproducir la realidad. Si
sabemos que reas se inundan con un determinado caudal, modificaremos el modelo hasta conseguir
en el los mismos resultados.
Comprobar los efectos de diversas actuaciones dentro del sistema Qu ocurrira si ponemos una
presa?
Gestin diaria, mediante la simulacin por adelantado de los caudales previstos en funcin de la
lluvia. Los resultados deben obtenerse en un tiempo razonablemente breve y a bajo coste, aunque
el modelo no sea el mejor posible.
2. Una identificacin adecuada de los elementos y procesos involucrados en el sistema a modelizar y relevantes para alcanzar los objetivos planteados;

12

TEMA 1. MODELOS Y MEDIO AMBIENTE

Figura 1.1: Modelo a escala de un cauce


3. Determinacin de la escala espacial y temporal ms adecuadas. Cuando se trabaja en modelizacin el
concepto de escala incluye tanto la extensin del marco espacio-temporal del modelo como la resolucin
del mismo, es decir los intervalos espaciales y temporales en que se va a subdividir ese marco. La eleccin
del marco espacial implica establecer una frontera entre el sistema a estudiar y su entorno que no no ser
objeto de estudio;
4. Pero puesto que ningn sistema es cerrado, en necesario determinar que flujos de materia, energa o
informacin de producen entre el sistema y su entorno y son relevantes para los objetivos del modelo.
Por otro lado, en la construccin de un modelo hay que tener siempre presente el principio de parsimonia,
aunque el aadir nuevos parmetros y variables pueda hacer al modelo tericamente ms potente, esta adicin
esta siempre sujeta a una ley de rendimientos decrecientes en cuanto que la mejoras en el modelos sern cada
vez ms pequeas cuanto ms elementos introduzcamos. Adems un modelo con un gran nmero de parmetros
resulta ms difcil de entender, calibrar o validar.
La modelizacin se ha convertido en un procedimiento de trabajo frecuente en aquellas situaciones en las que:
Ensayar sobre sistemas reales puede resultar muy costoso
Ensayar sobre sistemas reales puede llevar a la destruccin de los mismos
Puede ser interesante alterar las escalas de tiempo
La modelizacin resulta por otro lado una herramienta de gran importancia para el desarrollo de la investigacin
cientfica. Un modelo matemtico del funcionamiento de un sistema ambiental, integra diversas ecuaciones que
modelizan a su vez aspectos concretos del mismo, cada una de estas ecuaciones representa por su parte una
teora, una hiptesis acerca del funcionamiento de dicho aspecto. Los modelos se convierten de este modo
en juegos de construccin en los que integrar diferentes teoras cientficas, estudiar su correspondencia con la
realidad, as como sus interacciones.

1.5. TIPOS DE MODELOS

13

Sirven por otro lado para representar, transmitir y ayudar a comprender teoras cientficas. Aunque el lenguaje
matemtico y computacional sea complejo y rgido permite gran flexibilidad para representar una teora de
forma objetiva con lo que se facilita su comprensin a los dems. Esta facilidad para la transmisin de ideas y
conocimientos favorece adems el trabajo interdisciplinar. Cada miembro de un equipo multidisciplinar puede
expresar el conocimiento que desde su campo se tiene sobre el sistema objeto de estudio como un componente
de un modelo y entender fcilmente el conocimiento aportado por otros especialistas sobre aquellos aspectos
con los que su componente debe interaccionar.
Un buen modelo, suficientemente validado, puede servir finalmente como herramienta para la gestin diaria de
los sistemas ambientales. Para ello se le debe aadir una interfaz adecuada para que usuarios no expertos puedan
predecir las consecuencias de acciones concretas o cuales son las actuaciones ms adecuadas para conseguir
determinado objetivo.
En resumen, los objetivos de la construccin de un modelo son:
1. Simulacin:
Explorar situaciones (escenarios) en las que no contamos con datos empricos
Interpolar entre medidas para estimar el valor de la variable
Estimar el valor de una variable a partir de otras
2. Prediccin: Extrapolar ms all del espacio-tiempo donde tenemos medidas
3. Incremento del conocimiento:
Acerca del funcionamiento de los sistemas:
Acerca de cuales son los parmetros, variables, relaciones, procesos, estructuras y escalas importantes
4. Apoyo a la investigacin cientfica:
facilitando la integracin multidisciplinar
proporcionando un laboratorio virtual
facilitando la comunicacin de la investigacin y sus resultados

1.5

Tipos de modelos

Verbal: responde a una descripcin del sistema y su funcionamiento utilizando el lenguaje humano.
Suele ser la fase previa al desarrollo de cualquier modelo
Icnico: se basa en la representacin de los componentes del sistema mediante smbolos. Los mapas
seran un buen ejemplo.
Fsico: basado en prototipos construidos para estudiar el sistema. Existen dos tipos:
Analgico: Se basa en la analoga existente entre dos sistemas fsicos diferentes uno, el que nos
interesa estudiar, y otro mucho ms sencillo de estudiar que acta como modelo. Por ejemplo se
han utilizado sistemas electrnicos como analogas del comportamiento de los acuferos en los que
la transmisividad del acufero se incorporaba en el modelo aadiendo resistencias. Tambin se han
utilizado modelos analgicos para estudiar los flujos de agua en el interior de una planta.

14

TEMA 1. MODELOS Y MEDIO AMBIENTE


a escala: Se trata de modelos reducidos del sistema que se estudia. Se han utilizado mucho en
hidrologa, plantean la dificultad del cambio de comportamiento de los materiales con el cambio
de escala. Por ejemplo las arena podra sustituirse por arcilla pero esta presenta comportamientos
cohesivos que no tiene aquella.
Matemtico: Son los ms utilizados actualmente y se basan en la representacin del estado de los componentes de un sistema y los flujos entre ellos mediante un conjunto de ecuaciones matemticas. Pueden
ir desde un conjunto de ecuaciones simples a programas complejos que incluyen una gran cantidad de
ecuaciones y reglas y que, por tanto, requieren un ordenador para su resolucin. La clasificacin de los
modelos matemticos resulta bastante compleja ya que hay que tener en cuenta diversas consideraciones.

1.6

Desarrollo tecnolgico y modelizacin

Hasta los aos 50 del siglo pasado, la falta de capacidad de clculo imposibilitaba la aplicacin de modelos,
lo que no impidi el desarrollo de los mismos. De hecho gran parte de las leyes fsicas que rigen los procesos
ambientales se desarrollaron en los siglos XVIII y XIX. Debido a la dificultad en los clculos se tabulaban los
resultados de las ecuaciones ms complejas, pero estas no se podan interrelacionar.
Durante la segunda mitad del siglo XX, el formidable desarrollo tecnolgico experimentado ha permitido atacar
problemas y planteamientos tericos que antes resultaba imposible.
Enormes incrementos en la capacidad de computacin junto a una no menos enorme disminucin de sus
costes;
Mtodos de medicin en continuo, data loggers;
Desarrollo de mtodos de muestreo;
Desarrollo de tcnicas basadas en indicadores (en modelos en definitiva) para medir variables ambientales;
Desarrollo de tcnicas computacionales de anlisis de datos.
El resultado de estos avances ha sido por un lado la mejor calidad de los estudios llevados a cabo y en segundo
lugar la necesidad de una mayor cualificacin tcnica para llevarlos a cabo.
Desde el punto de vista de la modelizacin, estos adelantos han permitido la simulacin por ordenador, es
decir la resolucin mediante un ordenador de un conjunto de ecuaciones que corresponden a modelos bsicos, integradas formando un modelo matemtico y reorganizadas de forma algortmica mediante un programa
informtico.
En 1982 J.N.F. Jeffers escriba La modelizacin es un modo de resolucin de los problemas cientficos que ha
crecido rpidamente en los ltimos aos (...) estimulado por las grandes posibilidades que dan los ordenadores
(...) ms baratos, ms pequeos y cada vez ms potentes. En 2005 se ha llegado al punto en que cualquier
ordenador domstico es capaz de ejecutar modelos relativamente sofisticados varias veces, de manera que la
modelizacin ha dejado de ser un orculo costoso al que acudir en busca de "la respuesta sino que nos permite
consultar diversas respuestas, bien modificando el modelo o modificando ligeramente los valores de parmetros
y variables para, de este modo, obtener en lugar de un valor un rango de valores ms probables.

Tema 2

Computacin en modelizacin
2.1

Sobre R

El lenguaje S, desarrollado en los laboratorios de la compaa AT&T por Rick Becker, John Chambers y Allan
Wilks, pretende simplificar tanto el almacenamiento de datos como su tratamiento estadstico. De este lenguaje
se han realizado varias implementaciones, algunas de ellas comerciales1 .
La utilizacin de R se ha extendido de forma creciente y los investigadores lo han seleccionado por sus ventajas,
como puede comprobarse en el creciente nmero de trabajos publicados en la revista Journal of Statistical
Software, publicada por la American Statistical Association2 . Entre ellas:
se trata de un programa de distribucin libre
puede utilizarse con distintos sistemas operativos
adecuacin del lenguaje al manejo y anlisis de los datos
sencillez con la que pueden combinarse los distintos anlisis estadsticos
grficos de alta calidad: visualizacin de datos y produccin de grficos, ver ejemplos3
facilidad para incorporar nuevos procedimientos a los proporcionados por el sistema base
muy completa documentacin, que crece da a da
la comunidad de R es muy dinmica, con gran crecimiento del nmero de paquetes, e integrada por
cientficos de gran renombre
hay extensiones especficas a nuevas reas como bioinformtica, geoestadstica, etc.
es un lenguaje orientado a objetos
se parece a Matlab y a Octave, y su sintaxis recuerda a C/C++
Sintetizando, puede describirse a R como un entorno integrado para trabajar con el lenguaje S, que proporciona:
Un conjunto coherente y extensivo de instrumentos para el anlisis y el tratamiento estadstico de datos.
1

La aplicacin comercial ms conocida es Splus.


http://www.jstatsoft.org
3
http://addictedtor.free.fr/graphiques/thumbs.php?sort=votes
2

15

16

TEMA 2. COMPUTACIN EN MODELIZACIN


Un lenguaje para expresar modelos estadsticos y herramientas para manejar modelos lineales y no lineales.
Utilidades grficas para el anlisis de datos y la visualizacin en cualquier estacin grfica o impresora.
Un eficiente lenguaje de programacin orientado a objetos, que crece fcilmente merced a la comunidad
de usuarios.

Puede encontrarse abundante informacin sobre el funcionamiento del R en la pgina principal proyecto4 .
Se han publicado numerosos textos de tratamiento y anlisis de datos con R (libros de R y S5 ). En la
pgina de wikipedia6 pueden encontrarse ms referencias.

2.1.1

Inconvenientes de R

El principal inconvenientes de R radica en la formacin inicial de sus usuario. Si estos conocen un lenguaje
de programacin se pueden adaptar con facilidad. Por contra, si estn acostumbrados a entornos grficos con
una GUI (graphical user interface) el aprendizaje se hace ms pesado. Puede utilizarse como ayuda un interfaz
grfico para R llamado Rcmd7 .
Otra dificultad de R est asociada a un lenguaje muy rico. La solucin se basa en un potente y completo sistema
de ayudas y documentacin.

2.1.2

Uso de R

El uso de R se basa en un lenguaje que utiliza expresiones que son evaluadas por el programa proporcionando
el resultado en forma de valores o grficos.
Las expresiones componen de operadores, valores numricos, valores lgicos y funciones.

2.1.3

Instalacin de R

La instalacin de R es relativamente sencilla y varia de un sistema operativo a otro, adecundose a los procedimientos habituales en cada uno de ellos.
winXX. Se accede a la pgina correspondiente a CRAN o Comprehensive R Archive Network8
y se elige un servidor, preferiblemente el correspondiente a RedIris. La entrada Windows (95 and
later) y posteriormente: base nos permiten seleccionar: R-2.2.1-win32.exe. A partir de este
fichero se produce la instalacin (la referencia de la versin puede cambiar con nueva versiones).
Linux. Dependiendo de la distribucin se instalar el paquete correspondiente, en el caso de la distribucin debian este es: r-base.
...
4

http://www.r-project.org
http://www.r-project.org/doc/bib/R-books.html
6
http://en.wikipedia.org/wiki/R_programming_language
7
http://socserv.socsci.mcmaster.ca/jfox/Misc/Rcmdr/
8
http://cran.r-project.org/
5

2.2. PRIMEROS PASOS CON R

2.2

17

Primeros pasos con R

Los usuarios de un sistema winXX utilizarn el men del sistema, tal como muestra la figura:

Para usuarios de sistemas Linux bastar con invocarlo desde la lnea de comandos, escribiendo a continuacin
del prompt del sistema el nombre del programa R:
[usuario@directorio]$ R
El sistema entrar en el programa y ofrecer informacin bsica sobre l y quedar a la espera de recibir una
orden9 :

El signo mayor que en la ltima lnea indica que podemos escribir una expresin con la sintaxis de R. Tras
pulsar retorno de carro este la evaluar y actuar en consecuencia.
Para abandonar el programa bastar con escribir q() y el resultado ser:
> q()
Save workspace image? [y/n/c]:
que nos permite:
y guardar los datos incorporados al programa y el histrico con las ordenes utilizadas durante la sesin de
trabajo.
9

esta presentacin puede variar ligeramente de una versin a otra del programa.

18

TEMA 2. COMPUTACIN EN MODELIZACIN


n perder datos e histrico de ordenes.
c cancelar la orden dada para abandonar el programa y permanecer en la sesin de trabajo.

La ventaja de conservar los datos y el histrico es que permite retomar la sesin de trabajo con posterioridad en
el punto donde la abandonamos.
Al iniciar una sesin, si existe un histrico bastar pulsa la tecla para acceder las expresiones escritas con
anterioridad. Adems, la expresiones pueden modificarse con la ayuda de las y .

2.2.1

Ayuda en R

Una de las cualidades de R es su sistema de documentacin y ayuda. Para obtener ayuda sobre distintos aspectos
del programa puede utilizarse la orden help() o help.start().
Adems se dispone de algunas demostraciones del uso, para localizarla se utiliza la orden demo().
Tambin es posible utilizar los ejemplo que aparecen en la ayuda con la funcin example()
Las funciones de ayuda en R son:
help(): proporciona ayuda sobre el sistema de ayuda
help(clave): proporciona ayuda sobre una palabra clave
?clave: es una forma abreviada de la anterior
help.start(): proporciona ayuda sobre R en un navegador, si se utiliza todas las ayudas se canalizan
por el navegador.
example(clave): Muestra los resultados propuestos en el ejemplo de la palabra clave.
demo(): muestra la relacin de demos disponibles
library(): muestra la relacin de bibliotecas de funciones disponibles
data(): muestra la relacin de datos de ejemplo disponibles
apropos("texto"): Muestra la relacin de trminos que en su nombre incluyen el texto y para los
que se encuentra informacin disponible

2.2.2

Expresiones en R

R utiliza una sintaxis muy sencilla en la que la unidad est constituida por la expresin. La expresin ms
sencilla es un simple nmero entero.
> 1
[1] 1
R evala la expresin y devuelve un valor de esta. La notacin [1] indica que el primer valor de la lnea de
respuesta, es el primer valor.
Los valores pueden relacionarse mediante operadores (lgicos o algebraicos) y funciones.
> sqrt(3^2 + 5^2)
[1] 5.830952

2.2. PRIMEROS PASOS CON R

19

Insistiremos ms adelante en las funciones (aqu se ha utilizado la correspondiente a la raz cuadrada).


En R tenemos los siguientes operadores que puede utilizarse para:
+, -, *, /
%%, %/%,
==, !=, !
>, >=, <, <=
|, ||, &, &&
<-, ->, _
:

suma, resta, producto, cociente


mdulo, cociente entero, potencia
igual, distinto, no
mayor que, mayor o igual que, menor que, menor o igual que
y, y, o, o
asignar a la izquierda, asignar a la derecha, asignar a la izquierda
generar una serie

Para obtener informacin de los distintos operadores puede solicitarse la ayuda mediante ?"+".
Cada operador implica a los dos elementos que se sitan a izquierda y derecha en la expresin, existe una
jerarqua de operadores que determina cual de ellos se evala primero en la expresin, el orden de evaluacin
puede alterarse mediante el uso de parntesis. Por ejemplo:
> 9
[1]
> 9
[1]
> 9
[1]
> 9
[1]

* 5 /
22.5
* 5 /
67.5
* 5 /
7.5
* 5 /
7.5

2
2 * 3
(2 * 3)
2 / 3

95 953 95
95
,
,
y, equivalentemente
.
2
2
23
23
Los operadores lgicos proporcionan como resultado el valor VERDADERO (anotado por TRUE, o T) o el valor
FALSO (anotado por FALSE, o F)
que efectan

> 3 != 2
[1] TRUE
Los espacios en blanco son obviados por R y, en todo caso, deben utilizarse para que la expresin quede clara al
lector. Por ejemplo, la expresin: 2^(3/2)/(5*6), quedar ms legible utilizando: 2 ^ (3/2) / (5*6).
Cuando se necesita ms de una expresin estas se pueden escribir en lneas separadas, si bien, puede reunirse
en una sola lnea ms de una expresin separndolas por ;.
En algunos casos es posible escribir una expresin en ms de una lnea, as cuando R entiende que la expresin
es incompleta devuelve un prompt + en lugar del habitual >.

2.2.3

Variables

Podemos utilizar variables para realizar una asignacin, es decir, guardar el resultado de una expresin:
> a <- 1
>
El programa no devuelve mensaje alguno, pero desde ahora la variable a contiene valor 1, as si escribimos:

20

TEMA 2. COMPUTACIN EN MODELIZACIN

> a
[1] 1
el sistema nos devuelve el valor de la variable.
La asignacin se realiza mediante el signo compuesto: <- o ->, y en la actualidad R admite el uso de signo =
para la asignacin, as son equivalentes las siguientes expresiones: a <- 1, 1 -> a y a = 1; sin embargo,
no puede utilizarse 1 = a.
La asignacin significa una destruccin del valor de la variable, tras efectuarla se pierde el viejo valor y se
queda el que resulta de la expresin asignada.
> a <- 1
> a <- 5
> a
[1] 5
Los nombres de las variables deben comenzar obligatoriamente por una letra, distinguindose entre maysculas
y minsculas, y a continuacin, opcionalmente, una combinacin de letras y nmeros, a ellos puede incorporarse el punto .; as son nombre vlidos: a, A, A.1, altura, densidad, . . . Los nombre de las
variables pueden coincidir con los nombre de funciones, aunque resulta poco aconsejable.
Resulta conveniente que los nombres de las variables mantenga una relacin con los valores que contienen:
as, la variable que describe la cobertura lineal del palmito (Chamaerops humilis) puede indicarse como: cl,
haciendo referencia a la idea de cobertura lineal, si no tenemos otras especies; cl.chahum, como en el caso
anterior pero cuando tenemos varias especies; o chahum, cuando solo tenemos informacin para esta especie
de su cobertura lineal.
Adems de valores numricos podemos utilizar las cadenas de texto. Para indicarle al ordenador que toda la
cadena es un slo objeto, esta debe entrecomillarse a="Hola"
nombre.estacion<-"Pluvimetro de San Javier"
Las variables pueden contener valores sencillos, atendiendo a su naturaleza tenemos:
Lgicos:
Enteros:
Precisin
doble:
Complejos:
Carcter:
Perdidos:

TRUE,FALSE,T,F
-10, 1, 1000, . . .
-10.1, 6.02310e24, . . . , -Inf, Inf, NaN
1+3i, 1+0i, 9i, . . .
"Hola", "Enero", "sin(x)", "pino", . . .
Na

tambin cabe la posibilidad de tener ms de un valor en una variable, siendo entonces, segn la estructura:
Vector
Array
Matriz
Factor
Lista
Estructura
de datos

conjunto ordenado de datos del mismo tipo bsico.


vector con atributo de dimensin, es vlido cualquier nmero de dimensiones.
es un array con dos dimensiones
tipo especial de vector en el que se codifican las clases.
conjunto de elementos que pueden ser de distintos tipos.
mezcla de matriz y lista.

Para este captulo consideraremos, por simplificar, vectores y matrices y no las otras estructuras de datos que
se vern ms adelante.

2.2. PRIMEROS PASOS CON R

2.2.4

21

Vectores

Para disponer de un vector basta con asignar a una variable un conjunto de valores:
> x <- c(1,22,9,8,36,12)
crea el vector x siendo x1 = 1, x2 = 22, . . . , x6 = 12, con la ayuda de la funcin c() que permite concatenar
una serie de valores. Los valores de x pueden consultarse sencillamente:
> x
[1]

1 22

8 36 12

En el caso de vectores sus elementos pueden referirse por su posicin mediante el subndice:
> x[3]
[1] 9
como puede apreciarse claramente, los subndices se indican entre corchetes.
Un operador interesante es :, as, si escribimos:
> 1:5
[1] 1 2 3 4 5
obtenemos cinco valores consecutivos: los valores del uno al cinco. Podemos utilizar este operador para generar
series. Los rangos as obtenidos pueden utilizarse en distintos casos, por ejemplo como subndices:
> x[1:3]
[1] 1 22

con esta expresin seleccionamos los tres primeros elementos del vector x.
Cuando no se expresa subndice alguno no referimos al vector completo, por ello x y x[ ] son expresiones
equivalentes.
Un subndice negativo equivale a eliminar el elemento indicado del vector, as: x[-5], indica el vector x
excluido el quinto elemento.
En ocasiones necesitamos seleccionar de un vector elemento condicionados a una propiedad, por ejemplo, si
deseamos utilizar slo los elementos del vector con valor par lo expresamos: x[x%%2==0].

2.2.5

Funciones

En R la mayor parte del trabajo implica el uso de funciones, por ejemplo:


> max(x)
[1] 36

22

TEMA 2. COMPUTACIN EN MODELIZACIN

nos devuelve el mximo valor que presenta un elemento del vector x. El nmero y utilidad de las funciones de R
es enorme y variado. Adems, y esta es una de las virtudes de R, pueden definirse fcilmente nuevas funciones.
Las funciones se indican con una palabra clave, o nombre de la funcin, y entre parntesis opcionalmente
parmetros. Por ejemplo, la funcin q(), que se utiliza para abandonar R, no necesita parmetro alguno;
la funcin sqrt() necesita un valor para obtener su raz cuadrada est claro que este valor puede ser
el resultado de una expresin compleja; y la funcin matrix() necesita 3 parmetros: el conjunto de
elementos de la matriz, nmero de filas y el nmero de columnas;
> matrix(12:1,4,3)
[,1] [,2] [,3]
[1,]
12
8
4
[2,]
11
7
3
[3,]
10
6
2
[4,]
9
5
1
Entre otras podemos destacar las siguientes funciones:
c()
seq()
rep()
t()
sqrt()
abs()
sin(), cos(), . . .
log(), exp()
round()
ls()
rm()
for(), while()
if(), ifelse()

Concatenar los elementos que se indican, separados por comas.


Generar una secuencia numrica.
Generar un conjunto de valores repetidos.
Transponer una matriz.
Raz cuadrada.
Valor absoluto.
Funciones trigonomtricas.
Logaritmo y exponencial.
Redondeo de valores numricos.
Relacin de objetos disponibles.
Elimina uno o varios objetos.
Evala una o un conjunto de expresiones repetitivamente.
Evala una expresin condicionalmente.

Podemos definir con sencillez una funcin propia, por ejemplo para pasar de grados centgrados a grados
Fahrenheit, mediante:
> mifuncion<-function(x) x*9 / 5 + 32
Puede calcularse la transformacin sin ms que, por ejemplo, calcular cual el la temperatura de ebullicin del
agua en grados Fahrenheit:
> mifuncion(100)
[1] 212
que proporciona lgicamente el valor esperado.

Tema 4

Modelos y modelizacin
Como ya se ha visto, existen muchos tipos de modelos, aunque normalmente cuando se trata de estudiar procesos naturales se utilizan modelos matemticos. Un modelo matemtico es la expresin formal (en lenguaje
matemtico) de las relaciones entre los componentes de un modelo. La construccin de un modelo de este
tipo implica la seleccin y cuantificacin de los componentes, variables y relaciones presentes en el sistema
para representarlo con el nivel de detalle requerido. Puede ser algo tan simple como sustituir las variables de
una ecuacin por sus valores reales o puede ser un conjunto complejo de ecuaciones interrelacionadas cuyas
variables se ven modificadas a lo largo del tiempo y a travs del espacio.
El lenguaje matemtico permite describir y modelizar sistemas de manera parsimoniosa 1 , objetiva y no ambigua; hasta el punto de que hoy en da se considera a los modelos matemticos como representaciones de
teoras acerca de los sistemas que se modelizan. El lenguaje simblico que aportan las matemticas permite
expresar ideas de gran complejidad.
Debe distinguirse entre esta concepcin de modelo, como representacin de una teora mediante una ecuacin
ms o menos sencilla, y la idea de modelo como agrupacin de un conjunto de ecuaciones (que responden
a diferentes teoras) interconectadas de manera que representen las diferentes transferencias entre los componentes del sistema modelizado.
Por mnimamente complejo que sea un modelo, y especialmente si tiene en cuenta variaciones en el espacio o
en el tiempo, requiere la resolucin de muchsimas operaciones matemticas. Por tanto se requiere un ordenador
para su resolucin ordenada en forma de algoritmo.
Las caractersticas deseables de los modelos matemticos (Moore et al., 1993) son:
Parsimonia, un modelo no es necesariamente mejor por tener muchos parmetros. La simplicidad es
siempre deseable.
Modestia, deben tratar de alcanzarse slo objetivos asequibles. Un modelo, al igual que un mapa, no
debe aspirar a imitar la realidad sino slo a resaltar aquellos aspectos de inters para su aplicacin.
Exactitud, el modelo debe reproducir en la medida de lo posible el funcionamiento del sistema y generar
valores para las variables de salida y estado similares a los observados en la realidad.
Verificabilidad, los resultados del modelo deben poder compararse con datos reales y determinar de este
modo el grado de exactitud del modelo.
Por otro lado, no basta con que funcionen bien, deben funcionar bien por las razones correctas
1
reduciendo el nmero de parmetros, se considera que a igualdad de otras consideraciones es preferible un modelo simple a otro
ms complejo

43

44

TEMA 4. MODELOS Y MODELIZACIN

4.1

Tipos de modelos matemticos

Una clasificacin de los modelos matemticos podra basarse en una serie de caractersticas dicotmicas:
Empricos o basados en principios fsicos
El carcter emprico o fsico constituye la caracterstica fundamental de un modelo. Un modelo fsico
se basa en las leyes fsicas que rigen los procesos, un modelo emprico se basa en relaciones estadsticamente significativas entre variables. Las ecuaciones que describen un modelo estadstico no son por
tanto fsicamente o dimensionalmente consistentes ni universales, ya que en rigor slo son vlidas para el
contexto espacio-temporal en el que se calibraron. Se caracterizan por un alto poder predictivo pero una
escasa capacidad explicativa, es decir reproducen el funcionamiento del sistema razonablemente bien
pero no permiten saber por que el sistema funciona as. Los modelos estadsticos se conocen tambin
como modelos de caja negra ya que no permiten descubrir el funcionamiento interno del sistema.
Los modelos fsicos se denominan, por contraposicin, modelos de caja blanca. Se trata de modelos
en los que las transferencias de materia y energa entre sus componentes se rigen mediante ecuaciones
fsicas y que adems cumplen las leyes de conservacin de la materia y la energa, tanto para el conjunto
del modelo como para cada uno de los submodelos.
Una posibilidad intermedia son los modelos de caja gris o conceptuales. Se trata de modelos en los
que el sistema se descompone en una serie de componentes que se resuelven como modelos empricos
pero cuya integracin se basa en principios fsicos o al menos en cierto conocimiento a priori de como
funciona el sistema.
Para poder construir un modelo fsico es necesario un alto conocimiento acerca de como funciona el
sistema a modelizar. El modelo resultante permite transformar unas variables de entrada en variables de
salida. En el caso de los modelos empricos la falta de conocimiento acerca del sistema se compensa con
datos de calidad y en cantidad suficiente de las variables de entrada y de salida. A partir de estos datos
podemos construir un modelo emprico que nos permita, posteriormente, obtener las variables de salida
a partir de un nuevo conjunto de valores para las variables de entrada.
Estocsticos o deterministas
Los primeros incluyen generadores de procesos aleatorios dentro del modelo que modifican ligeramente
algunas de las variables. De esta manera, para un mismo conjunto de datos de entrada, las salidas no
seran siempre las mismas. La distincin ente modelos deterministas o estocsticos se confunde a veces
con la anterior, relacionando equivocadamente modelos estocsticos con empricos y deterministas con
fsicos. En realidad un modelo determinista es aquel en el que dado un conjunto de de parmetros y
variables de entrada va a producir siempre el mismo conjunto de variables de salida. En el caso de un
modelo estocstico los valores de las variables de salida van a a variar de unas ejecuciones del modelo a
otras ya que se deja intervenir al azar.
Las razones por las que el comportamiento de un sistema puede resultar aleatorio son diversas:
Existencia de procesos realmente estocsticos
Existencia de procesos aparentemente estocsticos debido a nuestra falta de conocimiento
Errores aleatorios en la medicin de las variables
Procesos muy complejos que es preferible modelizar como estocsticos
La introduccin de un componente estocstico en un sistema puede venir a su vez de:
Utilizacin de generadores aleatorios de series de las variables de entrada (precipitacin por ejemplo)

4.1. TIPOS DE MODELOS MATEMTICOS

45

Utilizacin de generadores aleatorios para dar valores a los parmetros del modelo y a su distribucin espacial, de esta manera se evita el problema que supone utilizar parmetros estimados con
cierto grado de incertidumbre. Por ejemplo al incluir la capacidad de infiltracin del suelo en un
modelo hidrolgico podemos utilizar siempre la misma interpolacin o permitir que varie al azar
de unas ejecuciones a otras.
Cuando en un modelo las salidas de un componente pueden dirigirse a varios componentes distintos
y no es fcil determinar a cual o en que cantidad, pueden determinarse las cantidades al azar. Por
ejemplo en un modelo hidrolgico basado en la rasterizacin de una cuenca la transferencia de
agua de una celdilla a las celdillas aguas abajo puede hacerse de modo determinista (siempre igual)
o aleatorio (puede variar).
La introduccin del componente estocstico permite adems comprobar como se comportara el modelo
para diferentes conjuntos de parmetros o valores de las variables de entrada. De este modo en lugar de
obtener un resultado a partir de un conjunto verosmil de datos, obtendremos un conjunto de resultados
a partir de varios conjuntos verosmiles de parmetros y variables. De este modo no tenemos por que
conformarnos con un valor esperable sino que tendremos un rango de variacin dentro del cual estarn
los resultados esperables. Por ejemplo en el caso de estimacin del riesgo de inundacin resulta muy
difcil determinar cual ser la altura mxima de la lmina de agua. Los modelos estocsticos permitiran
obtener una distribucin de probabilidades de altura de agua, lo que sera ms interesante de cara a la
planificacin del territorio.
Agregados o distribuidos
En el primer caso toda el rea de estudio se considera de forma conjunta, por ejemplo una cuenca hidrogrfica. Se tiene un nico valor para todos los parmetros del modelo. El modelo predice unas salidas
para las entradas aportadas sin informar de lo que ocurre dentro del sistema.
En un modelo distribuido, tendremos el rea de estudio dividida en porciones cada una de ellas con su
propio conjunto de parmetros y sus propias variables de estado. Cada porcin recibe un flujo de materia
y energa de algunas de sus vecinas que a su vez reemite a otras.
Una tercera posibilidad son los modelos semidistribuidos que se construyen a partir de la yuxtaposicin de diversos modelos agregados, por ejemplo diversas subcuencas de una cuenca hidrogrfica. Otra
posibilidad a menudo explorada en hidrologa es dividir el rea de trabajo en Unidades de Respuesta
Hidrolgica. Se trata de segmentos de ladera homogneos en cuanto a su pendiente, orientacin, litologa
y uso a los que se asume una respuesta hidrolgica nica. En un modelo semidistribuido las diferentes
unidades generan sus propias salidas de forma agregada pero aparecen entradas y salidas de unas a otras.
La incorporacin de la componente espacial en los modelos resulta bastante compleja. Si se opta por un
modelo distribuido es necesario establecer un modelo de datos espaciales que permita asignar valores
de los parmetros y las variables de estado a los diferentes puntos del rea de estudio. Puede tratarse de
distribuciones de puntos, de mallas raster o de redes irregulares de tringulos (TIN). Si se trabaja con
modelos agregados o semidistribuidos hay que codificar, adems, los lmites de las diferentes unidades.
Todos estos proceso son ms complejos de lo que pudiera parecer a primera vista e implican la creacin
de un modelo de datos espaciales y la manera ms eficiente de hacerlo es mediante un Sistema de
Informacin Geogrfica.
Estticos o dinmicos
Se refiere a la forma en que se trata el tiempo. Los modelos estticos dan un resultado agregado para todo
el perodo de tiempo considerado este puede ser por ejemplo un caudal medio o un caudal punta. Los
modelos dinmicos devuelven las series temporales de las variables consideradas a lo largo del perodo
de estudio. Por ejemplo podemos considerar un modelo esttico de cuenca en el que el caudal medio (Q0 )
depende de la precipitacin media (P 0 ) y de los parmetros de la cuenca (P c):

46

TEMA 4. MODELOS Y MODELIZACIN

Q0 = f (P 0 , P c)

(4.1)

o un modelo dinmico en el que el caudal en cada intervalo de tiempo considerado (Qt+1 ) depende de
la precipitacin no slo en dicho intervalo de tiempo sino tambin en los intervalos anteriores y de los
parmetros de la cuenca:
Qt = f (Pt , Pt1 , Pt2 , ..., P c)

(4.2)

Los parmetros se distinguen de las variables en que aquellos son invariantes a la escala espacio-temporal del
modelo. Las variables de entrada y salida representan flujos de materia y energa desde y hacia el interior del
sistema (precipitacin y caudal por ejemplo). Las variables de estado representan cambios en la cantidad de
materia y energa disponible (humedad del suelo). La distincin entre variables y parmetros depende de la
escala, espacial y temporal, del modelo.
En definitiva, un sistema natural recibe entradas de materia y energa de su entorno que devuelve a dicho entorno
con ciertas modificaciones. Entre estas modificaciones cabe destacar:
Desplazamiento en el espacio
Modulacin en el tiempo de los flujos
Si el modelo tiene en cuenta de forma explcita el espacio estamos ante un modelo espacialmente distribuido,
si se tiene en cuenta el tiempo tenemos un modelo dinmico.
La figura 4.1 muestra un esquema del comportamiento general de un sistema. La figuras 8.7 y 4.1 muestran dos
ejemplos concretos, el primero se refiere a un balance de radiacin y el segundo a un modelo hidrolgico.

Figura 4.1: Modelos de procesos

4.2

Componentes de un modelo

La descripcin de un modelo suele hacerse atendiendo tanto a sus caractersticas estructurales (componentes y
relaciones) como funcionales (ecuaciones y parmetros que definen estas relaciones.
Las relaciones entre variables pueden formalizarse mediante un diagrama causal, generalmente se utiliza la
notacin:

47

4.2. COMPONENTES DE UN MODELO

Figura 4.2: Modelos de radiacin

Figura 4.3: Modelos de procesos en una cuenca

a + b

(4.3)

Cuando una variable a afecta a otra b y esta ltima a su vez afecta a la primera tenemos un bucle de retroalimentacin que suele codificarse mediante un crculo en cuyo interior se coloca un signo + si el bucle es
explosivo y un signo si el bucle es depresivo.
Cuando en una secuencia de retroalimentacin slo aparecen signos positivos el bucle es explosivo
Cuando slo hay bucles negativos el bucle es depresivo
Cuando hay signos positivos y negativos es explosivo si la suma de signos negativos es par (y as se
compensan unos a otros) en caso contrario es depresivo
Los modelos de Dinmica de Sistemas, enunciados por primera vez por Forrester (1961) han aportado una
nomenclatura y una simbologa ampliamente utilizada para la definicin de las caractersticas estructurales de
los modelos. En la figura 4.1 aparece un ejemplo basado en un modelo hidrolgico.

48

TEMA 4. MODELOS Y MODELIZACIN

Figura 4.4: Modelos de procesos en una cuenca 2


1. Variables de estado o niveles, corresponden a la cantidad de materia o energa almacenada en cada
uno de los componentes (subsistemas) que forman parte del sistema. Suelen representarse mediante un
rectngulo
2. Flujos, indican la cantidad de materia o energa que viaja de un componente a otro en un intervalo
determinado de tiempo. Afectan por tanto a los niveles, llenando unos (flujos de entrada) y vaciando otros
(flujos de salida). Suelen representarse con una flecha, indicando la direccin del flujo, que atraviesa un
smbolo que recuerda a un grifo.
3. Fuentes y sumideros, representan niveles exgenos que, por ser exteriores al sistema no interesa controlar. Suelen representarse mediante nubes. Los flujos que se dirigen de una fuente a una variable de
estado son las variables de entrada, los que se dirigen de una variable de estado a un sumidero son las
variables de salida.
4. Variables auxiliares, intervienen en las diversas ecuaciones que componen el sistema pero no se corresponden con un nivel o flujo. Suelen representarse con un crculo.
5. Variables exgenas, actan fuera del sistema pero condicionan las variables de entrada. Pueden modificarse para construir escenarios. Un buen ejemplo sera la constante solar que, siendo ajena al sistema
climtico, modifica las trayectorias de este.
6. Parmetros, similares a las variables auxiliares pero cuyo valor no vara a lo largo del perodo de simulacin, si el modelo se construyera a una escala diferente podran dejar de ser parmetros para convertirse
en variables.
7. Constantes, corresponden a magnitudes fsicas que, como la aceleracin de la gravedad, no varan en
ningn caso.

4.3. ECUACIONES DE LOS MODELOS

49

8. Canal de informacin, relacionan variables, parmetros o niveles con los componentes en cuya ecuacin
se utilizan. Se representan con flechas, distantes de las utilizadas para representar flujos, o mediante
lineas.
9. Condiciones iniciales, valores iniciales de las variables de estado.
10. Condiciones de contorno, series temporales de valores de las variables de entrada.
11. Escenario, conjunto plausible de variables exgenas, parmetros y condiciones iniciales y de contorno
que permiten experimentar con un modelo diversas situaciones. Por ejemplo los escenarios relativos a
diversas polticas de emisin de gases con que trabajan los Modelos Generales del Clima.
Todos estos componentes pueden resumirse en caractersticas formales que incluyen las variables de estado,
flujos, variables, canales de informacin, etc., formando un diagrama de flujo (figura 4.1). Las caractersticas
funcionales hacen referencia a las ecuaciones y valores de las variables y parmetros que aparecen detrs de
las caractersticas estructurales.

Figura 4.5: Tipos de modelos

4.3

Ecuaciones de los modelos

Las ecuaciones de los modelos matemticos establecen de manera explcita cuales son las influencias de unos
componentes sobre otros que ya se han representado en primer lugar mediante un grafo. El elegir un tipo de
modelo u otro implica generalmente elegir un tipo de ecuaciones u otro.
Los modelos fsicos se suelen construir mediante ecuaciones diferenciales que se resuelven mediante mtodos
numricos. Si el modelo es distribuido y dinmico se utilizarn mtodos de diferencias finitas utilizando la
resolucin espacial y temporal como valores de X y t respectivamente.
Los modelos empricos utilizan modelos de regresin para establecer cual es la relacin entre las variables
de entrada y los parmetros y las variables de salida. Los modelos empricos y dinmicos utilizan ecuaciones
especficas como los mtodos autorregresivos y de medias mviles o las cadenas de Markov.

50

TEMA 4. MODELOS Y MODELIZACIN

Los modelos empricos distribuidos son generalmente modelos de interpolacin que a partir de observaciones
de una variable en un conjunto de puntos, generan valores de dicha variable en todo el rea de trabajo.
Los modelos estocsticas se utilizan como complemento a cualquiera de los anteriores. Se basan en la definicin
de las funciones de distribucin de las variables estudiadas y en la utilizacin de nmeros aleatorios para generar
series de valores a partir de estas.
En todo caso, estas ecuaciones, junto con los esquemas de flujo para su resolucin, constituyen hiptesis
acerca del comportamiento de los procesos. Estas ecuaciones toman variables de entrada y producen una
serie de variables de salida en funcin de parmetros que reflejan las caractersticas del territorio. Por otro
lado existe un conjunto de variables de estado internas al sistema que se ven modificadas.
Simulacin por ordenador es la resolucin mediante un ordenador del conjunto de ecuaciones que conforman
un modelo matemtico reorganizadas de forma algortmica mediante un programa informtico.

4.4

Fases de la modelizacin

Los pasos a seguir en la definicin de un modelo son:


1. Identificacin es la determinacin de los componentes y relaciones, as como de las ecuaciones matemticas f () que representan el modelo.
2. Calibracin es la determinacin de los valores de los parmetros; bien midindolos en el campo o bien
estimndolos mediante algn modelo emprico.
3. Validacin es la obtencin de series de las variables de estado y salida en un tiempo pasado para su
comparacin con valores reales de las mismas. El objetivo es evaluar el error cometido por el modelo y
determinar si es asumible.
4. Simulacin Obtencin de series de las variables de estado y de salida en un tiempo futuro a partir de
series simuladas de variables de entrada.
5. Anlisis de sensibilidad Simulacin pero alterando los valores de los parmetros para determinar la
influencia de cada uno de ellos en los resultados aportados por el modelo.
A continuacin se ver con ms detalle la fase de identificacin, en temas posteriores se vern las dems.

4.5

Identificacin

Dentro de la identificacin del modelo es importante tener claro que problema se va a modelizar y con que
propsito. Si el problema no est claramente identificado es muy difcil que el modelo sirva para algo.
Lmites espaciales y temporales y escalas del modelo
Es necesario determinar los lmites espaciales y temporales del sistema as como la resolucin con que se va a
modelizar. Estos lmites marcan una frontera con el entorno del sistema que habr que tener en cuenta al modelizar ya que puesto que ningn sistema ambiental es cerrado, habr flujos de materia, energa o informacin
hacia dentro y hacia fuera del sistema a travs de estos lmites.
Hay que tener en cuenta la importancia de las escalas espaciales y temporales sobre las que tienen lugar los procesos que tratamos de modelizar. En general diferentes procesos actan a diferentes escalas. No es conveniente

51

4.5. IDENTIFICACIN

aplicar modelos en escalas diferentes a aquellas para las que se han diseado. En modelizacin la escala est
ms relacionada con la resolucin espacial y temporal del modelo que con la extensin, espacial o temporal,
sobre la que opera.
En el caso de los modelos distribuidos el espacio se suele dividir en celdillas del mismo tamao (formato raster)
debido a la facilidad de manejo de esta estructura de datos por parte de los ordenadores que, adems, es una
estructura muy utilizada por los Sistemas de Informacin Geogrfica que suelen utilizarse como herramienta
para la gestin de modelos. Es importante utilizar un tamao de celdilla adecuado para los procesos que se
pretenden modelizar. Pero si la resolucin es demasiado grande el modelo consumir muchos recursos de
ordenador y ser demasiado lento sin aportar mejores resultados.
Los modelos semidistribuidos requieren la eleccin de unidades espaciales adecuadas en cuanto a que su comportamiento sea homogneo y suficientemente distinto del comportamiento de las dems unidades.
Los modelos dinmicos requieren adems establecer el intervalo temporal adecuado, las consideraciones son
similares al caso de la resolucin espacial.
Finalmente hay que tener en cuenta que, al menos en el caso de los modelos de base fsica, la resolucin
espacial y temporal adecuadas estn muy relacionadas. Si asumimos que los procesos necesitan ser descritos
con una elevada resolucin espacial, lo normal es que acten con una velocidad elevada y por tanto necesiten
un intervalo temporal reducido.
Este planteamiento puede resumirse en la denominada condicin de Courant que establece que:
X
> vmax
t

(4.4)

es decir que la razn entre resolucin espacial y temporal representa la velocidad mxima a la que pueden
producirse los procesos el modelo y por tanto debe ser mayor que la velocidad mxima de estos en la naturaleza.
Si no fuese as nos encontraramos con la paradoja de que un volumen dado de materia podra saltar de una
celdilla del modelo a otra sin atravesar la intermedia.
Conceptualizacin
Uno de los primeros pasos en el desarrollo de un modelo, y a la vez una de las mayores ventajas de la utilizacin
de este tipo de herramientas es la necesidad de especificar de la manera ms objetiva posible los conocimientos
que el investigador o el equipo de trabajo tiene acerca del sistema o problema que se va a tratar de modelizar. Se
hace necesaria una investigacin bibliogrfica para conocer cual es el conocimiento cientfico disponible acerca
del problema a tratar y, en particular, que soluciones se han propuestos en trabajos de modelizacin anteriores.
En esta fase es necesario determinar cuales son los elementos y procesos que actan en el sistema y cuales
son los factores que influyen sobre estos. De este modo un modelo conceptual constituye una teora acerca del
funcionamiento del sistema. Si los resultados del modelo que se construye partiendo de esta teora no se ajustan
a la realidad, podemos concluir que la teora se partida, el modelo conceptual, no era adecuada y debe revisarse.
En la conceptualizacin del problema no basta con tener en cuenta aspectos puramente cientficos sino que
tambin habr que tener en cuenta los objetivos del modelo y las limitaciones tcnicas con las que tenemos que
trabajar. De nada servira un modelo de prevencin de avenidas que predijese perfectamente por donde va a
desbordar el Segura 6 das despus de que ocurriese la catstrofe.
Construccin del modelo
Supone traducir un modelo conceptual a un lenguaje de programacin y comprobar que el cdigo generado
funciona correctamente. Es importante, sin embargo, tener en cuenta que el hecho de que un programa funcione

52

TEMA 4. MODELOS Y MODELIZACIN

correctamente no implica que el modelo que implementa sea correcto. La construccin de un modelo supone
las siguientes fases:
Modularizacin , se trata de descomponer el conjunto de ecuaciones que van a constituir el modelo en porciones de cdigo ms fcilmente abordables. Se trata de generar, en la medida de los posible, funciones
pequeas que realicen tareas concretas y que sean fciles de programar y mantener. Las interrelaciones
entre todos estos mdulos o funciones constituye el programa
Programacin , las diferentes ecuaciones se combinan utilizando las diferentes estructuras de control que
los lenguajes de programacin proporcionan. En muchos casos se reutiliza cdigo de otros modelos. En
definitiva se trata de escribir los algoritmos necesarios para la ejecucin del modelo.
Prueba , cada mdulo por separado y la integracin de todos ellos deben ser probados para verificar que se
ejecutan correctamente, que los programas no se cuelgan y que no aparecen mensajes de error.
Verificacin , si un mdulo logra ejecutarse con xito, habr que probarlo con un conjunto de parmetros y
variables plausible
Existen programas que permiten generar pequeos modelos de manera grfica como VENSIM, STELLA o
SIMILE. Los SIG suelen permitir tambin la programacin de pequeos modelos distribuidos (GRASS o
PCRaster). Sin embargo cuando un modelo crece es preferible programarlo directamente en un lenguaje de
programacin como C. De esta manera el modelo se ejecuta ms deprisa y consume menos recursos. El inconveniente de este enfoque es la dificultad de este tipo de lenguajes y la necesidad de programar todas las rutinas
de acceso a los datos, representacin grfica, etc. Una opcin intermedia podra ser el utilizar R como lenguaje
de programacin ya que incluye numerosas funciones de anlisis de datos y representacin grfica que pueden
utilizarse para reducir el cdigo exclusivamente a las ecuaciones del modelo.

Tema 5

Sistemas y Anlisis de Sistemas


5.1

Sistemas y Anlisis de Sistemas

La modelizacin matemtica tal como se concibe hoy da, muestra una considerable influencia del enfoque
sistmico y el anlisis de sistemas como herramienta de conceptualizacin de los conocimientos disponibles
acerca del funcionamiento de un sistema en un lenguaje formal muy prximo al lenguaje matemtico.
El anlisis de sistemas es el estudio de la composicin y el funcionamiento de un sistema (Hugget, 1980)
permitiendo la exploracin de la estructura y comportamiento del mismo. La modelizacin es una de las herramientas del anlisis de sistemas ya que implica la simplificacin del sistema real para conseguir una adecuada
comprensin del mismo. El origen del anlisis de sistemas est en la Teora General de Sistemas debida a
Ludwing von Bertalanffy
Una aproximacin sistmica a un problema medioambiental supone la descomposicin de un sistema altamente
complejo en un nmero de componentes discretos, cada uno de los cuales experimenta una serie de entradas y
salidas de materia y energa y mantiene flujos de informacin con los dems. De este modo se pretende que el
sistema sea ms fcil de estudiar.
Se asume por tanto que es posible subdividir el mundo real en sistemas funcionales y determinar cuales son
sus entradas y salidas. Debido a esta filosofa de trabajo, se ha identificado el anlisis de sistemas con el positivismo y el reduccionismo, sin embargo ha permitido verificar en algunos sistemas la aparicin de propiedades
emergentes de carcter holista no esperables a priori de la interaccin de sus componentes.
La construccin de un modelo requiere el anlisis del sistema que se va a modelar, que partes son relevantes
y que relaciones se establecen entre ellos. La descripcin ms elemental que puede hacerse de un sistema
es enumerar el conjunto de sus componentes y las relaciones que se establecen entre ellos. A esta descripcin
puede asociarsele un grafo como el que aparece en la figura 5.1 que representa un sencillo sistema demogrfico.
En este caso el sistema tiene cuatro componentes y respecto a las relaciones entre los mismos slo se dice si
son positivas o negativas. Todo sistema tiene una serie de propiedades que dependen de la naturaleza de sus
componentes y otras que estn ligadas a la forma en la que estas se organizan.
En el ejemplo de la figura 5.1 aparecen dos bucles de realimentacin, uno positivo y otro negativo. El positivo,
si apareciese aislado, supondra el incremento indefinido de la poblacin; el negativo supondra la disminucin
de la misma hasta alcanzar un valor estable de cero.
Las influencias entre recursos, poblacin y muertes no forman un bucle ya que las direcciones de las influencias
no generan un camino sin fin de unos componentes a otros.
53

54

TEMA 5. SISTEMAS Y ANLISIS DE SISTEMAS

Figura 5.1: Representacin de un sistema demogrfico sencillo,reelaborado de Aracil y Gordillo (1997)

5.2

Clasificacin de los sistemas

Se han propuesto diversas clasificaciones de los sistemas que pueden estudiarse mediante modelizacin. Una
de las ms utilizadas distingue entre:
Abiertos , se producen transferencias de materia, energa e informacin con el exterior. Estn sujetos por tanto
a la accin de fuerzas externas. Una cuenca fluvial es un ejemplo de sistema abierto.
Cerrados , no intercambian materia pero si energa o informacin. La Tierra en su conjunto sera un sistema
cerrado.
Aislados , no se produce ningn tipo de intercambio, no existen en la naturaleza.
Otra clasificacin, debida a Chorley y Kennedy (1971), distingue entre:
Sistemas morfolgicos Se da especial relevancia a las relaciones entre las diversas variables que caracterizan
al sistema que se establecen cuando el sistema ha alcanzado el equilibrio; por tanto se considera irrelevante el paso del tiempo. Un buen ejemplo son las ecuaciones de la geometra hidralica que muestran
el ajuste que se produce entre diversas propiedades morfolgicas de los sistemas fluviales y el caudal. Se
considera que esta relacin responde a un estado de equilibrio invariante con el tiempo, a no ser que se
modifiquen las condiciones del flujo.
Las ecuaciones 5.1 a 5.3 muestran estas relaciones, w es la anchura del cauce, h la profundidad, v la
velocidad del flujo y Q el caudal. la figura 5.2 muestra estas relaciones.
w = aQb

(5.1)

(5.2)

(5.3)

h = cQ
v = kQ

(5.4)

5.3. SISTEMAS DINMICOS. TRAYECTORIAS Y ESTABILIDAD

55

Figura 5.2: Ajuste de las ecuaciones de geometra hidralica

Sistemas en cascada El sistema se divide en una serie de subsistemas que se enlazan por flujos de transferencia
de materia o energa. Un buen ejemplo sera la consideracin del ciclo hidrolgico como un conjunto de
componentes entre los que se producen transferencias de agua y de energa asociada a los movimientos y
cambios de estado de esta. Se trata de un tipo de sistema en el que el tiempo si tiene un papel fundamental,
los flujos por otro lado no modifican a los componentes.
Sistemas proceso-respuesta Combinan caractersticas de los sistemas morfolgicos y en cascada. Se da especial relevancia en las relaciones entre las formas del sistema y los procesos que actan condicionados
por dichas formas pero al mismo tiempo modificndolas. Si se considera el sistema hidrolgico a una
escala espacio-temporal ms detallada, puede estudiarse el conjunto ajuste entre formas y procesos que
se produce.
Sistemas de control Similares a los sistemas proceso-respuesta pero incluyendo control humano que depende
de las variables de estado del sistema, tal como ocurrira en una cuenca fluvial regulada.
En realidad esta clasificacin supone ya un cierto grado de modelizacin, dependiendo de la escala espacial o
temporal que interese se toman en consideracin unos u otros aspectos del sistema que se est estudiando.
Salvo los sistemas morfolgicos, todos los dems son sistemas dinmicos, es decir el tiempo interviene de
forma significativa afectando a las caractersticas relevantes de los mismos.

5.3

Sistemas dinmicos. Trayectorias y estabilidad

Cuando se considera un sistema dinmico resulta fundamental el concepto de trayectoria. Se denomina as al


conjunto de valores que toma una variable a lo largo del tiempo. Es decir, evolucin temporal y trayectoria son
conceptos sinnimos. La trayectoria puede representarse mediante un conjunto de ecuaciones diferenciales:

56

TEMA 5. SISTEMAS Y ANLISIS DE SISTEMAS

Figura 5.3: Esquema de un sistema en cascada aplicado al flujo de agua en una cuenca

dY1
= f1 (X, Y, )
dt
dY2
= f2 (X, Y, )
dt
dYn
= fn (X, Y, )
dt

(5.5)
(5.6)
(5.7)

donde Y representa el conjunto de variables dependientes, X las variables independientes y el conjunto de


parmetros; si el nmero de variables dependientes es menor o igual a 3, tambin puede representarse mediante
un grfico en el que aparecen tantos ejes como variables. En la figura 5.4 se aprecia la trayectoria del modelo
de Lorentz de la dinmica de la atmsfera, se trata de un modelo muy sencillo basado en tres variables con tres
ecuaciones diferenciales acopladas que, sin embargo, muestra un comportamiento catico.

Figura 5.4: Trayectoria de un modelo simplificado del sistema atmosfrico. El atractor de Lorentz
Las trayectorias pueden tener infinitas formas, los principales tipos son (figuras 5.5 y 5.6): constante, creciente,
decreciente, sigmoidal, oscilante perodico, oscilante amortiguado, oscilante expansivo, catico-catastrfico.

5.3. SISTEMAS DINMICOS. TRAYECTORIAS Y ESTABILIDAD

57

Figura 5.5: Posibles trayectoria de los sistemas


Muy relacionado con las caractersticas de las trayectorias est el concepto de estabilidad o equilibrio del
sistema. La estabilidad de un sistema suele visualizarse con facilidad mediante la analoga de una bola en un
terreno de diversas caractersticas (figura 5.3). En estos ejemplos, el eje de abscisas representa el conjunto de
variables de estado del sistema y el eje de ordenadas la inestabilidad del sistema, de manera que la bola (el
sistema) tiende a ir hacia el conjunto de valores de las variables de estado que supone mayor inestabilidad,
siguiendo siempre las trayectorias permitidas por el sistema que se representan por la linea sobe la que reposa
la bola.
Equilibrio Ausencia de cambio entre los diferentes componentes, las variables de estado no cambian con el
tiempo. No se requieren flujos de materia o energa para mantener estos valores. Puede identificarse con
trayectorias estables u oscilantes amortiguadas.
Desequilibrio Cambio constante a la bsqueda de una nueva situacin de equilibrio. Trayectorias crecientes o
decrecientes
Estado fijo en el que un flujo constante de materia y energa mantiene constantes los valores de las variables
de estado. Es caracterstico de los sistemas abiertos como los seres vivos.
Equilibrio dinmico El sistema aparenta estar en equilibrio pero en realidad sus variables de estado se modifican lentamente.
Equilibrio metaestable El sistema est en equilibrio dinmico salvo que su trayectoria abandone una determinada regin del espacio de fases superando un valor umbral de algunas variables de estado. En esta
situacin el sistema pasa a estar en desequilibrio hasta que se alcanza una nueva situacin de equilibrio
en una regin diferente del espacio de fases. Puede identificarse con trayectorias oscilantes expansivas y
catastrficas.

5.3.1

Sistemas jerrquicos

La Teora de los Sistemas Jerrquicos supone un paso ms all. Se fundamenta en la idea de que los componentes de un sistemas constituyen (cada uno de ellos) un sistema con su propia complejidad. Diferentes sistemas
se anidan de este modo a diferentes escalas (figura 5.8). En biologa resulta muy ilustrativo el ejemplo de los
seres vivos, compuestos por rganos, compuestos por subelementos, compuestos por clulas, compuestas por
orgnulos, compuestos por molculas, compuestas por tomos, compuestos por partculas subatmicas, etc.
Lo realmente interesante de esta idea es que, al final toda la complejidad de un sistema puede reducirse, desde
la perspectiva de la escala del sistema mayor en el que se inserta, a una serie de salidas en respuesta a unas

58

TEMA 5. SISTEMAS Y ANLISIS DE SISTEMAS

Figura 5.6: Posibles trayectoria de los sistemas. 2


entradas que pueden representarse mediante ecuaciones sencillas por lo que no sera necesario estudiarlo en
detalle.
Cuando se pasa del individuo a la comunidad, ecosistema, etc. el problema es que no aparecen lmites definidos
entre componentes, salvo ejemplos como las cuencas hidrogrficas, sin embargo los conceptos siguen siendo
vlidos. Se hace necesario identificar los componentes y sus relaciones modelizarlos mediante ecuaciones sencillas y observar su comportamiento conjunto que a su vez se podr resumir en una serie de salidas en respuesta
a unas entradas. La forma en que las salidas respondern a las entradas puede no ser en absoluto evidente a
partir de la formulacin del modelo y tratarse de propiedades emergentes.
La introduccin de la Teora de Sistemas en las ciencias ambientales, con toda su vocabulario de componentes,
entradas o salidas, ha llevado a un planteamiento en el que se considera al objeto estudiado (la Tierra a cualquier
escala espacial o temporal) como una caja con entradas y salidas. El objetivo de la investigacin ser aumentar
el conocimiento acerca de como la estructura del sistema transforma las entradas en salidas y como los cambios
en las entradas pueden modificar la estructura del sistema y por tanto sus salidas:
De este modo se consigue un marco conceptual que permite una nueva aproximacin al estudio de sistemas
complejos ya que permite el desarrollo de modelos matemticos con los que experimentar con representaciones
(modelos) numricas de la realidad. Este marco conceptual es adems comn a todas las ciencias (desde la
fsica a la economa) con lo que se permite la introduccin de modelos y teoras procedentes de diferentes
ciencias favorecindose los enfoques interdisciplinares.

5.3. SISTEMAS DINMICOS. TRAYECTORIAS Y ESTABILIDAD

Figura 5.7: Situaciones de un sistema en cuanto a la estabilidad

Figura 5.8: Componentes y relaciones en un sistema

59

Tema 6

Estimacin de parmetros, validacin de


modelos y anlisis de sensibilidad
6.1

Calibracin

Una vez que se ha identificado el modelo y se ha programado, necesitamos aplicarlo al problema concreto
que nos ocupa. Para ello necesitamos en primer lugar obtener los valores de los parmetros que utiliza el
modelo estos pueden medirse directamente en el campo (sera la manera de proceder en un modelo fsico) u
obtenerse utilizando tcnicas de optimizacin que a partir de unos valores conocidos de las variables de entrada
produzcan los correspondientes resultados en las variables de estado y de salida (sera la manera de proceder
en los modelos empricos).

6.1.1

medicin de parmetros

Uno de los errores ms habituales cuando se trabaja en la modelizacin de sistemas ambientales es medir
primero en el campo y modelizar despus sobre estos datos.
El modo de proceder ms adecuado sera empezar por una correcta identificacin del problema que, al menos
nos permitiera conocer cuales son los parmetros que habr que medir. Si el modelo se ha construido podremos
haber hecho incluso un anlisis de sensibilidad que nos permita determinar que parmetros merece la pena
medir con mayor precisin y mayor resolucin espacial.
El problema es que tambin podemos encontrar parmetros que no puedan medirse por la falta de tecnologa
apropiada o su elevado coste. En este caso tendremos que utilizar funciones de transferencia que permitan
obtener a partir de variables conocidas o fciles de medir las variables que plantean dificultades. Incluso podemos encontrar con que, si pretendemos simular condiciones pasadas, los objetos sobre los que deben medirse
los parmetros no existan ya y la nica opcin sea hacer una estimacin razonable.
Estrategias de muestreo
Las medidas, al igual que los modelos, son tambin abstracciones de la realidad. Por tanto, al igual que en la
modelizacin, es imprescindible disear la estrategia de muestreo de forma adecuada a los parmetros que van
a medirse y a los objetivos de la campaa de muestreo. Hay que tener en cuenta que un modelo puede no dar
los resultados adecuados debido a una campaa de muestreo inadecuada.
Entre los aspectos que resulta necesario tener en cuenta cabe destacar:
1. Las variables y parmetros que van a medirse
61

62TEMA 6. ESTIMACIN DE PARMETROS, VALIDACIN DE MODELOS Y ANLISIS DE SENSIBILIDAD


2. Las tcnicas que se utilizarn
3. El esquema espacial y temporal de muestreo
Debe ponerse especial cuidado en el muestro de los parmetros con un alto grado de sensibilidad, aunque en
realidad la sensibilidad de un modelo a un parmetro concreto depende en numerosas ocasiones de los valores
de otras variables, por lo que el anlisis de sensibilidad a priori no es fcil.
En los ltimos aos ha habido un importante auge de los modelos distribuidos en los que se representa de
forma explcita la heterogeneidad espacial. La sofisticacin de estos modelos ha sobrepasado la capacidad para
parametrizarlos.
Si se dispone de conocimiento a priori acerca del sistema que se est estudiando podemos reducir el esfuerzo
de muestreo mediante la aplicacin de muestreos de tipo estratificado basados en variables cuya distribucin espacial resulta conocida y que tiene una relacin significativa con la variable a medir. Los muestreos jerrquicos
pueden resultar tiles para intensificar el muestreo en zonas de mayor variabilidad.

6.1.2

Optimizacin

Cuando estamos trabajando con un modelo emprico, los valores de los parmetros deben calibrarse a partir de
una muestra de valores de entrada y de salida del modelo y de una funcin objetivo cuyo valor debe minimizarse.
Uno de los objetivos ms sencillos sera un modelo de regresin lineal que utiliza una variable de entrada x y
una variable de salida y. El modelo a calibrar sera una ecuacin de tipo y 0 = A + BX en el que los parmetros
P
A y B deben ser tales que minimicen la funcin objetivo i=1 ny 0 y 2 .
Los valores de los parmetros, tras calibrar el modelo, deben tener valores con cierto sentido fsico, si no es as
puede que el modelo tenga poder predictivo para el conjunto de datos utilizado en la calibracin pero tendr
muy poca capacidad explicativa y ser muy poco generalizable.
En el proceso de optimizacin debe tratar de ajustarse el modelo no slo a las variables de salida sino tambin
a las de estado.
Una vez calibrado el modelo, en la fase de validacin debe utilizarse un conjunto de valores diferentes a los
utilizados en la fase de calibracin.
La calibracin de modelos empricos distribuidos resulta especialmente compleja debido al elevado nmero
de parmetros con los que tratar, pudindose llegar a calibraciones multiobjetivo o a calibraciones por reas
separadas.

6.2

Validacin y Verificacin

Validacin es el proceso de comprobar que los resultados aportados por le modelo para las variables de salida y
de estado no son muy diferentes a los medidos en la realidad. Existen diferentes ndices que permiten cuantificar
el grado de ajuste entre los datos medidos y los resultados del modelo.
Coeficiente de determinacin r2 , es decir el cuadrado del coeficiente de correlacin:
r2 =

cov(o, m) 2
sd(o)sd(m)

(6.1)

donde cov(o, m) es la covarianza entre los valores observados y los devueltos por el modelo, sd(o) la
desviacin tpica de los valores observados y sd(m) la desviacin tpica de los resultados del modelo.

63

6.3. ERRORES E INCERTIDUMBRE

Es el ms utilizado, oscila entre 0 y 1 y representa el porcentaje de varianza en los datos observados


explicado por el modelo. El problema de este ndice es que es insensible a desviaciones constantes o
proporcionales, es decir que si se cumple que mi = A + Boi , r2 ser igual a 1 hacindonos creer que
el modelo responde perfectamente a la realidad. Otro problema es que es muy sensible a los valores
extremos que harn crecer el ndice dando de nuevo una falsa apariencia de buen ajuste.
Eficiencia del modelo se debe a Nash y Sutcliffe (1970), se basa en la ecuacin:
Pn

(oi mi )2
2
i=1 (oi o)

N S = 1 Pi=1
n

(6.2)

Este ndice produce resultados menores o iguales a 1, si el resultado es 1 el ajuste es perfecto, si es cero el
error es del mismo orden de magnitud que la varianza de los datos observados por lo que la media de los
datos observados tendr una capacidad predictora similar al modelo. Valores inferiores a cero implican
que la media tiene una capacidad predictora ms alta que el modelo (lo que implica desde luego que el
modelo es muy malo).
Este ndice no es sensible al efecto de los valores proporcionales pero sigue siendo sensible a los valores
extremos.
ndice de ajuste modificado (Wilmott (1981)
Pn

mi )2
2
i=1 (|mi o| + |oi o|)
i=1 (oi

W = 1 Pn

(6.3)

oscila entre 0 y 1, este ltimo valor implica un ajuste perfecto. Al igual que los anteriores es sensible a la
presencia de valores extremos.
RMSE/MAE , el cociente entre el error cuadrtico medio y el error absoluto medio permite determinar hasta
que punto la existencia de valores extremos est afectando al modelo.
rP

RM SE
=
M AE

6.3

n
(o mi )2
i=1 i

Pn

|o mi |
i=1 i
n

(6.4)

Errores e incertidumbre

Es necesario comprobar que el modelo se comporte de manera adecuada y los valores obtenidos por el modelo
para las variables de estado y de salida son similares a los medidos directamente. Lo ms habitual es utilizar
procedimientos estadsticos basados en las magnitudes de los errores.
Error es la diferencia entre el valor estimado de una variable (
x) y el valor, medido directamente o no, que se
considera correcto (x):
x =

|x x
|
|x|

(6.5)

Suele utilizarse el siguiente estimador del error medio:


s

E=

PN

i=1 (mod

med/med)2
N

(6.6)

64TEMA 6. ESTIMACIN DE PARMETROS, VALIDACIN DE MODELOS Y ANLISIS DE SENSIBILIDAD


Exactitud es el grado de similitud entre los valores medidos y los obtenidos por el modelo. Se trata de un
concepto complementario al de error de manera que Exactitud = 100 Error expresados en tantos por
ciento.
No debe confundirse exactitud con precisin. Este ltimo concepto refleja el grado de detalle con el que una
variable puede medirse. Un metro de campo, por ejemplo, tiene menor precisin que un pie de rey pero dar
posiblemente menor error al medir el dimetro de un tronco. Los ordenadores son capaces de devolvernos
valores ilusoriamente precisos con muchas cifras decimales, pero es necesario tener en cuenta que su exactitud
no puede ser mayor que la precisin de los parmetros y variables de entrada.
Si el modelo produce errores inaceptables puede ser por varias causas:
El modelo no es apropiado para modelizar el sistema
El modelo es apropiado pero est mal construidos (errores de programacin, errores en las ecuaciones)
Las variables y parmetros utilizados no se han medido corectamente
La solucin de estos problemas implica la reconstruccin del modelo. Por tanto el proceso de modelizacin es
iterativo e interactivo.
Los errores pueden surgir en cualquier fase del proceso de modelizacin, en la identificacin, en la toma de
datos, pueden aparecer errores en el clculo con decimales, etc. De hecho podra darse el caso de que rechazsemos un buen modelo por dar resultados errneos cuando el error en realidad estaba en las variables de
entrada.
De este modo podemos clasificar los errores en:
Errores de aproximacin . Surgen cuando se utilizan mtodos numricos para resolver integrales o ecuaciones diferenciales. Los mtodos numricos son por su propia naturaleza mtodos aproximados en los
que siempre existe una desviacin respecto a la solucin real. La magnitud de esta desviacin es, en todo
caso, controlable y puede ser reducida aunque a costa de incrementar los tiempos de computacin.
Errores computacionales . Cuando un ordenador almacena un nmero utiliza para ello un determinado nmero
de bytes (dependiendo) del tipo de nmero (entero o real, con signo o sin signo), en algunas operaciones
matemticas los decimales deben truncarse para poder almacenar dicho nmero. Las desviaciones que
se producen de este modo son pequeas, pero pueden propagarse y acumularse a lo largo de cientos de
operaciones en un modelo y dar lugar a desviaciones importantes respecto a los resultados reales.
Errores de propagacin . Los pequeos errores en los datos de entrada o en los parmetros del modelo pueden
propagarse a lo largo de las sucesivas iteraciones en los clculos implicados en la ejecucin de un modelo.
En modelizacin es siempre necesario abordar el problema de la propagacin de errores ya que al incluir
clculos desarrollados a lo largo de mltiples iteraciones, pequeos errores en los datos de entrada pueden
incrementarse de forma considerable a lo largo de la ejecucin del modelo. Los estudios realizados acerca de
propagacin de errores parten de la formulacin de error vista anteriormente para establecer como se propagan
los errores en el caso de los diversos operadores que pueden verse implicados:
En una suma en la que ambos sumandos tienen el mismo signo
y = x1 + x2
x1
x2
y
x +
x
x1 + x2 1 x1 + x2 2
Puesto que

x1
x1 +x2

x2
x1 +x2

1 slo una fraccin de los errores se propaga.

(6.7)
(6.8)

65

6.4. ANLISIS DE SENSIBILIDAD

1
2
Si los dos sumandos tienen distinto signo, aunque x1x+x
+ x1x+x
1 uno de los dos trminos sera menor
2
2
que -1 o mayor que 1 con lo que uno de los errores se amplificar

En el caso de un producto y x1 + x2


Para una divisin y x1 x2
En el caso de una potencia y = xp el error ser y px . Si p < 1 (races) no hay amplificacin del
error, pero si lo habr si p > 1
En caso de aparezcan varias de las operaciones anteriores combinadas, simplemente habr que combinar
las reglas anteriores en el orden apropiado
En algunos casos ser necesario calcular derivadas para hacer una estimacin de errores:

y = f (x)
df (x)
y
x
dx

(6.9)
(6.10)

En los modelos ms complejos, una aproximacin de este tipo al anlisis de la propagacin de errores puede
ser absolutamente inviable. Un enfoque alternativo puede ser utilizar mtodos Montecarlo, estos consisten en
ejecutar varias veces el modelo aadiendo trminos de error a los datos de entrada procedentes de funciones
de distribucin conocidas, a partir del conjunto de resultados puede establecerse el grado de error y que corresponde a un error x . Este tipo de aproximaciones pude servir incluso para analizar los efectos de los errores
en parmetros distribuidos, en este caso para obtener resultados fiables necesitaramos incluso centenares de
simulaciones.
No siempre es posible validar adecuadamente un modelo debido a que no es posible medir todas las variables
especificadas en el modelo con el nivel de exactitud adecuado, o a que la escala espacial o temporal del modelo lo hace imposible. En estos casos puede ser til la comparacin con otros modelos para determinar las
diferencias.

6.4

Anlisis de sensibilidad

El anlisis de sensibilidad mide cuanto pueden llegar a afectar a los resultados de un modelo variaciones relativamente pequeas en los valores de los parmetros. Tiene un gran nmero de utilidades:
En primer lugar sirve para comprobar la lgica interna de un modelo, ayuda a entender como funciona el
modelo o porque no funciona correctamente y aprender ms acerca de su funcionamiento.
En un modelo pequeo, con pocos parmetros puede resultar obvio a partir del estudio de sus ecuaciones
que parmetros van a tener ms influencia sobre los resultados del modelo; pero en un modelo complejo
esto no ser tan obvio y puede resultar imprescindible un anlisis de sensibilidad.
Para definir la importancia de cada parmetro lo que servir para determinar el grado de esfuerzo que
debe prestarse a su medicin o muestreo.
Medir como la incertidumbre en la determinacin de un parmetros puede afectar a la certidumbre del
parmetro.
Detectar si el modelo est sobreparametrizado, esto ocurre cuando existen parmetros a los que el modelo
resulta insensible, en este caso ser necesario eliminar algunos para simplificar el modelo.

66TEMA 6. ESTIMACIN DE PARMETROS, VALIDACIN DE MODELOS Y ANLISIS DE SENSIBILIDAD


Tambin puede hacerse un anlisis de sensibilidad de las funciones, se trata de determinar como afectan distintas
formulacin de las ecuaciones utilizadas para modelizar los procesos y relaciones del sistema a los resultados
finales.
Uno de los presupuestos bsicos del anlisis de sensibilidad, y que no tiene por que cumplirse en todos los
casos, es que el papel que cada parmetro juega en el modelo es una representacin razonable de su papel en el
sistema. De este modo la sensibilidad del modelo al parmetro ser equivalente a la sensibilidad del sistema al
parmetro.
El anlisis de sensibilidad suele hacerse ejecutando el modelo para diversos valores del parmetro cuya sensibilidad quiere calcularse dejando fijos todos los dems. Sin embargo la sensibilidad a un parmetro depender
de los valores adoptados por los dems parmetros, con lo que puede ser ms complejo hacer un anlisis de
sensibilidad. Otra consideracin importante es que si el modelo es muy sensible a un parmetro pero este vara
muy poco, dicha sensibilidad no va a ser relevante.
En algunos casos puede no ser realista hacer un anlisis de sensibilidad ejecutando el modelo para todas las
posibles combinaciones de todos los rangos de las variables de inters. En estos casos es preferible utilizar
mtodos de Montecarlo para hacer unas pocas pruebas con algunos de los posibles valores de las variables a
comprobar.
Un caso especialmente complicado es el de los modelos distribuidos en los cuales las estructuras de autocorrelacin presentes en los parmetros y variables de estado van a generar autocorrelacin en los errores que
pueden aumentar de manera no lineal la incertidumbre de los modelos.

6.5

Incertidumbre en la modelizacin

Zimmermann(2000) define seis causas de incertidumbre en la modelizacin:


1. Falta de informacin, requiere la recoleccin de informacin adicional aunque hay que tener en cuenta
que la informacin debe ser adecuada tanto en calidad como en cantidad. En todo caso la complejidad de
los sistemas ambientales obliga a una simplificacin de la informacin disponible. El objetivo estara en
buscar un adecuado punto intermedio entre simplicidad y completitud.
2. Evidencias contradictorias, en ocasiones los resultados de un modelo pueden aparecer en contradiccin
con otros resultados previos o con la evidencia de campo, es necesario evaluar si estas contradicciones se
deben a errores o estn realmente presentes.
3. Ambigedad, cuando la informacin se suministra en un formato que puede dar lugar a confusiones
4. Incertidumbre de las medidas por falta de precisin, puede solventarse utilizando tcnicas de medicin
ms precisas. Sin embargo la inversin en instrumental caro no garantiza la falta de errores.
5. Los juicios a priori del investigador a la hora de evaluar los resultados de un modelo pueden ser diferentes
a los de otro investigador.

Tema 7

Programacin
La utilizacin de modelos matemticos implica, en mayor o menor medida, escribir un programa que implemente el modelo en cuestin. Se trata de una tarea cuya dificultad depender de la complejidad del modelo pero
que, lgicamente, requiere una fase inicial de aprendizaje.
Los ejemplos que van a verse en este curso se han desarrollado en lenguaje S que se ejecutarn con el programa
R. Se trata de un entorno integrado para trabajar con el lenguaje S.

7.1

Introduccin a la computacin

Un ordenador (computador) puede definirse como una mquina programable para el tratamiento de informacin, es decir, una mquina para realizar cmputos (determinacin indirecta de una cantidad mediante el clculo de ciertos datos. Un programa es la descripcin detallada de los algoritmo necesarios para llevar acabo
un computo en un lenguaje, intermedio entre el lenguaje humano y el lenguaje de la mquina, denominado
lenguaje de programacin.
Un algoritmo es un mtodo general de resolucin de todos los problemas del mismo tipo en el que se detalla paso a paso lo que de be hacerse. Cada uno de estos pasos constituye una sentencia o instruccin. Una
instruccin es una combinacin de palabras, variables, constantes y smbolos que, obedeciendo a la sintaxis
propia del lenguaje de programacin utilizado, indican al ordenador la accin que debe ejecutar.
Un programa es la expresin de un algoritmo en un lenguaje de programacin entendible por el ordenador.
A la hora de realizar algn tipo de cmputo en un ordenador, lo normal es utilizar un programa ya desarrollado
(una aplicacin) de propsito general. El problema surge cuando estas aplicaciones no hacen exactamente lo
que queremos que hagan. En ese caso la solucin puede ser programar el ordenador para que realice la tarea.
De hecho la mayor parte de las aplicaciones informticas incluyen algn tipo de lenguaje de programacin para
aumentar su flexibilidad.

7.2

Lenguajes de programacin

Desde los aos cincuenta se han desarrollado mltiples lenguajes de programacin. Los lenguajes de primera
generacin eran los ensambladores, lenguajes de bajo nivel que simplemente renombran instrucciones de cdigo
mquina en un formato ms legible por humanos.
Una segunda generacin esta constituida por lenguajes imperativos en los que la unidad de trabajo del programa es la instruccin (Fortran, Cobol o Basic). Cada instruccin representa varias instrucciones en lenguaje
69

70

TEMA 7. PROGRAMACIN

mquina. La evolucin de estos da lugar a lenguajes imperativos de tercera generacin (Algol, Pascal, Modula2, C).
En una cuarta generacin aparecen lenguajes an de ms alto nivel orientados a aplicaciones concretas, como
SQL para el acceso a bases de datos. Las instrucciones que manejan estos lenguajes manipulan objetos no se
basan en instrucciones que mane
En la quinta generacin aparecen lenguajes orientados al procesamiento de lenguaje natural (Perl o AWK) y
lenguajes orientados a objetos (C++ o Java). En estos ltimos lo importante no es la instruccin sino el objeto
definido como un tipo de dato ms las funciones que puede ejecutar.
Derivados de los lenguajes orientados a objetos, aparecen los lenguajes visuales, capaces de generar interfaces
grficas (Visual-Basic, Visual-C, Tcl-Tk)
Otra diferencia importante es entre lenguajes compilados e interpretados. En los primeros se sigue toda la
secuencia de fases presentada anteriormente (C, Pascal, Fortran, Cobol). En los segundos no hay compilacin ni
enlace, el programa es ledo por un intrprete que lee cada orden, la traduce a lenguaje mquina y la interpreta.
Lgicamente, debido a este proceso los programas son ms lentos y requieren ms recursos del ordenador. La
ventaja es que todo el proceso de compilacin se simplifica (Basic, Awk, Java, Tcl-Tk).
Aunque existen varios lenguajes en realidad todos responden ms o menos a las mismas ideas y elementos bsicos. A partir de aqu se utilizar para desarrollar los ejemplos y hacer las prcticas el lenguaje de programacin
S que puede utilizarse para programar aplicaciones dentro del programa R. La ventaja fundamental de utilizar
S como lenguaje de programacin es que es un lenguaje de altsimo nivel que incluye funciones para la entrada,
salida y representacin de datos que exigiran muchas lineas de cdigo en otros lenguajes de programacin. Por
otro lado al ser un lenguaje orientado al anlisis de datos, resulta muy adecuado para trabajar en modelizacin.
La desventaja de R es que, precisamente por ser un lenguaje de muy alto nivel, se vuelve muy lento cuando el
programa se complica o cuando el volumen de datos implicado es muy alto. No es un buen lenguaje para hacer
grandes programas, pero resulta muy adecuado para pequeas aplicaciones.

7.3

Fases en el desarrollo de un programa

Existentes una serie de etapas desde el reconocimiento de la existencia de un problema, susceptible de ser
resuelto por un programa hecho por nosotros, y la solucin de aquel mediante la ejecucin del programa:
Anlisis del problema
Desarrollo del algoritmo mediante esquemas o pseudocdigo.
Codificacin en un lenguaje de programacin concreto.
Edicin, transcripcin del cdigo al ordenador (cdigo fuente).
Prueba de ejecucin y correccin de los errores de ejecucin (el programa no se ejecuta correctamente)
o de lgica (el programa produce resultados errneos).
Utilizacin
Este esquema es vlido para la programacin con lenguajes interpretados (que suele ser lo habitual en modelizacin a pequea escala) como puede ser BASIC, awk, python, Perl o el lenguaje S. En caso de que se trabaje
con un lenguaje compilado (C, C++, Java, etc.) habra que introducir las fases de compilacin y enlazado antes
de la ejecucin.

7.4. ESTRUCTURA DE UN PROGRAMA

7.4

71

Estructura de un programa

Un programa consiste en una secuencia de instrucciones que pueden agruparse en:


Entrada de datos. Conjunto de instrucciones que toman datos de una unidad de entrada, los depositan
en la memoria RAM. En esta etapa se definen tambin los tipos de datos con los que va a trabajar el
programa.
Proceso. Conjunto de instrucciones que resuelven el problema a partir de los datos de entrada y almacenan el resultado en memoria RAM. Describen el algoritmo del programa.
Salida. Conjunto de instrucciones que vuelcan los resultados, a un fichero, pantalla o impresora, con un
formato definido por el usuario.
En un programa profesional resulta a menudo difcil distinguir unas fases de otras, sin embargo es una buena
prctica separar claramente estas etapas cuando se empieza a programar.

7.5
7.5.1

Elementos de programacin
Variables y operadores

Todos los programas manipulan datos que se guardan en una o varias posiciones de memoria. Como, evidentemente, sera muy complejo hacer referencia directa a las posiciones de memoria, se les asignan variables cuyo
nombre es ms sencillo e intuitivo.
Por ejemplo si queremos que una variable contenga el da del mes, podemos escribir en el programa: dia = 3.
El ordenador interpretar que queremos reservar una posicin de memoria que contenga el nmero 3 y a la que
nos referiremos durante el desarrollo del programa como a.
El nmero de posiciones de memoria que ocupe una variable depender de su tipo. Algunos lenguajes exigen
que se definan todas las variables (junto con su tipo de dato) antes de utilizarlas.
Las variables pueden manipularse mediante operadores aritmticos o lgicos (+, , , /, &&, ||, =, ! =, >, <
, >=, <=) que combinan dos variables para producir un resultado que se almacena en otra variable a = b + c.
Tambin es posible modificar variables a = a + 5.
Otra posibilidad es almacenar cadenas de caracteres en una variable. Para indicarle al ordenador que toda la
cadena es un slo objeto, esta debe entrecomillarse a =00 Hola00

7.5.2

Entrada y salida

Puesto que el objetivo fundamental de un programa de ordenador es manipular unos datos de entrada para
producir unos datos de salida. Es necesario disponer de algn mecanismo para introducir informacin desde
fichero o teclado y sacarla a la pantalla o a otro fichero.
Ya se ha visto como awk est especialmente concebido para leer ficheros sin necesidad de funciones especiales.
Sin embargo en algunos casos se hace necesario combinar varios ficheros de entrada en un slo programa. Hay
dos opciones:
Leerlos uno detrs del otro. Para ello es necesario darle al programa algn mtodo para distinguir un
fichero del siguiente.
Leerlos con la funcin getline, por ejemplo linea = getline <00 f ichero.txt00

72

TEMA 7. PROGRAMACIN

%d
%nd
%f
%m.nf
%s

Nmero entero
Nmero entero formateado a n caracteres
Nmero real
Nmero real con n decimales formateado a m caracteres
Cadena de caracteres

La funcin bsica de salida en awk es print, ms sofisticada es printf donde la f final significa formateada,
es decir permite determinar exactamente que forma tendr la linea de salid a. Por ejemplo ...
awk {printf("Ao=%d Enero=%.1f Julio=%.1f\n"),

$1,$2,$8} precmurcia.txt

printf es una funcin y por tanto sus argumentos se sitan entre parntesis. El primer argumento es el formato
entrecomillado, posteriormente se incluyen como argumentos las variables que se van a escribir. En el formato
se puede incluir cualquier conjunto de caracteres ms combinaciones especiales de caracteres que se inician
con el carcter % y que indican como se van a imprimir el resto de los argumentos de la funcin:
\n
significa salto de linea.

7.5.3

Estructuras de control

En la gran mayora de los programas, el proceso de los datos requiere ejecutar alguna tarea repetidas veces o
decidir realizar una tarea u otra en funcin de los valores de alguna variable. Las instrucciones para llevar a
cabo estas acciones constituyen las estructuras de control.
Todas las estructuras de control comienzan con una palabra clave como if o while
Bucles
Existen dos tipos fundamentales de bucles, los bucles FOR y WHILE, aunque en realidad son intercambiables.
La orden
for (i=1;i<=10;i=i+1){ printf(Nmero %d\n,i) }
comienza dando el valor 1 a la variable contador i, y ejecutar la orden entre llaves mientras se cumpla que
i <= 10, en cada ejecucin incrementar en 1 el valor de i.
Las ordenes
i=0
while (i<=10){i=i+1;printf(Nmero %d\n,i)}
hacen los mismo, slo que ahora la variable contador se inicializa y se incrementa fuera de la orden.
Las instrucciones break, continue y exit alteran tambin el orden de ejecucin. La primera fuerza al flujo del
programa a salir de un bucle for o while y constinuar con la siguiente orden. La segunda vuelve a la orden
inicial del bucle (e incrementa el contador en el caso del bucle FOR. La ltima sale totalmente del programa.

7.5. ELEMENTOS DE PROGRAMACIN

73

En este tipo de bucles se suele distinguir entre la variable contador, destinada a contener diferentes valores
que se van incrementando o decrementando cada vez que el ordenador ejecuta la orden FOR y las variables
acumuladoras que van a permitir almacenar valores que aumentan o disminuyen de forma no constante durante
el proceso. El siguiente ejemplo permite calcular el factorial de un nmero (variable n) que se guardar en la
variable acumuladora fac:
fac=1
for (i in 1:n){ fac = fac * i }
\subsubsection{Secuencias de nmeros con S}

El lenguaje S incluye diversas funciones para generar secuencias de nmeros con


\begin{verbatim}
sec=seq(1,10)
for i in seq{i=i+1;printf(Nmero %d\n,i)}
escribir los nmeros del 1 al 10
sec=seq(1,10,by=2)
for i in seq{i=i+1;printf(Nmero %d\n,i)}
escribir slo los impares.
Incluso podemos utilizar un bucle FOR con una secuencia arbitraria de nmeros:
sec=c(23,45,32,23,9)
for i in seq{i=i+1;printf(Nmero %d\n,i)}
Toma de decisiones
En ocasiones se debe romper el flujo de un programa y ejecutar un grupo de instrucciones u otras en funcin
de los valores que adopta una variable.
El esquema bsico de las instrucciones if ... else es:
if (condicin) {instrucciones1} else {instrucciones2}}
\end{verbatin}
Donde instrucciones1 es el conjunto de ordenes que se ejecutan si condicin se
\begin{verbatim}
if (x==3) y=27 else y=9
if (a>20){ printf(%d es mayor que 20\n,a)}
else{printf(%d no es mayor que 20\n,a)}
Si x es igual a 3 y ser igual a 27, sino y ser 9.
Si en lugar de estar formadas por una sola instruccin, instrucciones1 e instrucciones2 estn compuestas por
varias, es necesario construir un bloque con ellas poniendo corchetes a su alrededor, por ejemplo:
if (x==3) {y=27;z=3} else {y=9;z=4}

74

TEMA 7. PROGRAMACIN

7.5.4

Funciones definidas por el usuario

Uno de los elementos bsicos de cualquier lenguaje de programacin son las funciones. Su objetivo es encapsular una serie de instrucciones que tienen consistencia por si mismas como subprograma y que son llamadas
de forma habitual y siempre de la misma forma por el programa. Las funciones generan uno o ms datos de
salida a partir de unos datos de entrada.
Existen mltiples funciones ya disponibles en cualquier lenguaje de programacin, en concreto el lenguaje S
se caracteriza por un gran nmero de funciones de anlisis de datos que ya has visto, sin embargo puede ocurrir
que necesitemos una funcin no disponible, en ese caso podemos definirla y utilizarla en cualquier momento
dentro de nuestro programa.
Cuando un programa se va haciendo ms sofisticado, necesita llevar a cabo determinadas acciones varias veces.
Pero no resulta una tcnica eficiente de programacin el repetir varias veces el mismo conjunto de rdenes.
En su lugar es preferible incluir estas rdenes como una funcin definida por el usuario con ello se consigue:
Dividir el cdigo en un nmero pequeo y manejable de partes
Se verifica su correcto funcionamiento una sola vez y puede aplicarse tantas como se necesite
Cdigo reutilizable por otros programas
La forma de definir una funcin es:
nombre=function(lista\_de\_argumentos){
instrucciones
}

nombre es el nombre de la funcin, con el cual ser llamada en el programa. La lista_de_argumentos incluye
todas las variables que necesita la funcin para ejecutarse y que son externas a ella. Las instrucciones procesan
la lista de argumentos y generan un resultado que la funcin devuelve. En el siguiente ejemplo aparece la
definicin de una funcin que calcula el mximo de dos valores y una llamada a la misma
maximo=function(a,b){
if (a>b){a}
else{b}
}
c=maximo(3,4)
En la mayora de los lenguajes de programacin, el valor que devuelve una funcin se explicita con una orden
concreta, generalmente return. En S el valor puede devolverse mediante una instruccin return pero si no se
hace as, la funcin devuelve la ltima variable calculada o simplemente ejecutada en el seno de la funcin. En
el anterior ejemplo, si a>b la ltima variable a que se har referencia en la funcin es a y en caso contrario es b.
A continuacin vemos otro ejemplo en el que una funcin, encargada de resolver ecuaciones de segundo grado,
devuelve un vector con las dos soluciones:
e2g=function(a,b,c){
if (a==0){-c/b}
else{
r=b^2-4*a*c;
if (r<0){cat("Las soluciones son complejas\n");c(NA,NA)}

7.5. ELEMENTOS DE PROGRAMACIN

75

else{
s1=(-b+sqrt(r))/(2*a)
s2=(-b-sqrt(r))/(2*a)
c(s1,s2)
}
}
}
Esta funcin utiliza adems dos instrucciones if ... else para determinar si el primer parmetro es cero, en cuyo
caso se resuelve como una ecuacin de primer grado y as se evita que la divisin por cero posterior de un error,
y si las soluciones son complejas. En este ltimo caso se da un mensaje de aviso y se devuelven dos NA.
Para llamarla bastar con ejecutar por ejemplo:
e2g(2,5,3)
El resultado ser:
[1] -1.0 -1.5
Con el tiempo, se dispondr de un elevado nmero de funciones que pueden agruparse en una librera para ser
reutilizadas en diferentes programas. Una librera es un fichero que contiene las definiciones de las diferentes
funciones y que se llama al comienzo de un programa con la orden:
source(libreria.R)
En R existen tambin libreras de funciones compiladas que se cargan con la funcin library

Tema 8

Algunos modelos clsicos


8.1

El modelo de erosin de Thornes(1990)

En primer lugar vamos a ver un modelo sencillo de erosin hdrica del suelo. En este modelo, el conjunto de
factores implicados en el proceso se resume en cuatro variables:
k es el factor K de la USLE (Ecuacin Universal de Prdida de Suelo) y mide la susceptibilidad de un
suelo a ser erosionado (erodibilidad), por tanto al aumentar k aumentar la erosin. El clculo de esta
variable resulta bastante complejo y debe contarse de datos acerca de la textura y el contenido en materia
orgnica del suelo;
Q es el caudal (expresado en mm/mes) que fluye sobre la superficie del suelo. Se trata de una variable
que vara tanto en el espacio como en el tiempo, incluye tanto caudal de lluvia como caudal generado
aguas arriba. Lgicamente al aumentar el caudal aumenta la erosin;
S es la pendiente expresada en tantos por 1, al aumentar esta aumenta la erosin
v es el porcentaje de cubierta vegetal que protege al suelo de la erosin, por tanto al aumentar la cubierta
vegetal disminuye la erosin.
Estas variables se agrupan en el modelo formando la siguiente ecuacin:
E = kQm S n eiv

(8.1)

Los valores de los exponentes deberan ajustarse a cada caso concreto pero una buena aproximacin sera:
m=1.66, n=2 e i=0.07.
Tanto el coeficiente de erodibilidad como el caudal y la pendiente entran en el modelo multiplicando y con
exponente positivo, ya que como se ha visto antes al aumentar estas variables aumentar la erosin. Por el
contrario la cobertura vegetal forma parte de un trmino exponencial negativo, al aumentar esta disminuir la
erosin.
Esta ecuacin puede aplicarse a una cuenca o a una celdilla de una capa raster en un SIG. En un programa en
R puede introducirse como una funcin:

erosion=function(k,q,s,v){
E=k*(q^1.66)*(s^2)*exp(-0.07*v)
79

80

TEMA 8. ALGUNOS MODELOS CLSICOS

}
k=2
q=100
s=0.02
v=0.4
E=erosion(k,q,s,v)
Si en lugar de un nico valor de caudal utilizaremos una serie temporal, obtendramos una serie temporal con
los valores de erosin correspondientes.
Podemos hacer un anlisis de sensibilidad de este modelo tan slo con definir una de las variables de entrada
como un vector, por ejemplo en lugar de un valor de caudales vamos a utilizar un rango de posibles valores
de caudal (q=seq(0,200), de esta manera E ser tambin un vector de valores de erosin. La representacin de
ambas variables (en definitiva de la sensibilidad del modelo al caudal, puede hacerse con plot(q,E,type=l).

8.2

Cuestiones

Hacer un anlisis de sensibilidad de los diferentes parmetros y variables


Si asumimos que la medida de pendiente tiene un error de +-0.02, ?Cual ser el error de la erosin
calculada si la pendiente medida es 0.1? ?y si es 0.9? ?A que puede deberse esta diferencia?

8.3

Un modelo de infiltracin basado en la ecuacin de Green-Ampt

La infiltracin del agua de lluvia o es-correnta es un proceso de gran relevancia tanto en hidrologa como en
ecologa, agricultura, etc. Se han propuesto diversos modelos para estudiarla. En general estos modelos asumen
que el suelo acta por una parte absorbiendo agua (como una esponja) y por otro transmitindola por accin de
la gravedad hacia capas inferiores.
La ecuacin de Green-Ampt es uno de los modelos de infiltracin ms utilizados en modelizacin hidrolgica y
en hidrologa de suelos. Se caracteriza por utilizar entre sus variables independientes el contenido de humedad
del suelo por lo que resulta muy apropiada para construir un modelo dinmico. Vamos a utilizar una versin
simplificada del modelo de Green-Ampt basado en la ecuacin:
ip = K +

S
Sm

(8.2)

la variable independiente es el agua acumulada en el suelo (Sm) y los parmetros son la conductividad
hidralica saturada K y un parmetro que indica el potencial de absorcin de agua del suelo S. Conforme
aumenta la humedad del suelo, esta tiende a igualarse a S y el valor de ip tiende a K + 1, es decir conforme
disminuye la capacidad de absorcin del suelo, este slo infiltra el agua que puede transmitir a las capas bajas.
Con esta ecuacin se obtiene la infiltracin potencial (ip ) es decir la mxima capacidad de infiltracin del suelo
en un instante dado. El utilizar esta ecuacin supone la necesidad de integrar un algoritmo que distinga entre
infiltracin potencial (ip ) e infiltracin real (ir ), esta ltima depender no slo de la capacidad sino tambin de
la cantidad de agua infiltrable (precipitacin).
si P >= ip => ir = ip y e = P ir
si P < ip => ir = P y e = 0
Sm = Smt1 + irt

8.3. UN MODELO DE INFILTRACIN BASADO EN LA ECUACIN DE GREEN-AMPT

81

donde P es la precipitacin, e la escoren-ta e ir la infiltracin real, que deber explicitarse mediante un lenguaje
de programacin.
ip=((S/sm)+K);
if (ip>=p){
s=s+p;e=0
}
else{
s=s+ip;e=p-ip
}
En la figura 8.7 aparece el diagrama de flujo de este algoritmo.

Figura 8.1: Modelo de infiltracin a partir de la ecuacin de Green-Ampt

82

TEMA 8. ALGUNOS MODELOS CLSICOS

8.3.1

El cdigo

Para programar este modelo en R se han creado dos funciones (fsm y fr) que calculan en un instante dado la
humedad del suelo (Sm) y la escorrenta (r) a partir de los valores de S, K, Sm (humedad del suelo en el
instante anterior) y la precipitacin (p).
En segundo lugar se establece la duracin de la simulacin y se dan valores a los parmetros de succin (S) y
conductividad (K)
En tercer lugar se genera una serie de precipitacin (p), que acta en este modelo como variable de entrada, y
se reserva espacio en memoria para las variables de estado (Sm) y de salida (r) y se establecen las condiciones
iniciales (humedad del suelo en el intervalo inicial).
A continuacin se ejecuta el modelo. En un bucle temporal, sucesivas llamadas a las funciones f r y f sm
actualizan los valores de la variable de estado (Sm) y de la variable de salida (r).
Finalmente se crea la representacin grfica del modelo.
#Funciones del modelo
fsm=function(S,K,sm,p){
i=(S/sm)+K;
if (i>=p){return (sm+p)}
else{return (sm+i)}}
fr=function(S,K,sm,p){
i=(S/sm)+K;
if (i>=p){return(0)}
else{return (p-i)}
}

#Funcin humedad del suelo

#Funcin escorrenta

# Parmetros del modelo


tott=100

#Tamao de la simulacin

# Parmetros
S=0.1
K=0.01

# Parmetro de succin
# Parmetro de conductividad hidralica saturada

#Variables de entrada
p=rep(1,tott)
#Inicializacin de variables de estado
sm=rep(NA,tott);
r=rep(NA,tott)
# Condiciones iniciales
sm[1]=0.19

#
#

#Humedad inicial del suelo

PROCESO
-------

for (t in 1:(tott-1)){
cat(t,"\n")
r[t+1]=fr(S,K,sm[t],p[t+1])
sm[t+1]=fsm(S,K,sm[t],p[t+1])
}
#
#

SALIDAS GRAFICAS
----------------

plot(p,type="h",ylim=c(0,5))
lines(r,col="red")
lines(sm,col="blue")

8.4

El mtodo racional en hidrologa

Es uno de los mtodos ms utilizados para evaluar la capacidad de produccin de caudales de una cuenca
fluvial. Fue propuesto por primera vez por Mulvaney en 1850.

8.4. EL MTODO RACIONAL EN HIDROLOGA

83

Se basa en la ecuacin:
Q = crA

(8.3)

donde:
Q es el caudal, es decir variable de salida;
r la intensidad de la precipitacin, es la variable de entrada y
c es un coeficiente de escorrenta que mide la proporcin de agua de lluvia que no se va a infiltras, es decir
que se va a convertir en escorrenta, por tanto es un parmetro
A el rea de la cuenca, otro parmetro.

8.4.1

Agregado y esttico

La aplicacin directa de esta frmula en cuencas pequeas permite obtener el caudal total de la cuenca. Por
ejemplo si caen 20litros/m2 en una cuenca de 100 m2 con un coeficiente de escorrenta de 0.4 el resultado
ser:
Q = crA = 0.4 20 100 = 800 litros

8.4.2

Semidistribuido y esttico

Sin embargo puede utilizarse esta ecuacin para conseguir un modelo semidistribuido del comportamiento de
una cuenca. Para ello basta con dividir la cuenca en zonas cuyo tiempo de concentracin1 pueda considerarse
en mltiplos de la resolucin temporal del modelo (digamos una hora).
En la figura 8.7 aparece un ejemplo de divisin de la cuenca en 5 reas, donde el rea Ai tiene un tiempo de
concentracin de i horas, cada una de estas reas tendr un coeficiente de escorrenta caracterstico ci .

Figura 8.2: Modelo racional

84

TEMA 8. ALGUNOS MODELOS CLSICOS

1
2
3
4
5

i
1.00
2.00
3.00
4.00
5.00

a
20.00
30.00
40.00
35.00
15.00

c
40.00
30.00
30.00
20.00
10.00

q
8000.00
9000.00
12000.00
7000.00
1500.00

Suponiendo que llueven 10 l/m2 en una hora, el hidrograma resultante ser:


Puesto que las cinco reas en que se divide la cuenca tienen tiempos de concentracin medios de 1, 2, 3, 4 y 5
horas; en la primera hora desaguar la precipitacin cada en el rea 1 que es igual a c1 rA1 , en la segunda hora
la precipitacin cada en el rea 2 y as sucesivamente.

8.4.3

Semidistribuido y dinmico

Podemos convertir el mtodo racional en un modelo dinmico utilizando un yetograma horario en lugar de un
nico valor de precipitacin.
Si llamamos Qt al hidrograma de caudales en la desembocadura y qi,t al caudal generado en cada una de las i
reas en los 8 intervalos (t) en que se divide la simulacin podemos escribir:
Q1 = q1,1
Q2 = q1,2 + q2,1
Q3 = q1,3 + q2,2 + q3,1
Q4 = q1,4 + q2,3 + q3,2 + q4,1
Q5 = q1,5 + q2,4 + q3,3 + q4,2 + q5,1
Q6 = q1,6 + q2,5 + q3,4 + q4,3 + q5,2
Q7 = q1,7 + q2,6 + q3,5 + q4,4 + q5,3
Q8 = q1,8 + q2,7 + q3,6 + q4,5 + q5,4
Q9 =
q2,8 + q3,7 + q4,6 + q5,5
Q10 =
q3,8 + q4,7 + q5,6
Q11 =
q4,8 + q5,7
Q12 =
q5,8
Abreviando, el caudal de desage en el intervalo t ser:
Qt =

Pt

i=1 qi,ti+1

y
qi,t = ci rt Ai

el tiempo de concentracin es el tiempo medio que tardar una parte de la cuenca en desaguar por la desembocadura

8.5. UN MODELO PARA GENERAR SERIES TEMPORALES DE VARIABLES

8.4.4

85

El cdigo

#Parmetros
#Areas de las zonas de igual Tc
a=c(10,15,20,20,25,30,30,20,15,10)
#Coeficientes de escorrenta
infi=c(0.40,0.30,0.20,0.30,0.30,0.40,0.50,0.60,0.70,0.80)

#Condiciones de contorno
#precipitacin total
ptot=100
#Vector de distribucin temporal de la precipitacin
pr=c(0.05,0.075,0.1,0.125,0.15,0.15,0.125,0.1,0.075,0.05)
r=pr*ptot

#Declaracin de la variable de estado caudal


q=rep(0,40)

#Ejecucin del modelo


for (t in (1:20)){
for (j in (1:10)){
tt=max(0,t-j);
if (tt==0 || tt>10){rr=0}else{rr=r[tt]}
q[t]=q[t]+infi[j]*a[j]*rr
}
}
#Salida grfica
plot(q,type="l")

8.4.5

Cuestiones

1. Modifica el vector de coeficientes de escorrenta y determina como afecta a los resultados


2. Modifica el vector de distribucin temporal de la precipitacin y determina como afecta a los resultados
3. A Cual de las dos variables es ms sensible el modelo?

8.5

Un modelo para generar series temporales de variables

Las variables de entrada a un modelo no se ven afectadas por el mismo, son por tanto independientes. Por ello
los modelos pueden probarse con diferentes tipos de series, datos reales, series inventadas o series obtenidas a
partir de modelos de generacin de series.
La serie obtenida debe poseer las propiedades estadsticas de la serie real y, en definitiva, esta debera poder
confundirse sin problemas con una de las series artificiales.
El modelo clsico de balance hdrico crea una serie infinita en la que a cada mes se asignan los valores medios
de ese mes (P = Pm ). Este enfoque es muy poco realista, especialmente en climas ridos) y adems no permite
simular como se comporta el sistema en caso de episodios extremos de precipitacin o sequa.
Para ello se parte de la funcin de distribucin de la variable, es decir de la funcin que, para cada valor de la
variable, devuelve la probabilidad de que este valor no sea superado (por ejemplo la funcin de distribucin de
Gumbel, ecuacin 8.4). El inverso de esta funcin (ecuacin 8.5) permite obtener, para una serie aleatoria de
valores uniformemente distribuidos entre 0 u 1, una serie de valores, tambin aleatoria, que sigue la funcin de
distribucin inicial.
a(xu)

F (x) = ee
log( log(F (x)))
x=u+
a

(8.4)
(8.5)

86

TEMA 8. ALGUNOS MODELOS CLSICOS

8.5.1

El cdigo

# Funcin para obtener una serie de 50 valores de precipitacin a partir de un nmero U


invgumbel=function(u,a,Fx){
x= u -log(-log(Fx))/a
}
#Longitud de la serie
long=50

# Parmetros de Gumbel
u=20
a=0.002
# Modelo
prec=invgumbel(u,a,runif(long))

8.5.2

Que ocurre si las condiciones varan?

El modelo anteriormente construido supone por una parte que no hay cambio climtico, puesto que las series
temporales se generan siempre a partir de la misma funcin de distribucin, y por otra que las condiciones de
infiltracin no varan con el tiempo. Ambas hiptesis contradicen la existencia de procesos de cambio climtico
y desertificacin.
En el caso de la simulacin del cambio climtico, se hace necesario permitir modificaciones en los parmetros
(media y desviacin tpica por ejemplo) de las funciones que generan (aleatoriamente) valores para las variables climticas. Un incremento sostenido de la media producir un aumento de las variables con el tiempo
(y viceversa en el caso de un descenso) mientras que la alteraciones en la desviacin tpica incrementarn la
variabilidad.
Por lo que se refiere a las condiciones de infiltracin, resulta obvio que perodos prolongados de sequa van a
disminuir, a travs de un conjunto complejo de procesos interrelacionados, la capacidad de infiltracin. Pueden
por tanto incorporarse modificaciones en la respuesta del suelo a la precipitacin que se activen en caso de
perodos de sequa.

8.6

El mundo de las margaritas

El mundo de las margaritas (Daisyworld) es un modelo sencillo para el estudio del efecto de retroalimentacin
entre planta y clima (Watson and Lovelock 1983). Fue desarrollado como respuesta a las criticas recibidas por
la Hiptesis Gaia de J. Lovelock en la que se mantena que la Tierra acta como una entidad con capacidad
autorreguladora por parte de los seres vivos para mantener unas condiciones adecuadas para la vida (Lovelock
1995a)

8.6. EL MUNDO DE LAS MARGARITAS

87

El modelo asume un planeta habitado slo por dos tipos de margaritas (blancas y negras), las primeras con
un albedo mayor que el del suelo y las segundas con un albedo inferior. Las margaritas pueden desarrollarse
con temperaturas entre 5O C y 40O C con un ptimo de crecimiento en 22.5O C. Los valores de la temperatura
dependen del sol y del albedo (a su vez influenciado por las margaritas.

Figura 8.3: Modelo del mundo de las margaritas

8.6.1

El cdigo

#FUNCIONES
#Devuelve el rea ocupada en t a partir de la ocupada en t-1
#
area = area ocupada en t-1
#
areasuelo = area desnuda en t-1
#
br = tasa de nacimientos
#
dr = tasa de defunciones
nuevo=function(area,areasuelo,br,dr){
dareadt=(area*(areasuelo*br-dr))
area+dareadt
}
#Variables de ejecucin
tiempo_ejec=500
tiempo=seq(1,tiempo_ejec)

#Duracin de la ejecucin

#Variables exgenas: constante solar


S=rep(0,tiempo_ejec)
S[tiempo]=0.8+sin(tiempo/100)/2.5
#S[tiempo]=0.8+tiempo/2500
#S[tiempo]=0.8

#Parmetros
albedo_soil=0.5
albedo_black=0.25
albedo_white=0.75
sigma=5.67*10^(-8)
L=1000
dr=0.2

#Albedo del suelo desnudo


#Albedo de las margaritas negras
#Albedo de las margaritas negras
#Constante de Stefan
#Luminosidad del sol
#Tasa de mortalidad de las margaritas

#Declaracin de las variables de estado


area_black=rep(NA,tiempo_ejec)
#Porcentaje del planeta con margaritas negras
area_white=rep(NA,tiempo_ejec)
#Porcentaje del planeta con margaritas blancas
area_soil=rep(NA,tiempo_ejec)
#Porcentaje del planeta sin margaritas
Temp=rep(NA,tiempo_ejec)
#Temperatura media planetaria
Temp_nd=rep(NA,tiempo_ejec)
#Temperatura sin margaritas
Tb=rep(NA,tiempo_ejec)
#Temperatura con margaritas negras
Tw=rep(NA,tiempo_ejec)
#Temperatura con margaritas blancas

88

TEMA 8. ALGUNOS MODELOS CLSICOS

brw=rep(NA,tiempo_ejec)
brb=rep(NA,tiempo_ejec)
albedo_global=rep(NA,tiempo_ejec)

#Tasa de natalidad de las margaritas blancas


#Tasa de natalidad de las margaritas negras
#Albedo global

#CONDICIONES INICIALES
area_black[1]=0.2
area_white[1]=0.2

for (t in tiempo){
area_soil[t]=1-(area_black[t]+area_white[t])
albedo_global[t]=(area_soil[t]*albedo_soil)+(area_black[t]*albedo_black)+
(area_white[t]*albedo_white);
Temp[t] =(S[t]*L*(1-albedo_global[t])/sigma)^(0.25)- 273.2
Temp_nd[t]=(S[t]*L*(1-albedo_soil)/sigma)^(0.25)- 273.2
Tb[t] = (20*(albedo_global[t]-albedo_black) + Temp[t])
Tw[t] = (20*(albedo_global[t]-albedo_white) + Temp[t])
brb[t] =(1-(0.003265*(22.5-Tb[t])^2))
brw[t] =(1-(0.003265*(22.5-Tw[t])^2))
area_black[t+1]=nuevo(area_black[t],area_soil[t],brb[t],dr)
area_white[t+1]=nuevo(area_white[t],area_soil[t],brw[t],dr)
}
plot(area_black,type="l",
xlab="Tiempo",
ylab="Cobertura y T/100",
ylim=c(0,1.2))
lines(area_white, col="yellow")
lines(area_soil, col="brown")
lines(S,col="green")
lines(Temp/100,col="blue")
lines(Temp_nd/100,col="red")
legend(tiempo_ejec/2,
1.2,
legend=c("Constante Solar",
"Temperatura sin margaritas",
"Temperatura con margaritas",
"Margaritas blancas",
"Margaritas negras",
"Suelo desnudo"),
fill=c("green",
"red",
"blue",
"yellow",
"black",
"brown"))

8.6.2

Cuestiones

1. El cdigo incluye tres escenarios alternativos por lo que se refiere a la evolucin de la constante solar
(constante, creciente y oscilante). Comprueba lo que ocurre con los diferentes escenarios
2. Intenta crear otros nuevos
3. Intenta dar una explicacin ecolgica a los diferentes comportamientos

8.7

El modelo predador-presa de Lotka-Volterra

Es un modelo sencillo destinado a predecir la evolucin de las poblaciones de dos especies interactuantes
(predador y presa). Las cuatro ecuaciones bsicas son las que definen la natalidad y mortalidad de ambas
especies:
K Np
Np
morp = caNd Np

natp = rNp

(8.6)
(8.7)

natd = cpdNp Nd

(8.8)

mord = tmpNd

(8.9)
(8.10)

8.7. EL MODELO PREDADOR-PRESA DE LOTKA-VOLTERRA

89

donde natp es la natalidad de la presa, morp la mortalidad de la presa, natd es la natalidad del predador y mord
la mortalidad del predador, r es la tasa de crecimiento de la presa, K la capacidad de carga del medio, ca un
coeficiente de ataques, cpd el factor que transforma el nmero de presas en la tasa de crecimiento del predador
y tmp la tasa de mortalidad del predador.
Por tanto tenemos 5 parmetros (tcp, ca, cpd, tmp y K) 4 flujos (natp , morp , natd y morp ) y dos variables de
estado (Np y Nd ) que se resuelven:

Np (t) = Np (t 1) + natp morp

(8.11)

Nd (t) = Nd (t 1) + natd mord

(8.12)
(8.13)

En funcin de los valores de los parmetros y de las condiciones iniciales, el sistema puede alcanzar un estado
de equilibrio o dirigirse a la extincin.

Figura 8.4: Modelo de Lotka-Volterra

90

TEMA 8. ALGUNOS MODELOS CLSICOS

8.7.1

El cdigo

#Variables de ejecucin
tiempo=5000
#Nmero de iteraciones
#Parmetros
tcp=0.5
ca=0.001
cpd=0.00001
tmp=0.2
K= 100000

#Tasa de crecimiento de las presas


#Coeficiente de ataque (nmero de presas atacadas por depredador)
#Conversin nmero de presas-natalidad depredadores
#Tasa de mortalidad de los predadores
#Capacidad de carga del sistema

#Declaracin de las variables de estado


Nd=rep(0,tiempo)
#Nmero de depredadores
Np=rep(0,tiempo)
#Nmero de presas
#Condiciones iniciales
Nd[1]=20
Np[1]=20000

for (t in (2:tiempo)){
natp=tcp*Np[t-1]*(K-Np[t-1])/K
morp=ca*Nd[t-1]*Np[t-1]
Np[t]=max(0,Np[t-1]+natp-morp)
natd=cpd*Np[t-1]*Nd[t-1]
mord=tmp*Nd[t-1]
Nd[t]=max(0,Nd[t-1]+natd-mord)
cat(t," ",Np[t-1]," ",(K-Np[t-1])/K,"
}

",natp,"",morp,"",natd,"",mord," ",Nd[t-1],"\n")

#Salida grfica
plot(Np,Nd,type="l")
points(Np[1],Nd[1])

8.7.2

Cuestiones

1. Haz un anlisis de sensibilidad por el mtodo Montecarlo para determinar como afecta la capacidad de
carga al sistema. Que rango de valores no conducen a la extincin? Intenta dar una explicacin ecolgica.
2. Elige otro parmetro y haz lo mismo.
3. Como podra afectar la interaccin de los dos parmetros?

8.8

SIG y modelizacin

Un SIG puede utilizarse como apoyo a la modelizacin de tres modos fundamentales:


Preparacin de capas de variables y parmetros
Ejecucin de los clculos
Anlisis de los resultados

8.8.1

SIG y modelos empricos

El modelo raster implica una discretizacin del espacio en celdillas uniformes. Puede establecerse un modelo
emprico que estime las prdidas de suelo en cada una de estas celdillas. Puede tratarse de un modelo desarrollado y calibrado a partir de datos reales (medidos en parcelas de erosin) o utilizar uno ya validado como la
Ecuacin Universal de Prdida de Suelo (USLE). Se trata de un modelo emprico y distribuido, se basa slo en
parmetros y no incluye variables de entrada o estado.
E = RKLSCP

(8.14)

91

8.8. SIG Y MODELIZACIN

La sencillez del modelo es slo aparente ya que cada uno de los factores requiere clculos ms complejos. Sin
embargo estos clculos pueden abordarse como operaciones de interpolacin o lgebra de mapas. Por tanto se
van a utilizar herramientas SIG para la preparacin de la informacin de partida y la ejecucin del modelo.
R es un trmino de erosividad de la precipitacin. Requiere la interpolacin de medidas puntuales de
intensidad de precipitacin.
K indica la sensibilidad del suelo a la erosin. Se obtiene a partir de operaciones aritmticas y lgicas a
partir de propiedades edficas. Pueden obtenerse a partir de una base de datos asociada a polgonos de
suelo que se consideran homogneos o mediante la interpolacin de medidas puntuales
S es la pendiente. Se trata de un operador de vecindad
L longitud de la ladera que drena a la celdilla. Se trata de un operador de vecindad extendida
C y P indica el cultivo y las prcticas de cultivo.
La prdida de suelo puede finalmente agregarse por unidades naturales (cuencas de drenaje) o de gestin (municipios) mediante operadores de rea.
La USLE sin embargo slo tiene en cuenta la erosin producida por escorrenta laminar, para estimar erosin a
escala de cuenca es necesario considerar la concentracin de las escorrentas y determinar el caudal lquido de
la cuenca. Esto lo hace la Ecuacin Universal Modificada de Prdida de Suelo (MUSLE)
E = QRKLSCP

(8.15)

Para estimar los caudales existen diversos mtodos.


Q = ciA

(8.16)

S-ar putea să vă placă și