
    if (Steps(m)==0) && m.globalDynamicProps.doinit  % Initialisation code.
        % assign a morphogen down the middle of the y axis
        id_mid_p((m.nodes(:,2)<0.1)&(m.nodes(:,2)>-0.1))=1;
        s_mid_p(:)=0;
        s_mid_p=id_mid_p;
        m.morphogenclamp( (id_mid_p==1), s_mid_i ) = 1;
        m = leaf_mgen_conductivity( m, 's_mid', 0.01 );  %specifies the diffusion rate of polariser    
        m = leaf_mgen_absorption( m, 's_mid', 0.0 );     % specifies degradation rate of polariser
    end
        kapar_p=5 * pro(1,s_mid_p);
        kbpar_p=5 * pro(1,s_mid_p);
        kaper_p=3 * pro(1,s_mid_p);
        kbper_p=3 * pro(1,s_mid_p);
        knor_p =0;
    % calculate growth over dt interval
    if isfield(m.userdata,'oldpos')
        displacements = m.prismnodes - m.userdata.oldpos;
        [growth,gf] = leaf_computeGrowthFromDisplacements( m, displacements, ...
            realtime - m.userdata.starttime,'axisorder', 'maxminnor', ...
            'anisotropythreshold', 0.05);
        % plot resultant areal growth rates over dt (i.e. one step).
        m = leaf_plotoptions( m, 'pervertex',perFEtoperVertex(m,sum(growth(:,1:2),2)) ,'perelementaxes', gf(:,1,:), 'drawtensoraxes', true );
        % monitor properties of vertices must be done here - so that it reports newly equilibrated levels
    end
    m.userdata.oldpos = m.prismnodes;
    m.userdata.starttime = realtime;
    % monitor growth in a Figure and write excel file
    [m,MonData]=leaf_profile_monitor(m,... % essential
        'REGIONLABELS',{'ID_MID'},... % essential
        'VERTLABELS',false,'FigNum',1,'EXCEL',true); % optional (file in snapshots directory')
    
% if sum(ismember(output,realtime)) && m.userdata.output ==1
%     % Output - plot an image at high resolution   
%     path = fileparts(which(m.globalProps.modelname));
%     [m,ok] = leaf_snapshot( m,[path,filesep,'snapshots',filesep,modelname,'_',modeltype,'.png'], 'resolution',[]); %
% 
% end