Model 1: Zooplankton class
Adapted from Frost zooplankton notes
simple nutrient limited phytoplankton growth parameters and initial conditions as handout, parts b & c
Contents
Initial conditions
clear;close all k=40; % 40 Duration of run, in days t=zeros(k,1);t(1)=1; % Initializing the time vector P=zeros(k,1); % Initializing the Phytoplankton vector PHY=1000; % 1000 Phytoplankton initial concentration- cells/L P(1)=PHY; PDN=zeros(k,1); % Initializing the production vector N=zeros(k,1);N(1)=10; % 10 Initializing the dissolved Nitrogen vector % Units here are in micromolar NIT=N(1)*14; % Converting micromolar to migrogram % (multiply by atomic weight) mumax=0.3465736; % 0.3465736 Maximum phytoplankton growth rate % Corresponds to 1 doubling per day kn=14; % Half-saturation constant for nitrogen uptake % by the phytoplankton cells q=0.000157; % 0.000157 Cell nigrogen content (cell quota) in % micrograms nitrogen per cell TPROD=0; % Variable for tracking total hourly production
Main Loop
for n=1:1:k t(n)=n; for m=1:1:24 % This gives an hourly timestep for the calculations and the two % line below recalculates the "per day" rates to "per hour" mu=mumax*(NIT/(kn+NIT))/24; % Phytoplankton growth and production: prod=PHY*(exp(mu)-1); TPROD=TPROD+prod; PHY=PHY*exp(mu); % Nitrogen uptake rates: uptake=q*prod; NIT=NIT-uptake; if NIT<=0% Dissolved nitrogen cannot have negative values NIT=0; end end % Here we track the results at the end of each 24 hour day P(n)=PHY; N(n)=NIT/14; PDN(n)=prod*24; end
Plot the daily results
ax1=subplot(2,1,1); [ax,hl1,hl2]=plotyy(t,P,t,PDN); xlabel('Time - days'); set(get(ax(1),'Ylabel'),'String','Cells per liter'); set(get(ax(2),'Ylabel'),'String','Cells per liter per day'); % axis([0,k,0,300000]); subplot(2,1,2) plot(t,N) axis([0,k,0,12]); xlabel('Time - days'); ylabel('Nitrogen - micromolar');
