Matrix models for population management and conservation March 2012 Jean-Dominique LEBRETON David KOONS Olivier GIMENEZ
Lecture 2 An introduction to ULM Stéphane LEGENDRE, developer of ULM UNIFIED LIFE MODELS Ecole Normale Supérieure, 46 Rue d’ULM, Paris
From transparent to canned software … p=0.2; M = [ p*f1 p*f2 q1 q2]; [U,V]=eig(M); disp(max(diag(V))); … Rules + param. values Output R, MATLAB, MATHEMATICA … RAMAS, VORTEX … clear control of everything pro just write rules tedious code writing con poor control too general? con too specialized?
From transparent to canned software … p=0.2; M = [ p*f1 p*f2 q1 q2]; [U,V]=eig(M); disp(max(diag(V))); … Rules + param. values Output R, MATLAB, MATHEMATICA … RAMAS, VORTEX … clear control of everything pro just write rules tedious code writing con poor control too general? con too specialized? use libraries / specific code
From transparent to canned software In-between, ULM, a "bottled" software … Defmat M(4) p*f1, p*f2 q1,q2 … run properties … clear control + simple commands clear code writing + powerful not too general, not too specialized
Download from After installation should have ULM program ulm.exe example model files *.ulm reference manual ulmref.pdf ULM: the basics
For analysis of matrix models discrete time discrete population structure Broad scope: can model deterministic models environmental stochasticity demographic stochasticity density dependence metapopulations
ULM: the basics Results: can output Population trajectories, growth rate Population structure, distributions Sensitivities to changes in parameters fitness landscapes Probability of extinction, quasi-extinction Lyapunov exponents, bifurcation diagrams
ULM: creating and running models Create a model file define model structure and inputs simple syntax and commands In main window Compile and run the model Modify and explore interactively Or, create input and output files specify model outputs, variations in settings and inputs Can use batch files
ULM: model file { Generic matrix model for passerine { female-based, 2 age classes, pre-breeding census defmod passerine(2) mat: a vec: w { population vector defvec w(2) n1, n2 { population matrix defmat a(2) sigma*s0*f1, sigma*s0*f2 s, v Simple programing language Recommend using comments Must leave a space
ULM: model file { initial number of subadults defvar n1 = 10 { initial number of adults defvar n2 = 10 { total population size defvar n = n1 + n2 { juvenile survival rate defvar s0 = 0.2 { subadult survival rate defvar s =
Click on the ULM Icon Open a model file (*.ulm) Compile the model file use button or menu Run, modify and investigate use the command line, menus or buttons View the output main window – population size, growth rate menus – formal analysis results graph window ULM: running models
Don’t forget to check the graph window... ULM: running models
help lists all commands and functions help ‘command name ’ short description of command xxx h or ? abbreviations ULM: help files