function key = GBplot
% CHANGE NAME OF FUNCTION FROM GBplot ABOVE TO YOUR FIRST NAME OR PSEUDONYM
% CHANGE THE NAME OF THIS FILE TO YOUR NAME.m or YOUR PSEUDONYM.m

% PREFIX TO START FILE NAMES
key.prefix = 'GBplot';
% CHANGE THE ABOVE STATEMENT TO REFLECT THE NEW NAME

% TEMPLATES TO CONVERT TO FAST RUNNING CODE
key.steptemplate = 'GB_step_template.m';
key.meastemplate = 'GB_meas_template.m';

% PARAMETERS FOR GENERATING DATA
%Soma
key.gen.KNaSM = 3;
key.gen.KKSN = 3;
key.gen.gNaS = 55;
key.gen.gLS = 0.18;
key.gen.gKS  = 20;
key.gen.ENaS = 40;   % mV
key.gen.EKS = -88.5;   % mV
key.gen.ELS = -70;  % mV
key.gen.TS = 0.39;

%Dendrite
key.gen.KNaDM = 5;
key.gen.KNaDH = -5;
key.gen.KKDN = 5;
key.gen.KKDP = -6;
key.gen.gNaD = 5;
key.gen.gKD = 15;
key.gen.gLD = 0.18;
key.gen.ENaD = 40;   % mV
key.gen.EKD = -88.5;   % mV
key.gen.ELD = -70;  % mV
key.gen.CAP = 1;     % uF/cm^2
key.gen.THD = 1;
key.gen.TND = 0.9;
key.gen.TPD = 5;

key.gen.PNoiseLevel = 0.01;
key.gen.MNoiseLevel = 0.001;  

% CHANGE CHOICE OF TWO PARAMETERS BELOW FOR THE PLOT AXES AND RANGES BELOW
% PLOT RANGES
key.plotrange.PARAMETER1 = LOW:STEP:HIGH; % no more than 30 steps please
key.plotrange.PARAMETER2 = LOW:STEP:HIGH; % no more than 30 steps please

% INITIAL CONDITIONS FOR STATE VARIABLES
key.state.stateVS = 0;
key.state.stateNS = 0.31768116757978;

key.state.stateVD = 0;
key.state.stateND = 0.31768116757978;
key.state.stateHD = 0.59611104634676;
key.state.statePD = 0;

% WHICH PARAMETERS TO FIT
key.fit = {'gNaS','gKS','gNaD','gKD'};

% ADD, REMOVE, AND OR CHANGE THE ASSUMPTONS BELOW
% ASSUMPTIONS ABOUT PARAMETERS & STATES, IF NOT SPECIFIED ASSUMED CORRECT
key.assume.gNaS = 55;
key.assume.gLS = 0.18;
key.assume.stateVS = 0;

% INPUT VARIABES AND CODE FOR CREATING INPUT
key.input = {'injectedCurrent'};
key.inputcreate = {@stepCurrent};
key.inputparams(1).holding = 9;
key.inputparams(1).step = 9;
key.inputparams(1).start = 10;
key.inputparams(1).stop = 25;

% NOISE VARIABLES
key.noise.process = {'PNoise'};  
key.noise.measurement = {'MNoise'};

% MEASUREMENTS
key.meas = {'measuredVoltage'};

% TRAJECTORY TIME PARAMETERS
key.time.oneDT = 0.01;    % msec
key.time.sqrtDT = 0.1;    % msec^(1/2)

key.time.TMAX = 650;       % msec
key.time.fitStart = 9;    % msec

% RANDOM SEED
key.seed = 0;

% DEBUGGING
key.debug = {'ionicCurrentD','ionicCurrentS'};

