From 96b71bdfa8d1153a7ac8492061f03571635ef8d0 Mon Sep 17 00:00:00 2001 From: sudheerad9 Date: Fri, 28 May 2021 18:43:43 -0600 Subject: [PATCH 01/42] comment code in local fitting which prevents sloppy cell parallelization --- SirIsaac/fittingProblem.py | 8 ++++---- SirIsaac/localFitParallel.py | 18 +++++++++--------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index 8e91640..1e7cee2 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -1807,9 +1807,9 @@ def localFitToData_parallel(self,numprocs,fittingData,dataModel, # call mpi stdoutFile = open(prefix+"stdout.txt",'w') - subprocess.call([ "mpirun","-np",str(numprocs),"python", + subprocess.call([ "mpirun","--oversubscribe", "-np",str(numprocs),"python", os.path.join(SIRISAACDIR, "localFitParallel.py"), - inputDictFilename ], + inputDictFilename], stderr=stdoutFile,stdout=stdoutFile,env=os.environ) stdoutFile.close() os.remove(inputDictFilename) @@ -2630,9 +2630,9 @@ def generateEnsemble_parallel(self,numprocs,dataModel,initialParameters, # https://stackoverflow.com/questions/60060142/strange-interaction- # between-h5py-subprocess-and-mpirun stdoutFile = open(prefix+"stdout.txt",'w') - subprocess.call([ "mpirun","-np",str(numprocs),"python", + subprocess.call([ "mpirun","--oversubscribe", "-np",str(numprocs),"python", os.path.join(SIRISAACDIR, "generateEnsembleParallel.py"), - inputDictFilename, "--disableC" ], + inputDictFilename], stderr=stdoutFile,stdout=stdoutFile,env=os.environ) stdoutFile.close() os.remove(inputDictFilename) diff --git a/SirIsaac/localFitParallel.py b/SirIsaac/localFitParallel.py index aa2e093..31cf938 100644 --- a/SirIsaac/localFitParallel.py +++ b/SirIsaac/localFitParallel.py @@ -20,15 +20,15 @@ ## 7.3.2012 disable SloppyCell's parallel stuff ## see SloppyCell's __init__.py -sc = IO.SloppyCell -modules = [ sc,sc.ReactionNetworks,Ensembles,Dynamics, - Collections,PerfectData ] -import socket -for module in modules: - module.HAVE_MPI = False - module.num_procs = 1 - module.my_rank = 0 - module.my_host = socket.gethostname() +# sc = IO.SloppyCell +# modules = [ sc,sc.ReactionNetworks,Ensembles,Dynamics, +# Collections,PerfectData ] +# import socket +# for module in modules: +# module.HAVE_MPI = False +# module.num_procs = 1 +# module.my_rank = 0 +# module.my_host = socket.gethostname() # Constants MASTER_PROCESS = 0 From bd9a97f1617eef11a2cd464c394c39bf2c27841b Mon Sep 17 00:00:00 2001 From: sudheerad9 Date: Thu, 10 Jun 2021 17:40:17 -0600 Subject: [PATCH 02/42] [EXPR-2] Remove commented code and oversubscribe --- SirIsaac/fittingProblem.py | 4 ++-- SirIsaac/localFitParallel.py | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index 1e7cee2..6816dcc 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -1807,7 +1807,7 @@ def localFitToData_parallel(self,numprocs,fittingData,dataModel, # call mpi stdoutFile = open(prefix+"stdout.txt",'w') - subprocess.call([ "mpirun","--oversubscribe", "-np",str(numprocs),"python", + subprocess.call([ "mpirun", "-np",str(numprocs),"python", os.path.join(SIRISAACDIR, "localFitParallel.py"), inputDictFilename], stderr=stdoutFile,stdout=stdoutFile,env=os.environ) @@ -2630,7 +2630,7 @@ def generateEnsemble_parallel(self,numprocs,dataModel,initialParameters, # https://stackoverflow.com/questions/60060142/strange-interaction- # between-h5py-subprocess-and-mpirun stdoutFile = open(prefix+"stdout.txt",'w') - subprocess.call([ "mpirun","--oversubscribe", "-np",str(numprocs),"python", + subprocess.call([ "mpirun", "-np",str(numprocs),"python", os.path.join(SIRISAACDIR, "generateEnsembleParallel.py"), inputDictFilename], stderr=stdoutFile,stdout=stdoutFile,env=os.environ) diff --git a/SirIsaac/localFitParallel.py b/SirIsaac/localFitParallel.py index 31cf938..aa2e093 100644 --- a/SirIsaac/localFitParallel.py +++ b/SirIsaac/localFitParallel.py @@ -20,15 +20,15 @@ ## 7.3.2012 disable SloppyCell's parallel stuff ## see SloppyCell's __init__.py -# sc = IO.SloppyCell -# modules = [ sc,sc.ReactionNetworks,Ensembles,Dynamics, -# Collections,PerfectData ] -# import socket -# for module in modules: -# module.HAVE_MPI = False -# module.num_procs = 1 -# module.my_rank = 0 -# module.my_host = socket.gethostname() +sc = IO.SloppyCell +modules = [ sc,sc.ReactionNetworks,Ensembles,Dynamics, + Collections,PerfectData ] +import socket +for module in modules: + module.HAVE_MPI = False + module.num_procs = 1 + module.my_rank = 0 + module.my_host = socket.gethostname() # Constants MASTER_PROCESS = 0 From 6f6b57e22c99ce91eff8a87af14e9e26701591d6 Mon Sep 17 00:00:00 2001 From: sudheerad9 Date: Fri, 11 Jun 2021 10:28:39 -0600 Subject: [PATCH 03/42] Update readme with OpenMPI installation instructions --- README.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/README.md b/README.md index 6b86c52..c6c59d8 100644 --- a/README.md +++ b/README.md @@ -53,5 +53,31 @@ Bryan Daniels, Ilya Nemenman +OpenMPI Installation + +Download the latest version(4.1.1) from https://www.open-mpi.org/software/ompi/v4.1/ +Refer the Building MPI from sources section for the installation. + +Another source for OpenMPI Installation - https://gist.github.com/mrosemeier/088115b2e34f319b913a + +Other Installations that were done for Ubuntu + +pip install mpi4py + +sudo apt-get install python-dev \ + build-essential libssl-dev libffi-dev \ + libxml2-dev libxslt1-dev zlib1g-dev \ + + +sudo apt install libopenmpi-dev + +sudo apt-get install python2.7-dev +sudo apt-get install build-essential +sudo apt-get install gcc +sudo apt-get install python-dev gcc +sudo apt-get install python2-dev build-essential gcc libpq-dev +sudo apt-get install libblas-dev libatlas-base-dev +sudo apt-get install build-essential gcc gfortran git +sudo apt install gfortran From 7eb07391828296bf4b298ed10bcd188904e8baaf Mon Sep 17 00:00:00 2001 From: sudheerad9 Date: Tue, 6 Jul 2021 12:27:09 -0600 Subject: [PATCH 04/42] [EXPR-2] add allow as root flag for docker --- SirIsaac/fittingProblem.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index 6816dcc..54e7d28 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -1807,7 +1807,7 @@ def localFitToData_parallel(self,numprocs,fittingData,dataModel, # call mpi stdoutFile = open(prefix+"stdout.txt",'w') - subprocess.call([ "mpirun", "-np",str(numprocs),"python", + subprocess.call([ "mpirun","--allow-run-as-root", "-np",str(numprocs),"python", os.path.join(SIRISAACDIR, "localFitParallel.py"), inputDictFilename], stderr=stdoutFile,stdout=stdoutFile,env=os.environ) @@ -2630,7 +2630,7 @@ def generateEnsemble_parallel(self,numprocs,dataModel,initialParameters, # https://stackoverflow.com/questions/60060142/strange-interaction- # between-h5py-subprocess-and-mpirun stdoutFile = open(prefix+"stdout.txt",'w') - subprocess.call([ "mpirun", "-np",str(numprocs),"python", + subprocess.call([ "mpirun","--allow-run-as-root", "-np",str(numprocs),"python", os.path.join(SIRISAACDIR, "generateEnsembleParallel.py"), inputDictFilename], stderr=stdoutFile,stdout=stdoutFile,env=os.environ) From 0a3e400a87c627f407b57acc82a0908b1b465213 Mon Sep 17 00:00:00 2001 From: sudheerad9 Date: Tue, 6 Jul 2021 13:03:08 -0600 Subject: [PATCH 05/42] [EXPR-2] allow as non-root --- SirIsaac/fittingProblem.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index 54e7d28..7c859e3 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -1807,7 +1807,7 @@ def localFitToData_parallel(self,numprocs,fittingData,dataModel, # call mpi stdoutFile = open(prefix+"stdout.txt",'w') - subprocess.call([ "mpirun","--allow-run-as-root", "-np",str(numprocs),"python", + subprocess.call([ "mpirun", "-np",str(numprocs),"--allow-run-as-root","python", os.path.join(SIRISAACDIR, "localFitParallel.py"), inputDictFilename], stderr=stdoutFile,stdout=stdoutFile,env=os.environ) @@ -2630,7 +2630,7 @@ def generateEnsemble_parallel(self,numprocs,dataModel,initialParameters, # https://stackoverflow.com/questions/60060142/strange-interaction- # between-h5py-subprocess-and-mpirun stdoutFile = open(prefix+"stdout.txt",'w') - subprocess.call([ "mpirun","--allow-run-as-root", "-np",str(numprocs),"python", + subprocess.call([ "mpirun", "-np",str(numprocs),"--allow-run-as-root","python", os.path.join(SIRISAACDIR, "generateEnsembleParallel.py"), inputDictFilename], stderr=stdoutFile,stdout=stdoutFile,env=os.environ) From eb8f9818b6471802e28ce46bfc4a592ee3b5b961 Mon Sep 17 00:00:00 2001 From: sudheerad9 Date: Mon, 12 Jul 2021 16:43:38 -0700 Subject: [PATCH 06/42] [EXPR-2] add debugging for Nan values --- SirIsaac/fittingProblem.py | 28 +++++++++++++---- SirIsaac/mpi_basic.py | 1 + test/test_fitting_problem.py | 58 ++++++++++++++++++++++++++++++++++-- 3 files changed, 79 insertions(+), 8 deletions(-) diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index 6816dcc..8da7f67 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -12,6 +12,7 @@ # 9.9.2015 directory needed for direct calling using MPI? import os +from scipy.special import logsumexp SIRISAACDIR = os.path.abspath(os.path.dirname(__file__)) @@ -173,6 +174,7 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, to the number of fittingModels in self.fittingModelNames. """ + print("verboseeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", self.verbose) oldFitParameters = [] oldCost = scipy.inf @@ -183,8 +185,9 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, if maxNumFit is None: maxNumFit = len(self.fittingModelNames) - for name in self.fittingModelNames: + for name in [self.fittingModelNames[0]]: fittingModel = self.fittingModelDict[name] + print("fittingModel",fittingModel) # 4.18.2012 if self.costDict.has_key(name) and resume: # We've already fit this one. @@ -216,6 +219,8 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, fittingModel.fitToData(self.fittingData,self.indepParamsList, \ otherStartingPoint=smallerBestParams, \ fittingDataDerivs=fittingDataDerivs,**kwargs) + print("fffffffffffffffffffffffffffffffffffff") + print(newFitParameters) if not hasattr(self,'fittingDataDerivs'): self.fittingDataDerivs = None @@ -230,6 +235,9 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, # (Note: This assumes that the default values for the new # parameters make the new (more complex) model behave the # same as the old one before they are changed.) + print("new_osssssssssssssssss") + print(newCost) + print(oldCost) if newCost > oldCost: fittingModel.initializeParameters(oldFitParameters) newFitParameters = \ @@ -267,9 +275,11 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, fittingModel.initializeParameters(newFitParameters) oldCost = newCost oldFitParameters = newFitParameters - + print("old cose llllllllllllllllllllllllllllllllll",oldCost) + print("old fit parameters",oldFitParameters) self._UpdateDicts(name,includePriors=includePriors) - + print("diiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiccccccccccccccccccccccccccccccccccccccctttttttttttttttt") + print(self.logLikelihoodDict) # 5.6.2013 update old files if needed if not hasattr(self,'logLikelihoodDict'): self._UpdateDicts(name) @@ -355,6 +365,8 @@ def _UpdateDicts(self,name,calculateCost=True,includePriors=True): self.fitParametersDict[name] = fittingModel.getParameters() try: u,s,vt = scipy.linalg.svd( self.HessianDict[name] ) + print(self.HessianDict[name]) + print("insssssssssssssssssssssssssss", s) self.singValsDict[name] = s if not hasattr(self,'logLikelihoodDict'): # 8.25.2015 for back-compatibility @@ -396,8 +408,11 @@ def logLikelihood( self,cost,singVals,priorSingVals ): squared residuals), the singular values of the Hessian, and the singular values of the Hessian with only priors. """ - return -(cost + 0.5*scipy.sum( scipy.log(singVals) ) \ - - 0.5*scipy.sum( scipy.log(priorSingVals) ) ) + print("in loglokeligdddddddddddddddddddddddddddddd") + print(cost) + print(singVals) + return -(cost + 0.5*scipy.sum( logsumexp(singVals) ) \ + - 0.5*scipy.sum( logsumexp(priorSingVals) ) ) # 8.2.2009 updated to include 2pi @@ -1713,6 +1728,7 @@ def fitToData(self,fittingData,indepParamsList=[[]], else: # run in parallel 3.21.2012 outputDict = self.localFitToData_parallel(self.numprocs,fittingData, dataModel,ens,indepParamsList) + print("output dictttttttttttttttttttttttttttttt",outputDict) indices = scipy.sort(outputDict.keys()) self.costList = [ outputDict[i][2] for i in indices ] bestIndex = scipy.argsort(self.costList)[0] @@ -1877,6 +1893,8 @@ def currentHessian(self,fittingData,indepParamsList=[[]], dataModel = self._SloppyCellDataModel(fittingData,indepParamsList, fittingDataDerivs=fittingDataDerivs,**kwargs) J,JtJ = dataModel.GetJandJtJ(self.getParameters()) + print("kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk") + print(JtJ) return JtJ def currentHessianNoPriors(self,fittingData,indepParamsList=[[]], diff --git a/SirIsaac/mpi_basic.py b/SirIsaac/mpi_basic.py index 1c126f9..61c7690 100644 --- a/SirIsaac/mpi_basic.py +++ b/SirIsaac/mpi_basic.py @@ -8,6 +8,7 @@ # Run like so: # mpirun -np 3 python mpi_test.py test_input_filename # +# RUN apt-get update & apt-get install python2-dev build-essential libssl-dev libffi-dev libxml2-dev libxslt1-dev zlib1g-dev import sys from simplePickle import load,save diff --git a/test/test_fitting_problem.py b/test/test_fitting_problem.py index 510471c..08bc276 100644 --- a/test/test_fitting_problem.py +++ b/test/test_fitting_problem.py @@ -6,15 +6,18 @@ # # Tests for fittingProblem.py # - +''' import unittest - from SirIsaac.fittingProblem import * import SloppyCell.ReactionNetworks as scrn def mock_net(): """ - Create a simple mock SloppyCell Network object + from SirIsaac import fittingProblem +import SirIsaac + + +Create a simple mock SloppyCell Network object """ return scrn.Network('mocknet') @@ -48,3 +51,52 @@ def test_fitting_problem_init(self): indepParamsList=indepParamsList) self.assertEqual(None, ftest.getBestModel()) +''' +import scipy, pylab +from SirIsaac import fittingProblem + + +def test_x(self): + data = scipy.loadtxt('simpleExample_data.txt') + indepParamsList = [ [ expt[0] ] for expt in data ] + indepParamsList[:3] + sirIsaacData = [] + for expt in data: + sirIsaacData.append( { 'x': { expt[1]: ( expt[2], expt[3] ) } } ) + sirIsaacData[:3] + outputNames = ['x'] + indepParamNames = ['x_init'] + complexityStepsize = 2 # increase complexity with steps of size 2 + complexityMax = 25 # don't try models with complexity > 25 + complexityList = range(0,complexityMax,complexityStepsize) + + # ensGen controls the generation of the initial ensemble of + # parameter starting points. + totalSteps = 1e3 + keepSteps = 10 + seeds = (1,1) # use a fixed random seed + ensTemperature = 100. + ensGen = fittingProblem.EnsembleGenerator( totalSteps, keepSteps, + temperature=ensTemperature, seeds=seeds ) + + # Parameters that control when local fitting stops. + avegtol = 1e-2 + maxiter = 100 + + # priorSigma controls the width of priors on all parameters + priorSigma = 3. + + # If you have pypar installed, you can run on multiple processors + numprocs = 6 + + # We'll only use a subset of our data to make the example run faster + N = 20 + + p = fittingProblem.PowerLawFittingProblem( complexityList, + sirIsaacData[:N], indepParamsList=indepParamsList[:N], + outputNames=outputNames, indepParamNames=indepParamNames, + ensGen=ensGen, avegtol=avegtol, maxiter=maxiter, + priorSigma=priorSigma, numprocs=numprocs, verbose=True ) + p.fitAll() + # + fittingProblem.save(p,'simpleExample_savedFittingProblem.data') From 3c778f124ebf5b4ebb1e02d8faf5159497efcacf Mon Sep 17 00:00:00 2001 From: sudheerad9 Date: Tue, 13 Jul 2021 09:37:49 -0700 Subject: [PATCH 07/42] [EXPR-2]add scipy log --- SirIsaac/fittingProblem.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index 09e8c9d..6b27d52 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -185,7 +185,7 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, if maxNumFit is None: maxNumFit = len(self.fittingModelNames) - for name in [self.fittingModelNames[0]]: + for name in self.fittingModelNames: fittingModel = self.fittingModelDict[name] print("fittingModel",fittingModel) # 4.18.2012 @@ -420,8 +420,8 @@ def logLikelihood( self,cost,singVals,priorSingVals ): def penalty(self,singVals,priorSingVals): #return 0.5*scipy.sum( scipy.log( \ # scipy.array(self._StiffSingVals(singVals,cutoff))/(2.*scipy.pi) ) ) - return + 0.5*scipy.sum( scipy.log(singVals) ) \ - - 0.5*scipy.sum( scipy.log(priorSingVals) ) + return + 0.5*scipy.sum( logsumexp(singVals) ) \ + - 0.5*scipy.sum( logsumexp(priorSingVals) ) def numStiffSingVals(self,singVals,cutoff=None): return len( self._StiffSingVals(singVals,cutoff) ) From 28c67fbc2ca51ea259e7e9e57a526c0a39226efb Mon Sep 17 00:00:00 2001 From: sudheerad9 Date: Tue, 13 Jul 2021 16:30:46 -0700 Subject: [PATCH 08/42] [EXPR-2]debug values becoming 0 --- SirIsaac/fittingProblem.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index 6b27d52..bd36d8e 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -185,7 +185,7 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, if maxNumFit is None: maxNumFit = len(self.fittingModelNames) - for name in self.fittingModelNames: + for name in self.fittingModelNames[3:4]: fittingModel = self.fittingModelDict[name] print("fittingModel",fittingModel) # 4.18.2012 @@ -202,19 +202,19 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, if usePreviousParams: fittingModel.initializeParameters(oldFitParameters) - + print("oldfitpramsssssssssss",oldFitParameters) # 4.17.2012 if self.smallerBestParamsDict.has_key(name): smallerBestParams = self.smallerBestParamsDict[name] else: smallerBestParams = None - + print("smallerbestparams",smallerBestParams) # 8.30.2012 get fittingDataDerivs if I have them fittingDataDerivs = getattr(self,'fittingDataDerivs',None) # 9.20.2012 XXX Should we never include priors for cost? if fittingDataDerivs is not None: includePriors = False else: includePriors = True - + print("include priors",includePriors) newFitParameters = \ fittingModel.fitToData(self.fittingData,self.indepParamsList, \ otherStartingPoint=smallerBestParams, \ @@ -293,7 +293,7 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, orderedLs = [] if not hasattr(self,'stopFittingN'): self.stopFittingN = 3 - for n in self.fittingModelNames: + for n in self.fittingModelNames[3:4]: if self.logLikelihoodDict.has_key(n): orderedLs.append(self.logLikelihoodDict[n]) if (len(orderedLs) > self.stopFittingN): @@ -858,6 +858,8 @@ def __init__(self,complexityList,fittingData,indepParamsList=[[]], self.fittingDataDerivs = fittingDataDerivs def fitAll(self,**kwargs): + print("kwargssssssssssssssssssssssssssssssssss") + print(kwargs) FittingProblem.fitAll(self,**kwargs) # we also want to save the convergence information in a # convenient location: From 140339f65ce7fbc0806867c840098ff8809673dd Mon Sep 17 00:00:00 2001 From: sudheerad9 Date: Wed, 14 Jul 2021 16:34:02 -0700 Subject: [PATCH 09/42] [EXPR-2]debug plot errors --- SirIsaac/fittingProblem.py | 8 +++++--- SirIsaac/localFitParallel.py | 5 +++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index bd36d8e..944294b 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -185,7 +185,7 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, if maxNumFit is None: maxNumFit = len(self.fittingModelNames) - for name in self.fittingModelNames[3:4]: + for name in self.fittingModelNames[0:1]: fittingModel = self.fittingModelDict[name] print("fittingModel",fittingModel) # 4.18.2012 @@ -293,7 +293,7 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, orderedLs = [] if not hasattr(self,'stopFittingN'): self.stopFittingN = 3 - for n in self.fittingModelNames[3:4]: + for n in self.fittingModelNames[0:1]: if self.logLikelihoodDict.has_key(n): orderedLs.append(self.logLikelihoodDict[n]) if (len(orderedLs) > self.stopFittingN): @@ -1730,7 +1730,7 @@ def fitToData(self,fittingData,indepParamsList=[[]], else: # run in parallel 3.21.2012 outputDict = self.localFitToData_parallel(self.numprocs,fittingData, dataModel,ens,indepParamsList) - print("output dictttttttttttttttttttttttttttttt",outputDict) + # print("output dictttttttttttttttttttttttttttttt",outputDict) indices = scipy.sort(outputDict.keys()) self.costList = [ outputDict[i][2] for i in indices ] bestIndex = scipy.argsort(self.costList)[0] @@ -1834,6 +1834,8 @@ def localFitToData_parallel(self,numprocs,fittingData,dataModel, try: output = load(outputFilename) + print("in outttttttttttttttttttttttttttttttttttttttttttttttttttttt") + print(output) os.remove(outputFilename) os.remove(prefix+"stdout.txt") except IOError: diff --git a/SirIsaac/localFitParallel.py b/SirIsaac/localFitParallel.py index aa2e093..207186a 100644 --- a/SirIsaac/localFitParallel.py +++ b/SirIsaac/localFitParallel.py @@ -63,6 +63,7 @@ ### Master Process ### if MPI_myID == MASTER_PROCESS: + print("kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk") from simplePickle import save num_processors = comm.Get_size() @@ -71,6 +72,8 @@ # list of startParams indices to pass to the workers work_array = range(len(startParamsList)) + print("work arrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr") + print(work_array) work_size = len(work_array) # Dispatch jobs to worker processes @@ -118,6 +121,8 @@ comm.send(DIE_INDEX, dest=proc) # Write data to file + print("in localfittttttttttttttttt") + # print(allOutputsDict) save(allOutputsDict,outputFilename) else: From 565b77893098164b4ee4c04d8f301e51b16f1124 Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Fri, 23 Jul 2021 10:39:26 -0700 Subject: [PATCH 10/42] add test of fittingProblem.fitAll --- test/test_fitting_problem.py | 75 +++++++++++++++++++++++++++++++++--- 1 file changed, 69 insertions(+), 6 deletions(-) diff --git a/test/test_fitting_problem.py b/test/test_fitting_problem.py index 510471c..52aa7e1 100644 --- a/test/test_fitting_problem.py +++ b/test/test_fitting_problem.py @@ -9,8 +9,9 @@ import unittest -from SirIsaac.fittingProblem import * +import SirIsaac.fittingProblem as fp import SloppyCell.ReactionNetworks as scrn +import numpy as np def mock_net(): """ @@ -20,9 +21,18 @@ def mock_net(): def mock_data(): """ - Create a simple mock dataset with a single datapoint + Create a mock dataset with a single datapoint """ return [ {'x': {1: (0.,1.) }}, ] + +def simple_linear_data(N): + """ + Create a simple example dataset depending linearly on input and time, + with N datapoints. + """ + indepParamsList = [ [i,] for i in range(1,N+1) ] + data = [ {'y': {i[0]: (2.*i[0], 1.)}} for i in indepParamsList ] + return indepParamsList, data class TestFittingProblem(unittest.TestCase): @@ -31,7 +41,7 @@ def test_sloppycell_fitting_model_init(self): Test that a basic SloppyCell fitting model can be initialized correctly """ net = mock_net() - mtest = SloppyCellFittingModel(net) + mtest = fp.SloppyCellFittingModel(net) self.assertEqual([], mtest.getParameters()) @@ -40,11 +50,64 @@ def test_fitting_problem_init(self): Test that a basic fitting problem can be initialized correctly """ net = mock_net() - m = SloppyCellFittingModel(net) + m = fp.SloppyCellFittingModel(net) datatest = mock_data() indepParamsList = [[]] modellisttest = [m] - ftest = FittingProblem(datatest,modellisttest, - indepParamsList=indepParamsList) + ftest = fp.FittingProblem(datatest,modellisttest, + indepParamsList=indepParamsList) self.assertEqual(None, ftest.getBestModel()) + + def test_fitAll(self): + """ + Test that fitAll produces reasonable results on an easy test problem. + """ + numDatapoints = 3 + complexityList = [0,2] + + # ensGen controls the generation of the initial ensemble of + # parameter starting points. + totalSteps = 5 + keepSteps = 5 + seeds = (1,1) # use a fixed random seed + ensTemperature = 100. + ensGen = fp.EnsembleGenerator( totalSteps, keepSteps, + temperature=ensTemperature, seeds=seeds ) + + # Parameters that control when local fitting stops. + avegtol = 1e-2 + maxiter = 100 + + # set up simple linear data + indepParamNames = ['x',] + indepParamsList,data = simple_linear_data(numDatapoints) + outputNames = data[0].keys() + + p = fp.PowerLawFittingProblem( + complexityList, + data, + outputNames=outputNames, + indepParamsList=indepParamsList, + indepParamNames=indepParamNames, + ensGen=ensGen, + avegtol=avegtol, + maxiter=maxiter) + + p.fitAll() + + # check that the correct number of models have been initialized + self.assertEqual(len(p.fittingModelNames),len(complexityList)) + self.assertEqual(len(p.numParametersDict),len(complexityList)) + + # loop over models that have been fit + for modelName in p.logLikelihoodDict: + # check that all fit models have numerical log-likelihood + self.assertFalse(np.isnan(p.logLikelihoodDict[modelName])) + + # check that costs (distance from data) are roughly what we expect + self.assertTrue(p.costDict[modelName] < 0.05) + + # check we have the correct number of singular values + self.assertEqual(len(p.singValsDict[modelName]),p.numParametersDict[modelName]) + From bcd8e088c706528fbf68bd5a306977784bd586cc Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Fri, 23 Jul 2021 10:48:26 -0700 Subject: [PATCH 11/42] check that some models were actually fit in the fitAll test --- test/test_fitting_problem.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/test_fitting_problem.py b/test/test_fitting_problem.py index 52aa7e1..55aae2e 100644 --- a/test/test_fitting_problem.py +++ b/test/test_fitting_problem.py @@ -100,6 +100,9 @@ def test_fitAll(self): self.assertEqual(len(p.fittingModelNames),len(complexityList)) self.assertEqual(len(p.numParametersDict),len(complexityList)) + # check that some models have indeed been fit + self.assertTrue(len(p.logLikelihoodDict) > 0) + # loop over models that have been fit for modelName in p.logLikelihoodDict: # check that all fit models have numerical log-likelihood From ebbfcbf0621e6d3cc1e61db8a533d5dfebb92513 Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Fri, 23 Jul 2021 10:52:35 -0700 Subject: [PATCH 12/42] fix typo in installation instructions --- Installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Installation.md b/Installation.md index 5b69fd3..7ae674f 100644 --- a/Installation.md +++ b/Installation.md @@ -28,7 +28,7 @@ SirIsaac depends on the latest version of SloppyCell, available on GitHub. In the simplest case, you can install with two steps. First download the git repository by running - https://github.com/GutenkunstLab/SloppyCell.git + git clone https://github.com/GutenkunstLab/SloppyCell.git which will create a folder named `SloppyCell` in the current directory. Next, install SloppyCell by running setup.py. The easiest way to do this is using `pip`: From fd739ea91327985aeefb719677531b407ecc288b Mon Sep 17 00:00:00 2001 From: sudheerad9 Date: Fri, 23 Jul 2021 19:11:03 -0700 Subject: [PATCH 13/42] [EXPR-2]working Sirisaac --- SirIsaac/fittingProblem.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index 944294b..9c23dbb 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -185,7 +185,7 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, if maxNumFit is None: maxNumFit = len(self.fittingModelNames) - for name in self.fittingModelNames[0:1]: + for name in self.fittingModelNames: fittingModel = self.fittingModelDict[name] print("fittingModel",fittingModel) # 4.18.2012 @@ -293,7 +293,7 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, orderedLs = [] if not hasattr(self,'stopFittingN'): self.stopFittingN = 3 - for n in self.fittingModelNames[0:1]: + for n in self.fittingModelNames: if self.logLikelihoodDict.has_key(n): orderedLs.append(self.logLikelihoodDict[n]) if (len(orderedLs) > self.stopFittingN): @@ -411,8 +411,8 @@ def logLikelihood( self,cost,singVals,priorSingVals ): print("in loglokeligdddddddddddddddddddddddddddddd") print(cost) print(singVals) - return -(cost + 0.5*scipy.sum( logsumexp(singVals) ) \ - - 0.5*scipy.sum( logsumexp(priorSingVals) ) ) + return -(cost + 0.5*scipy.sum( scipy.log(singVals) ) \ + - 0.5*scipy.sum( scipy.log(priorSingVals) ) ) # 8.2.2009 updated to include 2pi @@ -420,8 +420,8 @@ def logLikelihood( self,cost,singVals,priorSingVals ): def penalty(self,singVals,priorSingVals): #return 0.5*scipy.sum( scipy.log( \ # scipy.array(self._StiffSingVals(singVals,cutoff))/(2.*scipy.pi) ) ) - return + 0.5*scipy.sum( logsumexp(singVals) ) \ - - 0.5*scipy.sum( logsumexp(priorSingVals) ) + return + 0.5*scipy.sum( scipy.log(singVals) ) \ + - 0.5*scipy.sum( scipy.log(priorSingVals) ) def numStiffSingVals(self,singVals,cutoff=None): return len( self._StiffSingVals(singVals,cutoff) ) From 618f8b79dbe0f9f2181f90fe143dc067c712a9b4 Mon Sep 17 00:00:00 2001 From: sudheerad9 Date: Fri, 23 Jul 2021 19:23:37 -0700 Subject: [PATCH 14/42] [EXPR-2]code cleanup --- SirIsaac/fittingProblem.py | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index 9c23dbb..057b90b 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -365,8 +365,6 @@ def _UpdateDicts(self,name,calculateCost=True,includePriors=True): self.fitParametersDict[name] = fittingModel.getParameters() try: u,s,vt = scipy.linalg.svd( self.HessianDict[name] ) - print(self.HessianDict[name]) - print("insssssssssssssssssssssssssss", s) self.singValsDict[name] = s if not hasattr(self,'logLikelihoodDict'): # 8.25.2015 for back-compatibility @@ -408,9 +406,6 @@ def logLikelihood( self,cost,singVals,priorSingVals ): squared residuals), the singular values of the Hessian, and the singular values of the Hessian with only priors. """ - print("in loglokeligdddddddddddddddddddddddddddddd") - print(cost) - print(singVals) return -(cost + 0.5*scipy.sum( scipy.log(singVals) ) \ - 0.5*scipy.sum( scipy.log(priorSingVals) ) ) @@ -858,8 +853,6 @@ def __init__(self,complexityList,fittingData,indepParamsList=[[]], self.fittingDataDerivs = fittingDataDerivs def fitAll(self,**kwargs): - print("kwargssssssssssssssssssssssssssssssssss") - print(kwargs) FittingProblem.fitAll(self,**kwargs) # we also want to save the convergence information in a # convenient location: @@ -1730,7 +1723,6 @@ def fitToData(self,fittingData,indepParamsList=[[]], else: # run in parallel 3.21.2012 outputDict = self.localFitToData_parallel(self.numprocs,fittingData, dataModel,ens,indepParamsList) - # print("output dictttttttttttttttttttttttttttttt",outputDict) indices = scipy.sort(outputDict.keys()) self.costList = [ outputDict[i][2] for i in indices ] bestIndex = scipy.argsort(self.costList)[0] @@ -1834,8 +1826,6 @@ def localFitToData_parallel(self,numprocs,fittingData,dataModel, try: output = load(outputFilename) - print("in outttttttttttttttttttttttttttttttttttttttttttttttttttttt") - print(output) os.remove(outputFilename) os.remove(prefix+"stdout.txt") except IOError: @@ -1897,8 +1887,6 @@ def currentHessian(self,fittingData,indepParamsList=[[]], dataModel = self._SloppyCellDataModel(fittingData,indepParamsList, fittingDataDerivs=fittingDataDerivs,**kwargs) J,JtJ = dataModel.GetJandJtJ(self.getParameters()) - print("kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk") - print(JtJ) return JtJ def currentHessianNoPriors(self,fittingData,indepParamsList=[[]], From 5fd198dc9ab87f5dda95055914a1173f7b02060c Mon Sep 17 00:00:00 2001 From: sudheerad9 Date: Fri, 23 Jul 2021 19:35:16 -0700 Subject: [PATCH 15/42] [EXPR-2]cleanup --- SirIsaac/fittingProblem.py | 16 +--------- SirIsaac/localFitParallel.py | 5 --- SirIsaac/mpi_basic.py | 1 - test/test_fitting_problem.py | 59 +++--------------------------------- 4 files changed, 5 insertions(+), 76 deletions(-) diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index 057b90b..abc10c5 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -12,7 +12,6 @@ # 9.9.2015 directory needed for direct calling using MPI? import os -from scipy.special import logsumexp SIRISAACDIR = os.path.abspath(os.path.dirname(__file__)) @@ -174,7 +173,6 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, to the number of fittingModels in self.fittingModelNames. """ - print("verboseeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", self.verbose) oldFitParameters = [] oldCost = scipy.inf @@ -187,7 +185,6 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, for name in self.fittingModelNames: fittingModel = self.fittingModelDict[name] - print("fittingModel",fittingModel) # 4.18.2012 if self.costDict.has_key(name) and resume: # We've already fit this one. @@ -202,7 +199,6 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, if usePreviousParams: fittingModel.initializeParameters(oldFitParameters) - print("oldfitpramsssssssssss",oldFitParameters) # 4.17.2012 if self.smallerBestParamsDict.has_key(name): smallerBestParams = self.smallerBestParamsDict[name] @@ -214,13 +210,10 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, # 9.20.2012 XXX Should we never include priors for cost? if fittingDataDerivs is not None: includePriors = False else: includePriors = True - print("include priors",includePriors) newFitParameters = \ fittingModel.fitToData(self.fittingData,self.indepParamsList, \ otherStartingPoint=smallerBestParams, \ fittingDataDerivs=fittingDataDerivs,**kwargs) - print("fffffffffffffffffffffffffffffffffffff") - print(newFitParameters) if not hasattr(self,'fittingDataDerivs'): self.fittingDataDerivs = None @@ -235,9 +228,6 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, # (Note: This assumes that the default values for the new # parameters make the new (more complex) model behave the # same as the old one before they are changed.) - print("new_osssssssssssssssss") - print(newCost) - print(oldCost) if newCost > oldCost: fittingModel.initializeParameters(oldFitParameters) newFitParameters = \ @@ -275,11 +265,7 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, fittingModel.initializeParameters(newFitParameters) oldCost = newCost oldFitParameters = newFitParameters - print("old cose llllllllllllllllllllllllllllllllll",oldCost) - print("old fit parameters",oldFitParameters) self._UpdateDicts(name,includePriors=includePriors) - print("diiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiccccccccccccccccccccccccccccccccccccccctttttttttttttttt") - print(self.logLikelihoodDict) # 5.6.2013 update old files if needed if not hasattr(self,'logLikelihoodDict'): self._UpdateDicts(name) @@ -1817,7 +1803,7 @@ def localFitToData_parallel(self,numprocs,fittingData,dataModel, # call mpi stdoutFile = open(prefix+"stdout.txt",'w') - subprocess.call([ "mpirun", "-np",str(numprocs),"--allow-run-as-root","python", + subprocess.call([ "mpirun", "-np",str(numprocs),"python", os.path.join(SIRISAACDIR, "localFitParallel.py"), inputDictFilename], stderr=stdoutFile,stdout=stdoutFile,env=os.environ) diff --git a/SirIsaac/localFitParallel.py b/SirIsaac/localFitParallel.py index 207186a..aa2e093 100644 --- a/SirIsaac/localFitParallel.py +++ b/SirIsaac/localFitParallel.py @@ -63,7 +63,6 @@ ### Master Process ### if MPI_myID == MASTER_PROCESS: - print("kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk") from simplePickle import save num_processors = comm.Get_size() @@ -72,8 +71,6 @@ # list of startParams indices to pass to the workers work_array = range(len(startParamsList)) - print("work arrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr") - print(work_array) work_size = len(work_array) # Dispatch jobs to worker processes @@ -121,8 +118,6 @@ comm.send(DIE_INDEX, dest=proc) # Write data to file - print("in localfittttttttttttttttt") - # print(allOutputsDict) save(allOutputsDict,outputFilename) else: diff --git a/SirIsaac/mpi_basic.py b/SirIsaac/mpi_basic.py index 61c7690..1c126f9 100644 --- a/SirIsaac/mpi_basic.py +++ b/SirIsaac/mpi_basic.py @@ -8,7 +8,6 @@ # Run like so: # mpirun -np 3 python mpi_test.py test_input_filename # -# RUN apt-get update & apt-get install python2-dev build-essential libssl-dev libffi-dev libxml2-dev libxslt1-dev zlib1g-dev import sys from simplePickle import load,save diff --git a/test/test_fitting_problem.py b/test/test_fitting_problem.py index 08bc276..06f11ef 100644 --- a/test/test_fitting_problem.py +++ b/test/test_fitting_problem.py @@ -6,18 +6,15 @@ # # Tests for fittingProblem.py # -''' + import unittest + from SirIsaac.fittingProblem import * import SloppyCell.ReactionNetworks as scrn def mock_net(): """ - from SirIsaac import fittingProblem -import SirIsaac - - -Create a simple mock SloppyCell Network object + Create a simple mock SloppyCell Network object """ return scrn.Network('mocknet') @@ -51,52 +48,4 @@ def test_fitting_problem_init(self): indepParamsList=indepParamsList) self.assertEqual(None, ftest.getBestModel()) -''' -import scipy, pylab -from SirIsaac import fittingProblem - - -def test_x(self): - data = scipy.loadtxt('simpleExample_data.txt') - indepParamsList = [ [ expt[0] ] for expt in data ] - indepParamsList[:3] - sirIsaacData = [] - for expt in data: - sirIsaacData.append( { 'x': { expt[1]: ( expt[2], expt[3] ) } } ) - sirIsaacData[:3] - outputNames = ['x'] - indepParamNames = ['x_init'] - complexityStepsize = 2 # increase complexity with steps of size 2 - complexityMax = 25 # don't try models with complexity > 25 - complexityList = range(0,complexityMax,complexityStepsize) - - # ensGen controls the generation of the initial ensemble of - # parameter starting points. - totalSteps = 1e3 - keepSteps = 10 - seeds = (1,1) # use a fixed random seed - ensTemperature = 100. - ensGen = fittingProblem.EnsembleGenerator( totalSteps, keepSteps, - temperature=ensTemperature, seeds=seeds ) - - # Parameters that control when local fitting stops. - avegtol = 1e-2 - maxiter = 100 - - # priorSigma controls the width of priors on all parameters - priorSigma = 3. - - # If you have pypar installed, you can run on multiple processors - numprocs = 6 - - # We'll only use a subset of our data to make the example run faster - N = 20 - - p = fittingProblem.PowerLawFittingProblem( complexityList, - sirIsaacData[:N], indepParamsList=indepParamsList[:N], - outputNames=outputNames, indepParamNames=indepParamNames, - ensGen=ensGen, avegtol=avegtol, maxiter=maxiter, - priorSigma=priorSigma, numprocs=numprocs, verbose=True ) - p.fitAll() - # - fittingProblem.save(p,'simpleExample_savedFittingProblem.data') +{"mode":"full","isActive":false} \ No newline at end of file From 42f391afd1770fc807dc2c4577775cf6a9d81d4c Mon Sep 17 00:00:00 2001 From: sudheerad9 Date: Fri, 23 Jul 2021 19:49:04 -0700 Subject: [PATCH 16/42] [EXPR-2]add docker file --- Dockerfile | 39 ++++++++++++++++++++++++++++++++++++ SirIsaac/fittingProblem.py | 3 +-- test/test_fitting_problem.py | 3 +-- 3 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..c8f526a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,39 @@ +FROM ubuntu:latest +RUN apt-get update && apt-get -y update +FROM python:2 +ARG DEBIAN_FRONTEND=noninteractive +RUN mkdir app +RUN apt-get update -y && \ + apt-get install -y --no-install-recommends sudo apt-utils && \ + apt-get install -y --no-install-recommends openssh-server \ + python-dev python-numpy python-pip python-virtualenv python-scipy \ + gcc gfortran libopenmpi-dev openmpi-bin openmpi-common openmpi-doc binutils && \ + apt-get clean && apt-get purge && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* +WORKDIR /app +RUN useradd --create-home --home-dir /home/docker --shell /bin/bash docker +RUN usermod -a -G sudo docker +RUN echo "docker ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers +COPY o.tar.bz2 /app +RUN wget http://www.open-mpi.org/software/ompi/v4.1/downloads/openmpi-4.1.1.tar.gz +RUN tar xzvf openmpi-4.1.1.tar.gz +WORKDIR openmpi-4.1.1 +RUN ./configure --prefix=/usr/local/openmpi4.1.1 +RUN make all +RUN make install +RUN MPI_DIR=/usr/local/openmpi4.1.1 +ENV LD_LIBRARY_PATH="${MPI_DIR}/lib:${LD_LIBRARY_PATH}" +ENV PATH="/usr/local/openmpi4.1.1/bin:${PATH}" +RUN git clone https://github.com/mpi4py/mpi4py.git ./mpi4py.git +WORKDIR mpi4py.git +RUN python setup.py build --mpicc=/usr/local/openmpi4.1.1/bin/mpicc +RUN python setup.py install +WORKDIR /app +RUN apt-get -y update && apt -y install libopenmpi-dev + +RUN pip install numpy +RUN pip install jupyter notebook +RUN git clone -b mpi4py-convesion https://github.com/diging/SloppyCell.git +RUN pip install -e SloppyCell/ +RUN git clone -b pypar-check https://github.com/diging/SirIsaac.git +RUN pip install -e SirIsaac/ +CMD ["jupyter", "notebook", "--port=8888", "--no-browser", "--ip=0.0.0.0", "--allow-root"] diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index abc10c5..e1a3972 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -204,7 +204,6 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, smallerBestParams = self.smallerBestParamsDict[name] else: smallerBestParams = None - print("smallerbestparams",smallerBestParams) # 8.30.2012 get fittingDataDerivs if I have them fittingDataDerivs = getattr(self,'fittingDataDerivs',None) # 9.20.2012 XXX Should we never include priors for cost? @@ -2626,7 +2625,7 @@ def generateEnsemble_parallel(self,numprocs,dataModel,initialParameters, # https://stackoverflow.com/questions/60060142/strange-interaction- # between-h5py-subprocess-and-mpirun stdoutFile = open(prefix+"stdout.txt",'w') - subprocess.call([ "mpirun", "-np",str(numprocs),"--allow-run-as-root","python", + subprocess.call([ "mpirun", "-np",str(numprocs),"python", os.path.join(SIRISAACDIR, "generateEnsembleParallel.py"), inputDictFilename], stderr=stdoutFile,stdout=stdoutFile,env=os.environ) diff --git a/test/test_fitting_problem.py b/test/test_fitting_problem.py index 06f11ef..7abd233 100644 --- a/test/test_fitting_problem.py +++ b/test/test_fitting_problem.py @@ -47,5 +47,4 @@ def test_fitting_problem_init(self): ftest = FittingProblem(datatest,modellisttest, indepParamsList=indepParamsList) - self.assertEqual(None, ftest.getBestModel()) -{"mode":"full","isActive":false} \ No newline at end of file + self.assertEqual(None, ftest.getBestModel()) \ No newline at end of file From 60bfb3c80b08d51eef8178429261fd70ff30b374 Mon Sep 17 00:00:00 2001 From: sudheerad9 Date: Fri, 23 Jul 2021 19:55:08 -0700 Subject: [PATCH 17/42] [EXXPR-2]cleanup --- SirIsaac/fittingProblem.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index e1a3972..20a9b2b 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -199,16 +199,19 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, if usePreviousParams: fittingModel.initializeParameters(oldFitParameters) + # 4.17.2012 if self.smallerBestParamsDict.has_key(name): smallerBestParams = self.smallerBestParamsDict[name] else: smallerBestParams = None + # 8.30.2012 get fittingDataDerivs if I have them fittingDataDerivs = getattr(self,'fittingDataDerivs',None) # 9.20.2012 XXX Should we never include priors for cost? if fittingDataDerivs is not None: includePriors = False else: includePriors = True + newFitParameters = \ fittingModel.fitToData(self.fittingData,self.indepParamsList, \ otherStartingPoint=smallerBestParams, \ @@ -264,7 +267,9 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, fittingModel.initializeParameters(newFitParameters) oldCost = newCost oldFitParameters = newFitParameters + self._UpdateDicts(name,includePriors=includePriors) + # 5.6.2013 update old files if needed if not hasattr(self,'logLikelihoodDict'): self._UpdateDicts(name) @@ -1802,9 +1807,9 @@ def localFitToData_parallel(self,numprocs,fittingData,dataModel, # call mpi stdoutFile = open(prefix+"stdout.txt",'w') - subprocess.call([ "mpirun", "-np",str(numprocs),"python", + subprocess.call([ "mpirun","-np",str(numprocs),"python", os.path.join(SIRISAACDIR, "localFitParallel.py"), - inputDictFilename], + inputDictFilename ], stderr=stdoutFile,stdout=stdoutFile,env=os.environ) stdoutFile.close() os.remove(inputDictFilename) @@ -2625,9 +2630,9 @@ def generateEnsemble_parallel(self,numprocs,dataModel,initialParameters, # https://stackoverflow.com/questions/60060142/strange-interaction- # between-h5py-subprocess-and-mpirun stdoutFile = open(prefix+"stdout.txt",'w') - subprocess.call([ "mpirun", "-np",str(numprocs),"python", + subprocess.call([ "mpirun","-np",str(numprocs),"python", os.path.join(SIRISAACDIR, "generateEnsembleParallel.py"), - inputDictFilename], + inputDictFilename ], stderr=stdoutFile,stdout=stdoutFile,env=os.environ) stdoutFile.close() os.remove(inputDictFilename) @@ -4678,5 +4683,3 @@ def __init__(self,outputNameList,indepParamNames=[],**kwargs): # generalSetup should be run by all daughter classes self.generalSetup(net,indepParamNames,**kwargs) - - From 92ace8442fbb67685004ebb93f4fe1e1841dc0a8 Mon Sep 17 00:00:00 2001 From: sudheerad9 Date: Fri, 23 Jul 2021 21:43:18 -0700 Subject: [PATCH 18/42] [EXPR-2]run as root --- Dockerfile | 1 - SirIsaac/fittingProblem.py | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index c8f526a..8734445 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,7 +13,6 @@ WORKDIR /app RUN useradd --create-home --home-dir /home/docker --shell /bin/bash docker RUN usermod -a -G sudo docker RUN echo "docker ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers -COPY o.tar.bz2 /app RUN wget http://www.open-mpi.org/software/ompi/v4.1/downloads/openmpi-4.1.1.tar.gz RUN tar xzvf openmpi-4.1.1.tar.gz WORKDIR openmpi-4.1.1 diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index 20a9b2b..e87cb3f 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -1807,7 +1807,7 @@ def localFitToData_parallel(self,numprocs,fittingData,dataModel, # call mpi stdoutFile = open(prefix+"stdout.txt",'w') - subprocess.call([ "mpirun","-np",str(numprocs),"python", + subprocess.call([ "mpirun","-np","--allow-run-as-root",str(numprocs),"python", os.path.join(SIRISAACDIR, "localFitParallel.py"), inputDictFilename ], stderr=stdoutFile,stdout=stdoutFile,env=os.environ) @@ -2630,7 +2630,7 @@ def generateEnsemble_parallel(self,numprocs,dataModel,initialParameters, # https://stackoverflow.com/questions/60060142/strange-interaction- # between-h5py-subprocess-and-mpirun stdoutFile = open(prefix+"stdout.txt",'w') - subprocess.call([ "mpirun","-np",str(numprocs),"python", + subprocess.call([ "mpirun","-np","--allow-run-as-root",str(numprocs),"python", os.path.join(SIRISAACDIR, "generateEnsembleParallel.py"), inputDictFilename ], stderr=stdoutFile,stdout=stdoutFile,env=os.environ) From a540e3edcaa249d93b2a9896815392e64336f998 Mon Sep 17 00:00:00 2001 From: sudheerad9 Date: Fri, 23 Jul 2021 23:10:22 -0700 Subject: [PATCH 19/42] change allow root position --- SirIsaac/fittingProblem.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index e87cb3f..e7800db 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -1807,7 +1807,7 @@ def localFitToData_parallel(self,numprocs,fittingData,dataModel, # call mpi stdoutFile = open(prefix+"stdout.txt",'w') - subprocess.call([ "mpirun","-np","--allow-run-as-root",str(numprocs),"python", + subprocess.call([ "mpirun","-np",str(numprocs),"--allow-run-as-root","python", os.path.join(SIRISAACDIR, "localFitParallel.py"), inputDictFilename ], stderr=stdoutFile,stdout=stdoutFile,env=os.environ) @@ -2630,7 +2630,7 @@ def generateEnsemble_parallel(self,numprocs,dataModel,initialParameters, # https://stackoverflow.com/questions/60060142/strange-interaction- # between-h5py-subprocess-and-mpirun stdoutFile = open(prefix+"stdout.txt",'w') - subprocess.call([ "mpirun","-np","--allow-run-as-root",str(numprocs),"python", + subprocess.call([ "mpirun","-np",str(numprocs),"--allow-run-as-root","python", os.path.join(SIRISAACDIR, "generateEnsembleParallel.py"), inputDictFilename ], stderr=stdoutFile,stdout=stdoutFile,env=os.environ) From 082758d78a2fa0d2520342061cb7af865ca1fa0b Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Wed, 13 Apr 2022 11:59:07 -0700 Subject: [PATCH 20/42] move openmpi installation instructions to Installation.md --- Installation.md | 30 ++++++++++++++++++++++++++++++ README.md | 28 ---------------------------- 2 files changed, 30 insertions(+), 28 deletions(-) diff --git a/Installation.md b/Installation.md index 7ae674f..31d4828 100644 --- a/Installation.md +++ b/Installation.md @@ -70,3 +70,33 @@ To run the .py file in iPython at the command line, run: %run simpleExample.py show() +## Running in parallel + +OpenMPI Installation + +Download the latest version(4.1.1) from https://www.open-mpi.org/software/ompi/v4.1/ +Refer the Building MPI from sources section for the installation. + +Another source for OpenMPI Installation - https://gist.github.com/mrosemeier/088115b2e34f319b913a + +Other Installations that were done for Ubuntu + +pip install mpi4py + +sudo apt-get install python-dev \ + build-essential libssl-dev libffi-dev \ + libxml2-dev libxslt1-dev zlib1g-dev \ + + +sudo apt install libopenmpi-dev + +sudo apt-get install python2.7-dev +sudo apt-get install build-essential +sudo apt-get install gcc +sudo apt-get install python-dev gcc +sudo apt-get install python2-dev build-essential gcc libpq-dev +sudo apt-get install libblas-dev libatlas-base-dev +sudo apt-get install build-essential gcc gfortran git +sudo apt install gfortran + + diff --git a/README.md b/README.md index c6c59d8..7bbce2f 100644 --- a/README.md +++ b/README.md @@ -53,31 +53,3 @@ Bryan Daniels, Ilya Nemenman -OpenMPI Installation - -Download the latest version(4.1.1) from https://www.open-mpi.org/software/ompi/v4.1/ -Refer the Building MPI from sources section for the installation. - -Another source for OpenMPI Installation - https://gist.github.com/mrosemeier/088115b2e34f319b913a - -Other Installations that were done for Ubuntu - -pip install mpi4py - -sudo apt-get install python-dev \ - build-essential libssl-dev libffi-dev \ - libxml2-dev libxslt1-dev zlib1g-dev \ - - -sudo apt install libopenmpi-dev - -sudo apt-get install python2.7-dev -sudo apt-get install build-essential -sudo apt-get install gcc -sudo apt-get install python-dev gcc -sudo apt-get install python2-dev build-essential gcc libpq-dev -sudo apt-get install libblas-dev libatlas-base-dev -sudo apt-get install build-essential gcc gfortran git -sudo apt install gfortran - - From e59bc5eecf556306c9cf5d98a15ee8d59897a26e Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Wed, 13 Apr 2022 12:02:48 -0700 Subject: [PATCH 21/42] add contributors to readme --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7bbce2f..a4cedc3 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,10 @@ ipython (for reading ipython notebook file describing example usage) Contributors ============ -Bryan Daniels, Ilya Nemenman +Bryan Daniels +Ilya Nemenman +hashknot +sudheerad9 From 2d51a6f6f8f1fc33a7e80335b6d141b34f271f31 Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Wed, 13 Apr 2022 12:50:59 -0700 Subject: [PATCH 22/42] automated update to python 3 using 2to3 --- .gitignore | 3 + README.md | 8 +- SirIsaac/analyzeFittingProblemDict.py | 81 ++- SirIsaac/ctsnNetwork.py | 14 +- SirIsaac/fakeData.py | 12 +- SirIsaac/fitAllParallel.py | 102 ++-- SirIsaac/fittingProblem.py | 559 ++++++++++---------- SirIsaac/fittingProblemMultipleCondition.py | 24 +- SirIsaac/generateEnsembleParallel.py | 4 +- SirIsaac/linalgTools.py | 6 +- SirIsaac/localFitParallel.py | 28 +- SirIsaac/makeSloppyEnsemble.py | 14 +- SirIsaac/matlab.py | 8 +- SirIsaac/mpi_basic.py | 6 +- SirIsaac/outputTag.py | 6 +- SirIsaac/phosphorylationFit_netModel.py | 18 +- SirIsaac/plotMatrix.py | 8 +- SirIsaac/powerLawNetwork.py | 16 +- SirIsaac/powerLawYeastOscillator.py | 8 +- SirIsaac/printFittingProblemDict.py | 42 +- SirIsaac/runFittingProblem.py | 44 +- SirIsaac/runPowerLawDerivFit.py | 38 +- SirIsaac/simplePickle.py | 6 +- SirIsaac/simpleSinusoidalNetwork.py | 2 +- SirIsaac/simulateYeastOscillator.py | 44 +- SirIsaac/sloppyCellTest.py | 64 +-- SirIsaac/varyingParamsWrapper.py | 17 +- simpleExample.py | 26 +- simpleExample_makeData.py | 2 +- test/test_fitting_problem.py | 2 +- test/test_parallel.py | 4 +- 31 files changed, 600 insertions(+), 616 deletions(-) diff --git a/.gitignore b/.gitignore index ea92ef5..961f4f9 100644 --- a/.gitignore +++ b/.gitignore @@ -78,3 +78,6 @@ wheels/ .installed.cfg *.egg +# backup files +*.bak + diff --git a/README.md b/README.md index a4cedc3..cf6fd25 100644 --- a/README.md +++ b/README.md @@ -49,10 +49,10 @@ ipython (for reading ipython notebook file describing example usage) Contributors ============ -Bryan Daniels -Ilya Nemenman -hashknot -sudheerad9 +Bryan Daniels +Ilya Nemenman +hashknot +sudheerad9 diff --git a/SirIsaac/analyzeFittingProblemDict.py b/SirIsaac/analyzeFittingProblemDict.py index 9cd08dd..0fbf9c4 100644 --- a/SirIsaac/analyzeFittingProblemDict.py +++ b/SirIsaac/analyzeFittingProblemDict.py @@ -4,16 +4,16 @@ # 5.10.2012 # -from fittingProblem import * -from plotMatrix import plotMatrix +from .fittingProblem import * +from .plotMatrix import plotMatrix # the general scheme for calculating over all fpds def calcForAllFpds(fpdList,func,maxIndex=-3,skip=True, addYeastPerfectModel=False,verbose=True): dataDict = {} for i,fpd in enumerate(fpdList): - if verbose: print "Fpd",i+1,"of",len(fpdList),":" - for k in scipy.sort(fpd.keys()): + if verbose: print("Fpd",i+1,"of",len(fpdList),":") + for k in scipy.sort(list(fpd.keys())): fp = fpd[k] if addYeastPerfectModel and (fp.perfectModel is None): fp.perfectModel = yeastOscillatorFittingModel(fp.indepParamNames) @@ -22,14 +22,14 @@ def calcForAllFpds(fpdList,func,maxIndex=-3,skip=True, if (mName is not None) or (not skip): result = func(mName,fp) if result is not None: - if verbose: print " Done with key",k - if not dataDict.has_key(numDataPts): # was using fp.saveKey + if verbose: print(" Done with key",k) + if numDataPts not in dataDict: # was using fp.saveKey dataDict[numDataPts] = [] dataDict[numDataPts].append(result) else: - if verbose: print " No result. Skipping key",k + if verbose: print(" No result. Skipping key",k) else: - if verbose: print " mName = None. Skipping key",k + if verbose: print(" mName = None. Skipping key",k) return dataDict # 5.2.2013 @@ -37,11 +37,11 @@ def split(allFpdsDict): """ Splits an allFpdsDict (eg for bestOutOfSampleCorrs with returnErrors=True) """ - N = scipy.shape(allFpdsDict.values()[0][0])[-1] + N = scipy.shape(list(allFpdsDict.values())[0][0])[-1] allFpdsDictList = [] for i in range(N): d = {} - for key in allFpdsDict.keys(): + for key in list(allFpdsDict.keys()): itemList = [] for item in allFpdsDict[key]: #itemList.append(item[i]) @@ -52,7 +52,7 @@ def split(allFpdsDict): elif numItems == 0: # calculation has not yet been performed itemList.append([]) else: - raise Exception, "Incorrect shape of data" + raise Exception("Incorrect shape of data") d[key] = itemList allFpdsDictList.append(d) return allFpdsDictList @@ -62,7 +62,7 @@ def numDataPoints(fittingProblem,perDataPoint=True): if perDataPoint: return len(fittingProblem.fittingData) else: - return scipy.sum([len(d.keys()) for d in fittingProblem.fittingData]) + return scipy.sum([len(list(d.keys())) for d in fittingProblem.fittingData]) # various things you can calculate def bestOutOfSampleCorrs(fpdList,type,vars=None,maxIndex=-3,outOfSampleMult=2.,indepParamRanges=None,sampleInLog=False,onlyBest=True,seed=100,testPerfect=False,returnErrors=True,timeRange=[0,10],numPoints=100,numTests=100,**kwargs): @@ -82,13 +82,13 @@ def bestOutOfSampleCorrs(fpdList,type,vars=None,maxIndex=-3,outOfSampleMult=2.,i independent parameter conditions.) numTests (100) : Number of independent parameter sets to test. """ - if hasattr(fpdList[0].values()[0],'fittingDataDerivs'): - useDerivs = (fpdList[0].values()[0].fittingDataDerivs is not None) + if hasattr(list(fpdList[0].values())[0],'fittingDataDerivs'): + useDerivs = (list(fpdList[0].values())[0].fittingDataDerivs is not None) else: useDerivs = False if type is 'yeast': #(indepParamRanges is None) and hasattr(fpdList[0].values()[0].perfectModel,'typicalIndepParamRanges'): if indepParamRanges is None: - dummyYeastModel = yeastOscillatorFittingModel(fpdList[0].values()[0].indepParamNames) + dummyYeastModel = yeastOscillatorFittingModel(list(fpdList[0].values())[0].indepParamNames) indepParamRanges = dummyYeastModel.typicalIndepParamRanges(outOfSampleMult) if vars is None: vars = ['S1','S2','S3'] addYeastPerfectModel = True #False #True @@ -103,7 +103,7 @@ def bestOutOfSampleCorrs(fpdList,type,vars=None,maxIndex=-3,outOfSampleMult=2.,i if vars is None: vars = ['wormSpeed'] addYeastPerfectModel = False else: - raise Exception, "Unrecognized type: "+str(type) + raise Exception("Unrecognized type: "+str(type)) def modelCorrsFunc(fp,model): c = fp.outOfSampleCorrelation(model,timeRange,vars,indepParamRanges,numTests=numTests,verbose=False,sampleInLog=sampleInLog,seed=seed,returnErrors=returnErrors, @@ -114,7 +114,7 @@ def modelCorrsFunc(fp,model): return scipy.mean(scipy.nan_to_num(c)) if testPerfect: # 4.17.2013 test fitted perfectModels - if useDerivs: raise Exception, "testPerfect + useDerivs not yet supported." + if useDerivs: raise Exception("testPerfect + useDerivs not yet supported.") corrsFunc = lambda mName,fp: modelCorrsFunc(fp,fp.perfectModel) elif onlyBest: if not useDerivs: # not fitting derivatives @@ -127,7 +127,7 @@ def modelCorrsFunc(fp,model): corrsFunc = lambda mName,fp: \ [ modelCorrsFunc(fp,fp.fittingModelDict[name]) for name in orderedFitNames(fp) ] else: # fitting derivatives 1.10.2013 - if sampleInLog: raise Exception, "sampleInLog not supported" + if sampleInLog: raise Exception("sampleInLog not supported") indepParamsSeed = seed scipy.random.seed(seed) timeSeed = scipy.random.randint(1e6) @@ -149,7 +149,7 @@ def costFunc(mName,fp): if hasattr(fp,'perfectCost'): return 2.*fp.perfectCost/(len(fp.fittingData)*len(fp.fittingData[0])) else: - print "bestModelCostPerMeasurement: No perfectCost. Returning None." + print("bestModelCostPerMeasurement: No perfectCost. Returning None.") return None kwargs['skip'] = False # don't skip if we haven't fit the fittingModels elif onlyBest: @@ -180,7 +180,7 @@ def costFunc(mName,fp): if hasattr(fp,'perfectModel'): return costNoPriors(fp.perfectModel,fp) else: - print "bestModelCostPerMeasurement: No perfectCost. Returning None." + print("bestModelCostPerMeasurement: No perfectCost. Returning None.") return None kwargs['skip'] = False # don't skip if we haven't fit the fittingModels elif onlyBest: @@ -212,7 +212,7 @@ def totalNumFunctionCalls(fpdList,**kwargs): """ Sum of all cost calls plus grad calls over ALL models tested. """ - totalFuncCallsFunc = lambda mName,fp: scipy.sum( [ scipy.sum(fp.fittingModelDict[name].numCostCallsList) + scipy.sum(fp.fittingModelDict[name].numGradCallsList) for name in fp.logLikelihoodDict.keys() ] ) + totalFuncCallsFunc = lambda mName,fp: scipy.sum( [ scipy.sum(fp.fittingModelDict[name].numCostCallsList) + scipy.sum(fp.fittingModelDict[name].numGradCallsList) for name in list(fp.logLikelihoodDict.keys()) ] ) return calcForAllFpds(fpdList,totalFuncCallsFunc,skip=False,**kwargs) # updated 10.10.2013 @@ -275,7 +275,7 @@ def totalWallTimesHours(fpdList,includedNames=None,**kwargs): includedNamesFunc = lambda name: True else: includedNamesFunc = lambda name: name in includedNames - totalWallTimeFunc = lambda mName,fp: scipy.sum( [ includedNamesFunc(name)*( scipy.sum(fp.fittingModelDict[name].ensTimeSecondsList) + scipy.sum(fp.fittingModelDict[name].minimizationTimeSecondsList) ) for name in fp.logLikelihoodDict.keys() ] )/3600. + totalWallTimeFunc = lambda mName,fp: scipy.sum( [ includedNamesFunc(name)*( scipy.sum(fp.fittingModelDict[name].ensTimeSecondsList) + scipy.sum(fp.fittingModelDict[name].minimizationTimeSecondsList) ) for name in list(fp.logLikelihoodDict.keys()) ] )/3600. return calcForAllFpds(fpdList,totalWallTimeFunc,skip=False,**kwargs) def parallelWallTimesHours(fpdList,includedNames=None,**kwargs): @@ -288,7 +288,7 @@ def parallelWallTimesHours(fpdList,includedNames=None,**kwargs): includedNamesFunc = lambda name: True else: includedNamesFunc = lambda name: name in includedNames - totalWallTimeFunc = lambda mName,fp: scipy.sum( [ includedNamesFunc(name)*( scipy.sum(fp.fittingModelDict[name].ensTimeSecondsList) + max(fp.fittingModelDict[name].minimizationTimeSecondsList) ) for name in fp.logLikelihoodDict.keys() ] )/3600. + totalWallTimeFunc = lambda mName,fp: scipy.sum( [ includedNamesFunc(name)*( scipy.sum(fp.fittingModelDict[name].ensTimeSecondsList) + max(fp.fittingModelDict[name].minimizationTimeSecondsList) ) for name in list(fp.logLikelihoodDict.keys()) ] )/3600. return calcForAllFpds(fpdList,totalWallTimeFunc,skip=False,**kwargs) @@ -300,21 +300,21 @@ def totalEnsembleTimesHours(fpdList,includedNames=None,**kwargs): includedNamesFunc = lambda name: True else: includedNamesFunc = lambda name: name in includedNames - totalEnsTimeFunc = lambda mName,fp: scipy.sum( [ includedNamesFunc(name)*( scipy.sum(fp.fittingModelDict[name].ensTimeSecondsList) ) for name in fp.logLikelihoodDict.keys() ] )/3600. + totalEnsTimeFunc = lambda mName,fp: scipy.sum( [ includedNamesFunc(name)*( scipy.sum(fp.fittingModelDict[name].ensTimeSecondsList) ) for name in list(fp.logLikelihoodDict.keys()) ] )/3600. return calcForAllFpds(fpdList,totalEnsTimeFunc,skip=False,**kwargs) def totalMinimizationTimesHours(fpdList,**kwargs): """ Sum of all minimization times over ALL models tested. """ - totalMinTimeFunc = lambda mName,fp: scipy.sum( [ scipy.sum(fp.fittingModelDict[name].minimizationTimeSecondsList) for name in fp.logLikelihoodDict.keys() ] )/3600. + totalMinTimeFunc = lambda mName,fp: scipy.sum( [ scipy.sum(fp.fittingModelDict[name].minimizationTimeSecondsList) for name in list(fp.logLikelihoodDict.keys()) ] )/3600. return calcForAllFpds(fpdList,totalMinTimeFunc,skip=False,**kwargs) def totalMinimizationTimesSeconds(fpdList,**kwargs): """ Sum of all minimization times over ALL models tested. """ - totalMinTimeFunc = lambda mName,fp: scipy.sum( [ scipy.sum(fp.fittingModelDict[name].minimizationTimeSecondsList) for name in fp.logLikelihoodDict.keys() ] ) + totalMinTimeFunc = lambda mName,fp: scipy.sum( [ scipy.sum(fp.fittingModelDict[name].minimizationTimeSecondsList) for name in list(fp.logLikelihoodDict.keys()) ] ) return calcForAllFpds(fpdList,totalMinTimeFunc,skip=False,**kwargs) def bestModelConvFlags(fpdList,maxIndex=-3,**kwargs): @@ -365,12 +365,12 @@ def plotAllFpdsDict(dataDict,marker='o',ls='',color='b',label=None, \ """ kwargs['label'] = label kList,meanList,stdList = [],[],[] - for i,k in enumerate(scipy.sort(dataDict.keys())): + for i,k in enumerate(scipy.sort(list(dataDict.keys()))): vals = dataDict[k] if i==1: # include label for legend only once kwargs.pop('label') if plotMeans: - if filterNans: fVals = filter(lambda v: not scipy.isnan(v),vals) + if filterNans: fVals = [v for v in vals if not scipy.isnan(v)] else: fVals = vals meanVal,stdVal = scipy.mean(fVals),scipy.std(fVals,ddof=1) if makePlot: @@ -420,12 +420,12 @@ def plotAllFpdsDictPretty(fpdList,plotDivisibleBy=1,errorBars=True,percent=50., kList,yValsList,stdList = plotAllFpdsDict(fpdList,returnData=True,\ makePlot=False,plotMeans=False,**kwargs) #print kList - keptIndices = filter(lambda i: kList[i]%plotDivisibleBy == 0,range(len(kList))) + keptIndices = [i for i in range(len(kList)) if kList[i]%plotDivisibleBy == 0] kList = scipy.array(kList)[keptIndices] yValsList = scipy.array(yValsList)[keptIndices] #stdList = scipy.array(stdList)[keptIndices] if ignoreNans: - yValsList = [ filter(lambda y: not scipy.isnan(y),yVals) \ + yValsList = [ [y for y in yVals if not scipy.isnan(y)] \ for yVals in yValsList ] color = kwargs.get('color') @@ -491,7 +491,7 @@ def orderedFitNames(fp,stopFittingN=scipy.inf): names = [] if hasattr(fp,'logLikelihoodDict'): for name in fp.fittingModelNames: - if fp.logLikelihoodDict.has_key(name): + if name in fp.logLikelihoodDict: names.append(name) #print "orderedFitNames: debug: ",names @@ -516,14 +516,14 @@ def plotAllFpdsDict2D(dataDict,fpdList=None,newFigure=True,defaultValue=0,\ index (0) : Index of fittingProblem to plot fpdList (None) : If given, use to indicate the selected model """ - maxNumModels = max( [ max([ len(data) for data in d ]) for d in dataDict.values() ] ) - mat = defaultValue * scipy.ones((maxNumModels,len(dataDict.keys()))) - for i,key in enumerate( scipy.sort(dataDict.keys()) ): + maxNumModels = max( [ max([ len(data) for data in d ]) for d in list(dataDict.values()) ] ) + mat = defaultValue * scipy.ones((maxNumModels,len(list(dataDict.keys())))) + for i,key in enumerate( scipy.sort(list(dataDict.keys())) ): data = dataDict[key][index] for j,val in enumerate(data): mat[j,i] = val - plotMatrix(mat,X=scipy.sort(dataDict.keys()),Y=range(maxNumModels),**kwargs) + plotMatrix(mat,X=scipy.sort(list(dataDict.keys())),Y=list(range(maxNumModels)),**kwargs) pylab.xlabel('Number of measurements $N$') pylab.ylabel('Model index') @@ -531,7 +531,7 @@ def plotAllFpdsDict2D(dataDict,fpdList=None,newFigure=True,defaultValue=0,\ # indicate the selected model if fpdList is not None: fpd = fpdList[index] - for key in scipy.sort(fpd.keys()): + for key in scipy.sort(list(fpd.keys())): fp = fpd[key] name = fp.maxLogLikelihoodName() if name is not None: @@ -552,7 +552,7 @@ def plotOutOfSampleCorrelationVsMeasurements(fpdList,varList,seed=100, pylab.figure() for var in varList: d = bestOutOfSampleCorrs(fpdList,vars=[var],seed=seed) - keyList = list( scipy.sort(d.keys()) ) + keyList = list( scipy.sort(list(d.keys())) ) corrs = [ scipy.mean(d[k]) for k in keyList ] # remove exact zeros (which come from evaluation errors) while 0. in corrs: @@ -560,7 +560,7 @@ def plotOutOfSampleCorrelationVsMeasurements(fpdList,varList,seed=100, corrs.pop(i) keyList.pop(i) # keep same colors each time you plot - cWfmt = cW.next() + cWfmt = next(cW) if newFigure: label = var else: label = '_nolegend_' pylab.plot(keyList,corrs,marker=cWfmt[1],ls=ls,color=cWfmt[0],label=label) @@ -592,10 +592,9 @@ def plotPareto(numParamsDict,performanceDict,plotDivisibleBy=1, makePlot=False,plotMeans=False,**kwargs) if (len(xKList) != len(yKList)) or \ (not scipy.all(scipy.equal(xKList,yKList))): - raise Exception, "numParamsDict and performanceDict contain different keys" + raise Exception("numParamsDict and performanceDict contain different keys") #print kList - keptIndices = filter(lambda i: xKList[i]%plotDivisibleBy == 0, - range(len(xKList))) + keptIndices = [i for i in range(len(xKList)) if xKList[i]%plotDivisibleBy == 0] xValsList = scipy.array(xValsList)[keptIndices] yValsList = scipy.array(yValsList)[keptIndices] #stdList = scipy.array(stdList)[keptIndices] diff --git a/SirIsaac/ctsnNetwork.py b/SirIsaac/ctsnNetwork.py index d4eb169..642e4d5 100644 --- a/SirIsaac/ctsnNetwork.py +++ b/SirIsaac/ctsnNetwork.py @@ -11,7 +11,7 @@ from SloppyCell.ReactionNetworks import * from scipy import random, log import copy -import gaussianPrior +from . import gaussianPrior def CTSN_List(networkList,speciesNames=None, \ logParams=True,netid='CTSN',switchSigmoid=False,xiNegative=False): @@ -52,8 +52,8 @@ def CTSN_List(networkList,speciesNames=None, #m = 0 # the order in which to add parameters - order = dict( zip(['xinit','wself','tau','theta'], range(5)) ) - orderConnect = dict( zip(['w'], range(1)) ) + order = dict( list(zip(['xinit','wself','tau','theta'], list(range(5)))) ) + orderConnect = dict( list(zip(['w'], list(range(1)))) ) net = Network(netid, name='CTSN') net.addCompartment('Comp',name='Compartment') @@ -91,7 +91,7 @@ def CTSN_List(networkList,speciesNames=None, net.addAssignmentRule('tau_'+str(i),'exp(log_tau_'+str(i)+')') # connect to others - for j in connectionDict.keys(): + for j in list(connectionDict.keys()): net.addParameter('w_'+str(i)+'_'+str(j), defaultW, \ isOptimizable=orderConnect['w'] 0: if not lognormalNoise: diff --git a/SirIsaac/fitAllParallel.py b/SirIsaac/fitAllParallel.py index e44a9af..c98c3f5 100644 --- a/SirIsaac/fitAllParallel.py +++ b/SirIsaac/fitAllParallel.py @@ -9,9 +9,9 @@ import scipy import time, copy, os -from simplePickle import load,save -from sloppyCellTest import testCcompiling -from fittingProblemMultipleCondition import * +from .simplePickle import load,save +from .sloppyCellTest import testCcompiling +from .fittingProblemMultipleCondition import * def directoryPrefix(fileNumString,conditioni,numTimepoints): return fileNumString+'_fitProbs/N'+str(numTimepoints)+'/condition'+str(conditioni)+'/' @@ -46,8 +46,8 @@ def loadFitProbData(fileNumString): try: fitProbData = load(fileNumString+'_fitProbData.dat') except (IOError, EOFError): - print "loadFitProbData: WARNING Unable to load fitProbData file."\ - "Returning None." + print("loadFitProbData: WARNING Unable to load fitProbData file."\ + "Returning None.") fitProbData = None return fitProbData @@ -55,7 +55,7 @@ def saveFitProbData(fitProbData,fileNumString): try: save(fitProbData,fileNumString+'_fitProbData.dat') except IOError: - print "saveFitProbData: WARNING Unable to save fitProbData file." + print("saveFitProbData: WARNING Unable to save fitProbData file.") def setLock(fileNumString): save(1,fileNumString+'_fileLocked.dat') @@ -67,13 +67,13 @@ def waitForUnlocked(fileNumString,maxIter=100): lockFilename = fileNumString+'_fileLocked.dat' i = 0 while lockFilename in os.listdir('.'): - print "waitForUnlocked: Waiting for another process to unlock fitProbData file..." + print("waitForUnlocked: Waiting for another process to unlock fitProbData file...") # wait a bit time.sleep(1.+5.*scipy.rand()) i += 1 if i > maxIter: - raise Exception, "Waiting too long for lock on fitProbData file." + raise Exception("Waiting too long for lock on fitProbData file.") def lockAndLoadFitProbData(fileNumString): waitForUnlocked(fileNumString) @@ -111,7 +111,7 @@ def updateFitProbData(fitProb,fileNumString,conditioni,numTimepoints,modelj): orderedLs = [] stopFittingN = pDataMultiple['stopFittingN'] for n in pDataMultiple['fittingModelNames']: - if pDataMultiple['logLikelihoodDict'].has_key(n): + if n in pDataMultiple['logLikelihoodDict']: orderedLs.append(pDataMultiple['logLikelihoodDict'][n]) if (len(orderedLs) > stopFittingN): if max(orderedLs[-stopFittingN:]) < max(orderedLs): @@ -124,14 +124,14 @@ def updateFitProbData(fitProb,fileNumString,conditioni,numTimepoints,modelj): # note: getState and setState are somewhat slow due to sorting def getState(fitProbData,conditioni,numTimepointsi,modelj): - numTimepoints = scipy.sort(fitProbData.keys())[numTimepointsi] + numTimepoints = scipy.sort(list(fitProbData.keys()))[numTimepointsi] pData = fitProbData[numTimepoints]['fitProbDataList'][conditioni] modelName = pData['fittingModelNames'][modelj] return pData['fittingStateDict'][modelName] # note: getState and setState are somewhat slow due to sorting def setState(fitProbData,conditioni,numTimepointsi,modelj,state): - numTimepoints = scipy.sort(fitProbData.keys())[numTimepointsi] + numTimepoints = scipy.sort(list(fitProbData.keys()))[numTimepointsi] pData = fitProbData[numTimepoints]['fitProbDataList'][conditioni] modelName = pData['fittingModelNames'][modelj] pData['fittingStateDict'][modelName] = state @@ -146,7 +146,7 @@ def assignWork(fileNumString): # load current fitProbData fitProbData = lockAndLoadFitProbData(fileNumString) if fitProbData is None: - print "assignWork: Error loading fitProbData" + print("assignWork: Error loading fitProbData") removeLock(fileNumString) else: # find unstarted work to be done @@ -162,7 +162,7 @@ def assignWork(fileNumString): return conditioni,numTimepointsi,modelj def findWork(fitProbData): - numTimepointsList = scipy.sort( fitProbData.keys() ) + numTimepointsList = scipy.sort( list(fitProbData.keys()) ) # loop over numTimepoints for numTimepointsi,numTimepoints in enumerate(numTimepointsList): @@ -179,7 +179,7 @@ def findWork(fitProbData): # pick the first model for which there's work to be done modelj = 0 modelName = pDataMultiple['fittingModelNames'][modelj] - while pDataMultiple['logLikelihoodDict'].has_key(modelName): + while modelName in pDataMultiple['logLikelihoodDict']: modelj += 1 modelName = pDataMultiple['fittingModelNames'][modelj] # loop over conditions @@ -199,7 +199,7 @@ def findWork(fitProbData): # then this is a model that needs to be fit return conditioni,numTimepointsi,modelj - print "findWork: No work found." + print("findWork: No work found.") return None,None,None def resetFitProbData(fileNumString): @@ -207,9 +207,9 @@ def resetFitProbData(fileNumString): Set all 'started' work to 'unstarted'. (Leave 'finished' alone.) """ fitProbData = lockAndLoadFitProbData(fileNumString) - for pMultiple in fitProbData.values(): + for pMultiple in list(fitProbData.values()): for p in pMultiple['fitProbDataList']: - for name in p['fittingStateDict'].keys(): + for name in list(p['fittingStateDict'].keys()): if p['fittingStateDict'][name] == 'started': p['fittingStateDict'][name] = 'unstarted' saveAndUnlockFitProbData(fitProbData,fileNumString) @@ -222,7 +222,7 @@ def setStopFittingN(fileNumString,stopFittingN,resetFitAllDone=True): If False, leave all fitAllDone alone. """ fitProbData = lockAndLoadFitProbData(fileNumString) - for pMultiple in fitProbData.values(): + for pMultiple in list(fitProbData.values()): pMultiple['stopFittingN'] = stopFittingN if resetFitAllDone: pMultiple['fitAllDone'] = False saveAndUnlockFitProbData(fitProbData,fileNumString) @@ -232,10 +232,10 @@ def countFitProbData(fileNumString,printReport=True,printAll=False): Print the current status of model fitting. """ fitProbData = loadFitProbData(fileNumString) - totalSubsets = len(fitProbData.values()) + totalSubsets = len(list(fitProbData.values())) finishedSubsets = [] finished,started,unstarted = 0,0,0 - for numTimepoints in scipy.sort(fitProbData.keys()): + for numTimepoints in scipy.sort(list(fitProbData.keys())): line = str(numTimepoints) + ' ' pMultiple = fitProbData[numTimepoints] if pMultiple['fitAllDone']: @@ -263,16 +263,16 @@ def countFitProbData(fileNumString,printReport=True,printAll=False): else: line += ' ' if (not subsetUnstarted) or printAll: - if printReport: print line + if printReport: print(line) if printReport: - print "" - print "Data subsets:" - print " ",len(finishedSubsets),"of",totalSubsets,"finished" - print "Individual models:" - print " ",finished,"finished" - print " ",started,"running" - print " ",unstarted,"unstarted" + print("") + print("Data subsets:") + print(" ",len(finishedSubsets),"of",totalSubsets,"finished") + print("Individual models:") + print(" ",finished,"finished") + print(" ",started,"running") + print(" ",unstarted,"unstarted") else: return finishedSubsets @@ -281,7 +281,7 @@ def makeFpdLean(fpd): Modify in place to create a stripped-down version of fpd that doesn't include the models. """ - for N in scipy.sort(fpd.keys()): + for N in scipy.sort(list(fpd.keys())): fp = fpd[N] for f in fp.fittingProblemList: f.fittingModelDict = {} @@ -298,15 +298,15 @@ def subsetsWithFits(fileNumString,onlyNew=False): combined fitProbs. """ fpd = loadFitProbData(fileNumString) - saveFilename = fpd.values()[0]['saveFilename'] + saveFilename = list(fpd.values())[0]['saveFilename'] Nlist = [] - for N in scipy.sort(fpd.keys()): + for N in scipy.sort(list(fpd.keys())): # find models that have been fit to all conditions if len(fpd[N]['fitProbDataList']) == 1: - fitModels = fpd[N]['fitProbDataList'][0]['logLikelihoodDict'].keys() + fitModels = list(fpd[N]['fitProbDataList'][0]['logLikelihoodDict'].keys()) else: - fitModels = scipy.intersect1d([ fp['logLikelihoodDict'].keys() \ + fitModels = scipy.intersect1d([ list(fp['logLikelihoodDict'].keys()) \ for fp in fpd[N]['fittingProblemList'] ]) if onlyNew: Nfilename = directoryPrefixNonly(fileNumString,N)+'/'+saveFilename @@ -316,7 +316,7 @@ def subsetsWithFits(fileNumString,onlyNew=False): Nlist.append(N) else: # check which fit models are currently included in the saved file fpMultiple = load(Nfilename) - fitModelsSaved = fpMultiple.logLikelihoodDict.keys() + fitModelsSaved = list(fpMultiple.logLikelihoodDict.keys()) if len(scipy.intersect1d(fitModels,fitModelsSaved)) < len(fitModels): Nlist.append(N) else: @@ -343,7 +343,7 @@ def combineFitProbs(fileNumString,saveCombined=True,combinedLean=True, outOfSampleCost information. """ fitProbData = loadFitProbData(fileNumString) - saveFilename = fitProbData.values()[0]['saveFilename'] + saveFilename = list(fitProbData.values())[0]['saveFilename'] #save({},saveFilename) if saveCombined: fpdMultiple = {} @@ -360,7 +360,7 @@ def combineFitProbs(fileNumString,saveCombined=True,combinedLean=True, # then an old combined file exists -- erase it to reset os.remove(Nfilename) fileExists = False - print "combineFitProbs: Reset removed file for numTimepoints =",numTimepoints + print("combineFitProbs: Reset removed file for numTimepoints =",numTimepoints) if numTimepoints in subsetsToCombine: # combine oldOutOfSampleCostDict = {} @@ -391,12 +391,12 @@ def combineFitProbs(fileNumString,saveCombined=True,combinedLean=True, save(fpMultiple,Nfilename) - print "combineFitProbs: Done with numTimepoints =",numTimepoints + print("combineFitProbs: Done with numTimepoints =",numTimepoints) else: # no new fits to combine; just load from file if saveCombined: fpdMultiple[numTimepoints] = load(Nfilename) - print "combineFitProbs: Done with numTimepoints =",numTimepoints + print("combineFitProbs: Done with numTimepoints =",numTimepoints) @@ -420,10 +420,10 @@ def dataSubset(fittingData,numDatapoints,seed=345,maxNumIndepParams=None): if maxNumIndepParams is None: maxNumIndepParams = numIndepParams numDatapoints = int(numDatapoints) for i in range(min(numDatapoints,maxNumIndepParams)): - varNames = scipy.sort( fittingData[i].keys() ) - allTimes = scipy.sort( fittingData[i][varNames[0]].keys() ) + varNames = scipy.sort( list(fittingData[i].keys()) ) + allTimes = scipy.sort( list(fittingData[i][varNames[0]].keys()) ) - possibleIndices = range(len(allTimes)) + possibleIndices = list(range(len(allTimes))) scipy.random.shuffle(possibleIndices) N = numDatapoints/maxNumIndepParams @@ -493,7 +493,7 @@ def initializeFitAllParallel(fullFittingProblem,fileNumString, for fittingProblem in fittingProblemList: numIndepParamsList.append(len(fittingProblem.fittingData)) for d in fittingProblem.fittingData: - numTimepointsList.append(len(d.values()[0])) + numTimepointsList.append(len(list(d.values())[0])) if numIndepParams is None: numIndepParams = min(numIndepParamsList) elif numIndepParams > min(numIndepParamsList): @@ -503,7 +503,7 @@ def initializeFitAllParallel(fullFittingProblem,fileNumString, minNumTimepoints = min(minNumTimepoints,maxTimesPerIndepParam) maxN = numIndepParams*minNumTimepoints - Nlist = range(deltaNumDatapoints,maxN,deltaNumDatapoints) + Nlist = list(range(deltaNumDatapoints,maxN,deltaNumDatapoints)) Nlist = Nlist + [maxN] createDirectoryStructure(fileNumString,len(fittingProblemList),Nlist) @@ -560,7 +560,7 @@ def initializeFitAllParallel(fullFittingProblem,fileNumString, save(fitProbData,fileNumString+'_fitProbData.dat') if verbose: - print "initializeFitAllParallel: Done initializing N =", N + print("initializeFitAllParallel: Done initializing N =", N) @@ -577,11 +577,11 @@ def runFitAllParallelWorker(fileNumString,endTime=None,verbose=True): # check that the fitProbData file exists if not fileNumString+"_fitProbData.dat" in os.listdir('.'): - raise Exception, "fitProbData database file not found: "+str(fitProbDatFilename) + raise Exception("fitProbData database file not found: "+str(fitProbDatFilename)) # 9.24.2013 make sure SloppyCell C compiling is working if not testCcompiling(): - raise Exception, "SloppyCell C compiling not working." + raise Exception("SloppyCell C compiling not working.") if endTime is None: endTime = scipy.inf startWallTime = time.time() @@ -589,9 +589,9 @@ def runFitAllParallelWorker(fileNumString,endTime=None,verbose=True): while elapsedTimeHours < endTime: fitProbData = loadFitProbData(fileNumString) - saveFilename = fitProbData.values()[0]['saveFilename'] + saveFilename = list(fitProbData.values())[0]['saveFilename'] - numTimepointsList = scipy.sort(fitProbData.keys()) + numTimepointsList = scipy.sort(list(fitProbData.keys())) # () find a (condition,Np,model) triplet to work on conditioni,numTimepointsi,modelj = assignWork(fileNumString) @@ -599,8 +599,8 @@ def runFitAllParallelWorker(fileNumString,endTime=None,verbose=True): fitProb = loadFitProb(saveFilename,fileNumString,conditioni,numTimepoints) if verbose: - print "runFitAllParallelWorker: Assigned work: condition",conditioni,\ - ", numTimepoints",numTimepoints,", model index",modelj + print("runFitAllParallelWorker: Assigned work: condition",conditioni,\ + ", numTimepoints",numTimepoints,", model index",modelj) # set up smallerBestSeenParams if (numTimepointsi > 0) and \ @@ -619,7 +619,7 @@ def runFitAllParallelWorker(fileNumString,endTime=None,verbose=True): updateFitProbData(fitProb,fileNumString,conditioni,numTimepoints,modelj) if verbose: - print "runFitAllParallelWorker: Finished work." + print("runFitAllParallelWorker: Finished work.") elapsedTimeHours = (time.time() - startWallTime)/3600. diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index e7800db..4c514b4 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -16,41 +16,41 @@ SIRISAACDIR = os.path.abspath(os.path.dirname(__file__)) from SloppyCell.ReactionNetworks import * -import powerLawNetwork -import transcriptionNetwork -import laguerreNetwork -import polynomialNetwork -import phosphorylationFit_netModel -import ctsnNetwork -import planetaryNetwork -import simplePhosphorylationNetwork -import simpleSinusoidalNetwork -import varyingParamsWrapper -import gaussianPrior -import optimize +from . import powerLawNetwork +from . import transcriptionNetwork +from . import laguerreNetwork +from . import polynomialNetwork +from . import phosphorylationFit_netModel +from . import ctsnNetwork +from . import planetaryNetwork +from . import simplePhosphorylationNetwork +from . import simpleSinusoidalNetwork +from . import varyingParamsWrapper +from . import gaussianPrior +from . import optimize import scipy.linalg import io, os import time -import fakeData +from . import fakeData try: from pygraphviz import * # for network figures import matplotlib.colors except ImportError: - print "Failed to import pygraphviz. Network figures unavailable." + print("Failed to import pygraphviz. Network figures unavailable.") if (os.uname()[1] != 'star'): - from simulateYeastOscillator import * + from .simulateYeastOscillator import * import pylab import subprocess # for network figures and mpi -from linalgTools import svdInverse +from .linalgTools import svdInverse import copy # used in _findUsedVariables import SloppyCell.ExprManip as ExprManip import sets -from simplePickle import load,save +from .simplePickle import load,save @@ -60,7 +60,7 @@ verboseDefault = False def UpdateOldFitProbDict(fitProbDict,recalculateCost=False): - for p in fitProbDict.values(): + for p in list(fitProbDict.values()): p._fixOldVersion() # the following line only for SloppyCell networks for m in p.fittingModelList: @@ -107,7 +107,7 @@ def generalSetup(self,fittingData,indepParamsList,indepParamNames, self.fittingModelNames = fittingModelNames self.cutoff = singValCutoff self.verbose = verbose - self.fittingModelDict = dict( zip(fittingModelNames,fittingModelList) ) + self.fittingModelDict = dict( list(zip(fittingModelNames,fittingModelList)) ) self.costDict = {} self.HessianDict = {} self.singValsDict = {} @@ -144,15 +144,15 @@ def setData(self,fittingData,indepParamsList,indepParamNames): # consistency checks if len(fittingData) != len(indepParamsList): - raise Exception, "Length of indepParamsList must equal length of fittingData" + raise Exception("Length of indepParamsList must equal length of fittingData") if len(scipy.shape(indepParamsList)) != 2: - raise Exception, "indepParamsList must be two-dimensional" + raise Exception("indepParamsList must be two-dimensional") if scipy.shape(indepParamsList)[1] != len(indepParamNames): - raise Exception, "Length of indepParamNames must equal length of second dimension of indepParamsList" + raise Exception("Length of indepParamNames must equal length of second dimension of indepParamsList") for d in fittingData: - if d.values()[0].keys() == [0]: - raise Exception, "Data for given independent parameters cannot consist of a single timepoint at t=0. See https://github.com/EmoryUniversityTheoreticalBiophysics/SirIsaac/issues/5" + if list(d.values())[0].keys() == [0]: + raise Exception("Data for given independent parameters cannot consist of a single timepoint at t=0. See https://github.com/EmoryUniversityTheoreticalBiophysics/SirIsaac/issues/5") self.fittingData = fittingData self.indepParamsList = indepParamsList @@ -186,12 +186,12 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, for name in self.fittingModelNames: fittingModel = self.fittingModelDict[name] # 4.18.2012 - if self.costDict.has_key(name) and resume: + if name in self.costDict and resume: # We've already fit this one. # Don't fit it again, but remember its parameters oldFitParameters = fittingModel.getParameters() # **** - print "fittingProblem.fitAll debug: skipping",name + print("fittingProblem.fitAll debug: skipping",name) # **** else: if self.saveFilename is not None: @@ -201,7 +201,7 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, fittingModel.initializeParameters(oldFitParameters) # 4.17.2012 - if self.smallerBestParamsDict.has_key(name): + if name in self.smallerBestParamsDict: smallerBestParams = self.smallerBestParamsDict[name] else: smallerBestParams = None @@ -242,7 +242,7 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, # 2.15.2012 # check if bestSeenParamsDict has potentially better parameters - if self.bestSeenParamsDict.has_key(name): + if name in self.bestSeenParamsDict: bestSeenCost = self.bestSeenParamsDict[name][0] if newCost > bestSeenCost: bestSeenParams = self.bestSeenParamsDict[name][1] @@ -273,18 +273,18 @@ def fitAll(self,usePreviousParams=True,fitPerfectModel=False,resume=True, # 5.6.2013 update old files if needed if not hasattr(self,'logLikelihoodDict'): self._UpdateDicts(name) - if name not in self.logLikelihoodDict.keys(): + if name not in list(self.logLikelihoodDict.keys()): self._UpdateDicts(name) if self.verbose: - print "fittingProblem.fitAll: L =",self.logLikelihoodDict[name] + print("fittingProblem.fitAll: L =",self.logLikelihoodDict[name]) # 6.1.2012 stop after seeing stopFittingN models with worse logLikelihood orderedLs = [] if not hasattr(self,'stopFittingN'): self.stopFittingN = 3 for n in self.fittingModelNames: - if self.logLikelihoodDict.has_key(n): + if n in self.logLikelihoodDict: orderedLs.append(self.logLikelihoodDict[n]) if (len(orderedLs) > self.stopFittingN): if max(orderedLs[-self.stopFittingN:]) < max(orderedLs): @@ -414,7 +414,7 @@ def numStiffSingVals(self,singVals,cutoff=None): def _StiffSingVals(self,singVals,cutoff=None): if cutoff is None: cutoff = self.cutoff - return filter(lambda s: s>cutoff, singVals) + return [s for s in singVals if s>cutoff] def plotResults(self,showTitles=True,showInfo=True, errorBars=True,exptsToPlot=None,plotDerivs=False,indices=None, @@ -425,12 +425,11 @@ def plotResults(self,showTitles=True,showInfo=True, all conditions in indepParamsList. """ if not self.fitAllDone: - print "FittingProblem.plotResults warning: " \ - +"some or all fits have not yet been performed." + print("FittingProblem.plotResults warning: " \ + +"some or all fits have not yet been performed.") if plotOnlyFitModels: - modelNames = filter(lambda n: n in self.logLikelihoodDict.keys(), - self.fittingModelNames) + modelNames = [n for n in self.fittingModelNames if n in list(self.logLikelihoodDict.keys())] else: modelNames = self.fittingModelNames @@ -482,7 +481,7 @@ def correlationWithPerfectModel(self,fittingModel,timeInterval, if indepParamsList is None: indepParamsList = self.indepParamsList if (self.perfectModel is None) and (self.saveFilename.find('wormData') < 0): - raise Exception, "fittingProblem instance has no perfectModel." + raise Exception("fittingProblem instance has no perfectModel.") corrList,errList = [],[] times = scipy.linspace(timeInterval[0],timeInterval[1],numPoints) if len(scipy.shape(var)) == 0: var = [var] # single variable @@ -491,9 +490,9 @@ def correlationWithPerfectModel(self,fittingModel,timeInterval, # of self.perfectModel and it hasn't been fit yet if (fittingModel == self.perfectModel) \ and (not hasattr(self,'perfectFitParams')): - print "correlationWithPerfectModel: Warning: Attempting to test " \ + print("correlationWithPerfectModel: Warning: Attempting to test " \ "fit self.perfectModel, but self.perfectModel has not yet " \ - "been fit. Returning nan." + "been fit. Returning nan.") if returnErrors: return [scipy.nan],[scipy.nan] else: @@ -504,7 +503,7 @@ def correlationWithPerfectModel(self,fittingModel,timeInterval, # 7.12.2012 for use with speedDict from George worm data if self.saveFilename.find('wormData') >= 0: wormData = speedDict[indepParams] - times = scipy.sort(wormData.keys()) + times = scipy.sort(list(wormData.keys())) perfectData = scipy.array([[ wormData[time][0] for time in times ]]) #print scipy.shape(perfectData) #print scipy.shape(data) @@ -527,7 +526,7 @@ def correlationWithPerfectModel(self,fittingModel,timeInterval, pylab.figure() cW = Plotting.ColorWheel() numRows = scipy.ceil(float(len(var))/numCols) - for i,v,d,pd in zip(range(len(var)),var,data,perfectData): + for i,v,d,pd in zip(list(range(len(var))),var,data,perfectData): d = flat(d) pd = flat(pd) corr,p = scipy.stats.pearsonr(d,pd) @@ -536,7 +535,7 @@ def correlationWithPerfectModel(self,fittingModel,timeInterval, errListI.append(meansqerr) if makePlots: Plotting.subplot(numRows,numCols,i+1) - color,tmp,tmp = cW.next() + color,tmp,tmp = next(cW) pylab.plot(d,'-',color=color,label="Model "+str(v)) pylab.plot(pd,'o',color=color,label="Actual "+str(v)) pylab.ylabel(v) @@ -561,14 +560,14 @@ def correlationWithPerfectModel(self,fittingModel,timeInterval, pylab.figure() cW = Plotting.ColorWheel() numRows = scipy.ceil(float(len(var))/numCols) - for i,v,d,pd in zip(range(len(var)),var,data,perfectData): + for i,v,d,pd in zip(list(range(len(var))),var,data,perfectData): corr,p = scipy.stats.pearsonr(d,pd) corrListI.append(corr) meansqerr = scipy.mean( (d - pd)**2 ) errListI.append(meansqerr) if makePlots: Plotting.subplot(numRows,numCols,i+1) - color,tmp,tmp = cW.next() + color,tmp,tmp = next(cW) pylab.plot(d,pd,'o',color=color) pylab.ylabel("Actual "+str(v)) pylab.xlabel("Model "+str(v)) @@ -602,8 +601,8 @@ def outOfSampleCorrelation(self,fittingModel,timeInterval, #print "outOfSampleCorrelation: using seed",inputsSeed except: scipy.random.seed(seed) - print "outOfSampleCorrelation: Warning: error finding inputsSeed" - indepParamsList = speedDict.keys() + print("outOfSampleCorrelation: Warning: error finding inputsSeed") + indepParamsList = list(speedDict.keys()) scipy.random.shuffle(indepParamsList) randomIndepParams = indepParamsList[-numTests:] #randomIndepParams = indepParamsList[:40] # for in-sample @@ -616,7 +615,7 @@ def outOfSampleCorrelation(self,fittingModel,timeInterval, randomIndepParams = scipy.rand(numTests,len(indepParamsRanges))* \ (ipr[:,1]-ipr[:,0]) + ipr[:,0] if sampleInLog: randomIndepParams = scipy.exp(randomIndepParams) - if verbose: print randomIndepParams + if verbose: print(randomIndepParams) return self.correlationWithPerfectModel(fittingModel,timeInterval, var,indepParamsList=randomIndepParams,**kwargs) @@ -629,10 +628,9 @@ def calculateAllOutOfSampleCorrelelation(self,timeInterval,var, if not hasattr(self,'outOfSampleCorrelationDict'): self.outOfSampleCorrelationDict = {} # we want only models that have actually been fit - fitModelNames = filter(lambda name: \ - self.logLikelihoodDict.has_key(name), self.fittingModelNames) + fitModelNames = [name for name in self.fittingModelNames if name in self.logLikelihoodDict] for fName in fitModelNames: - if verbose: print "calculateAllOutOfSampleCorrelelation:",fName + if verbose: print("calculateAllOutOfSampleCorrelelation:",fName) f = self.fittingModelDict[fName] corrs = self.outOfSampleCorrelation(f,timeInterval,var, indepParamsRanges,numTests=numTests,verbose=veryVerbose,**kwargs) @@ -649,30 +647,28 @@ def maxLogLikelihoodName(self,maxIndex=-4,verbose=True): one the winner.) """ if not hasattr(self,'logLikelihoodDict'): - print "maxLogLikelihoodName: no log-likelihoods. Returning None." + print("maxLogLikelihoodName: no log-likelihoods. Returning None.") return None - modelsThatHaveBeenFit = filter( \ - lambda name: self.logLikelihoodDict.has_key(name), \ - self.fittingModelNames) + modelsThatHaveBeenFit = [name for name in self.fittingModelNames if name in self.logLikelihoodDict] numModelsFit = len(modelsThatHaveBeenFit) if numModelsFit == 0: - print "maxLogLikelihoodName: numModelsFit == 0. Returning None." + print("maxLogLikelihoodName: numModelsFit == 0. Returning None.") return None bestIndex = scipy.argsort( \ [self.logLikelihoodDict[n] for n in modelsThatHaveBeenFit ])[-1] bestModelName = self.fittingModelNames[bestIndex] if not self.fitAllDone: - print "maxLogLikelihoodName: Warning: " \ + print("maxLogLikelihoodName: Warning: " \ "Only "+str(numModelsFit)+" of " \ - +str(len(self.fittingModelNames))+" fits have been performed." + +str(len(self.fittingModelNames))+" fits have been performed.") # check that we're not past maxIndex if (bestIndex > (maxIndex+numModelsFit)%numModelsFit) \ or (numModelsFit < -maxIndex): if verbose: - print "maxLogLikelihoodName: bestIndex > maxIndex. Returning None." + print("maxLogLikelihoodName: bestIndex > maxIndex. Returning None.") return None return bestModelName @@ -698,14 +694,14 @@ def plotModelResults(self,model,filename=None,indices=None, """ # choose the indices we want if indices is None: - indices = range(len(self.indepParamsList)) + indices = list(range(len(self.indepParamsList))) fittingData = [ self.fittingData[i] for i in indices ] indepParamsList = [ self.indepParamsList[i] for i in indices ] # handle out-of-sample data if given if outOfSampleData is not None: if len(outOfSampleData) != len(self.fittingData): - raise Exception, "Length of outOfSampleData must match length of self.fittingData" + raise Exception("Length of outOfSampleData must match length of self.fittingData") outData = [ outOfSampleData[i] for i in indices ] else: outData = None @@ -820,7 +816,7 @@ def __init__(self,complexityList,fittingData,indepParamsList=[[]], useClampedPreminimization=useClampedPreminimization,**kwargs) for complexity,image in zip(complexityList,graphListImages) ] else: - numSpecies = len(fittingData[0].keys()) + numSpecies = len(list(fittingData[0].keys())) fittingModelList = [ \ PowerLawFittingModel_FullyConnected(numSpecies,fracParams=complexity, outputNames=outputNames,indepParamNames=indepParamNames,image=image, @@ -860,7 +856,7 @@ def networkFigureBestModel(self,filename,modelName=None,**kwargs): params = bestModel.getParameters() netList = bestModel.networkList for nodeIndex in range(len(netList)): - for neighborIndex in netList[nodeIndex][1].keys(): + for neighborIndex in list(netList[nodeIndex][1].keys()): pG = params.getByKey('g_'+str(nodeIndex)+'_'+str(neighborIndex)) pH = params.getByKey('h_'+str(nodeIndex)+'_'+str(neighborIndex)) if pH is not None: @@ -995,14 +991,14 @@ def networkFigureBestModel(self,filename,modelName=None,indepParamMax=None, if indepParamMax is None: indepParamMax = [ max(l) for l in scipy.transpose(self.indepParamsList) ] - print indepParamMax + print(indepParamMax) # 7.26.2012 also pass edge parameters params = bestModel.getParameters() netList = copy.deepcopy( bestModel.networkList ) for nodeIndex in range(len(netList)): - for neighborIndex in netList[nodeIndex][1].keys(): - if params.has_key('w_'+str(nodeIndex)+'_'+str(neighborIndex)): + for neighborIndex in list(netList[nodeIndex][1].keys()): + if 'w_'+str(nodeIndex)+'_'+str(neighborIndex) in params: p = params.getByKey('w_'+str(nodeIndex)+'_'+str(neighborIndex))/weightScale if neighborIndex < bestModel.numInputs: p = p*indepParamMax[neighborIndex] @@ -1015,7 +1011,7 @@ def networkFigureBestModel(self,filename,modelName=None,indepParamMax=None, # 6.2.2016 also pass self-weight parameters if selfConnections: for nodeIndex in range(bestModel.numInputs,len(netList)): - if params.has_key('wself_'+str(nodeIndex)): + if 'wself_'+str(nodeIndex) in params: p = params.getByKey('wself_'+str(nodeIndex))/weightScale if swapSign: param = -p else: param = p @@ -1211,15 +1207,15 @@ class FittingModel: fittingData should be the same length as indepParamsList. """ def fitToData(self,fittingData,indepParamsList,verbose=verboseDefault): - print "Oops! fitToData needs to be implemented!" + print("Oops! fitToData needs to be implemented!") raise Exception def currentCost(self,fittingData,indepParamsList): - print "Oops! currentCost needs to be implemented!" + print("Oops! currentCost needs to be implemented!") raise Exception def currentHessian(self,fittingData,indepParamsList): - print "Oops! currentHessian needs to be implemented!" + print("Oops! currentHessian needs to be implemented!") raise Exception #def plotResults(self,fittingData,indepParamsList): @@ -1253,7 +1249,7 @@ def plotResults(self,fittingData,indepParamsList,numCols=None, if maxTime is None: allDataTimes = scipy.concatenate([ scipy.concatenate([ \ - varDat.keys() for varDat in data.values()]) \ + list(varDat.keys()) for varDat in list(data.values())]) \ for data in fittingData ]) maxTime = 1.1 * max(allDataTimes) times = scipy.linspace(minTime,maxTime,numPoints) @@ -1267,10 +1263,10 @@ def plotResults(self,fittingData,indepParamsList,numCols=None, outOfSampleData = [ None for d in fittingData ] if not plotSeparately: # plot everything on one subplot - raise Exception, "Error: plotSeparately=False not implemented" + raise Exception("Error: plotSeparately=False not implemented") else: # assumes first dataset includes all species of interest - varsWithData = fittingData[0].keys() + varsWithData = list(fittingData[0].keys()) if dataToPlot is None: # sort in the order they're found in self.speciesNames @@ -1301,7 +1297,7 @@ def plotResults(self,fittingData,indepParamsList,numCols=None, ymins,ymaxs,xmins,xmaxs = [],[],[],[] # determine color and line format # (this may not be completely consistent) - cWnext = cW.next() + cWnext = next(cW) if linestyle is None: lineFmt = cWnext[2] else: lineFmt = linestyle if fmt is None: @@ -1354,7 +1350,7 @@ def plotResults(self,fittingData,indepParamsList,numCols=None, if plotFittingData and (name in varsWithData): # plot data points - dataTimes = data[name].keys() + dataTimes = list(data[name].keys()) dataVals = [ data[name][time][0]+yoffset for time in dataTimes ] dataStds = [ data[name][time][1] for time in dataTimes ] @@ -1364,7 +1360,7 @@ def plotResults(self,fittingData,indepParamsList,numCols=None, if (outData is not None) and (name in varsWithData): # plot out-of-sample data points - dataTimes = outData[name].keys() + dataTimes = list(outData[name].keys()) dataVals = [ outData[name][time][0]+yoffset \ for time in dataTimes ] dataStds = [ outData[name][time][1] for time in dataTimes ] @@ -1386,15 +1382,15 @@ def plotResults(self,fittingData,indepParamsList,numCols=None, return axArray #returnList def initializeParameters(self,paramList): - print "Oops! initializeParameters needs to be implemented!" + print("Oops! initializeParameters needs to be implemented!") raise Exception def evaluate(self,time,indepParams): - print "Oops! evaluate needs to be implemented!" + print("Oops! evaluate needs to be implemented!") raise Exception def evaluateVec(self,times,var,indepParams): - print "Oops! evaluateVec needs to be implemented!" + print("Oops! evaluateVec needs to be implemented!") raise Exception class SloppyCellFittingModel(FittingModel): @@ -1442,9 +1438,9 @@ def generalSetup(self,SloppyCellNet,indepParamNames,image=None, minimizerVerbose=False): self.net = SloppyCellNet if includeDerivs: # 9.2.2011 - for speciesName in self.net.rateRules.keys(): + for speciesName in list(self.net.rateRules.keys()): rateRule = self.net.rateRules.getByKey(speciesName) - defaultCompartment = self.net.species.values()[0].compartment + defaultCompartment = list(self.net.species.values())[0].compartment self.net.addSpecies('ddt_'+speciesName,defaultCompartment) self.net.addAssignmentRule('ddt_'+speciesName,rateRule) self.initialParameters = self.getParameters() @@ -1561,34 +1557,34 @@ def fitToData(self,fittingData,indepParamsList=[[]], originalInitialParams = self.getParameters() preClampCost = self.currentCost(fittingData,indepParamsList) allClampedParams = KeyedList() - for speciesID in fittingData[0].keys(): - if self.verbose: print "SloppyCellFittingModel.fitToData: " \ - "Clamped version, only fitting",speciesID,"..." + for speciesID in list(fittingData[0].keys()): + if self.verbose: print("SloppyCellFittingModel.fitToData: " \ + "Clamped version, only fitting",speciesID,"...") self.initializeParameters(originalInitialParams) clampedParams = self.fitToData(fittingData,indepParamsList, _unclampedSpeciesID=speciesID) - for paramName,paramValue in clampedParams.items(): - if not allClampedParams.has_key(paramName): + for paramName,paramValue in list(clampedParams.items()): + if paramName not in allClampedParams: allClampedParams.setByKey(paramName,[]) allClampedParams.getByKey(paramName).append(paramValue) # use average value of all seen fit values for each parameter averageClampedParams = KeyedList() - for paramName,paramValueList in allClampedParams.items(): + for paramName,paramValueList in list(allClampedParams.items()): averageClampedParams.setByKey(paramName,scipy.mean(paramValueList)) # 10.3.2011 ****************** - if self.verbose: print "SloppyCellFittingModel.fitToData: " \ - "allClampedParams =",allClampedParams - if self.verbose: print "SloppyCellFittingModel.fitToData: " \ - "averageClampedParams =",averageClampedParams + if self.verbose: print("SloppyCellFittingModel.fitToData: " \ + "allClampedParams =",allClampedParams) + if self.verbose: print("SloppyCellFittingModel.fitToData: " \ + "averageClampedParams =",averageClampedParams) # **************************** self.initializeParameters(averageClampedParams) # 10.31.2011 check that clamping hasn't made the fit worse postClampCost = self.currentCost(fittingData,indepParamsList) if postClampCost > preClampCost: - if self.verbose: print "SloppyCellFittingModel.fitToData: " \ + if self.verbose: print("SloppyCellFittingModel.fitToData: " \ "clampedParams are worse than initial ones. " \ - "Using initial parameters." + "Using initial parameters.") self.initializeParameters(originalInitialParams) if (self.ensGen != None) or (fittingDataDerivs is None): @@ -1605,14 +1601,14 @@ def fitToData(self,fittingData,indepParamsList=[[]], # make ensemble initialParameters = self.getParameters() # 10.3.2011 ************************* - if self.verbose: print "SloppyCellFittingModel.fitToData: " \ - "generating ensemble for these parameters:",initialParameters.keys() + if self.verbose: print("SloppyCellFittingModel.fitToData: " \ + "generating ensemble for these parameters:",list(initialParameters.keys())) # *********************************** if hasattr(self,'ensemble') and (not createEnsemble): ens = self.ensemble ratio = self.acceptanceRatio - if self.verbose: print "SloppyCellFittingModel.fitToData: " \ - "using ensemble stored in self.ensemble." + if self.verbose: print("SloppyCellFittingModel.fitToData: " \ + "using ensemble stored in self.ensemble.") elif self.ensGen != None: startTimeEns = time.clock() if self.numprocs > 1: @@ -1622,8 +1618,8 @@ def fitToData(self,fittingData,indepParamsList=[[]], ens,ratio = self.ensGen.generateEnsemble(dataModel, initialParameters,verbose=self.verbose) if ens == [[]]: # 5.16.2012 we had weird error (see notes) - print "SloppyCellFittingModel.fitToData: Ensemble generation " \ - "failed. Using self.initialParameters." + print("SloppyCellFittingModel.fitToData: Ensemble generation " \ + "failed. Using self.initialParameters.") ens = [self.initialParameters] ensTimeSeconds = time.clock() - startTimeEns self.ensTimeSecondsList.append(ensTimeSeconds) @@ -1634,7 +1630,7 @@ def fitToData(self,fittingData,indepParamsList=[[]], # 4.17.2012 if otherStartingPoint is not None: # ******** - print "SloppyCellFittingModel.fitToData: Using otherStartingPoint" + print("SloppyCellFittingModel.fitToData: Using otherStartingPoint") #print " with parameters",otherStartingPoint # ******** if len(ens) == 1: # 5.16.2012 we had weird error (see notes) @@ -1647,8 +1643,8 @@ def fitToData(self,fittingData,indepParamsList=[[]], # 5.1.2013 warn if acceptance ratio is small if self.acceptanceRatio < 1./len(self.ensemble): - print "SloppyCellFittingModel.fitToData: WARNING: " \ - "Small ensemble acceptance ratio ("+str(self.acceptanceRatio)+")" + print("SloppyCellFittingModel.fitToData: WARNING: " \ + "Small ensemble acceptance ratio ("+str(self.acceptanceRatio)+")") bestCost = scipy.inf bestParams = initialParameters @@ -1669,7 +1665,7 @@ def fitToData(self,fittingData,indepParamsList=[[]], self.localFitToData(fittingData,dataModel,retall=True, \ startParams=params) else: # 8.30.2012 XXX have arguments come from elsewhere - print "SloppyCellFittingModel.fitToData: Calling fitToDataDerivs" + print("SloppyCellFittingModel.fitToData: Calling fitToDataDerivs") self.initializeParameters(params) fitParams,afterMinCostList,afterExpCostList,convFlag = \ self.fitToDataDerivs(fittingData,fittingDataDerivs, \ @@ -1698,8 +1694,8 @@ def fitToData(self,fittingData,indepParamsList=[[]], fitCost = scipy.inf if self.verbose: - print "SloppyCellFittingModel.fitToData: Cost = ", \ - fitCost,"(",convFlag,")" + print("SloppyCellFittingModel.fitToData: Cost = ", \ + fitCost,"(",convFlag,")") self.ensembleAfterFit.append(fitParams) self.numCostCallsList.append(numCostCalls) self.numGradCallsList.append(numGradCalls) @@ -1713,7 +1709,7 @@ def fitToData(self,fittingData,indepParamsList=[[]], else: # run in parallel 3.21.2012 outputDict = self.localFitToData_parallel(self.numprocs,fittingData, dataModel,ens,indepParamsList) - indices = scipy.sort(outputDict.keys()) + indices = scipy.sort(list(outputDict.keys())) self.costList = [ outputDict[i][2] for i in indices ] bestIndex = scipy.argsort(self.costList)[0] bestCost = self.costList[bestIndex] @@ -1727,11 +1723,11 @@ def fitToData(self,fittingData,indepParamsList=[[]], self.ensembleAfterFit = [ outputDict[i][0] for i in indices ] if self.verbose: for fitCost,convFlag in zip(self.costList,self.convFlagList): - print "SloppyCellFittingModel.fitToData: Cost =", \ - fitCost,"(",convFlag,")" + print("SloppyCellFittingModel.fitToData: Cost =", \ + fitCost,"(",convFlag,")") if self.verbose: - print "SloppyCellFittingModel.fitToData: Best-fit cost = ",bestCost + print("SloppyCellFittingModel.fitToData: Best-fit cost = ",bestCost) self.bestParams = bestParams self.net.setOptimizables(bestParams) self.convFlag = bestConvFlag @@ -1769,8 +1765,8 @@ def localFitToData(self,fittingData,dataModel,retall=False,startParams=None): raise # 3.21.2012 commented this out for debugging. except: - print "FittingProblem localFitToData:" - print " Warning: Minimization failed. (flag 5)" + print("FittingProblem localFitToData:") + print(" Warning: Minimization failed. (flag 5)") fitParameters = initialParameters convFlag = 5 cost = scipy.inf @@ -1819,13 +1815,13 @@ def localFitToData_parallel(self,numprocs,fittingData,dataModel, os.remove(outputFilename) os.remove(prefix+"stdout.txt") except IOError: - print "localFitToData_parallel error:" + print("localFitToData_parallel error:") stdoutFile = open(prefix+"stdout.txt") stdout = stdoutFile.read() - print stdout + print(stdout) os.remove(prefix+"stdout.txt") - raise Exception, "localFitToData_parallel:" \ - + " error in localFitParallel.py" + raise Exception("localFitToData_parallel:" \ + + " error in localFitParallel.py") return output @@ -2004,9 +2000,9 @@ def evaluateVec(self,times,var,indepParams,defaultValue=0.): allTimes = scipy.sort( [0.]+list(times)+[eps] ) traj = Dynamics.integrate(self.net, allTimes, return_derivs=True) except Utility.SloppyCellException: - print "SloppyCellFittingModel.evaluateVec: " \ + print("SloppyCellFittingModel.evaluateVec: " \ "WARNING: Exception in integration. " \ - "Returning default value for all requested times." + "Returning default value for all requested times.") if singleVariable: return scipy.array([ defaultValue for time in times ]) else: @@ -2037,7 +2033,7 @@ def _SloppyCellNet(self,indepParams=[],i=0): return newNet def _SloppyCellNetID(self,indepParams,i): - indepParamsID = str(zip(self.indepParamNames,indepParams)) \ + indepParamsID = str(list(zip(self.indepParamNames,indepParams))) \ .replace("'","").replace(" ","").replace(",","_") \ .replace(".","_").replace("[","_").replace("]","_") \ .replace("(","_").replace(")","_")+str(i) @@ -2095,7 +2091,7 @@ def _SloppyCellDataModel(self,data,indepParamsList=[[]],exptID='data', # make a copy # of the SloppyCell network for each experimental condition - for i,indepParams,d in zip(range(len(data)),indepParamsList,data): + for i,indepParams,d in zip(list(range(len(data))),indepParamsList,data): newNet = self._SloppyCellNet(indepParams,i) newNetID = newNet.get_id() newExpt = Experiment(exptID+newNetID) @@ -2107,14 +2103,14 @@ def _SloppyCellDataModel(self,data,indepParamsList=[[]],exptID='data', # set rates to zero, remove dynamic variables and # things that refer to them, and add a dummy # dynamic variable - keyList = d.keys() - for visibleSpecies in d.keys(): + keyList = list(d.keys()) + for visibleSpecies in list(d.keys()): newNet.addRateRule(visibleSpecies,'0.') - for visibleSpecies in d.keys(): + for visibleSpecies in list(d.keys()): newNet.remove_component(visibleSpecies) #XXXXX newNet.remove_component('ddt_'+visibleSpecies) dName = 'dummy_variable' - newNet.addSpecies(dName,newNet.compartments.keys()[0],'0.') + newNet.addSpecies(dName,list(newNet.compartments.keys())[0],'0.') newNet.addRateRule(dName,'0.') newNet.compile() @@ -2124,17 +2120,17 @@ def _SloppyCellDataModel(self,data,indepParamsList=[[]],exptID='data', exptData = {} uniqueID = 0 # for each data point, add a variable that calculates that derivative - for speciesName in d.keys()[::-1]: - for time in d[speciesName].keys(): + for speciesName in list(d.keys())[::-1]: + for time in list(d[speciesName].keys()): uniqueID += 1 valueName = speciesName+'_deriv_'+str(uniqueID) # add species that will calculate model value - defaultCompartment = newNet.species.values()[0].compartment + defaultCompartment = list(newNet.species.values())[0].compartment newNet.addSpecies(valueName,defaultCompartment) rateRule = rateRulesBefore.getByKey(speciesName) # set visible species to known values # 11.29.2012 [::-1] = quick hack for bug - for visibleSpecies in d.keys()[::-1]: + for visibleSpecies in list(d.keys())[::-1]: curVal = d[visibleSpecies][time][0] rateRule = rateRule.replace(visibleSpecies,str(curVal)) newNet.addAssignmentRule(valueName,rateRule) @@ -2150,7 +2146,7 @@ def _SloppyCellDataModel(self,data,indepParamsList=[[]],exptID='data', newExpt.update_data({newNetID: exptData}) newExpt.set_fixed_sf( dict( [(speciesName, 1.) \ - for speciesName in newNet.species.keys()] )) + for speciesName in list(newNet.species.keys())] )) netList.append(newNet) exptList.append(newExpt) @@ -2161,17 +2157,15 @@ def _SloppyCellDataModel(self,data,indepParamsList=[[]],exptID='data', # add priors if (self.priorSigma != None) and includePriors: - for paramName in netList[0].GetParameters().keys(): #self.getParameters().keys() + for paramName in list(netList[0].GetParameters().keys()): #self.getParameters().keys() # Get width of prior from self.priorSigma # 4.29.2013 priorSigma can be a list of length 2 tuples if type(self.priorSigma) == list: - l = filter(lambda n: paramName.startswith(n[0]), - self.priorSigma) + l = [n for n in self.priorSigma if paramName.startswith(n[0])] if len(l) < 1: - raise Exception,"No matching prior for "+str(paramName) + raise Exception("No matching prior for "+str(paramName)) elif len(l) > 1: - raise Exception, \ - "Multiple matching priors for "+str(paramName) + raise Exception("Multiple matching priors for "+str(paramName)) else: sigma = l[0][1] else: @@ -2208,11 +2202,11 @@ def _SloppyCellNetClamped(self,net,unclampedSpeciesID,data): eventDict = {} # for any species with data that's not unclampedSpeciesID... - for dataSpeciesID in data.keys(): + for dataSpeciesID in list(data.keys()): if dataSpeciesID != unclampedSpeciesID: # ...add events that update the clamped variables... - speciesData = data[dataSpeciesID].items() + speciesData = list(data[dataSpeciesID].items()) speciesData.sort() # time order speciesDataTimes = [ dataPoint[0] for dataPoint in speciesData ] speciesDataVals = [ dataPoint[1][0] for dataPoint in speciesData ] @@ -2230,7 +2224,7 @@ def _SloppyCellNetClamped(self,net,unclampedSpeciesID,data): midpointTimeBefore = \ 0.5*(speciesDataTimes[i-1]+speciesDataTimes[i]) eventTrigger = "gt(time,"+str(midpointTimeBefore)+")" #geq( - if not eventDict.has_key(eventTrigger): + if eventTrigger not in eventDict: eventDict[eventTrigger] = {} val = speciesDataVals[i] eventDict[eventTrigger].update({dataSpeciesID: val}) @@ -2238,9 +2232,9 @@ def _SloppyCellNetClamped(self,net,unclampedSpeciesID,data): # {dataSpeciesID: val}) # ...and remove old rule. - if dataSpeciesID in clampedNet.rateRules.keys(): + if dataSpeciesID in list(clampedNet.rateRules.keys()): clampedNet.rateRules.removeByKey(dataSpeciesID) - if dataSpeciesID in clampedNet.assignmentRules.keys(): + if dataSpeciesID in list(clampedNet.assignmentRules.keys()): clampedNet.assignmentRules.removeByKey(dataSpeciesID) # (add assignment rule _before_ the rest) @@ -2251,7 +2245,7 @@ def _SloppyCellNetClamped(self,net,unclampedSpeciesID,data): clampedNet.setInitialVariableValue(dataSpeciesID,0.) # add the events - for eventTrigger,assignmentDict in eventDict.items(): + for eventTrigger,assignmentDict in list(eventDict.items()): id = eventTrigger clampedNet.add_event(id,eventTrigger,assignmentDict) @@ -2270,7 +2264,7 @@ def _findUsedVariables(self,net,data): Find all variable names used to calculate the variables in data.keys() in the given SloppyCell network 'net'. """ - usedVariables = sets.Set(data.keys()) + usedVariables = sets.Set(list(data.keys())) compList = [net.functionDefinitions,net.constraints, \ net.assignmentRules,net.rateRules,net.algebraicRules] @@ -2279,12 +2273,12 @@ def _findUsedVariables(self,net,data): while len(usedVariables) > oldLen: oldLen = len(usedVariables) for comp in compList: - for id,expr in comp.items(): + for id,expr in list(comp.items()): if id in usedVariables: usedVariables.union_update(ExprManip.extract_vars(expr)) # include initial values usedVarsSoFar = tuple(usedVariables) - for var in net.variables.keys(): + for var in list(net.variables.keys()): #for var in usedVarsSoFar: # XXX why doesn't this work? #are we including too many initial variables as optimizable? initVarExpr = net.getInitialVariableValue(var) @@ -2361,7 +2355,7 @@ def expectedAvgIntegratedErr(self,fittingData,indepParamsList=[[]]): scm = self._SloppyCellDataModel(fittingData,indepParamsList, includePriors=False) residualValues = scipy.array( scm.res(self.getParameters()) ) - sigmas = scipy.array( [ r.ySigma for r in scm.residuals.values() ] ) + sigmas = scipy.array( [ r.ySigma for r in list(scm.residuals.values()) ] ) return scipy.average( (sigmas*residualValues)**2 ) class yeastOscillatorFittingModel(FittingModel): @@ -2380,7 +2374,7 @@ def __init__(self,indepParamNames): allVarNames = ['S1','S2','S3','S4','N2','A3','S4_ex', 'ddt_S1','ddt_S2','ddt_S3','ddt_S4','ddt_N2', 'ddt_A3','ddt_S4_ex'] - self.varIndexDict = dict(zip(allVarNames,range(len(allVarNames)))) + self.varIndexDict = dict(list(zip(allVarNames,list(range(len(allVarNames)))))) self.varIndexDict['S4ex'] = self.varIndexDict['S4_ex'] # compatibility for v in allVarNames[:7]: self.varIndexDict[(v,'time')] = self.varIndexDict[v] + 7 @@ -2391,7 +2385,7 @@ def __init__(self,indepParamNames): 'S4_init','N2_init','A3_init', 'S4ex_init','temperature'] indepParamIndexDict = \ - dict(zip(allIndepParamNames,range(len(allIndepParamNames)))) + dict(list(zip(allIndepParamNames,list(range(len(allIndepParamNames)))))) # so I know which model parameter corresponds to each indepParam self.indepParamIndices = \ [ indepParamIndexDict[name] for name in self.indepParamNames ] @@ -2429,23 +2423,23 @@ def typicalIndepParamRanges(self,upperRangeMultiple=1.): return ICranges def fitToData(self,fittingData,indepParamsList,verbose=verboseDefault): - print "Oops! fitToData needs to be implemented!" + print("Oops! fitToData needs to be implemented!") raise Exception def currentCost(self,fittingData,indepParamsList): - print "Oops! currentCost needs to be implemented!" + print("Oops! currentCost needs to be implemented!") raise Exception def currentHessian(self,fittingData,indepParamsList): - print "Oops! currentHessian needs to be implemented!" + print("Oops! currentHessian needs to be implemented!") raise Exception def initializeParameters(self,paramList): - print "Oops! initializeParameters needs to be implemented!" + print("Oops! initializeParameters needs to be implemented!") raise Exception def evaluate(self,time,indepParams): - print "Oops! evaluate needs to be implemented!" + print("Oops! evaluate needs to be implemented!") raise Exception def evaluateVec(self,times,var,indepParams,useMemoization=True): @@ -2458,12 +2452,12 @@ def evaluateVec(self,times,var,indepParams,useMemoization=True): Note to debuggers: 'Memoizes' results for faster performance. """ - if var in self.varIndexDict.keys(): # single var + if var in list(self.varIndexDict.keys()): # single var desiredVarIndices = self.varIndexDict[var] elif type(var) is not str: # iterable desiredVarIndices = [ self.varIndexDict[v] for v in var ] else: - raise Exception, "Unknown variable "+str(var) + raise Exception("Unknown variable "+str(var)) params = self.defaultIndepParams @@ -2473,7 +2467,7 @@ def evaluateVec(self,times,var,indepParams,useMemoization=True): temperature = params[7] key = (tuple(times),temperature,tuple(initialConditions)) - if self.savedEvalsDict.has_key(key) and useMemoization: + if key in self.savedEvalsDict and useMemoization: returnedTimes,data,returnedParams = self.savedEvalsDict[key] else: returnedTimes,data,returnedParams = \ @@ -2483,16 +2477,16 @@ def evaluateVec(self,times,var,indepParams,useMemoization=True): try: save(self.savedEvalsDict,self._savedEvalsFilename) except: - print "FittingProblem.YeastOscillatorFittingModel." \ - "evaluateVec: Unable to save memoization dictionary." + print("FittingProblem.YeastOscillatorFittingModel." \ + "evaluateVec: Unable to save memoization dictionary.") #pass if len(times) != scipy.shape(data)[1]: - print "FittingProblem.YeastOscillatorFittingModel.evaluateVec " \ + print("FittingProblem.YeastOscillatorFittingModel.evaluateVec " \ "WARNING: Returning different number of timepoints than " \ - "requested." - print "shape(times) =",scipy.shape(times) - print "shape(data) =",scipy.shape(data) + "requested.") + print("shape(times) =",scipy.shape(times)) + print("shape(data) =",scipy.shape(data)) return data[desiredVarIndices] @@ -2553,8 +2547,8 @@ def generateEnsemble(self,dataModel,initialParameters,returnCosts=False, Also includes the initialParameters as the last set of parameters. """ if verbose: - print "generateEnsemble: Generating parameter ensemble with " \ - +str(self.totalSteps)+" total members, using 1 processor." + print("generateEnsemble: Generating parameter ensemble with " \ + +str(self.totalSteps)+" total members, using 1 processor.") ensembleFunc = Ensembles.ensemble if self.logParams: ensembleFunc = Ensembles.ensemble_log_params @@ -2563,8 +2557,8 @@ def generateEnsemble(self,dataModel,initialParameters,returnCosts=False, try: initialCost = dataModel.cost(initialParameters) except Utility.SloppyCellException: - print "generateEnsemble: SloppyCellException in evaluating cost " \ - "for initial parameters. Returning empty ensemble." + print("generateEnsemble: SloppyCellException in evaluating cost " \ + "for initial parameters. Returning empty ensemble.") initialCost = scipy.inf if returnCosts: return [[]],None,[None] else: return [[]],None @@ -2576,8 +2570,8 @@ def generateEnsemble(self,dataModel,initialParameters,returnCosts=False, initialHess = dataModel.GetJandJtJ(initialParameters)[1] u, sing_vals, vh = scipy.linalg.svd(0.5 * initialHess) except (Utility.SloppyCellException,ValueError,scipy.linalg.LinAlgError): - print "generateEnsemble: Exception in evaluating JtJ " \ - "for initial parameters. Returning empty ensemble." + print("generateEnsemble: Exception in evaluating JtJ " \ + "for initial parameters. Returning empty ensemble.") if returnCosts: return [[]],None,[None] else: return [[]],None @@ -2591,7 +2585,7 @@ def generateEnsemble(self,dataModel,initialParameters,returnCosts=False, temperature=self.temperature*dof, \ sing_val_cutoff=self.sing_val_cutoff,hess=initialHess) if verbose: - print "Ensemble done. Acceptance ratio = "+str(ratio) + print("Ensemble done. Acceptance ratio = "+str(ratio)) skip = int( scipy.floor(self.totalSteps/(self.keepSteps-1)) ) keptEns = scipy.concatenate( (ens[::-skip][:self.keepSteps-1], [initialParameters]) ) @@ -2609,9 +2603,9 @@ def generateEnsemble_parallel(self,numprocs,dataModel,initialParameters, (generateEnsemble) in parallel. """ if verbose: - print "generateEnsemble_parallel: Generating parameter ensemble with " \ + print("generateEnsemble_parallel: Generating parameter ensemble with " \ +str(self.totalSteps)+" total members, using " \ - +str(numprocs)+" processors." + +str(numprocs)+" processors.") scipy.random.seed() prefix = "temporary_" + str(os.getpid()) + "_generateEnsemble_parallel_" @@ -2642,20 +2636,20 @@ def generateEnsemble_parallel(self,numprocs,dataModel,initialParameters, os.remove(outputFilename) os.remove(prefix+"stdout.txt") except IOError: - print "generateEnsemble_parallel error:" + print("generateEnsemble_parallel error:") stdoutFile = open(prefix+"stdout.txt") stdout = stdoutFile.read() - print stdout + print(stdout) os.remove(prefix+"stdout.txt") - raise Exception, "generateEnsemble_parallel:" \ - + " error in generateEnsembleParallel.py" + raise Exception("generateEnsemble_parallel:" \ + + " error in generateEnsembleParallel.py") return output def _dataModelNumDataPoints(self,dataModel): - return scipy.sum( [ [ [ len(varDat) for varDat in nameDat.values() ] \ - for nameDat in exptDat.GetData().values() ] \ - for exptDat in dataModel.exptColl.values() ] ) + return scipy.sum( [ [ [ len(varDat) for varDat in list(nameDat.values()) ] \ + for nameDat in list(exptDat.GetData().values()) ] \ + for exptDat in list(dataModel.exptColl.values()) ] ) class TranscriptionNetworkFittingModel(SloppyCellFittingModel): @@ -2737,8 +2731,7 @@ def generateData_deriv(self,varsList,numConditions,noiseFracSize, #if indepParamNames is None: indepParamNames = self.indepParamNames nonICindepParamIndices = \ - filter( lambda i: not indepParamNames[i].endswith('_init'), \ - range(len(indepParamNames)) ) + [i for i in range(len(indepParamNames)) if not indepParamNames[i].endswith('_init')] # () generate random independent parameters and times if indepParamsRanges is None: @@ -2770,7 +2763,7 @@ def generateData_deriv(self,varsList,numConditions,noiseFracSize, typValsBefore = self.net.get_var_typical_vals() self.setInitialVariables( scipy.mean(self.typicalIndepParamRanges(),axis=1) ) typVals = PerfectData.update_typical_vals([self.net],[self.typicalTimeRange]) - for v in typValsBefore.keys(): + for v in list(typValsBefore.keys()): self.net.set_var_typical_val(v,typValsBefore.get(v)) # want same noise as we vary numConditions @@ -2819,10 +2812,10 @@ def generateData_deriv(self,varsList,numConditions,noiseFracSize, valueSigmas = scipy.zeros_like(values) derivSigmas = scipy.zeros_like(derivs) - fittingDataI[v] = dict( zip(times, zip(valuesWithNoise, - valueSigmas) ) ) - fittingDataDerivsI[v] = dict( zip(times, zip(derivsWithNoise, - derivSigmas) ) ) + fittingDataI[v] = dict( list(zip(times, list(zip(valuesWithNoise, + valueSigmas)) )) ) + fittingDataDerivsI[v] = dict( list(zip(times, list(zip(derivsWithNoise, + derivSigmas)) )) ) fittingData.append(fittingDataI) fittingDataDerivs.append(fittingDataDerivsI) @@ -2853,10 +2846,10 @@ def generateData_deriv(self,varsList,numConditions,noiseFracSize, scipy.random.seed(int(timeAndNoiseSeed*1e4+i)) for runVals,conditionData in zip(runList,fakeDataRuns): conditionDerivs = {} - for var in conditionData.keys(): + for var in list(conditionData.keys()): varDerivs = {} typicalVarValue = originalFittingModel.net.get_var_typical_val(var) - for time in conditionData[var].keys(): + for time in list(conditionData[var].keys()): # do numerically delta = 1e-5 val1,val2 = originalFittingModel.evaluateVec( \ @@ -2904,7 +2897,7 @@ def _derivProblem_getParams(self,numSpeciesTotal,numInputs,retTheta=False): currentParams = self.getParameters() def getVal(name): - if currentParams.has_key(name): + if name in currentParams: if self.net.get_variable(name).is_optimizable: return currentParams.get(name),1 else: @@ -2972,7 +2965,7 @@ def _derivProblem_setParams(self,Pg,Ph,numInputs): newParams = {} def setParam(name,val): - if currentParams.has_key(name): + if name in currentParams: newParams[name] = val for i in range(numInputs): @@ -2995,14 +2988,14 @@ def setParam(name,val): Ph[i+1+numInputs,j]) #Ph[j,i] # sanity check that I'm not setting nonexistent parameters - oldParameterNames = scipy.sort(currentParams.keys()) - newParameterNames = scipy.sort(newParams.keys()) + oldParameterNames = scipy.sort(list(currentParams.keys())) + newParameterNames = scipy.sort(list(newParams.keys())) if scipy.shape(oldParameterNames) != scipy.shape(newParameterNames): - raise Exception, "oldParameterNames != newParameterNames.\n" \ - "old = "+str(oldParameterNames)+",\nnew = "+str(newParameterNames) + raise Exception("oldParameterNames != newParameterNames.\n" \ + "old = "+str(oldParameterNames)+",\nnew = "+str(newParameterNames)) if not scipy.all( oldParameterNames == newParameterNames ): - raise Exception, "oldParameterNames != newParameterNames.\n" \ - "old = "+str(oldParameterNames)+",\nnew = "+str(newParameterNames) + raise Exception("oldParameterNames != newParameterNames.\n" \ + "old = "+str(oldParameterNames)+",\nnew = "+str(newParameterNames)) self.net.setOptimizables(newParams) @@ -3078,7 +3071,7 @@ def _derivProblem_regression(self,Design,Y,includedIndices=None, numSpecies,numTimes = scipy.shape(Y) numFactors = len(Design[0]) if weightMatrix is None: weightMatrix = scipy.ones_like(Y) - if includedIndices is None: includedIndices = range(numTimes) + if includedIndices is None: includedIndices = list(range(numTimes)) if thetaMatrix is None: thetaMatrix = scipy.ones((numFactors,numSpecies)) W = scipy.transpose( (weightMatrix.T)[includedIndices] ) D = Design[includedIndices] @@ -3102,7 +3095,7 @@ def _derivProblem_regression(self,Design,Y,includedIndices=None, try: Binv = svdInverse(B,maxEig=self.maxSVDeig,minEig=self.minSVDeig) except ZeroDivisionError: - print "_derivProblem_regression: Singular matrix for species",i + print("_derivProblem_regression: Singular matrix for species",i) # 2.25.2013 not 100% sure this is the correct thing to do, # but it probably is if Wi is all zeros (which is what I'm # trying to fix). I'll raise an exception in other cases to @@ -3112,8 +3105,8 @@ def _derivProblem_regression(self,Design,Y,includedIndices=None, # *************** if scipy.sum(scipy.imag(Binv)**2) > 0.: - print "_derivProblem_regression: sum(imag(Binv)**2) =", \ - scipy.sum(scipy.imag(Binv)**2) + print("_derivProblem_regression: sum(imag(Binv)**2) =", \ + scipy.sum(scipy.imag(Binv)**2)) # *************** YiTilde = YTTilde[:,i] @@ -3129,7 +3122,7 @@ def _derivProblem_regression(self,Design,Y,includedIndices=None, def _derivProblem_setOptimizable(self,visibleIndices,optBool,verbose=False): # fix parameters that will be fit using log-linear fit to derivatives - allParamNames = self.net.get_var_vals().keys() #self.getParameters().keys() + allParamNames = list(self.net.get_var_vals().keys()) #self.getParameters().keys() for paramName in allParamNames: paramNameSplit = paramName.rsplit('_') if len(paramNameSplit) > 1: @@ -3137,20 +3130,20 @@ def _derivProblem_setOptimizable(self,visibleIndices,optBool,verbose=False): if (paramNameSplit[0] == 'g') or (paramNameSplit[0] == 'h'): if int(paramNameSplit[1]) in visibleIndices: self.net.set_var_optimizable(paramName,optBool) - if verbose: print "fitToDataDerivs: setting optimizability of",paramName,"to",optBool + if verbose: print("fitToDataDerivs: setting optimizability of",paramName,"to",optBool) # any log_gamma or log_delta with index in speciesIndicesWithData elif (paramNameSplit[1] == 'gamma') or (paramNameSplit[1] == 'delta'): if int(paramNameSplit[2]) in visibleIndices: self.net.set_var_optimizable(paramName,optBool) - if verbose: print "fitToDataDerivs: setting optimizability of",paramName,"to",optBool + if verbose: print("fitToDataDerivs: setting optimizability of",paramName,"to",optBool) # 8.22.2012 def _derivProblem_setRandomParams(self,seed=0): # set random initial parameters (for now, uniform on (0,1)...) scipy.random.seed(seed) - paramNames = self.getParameters().keys() + paramNames = list(self.getParameters().keys()) randValues = scipy.rand(len(paramNames)) - self.initializeParameters(dict( zip(paramNames,randValues) )) + self.initializeParameters(dict( list(zip(paramNames,randValues)) )) # 12.14.2012 def _derivProblem_createDataMatrices(self,fittingData,fittingDataDerivs, @@ -3170,21 +3163,18 @@ def _derivProblem_createDataMatrices(self,fittingData,fittingDataDerivs, """ if not ( (len(indepParamsList) == len(fittingData)) \ and (len(fittingData) == len(fittingDataDerivs)) ): - raise Exception, "Lengths of fittingData, fittingDataDerivs, and " \ - "indepParamsList are not equal." + raise Exception("Lengths of fittingData, fittingDataDerivs, and " \ + "indepParamsList are not equal.") # copied from fitToDataDerivs - speciesNamesWithData = filter( \ - lambda name: name in fittingData[0].keys(),self.speciesNames) + speciesNamesWithData = [name for name in self.speciesNames if name in list(fittingData[0].keys())] speciesIndicesWithData = [ self.speciesNames.index(name) \ for name in speciesNamesWithData ] - speciesNamesWithoutData = filter( \ - lambda name: (name not in fittingData[0].keys()) \ - and (name not in self.indepParamNames),self.speciesNames) + speciesNamesWithoutData = [name for name in self.speciesNames if (name not in list(fittingData[0].keys())) \ + and (name not in self.indepParamNames)] # 9.5.2012 separate the initial conditions from the other independent params - indepParamICnames = filter(lambda name: name.endswith("_init"), \ - self.indepParamNames) + indepParamICnames = [name for name in self.indepParamNames if name.endswith("_init")] indepParamICindices = [ self.indepParamNames.index(name) \ for name in indepParamICnames ] if len(indepParamICindices) > 0: @@ -3192,8 +3182,7 @@ def _derivProblem_createDataMatrices(self,fittingData,fittingDataDerivs, else: initialConditionsList = scipy.repeat([[]],len(indepParamsList),axis=0) # initialConditonsList (#conditions)x(#ICs) - indepParamOtherNames = filter(lambda name: not name.endswith("_init"), \ - self.indepParamNames) + indepParamOtherNames = [name for name in self.indepParamNames if not name.endswith("_init")] indepParamOtherIndices = [ self.indepParamNames.index(name) \ for name in indepParamOtherNames ] if len(indepParamOtherIndices) > 0: @@ -3211,18 +3200,17 @@ def _derivProblem_createDataMatrices(self,fittingData,fittingDataDerivs, if False: # 3.4.2013 not sure why I was worried about this # 9.5.2012 test whether there are visible species without initial conditions - visibleSpeciesWithoutICs = filter(lambda name: \ - name+"_init" not in indepParamICnames, speciesNamesWithData) + visibleSpeciesWithoutICs = [name for name in speciesNamesWithData if name+"_init" not in indepParamICnames] if len(visibleSpeciesWithoutICs) > 0: - print "PowerLawFittingModel.fitToDataDerivs WARNING:" - print " These visible species have no ICs:",visibleSpeciesWithoutICs + print("PowerLawFittingModel.fitToDataDerivs WARNING:") + print(" These visible species have no ICs:",visibleSpeciesWithoutICs) # set up the (constant) independent parameters matrix numIndepParams = len(indepParamsListOther[0]) indepParamsMat = scipy.repeat([[]],numIndepParams,axis=0) if len(indepParamsListOther) != len(fittingData) : raise Exception for indepParamsOther,data in zip(indepParamsListOther,fittingData): - numTimes = len(data.values()[0].keys()) + numTimes = len(list(data.values())[0].keys()) indepParamsRepeat = scipy.repeat([indepParamsOther],numTimes,axis=0).T indepParamsMat = scipy.concatenate([indepParamsMat,indepParamsRepeat],axis=1) #print "fitToDataDerivs: indepParamsMat =",indepParamsMat @@ -3238,10 +3226,10 @@ def _derivProblem_createDataMatrices(self,fittingData,fittingDataDerivs, for indepParamsAll,data,derivData in \ zip(indepParamsList,fittingData,fittingDataDerivs): # find relevant times - sortedTimes = scipy.sort(data.values()[0].keys()) - sortedDerivTimes = scipy.sort(derivData.values()[0].keys()) + sortedTimes = scipy.sort(list(data.values())[0].keys()) + sortedDerivTimes = scipy.sort(list(derivData.values())[0].keys()) if not scipy.all(scipy.equal(sortedTimes,sortedDerivTimes)): - raise Exception, "Data timepoints not the same as derivative timepoints" + raise Exception("Data timepoints not the same as derivative timepoints") # () integrate to find values of hidden variables if len(speciesNamesWithoutData) > 0: hiddenData = scipy.concatenate((hiddenData.T, self.evaluateVec(sortedTimes,speciesNamesWithoutData,indepParamsAll).T )).T @@ -3297,8 +3285,7 @@ def _derivProblem_calculateDerivs(self,fittingData,fittingDataDerivs, fittingDataDerivs,indepParamsList) # taken from fitToDataDerivs (count only non-initial-condition indepParams) - indepParamOtherNames = filter(lambda name: not name.endswith("_init"), - self.indepParamNames) + indepParamOtherNames = [name for name in self.indepParamNames if not name.endswith("_init")] numIndepParams = len(indepParamOtherNames) numSpeciesTotal,numTimes = scipy.shape(speciesData) @@ -3334,7 +3321,7 @@ def _derivProblem_outOfSampleCorrelation(self,outOfSampleFittingData, varIndex = self.speciesNames.index(var) varIndices.append(varIndex) - if 'regStrength' in self.net.variables.keys(): + if 'regStrength' in list(self.net.variables.keys()): if regStrength is None: regStrength = self.net.get_var_val('regStrength') else: @@ -3433,13 +3420,11 @@ def fitToDataDerivs(self,fittingData,fittingDataDerivs,indepParamsList=[[]], if regStrength is None: regStrength = self.net.get_var_val('regStrength') - speciesNamesWithData = filter( \ - lambda name: name in fittingData[0].keys(),self.speciesNames) + speciesNamesWithData = [name for name in self.speciesNames if name in list(fittingData[0].keys())] speciesIndicesWithData = [ self.speciesNames.index(name) \ for name in speciesNamesWithData ] - speciesNamesWithoutData = filter( \ - lambda name: (name not in fittingData[0].keys()) \ - and (name not in self.indepParamNames),self.speciesNames) + speciesNamesWithoutData = [name for name in self.speciesNames if (name not in list(fittingData[0].keys())) \ + and (name not in self.indepParamNames)] noHiddenSpecies = ( len(speciesNamesWithoutData) == 0 ) @@ -3469,8 +3454,8 @@ def fitToDataDerivs(self,fittingData,fittingDataDerivs,indepParamsList=[[]], i += 1 if verbose: - print "" - print "fitToDataDerivs: Iteration",i + print("") + print("fitToDataDerivs: Iteration",i) if False: # (1) run nonlinear optimization for other parameters @@ -3517,12 +3502,12 @@ def fitToDataDerivs(self,fittingData,fittingDataDerivs,indepParamsList=[[]], except Utility.SloppyCellException: #raise # for debugging ## #(daeintException,ValueError,OverflowError): - print "fitToDataDerivs: Exception in cost evaluation. " + print("fitToDataDerivs: Exception in cost evaluation. ") newCost = scipy.inf else: newCost = afterMinCost - print "fitToDataDerivs: cost no sigma =",afterMinCostNoSigma - print "fitToDataDerivs: cost =",newCost + print("fitToDataDerivs: cost no sigma =",afterMinCostNoSigma) + print("fitToDataDerivs: cost =",newCost) afterExpCostList.append(newCost) except (ValueError, OverflowError): @@ -3530,8 +3515,8 @@ def fitToDataDerivs(self,fittingData,fittingDataDerivs,indepParamsList=[[]], if False: raise # 8.30.2012 just return current parameters - print "fitToDataDerivs: Exception in optimization. " \ - " Returning current parameters." + print("fitToDataDerivs: Exception in optimization. " \ + " Returning current parameters.") if retall: convFlag = 1 return self.getParameters(),afterMinCostList, \ @@ -3557,11 +3542,11 @@ def fitToDataDerivs(self,fittingData,fittingDataDerivs,indepParamsList=[[]], paramsList.append(currentParams) if i >= maxiter: - print "fitToDataDerivs: Reached maxiter." + print("fitToDataDerivs: Reached maxiter.") bestParams = paramsList[-1] convFlag = 0 else: - print "fitTaDataDerivs: Cost increased at iteration "+str(i) + print("fitTaDataDerivs: Cost increased at iteration "+str(i)) if len(paramsList) > 1: bestParams = paramsList[-2] else: bestParams = paramsList[-1] convFlag = 2 @@ -3606,8 +3591,7 @@ def _derivProblem_fit(self,speciesData,speciesDataTimeDerivs, r = regStrength if scipy.shape(speciesData) != scipy.shape(speciesDataTimeDerivs): - raise Exception, \ - "speciesData must have same shape as speciesDataTimeDerivs" + raise Exception("speciesData must have same shape as speciesDataTimeDerivs") if indepParamsMat is None: numIndepParams = 0 @@ -3639,7 +3623,7 @@ def _derivProblem_fit(self,speciesData,speciesDataTimeDerivs, freeParams = int(scipy.sum(thetaMatrixG) + scipy.sum(thetaMatrixH)) allParams = scipy.prod(scipy.shape(thetaMatrixG)) \ + scipy.prod(scipy.shape(thetaMatrixH)) - print "_derivProblem_fit:",freeParams,"free parameters out of",allParams + print("_derivProblem_fit:",freeParams,"free parameters out of",allParams) #GnumIncludedIndicesList = [] #HnumIncludedIndicesList = [] @@ -3652,10 +3636,10 @@ def _derivProblem_fit(self,speciesData,speciesDataTimeDerivs, def printParamSummary(Pg,Ph): if verbose: f = lambda mat: mat.reshape(scipy.prod(scipy.shape(mat))) - print "_derivProblem_fit: production params:", \ - min(f(Pg)),"to",max(f(Pg)) - print "_derivProblem_fit: degradation params:", \ - min(f(Ph)),"to",max(f(Ph)) + print("_derivProblem_fit: production params:", \ + min(f(Pg)),"to",max(f(Pg))) + print("_derivProblem_fit: degradation params:", \ + min(f(Ph)),"to",max(f(Ph))) # need to be set for first iteration includedIndices = [] @@ -3666,7 +3650,7 @@ def printParamSummary(Pg,Ph): for i in range(numiter): - if verbose: print "_derivProblem_fit: Iteration",i+1,"of",numiter + if verbose: print("_derivProblem_fit: Iteration",i+1,"of",numiter) # check whether new fit is better than old one, # at least at the included time indices @@ -3682,7 +3666,7 @@ def printParamSummary(Pg,Ph): priorCost = 0.5*priorLambda*scipy.sum(Pg**2 + Ph**2) # 5.29.2014 derivCost = 0.5*scipy.sum( ((speciesDataTimeDerivs - predictedDerivs)/speciesDataTimeDerivSigmas)**2 ) + priorCost printParamSummary(Pg,Ph) - if verbose: print "_derivProblem_fit: current deriv cost =", derivCost + if verbose: print("_derivProblem_fit: current deriv cost =", derivCost) derivCostList.append(derivCost) oldPredYg = scipy.transpose(scipy.dot(D,Pg)) @@ -3693,7 +3677,7 @@ def printParamSummary(Pg,Ph): if True: fittable = scipy.sum((H + speciesDataTimeDerivs)>0.) total = scipy.prod(scipy.shape(H)) - if verbose: print "_derivProblem_fit: production terms fit:",fittable,"of",total + if verbose: print("_derivProblem_fit: production terms fit:",fittable,"of",total) Wg = (H + speciesDataTimeDerivs) / speciesDataTimeDerivSigmas \ * scipy.exp(-r/speciesData) * ((H + speciesDataTimeDerivs)>0.) Pg = self._derivProblem_regression(D,Yg,weightMatrix=Wg, \ @@ -3707,7 +3691,7 @@ def printParamSummary(Pg,Ph): priorCost = 0.5*priorLambda*scipy.sum(Pg**2 + Ph**2) # 5.29.2014 derivCost = 0.5*scipy.sum( ((speciesDataTimeDerivs - predictedDerivs)/speciesDataTimeDerivSigmas)**2 ) + priorCost printParamSummary(Pg,Ph) - if verbose: print "_derivProblem_fit: current deriv cost =", derivCost + if verbose: print("_derivProblem_fit: current deriv cost =", derivCost) derivCostList.append(derivCost) oldPredYh = scipy.transpose(scipy.dot(D,Ph)) @@ -3719,7 +3703,7 @@ def printParamSummary(Pg,Ph): fittable = scipy.sum((G - speciesDataTimeDerivs)>0.) total = scipy.prod(scipy.shape(G)) if verbose: - print "_derivProblem_fit: degradation terms fit:",fittable,"of",total + print("_derivProblem_fit: degradation terms fit:",fittable,"of",total) Wh = (G - speciesDataTimeDerivs) / speciesDataTimeDerivSigmas \ * scipy.exp(-r*speciesData) * ((G - speciesDataTimeDerivs)>0.) Ph = self._derivProblem_regression(D,Yh,weightMatrix=Wh, \ @@ -3771,13 +3755,13 @@ def _derivProblem_logLikelihood(self,fittingData,fittingDataDerivs,indepParamsLi except (scipy.linalg.LinAlgError,ValueError): singVals = scipy.inf * scipy.ones(len(H)) priorSingVals = -scipy.inf * scipy.ones(len(H)) - print "_derivProblem_logLikelihood: Error in Hessian SVD. " \ - "Setting logLikelihood to negative infinity." + print("_derivProblem_logLikelihood: Error in Hessian SVD. " \ + "Setting logLikelihood to negative infinity.") - print "_derivProblem_logLikelihood: cost =",-cost - print "_derivProblem_logLikelihood: penalty =", \ + print("_derivProblem_logLikelihood: cost =",-cost) + print("_derivProblem_logLikelihood: penalty =", \ -(0.5*scipy.sum( scipy.log(singVals) ) \ - - 0.5*scipy.sum( scipy.log(priorSingVals) ) ) + - 0.5*scipy.sum( scipy.log(priorSingVals) ) )) L = -(cost + 0.5*scipy.sum( scipy.log(singVals) ) \ - 0.5*scipy.sum( scipy.log(priorSingVals) ) ) @@ -3843,8 +3827,7 @@ def _derivProblem_Jacobian(self,fittingData,fittingDataDerivs, assert numTimes == numTimes2 numResiduals = numSpeciesTotal*numTimes if numIndepParams > 0: - raise Exception, \ - "_derivProblem_Jacobian has not been tested with numIndepParams > 0." + raise Exception("_derivProblem_Jacobian has not been tested with numIndepParams > 0.") Pg,Ph,thetaG,thetaH = self._derivProblem_getParams(numSpeciesTotal, numIndepParams,retTheta=True) @@ -3919,15 +3902,15 @@ def __init__(self,complexity,indepParamNames=[],outputNames=[], if inputNames is None: # 2.22.2012 don't include indepParams ending in "_init" as inputs - inputNames = filter(lambda name: name[-5:]!="_init",indepParamNames) + inputNames = [name for name in indepParamNames if name[-5:]!="_init"] else: for inputName in inputNames: if inputName not in indepParamNames: - raise Exception, "inputName %s not in indepParamNames"%inputName + raise Exception("inputName %s not in indepParamNames"%inputName) # output species whose initial conditions are not set by indepParams # should have optimizable initial conditions - optimizableICs = filter(lambda n: n+"_init" not in indepParamNames,outputNames) + optimizableICs = [n for n in outputNames if n+"_init" not in indepParamNames] self.complexity = complexity self.numInputs = len(inputNames) @@ -3974,17 +3957,17 @@ def __init__(self,numSpecies,fracParams=1.,indepParamNames=[], outputNames=[],inputNames=None,**kwargs): if len(outputNames) > numSpecies: - raise Exception, "len(outputNames) > numSpecies" + raise Exception("len(outputNames) > numSpecies") if (fracParams>1.) or (fracParams<0.): - raise Exception, "fracParams must be between 0 and 1." + raise Exception("fracParams must be between 0 and 1.") if inputNames is None: # 2.22.2012 don't include indepParams ending in "_init" as inputs - inputNames = filter(lambda name: name[-5:]!="_init",indepParamNames) + inputNames = [name for name in indepParamNames if name[-5:]!="_init"] else: for inputName in inputNames: if inputName not in indepParamNames: - raise Exception, "inputName %s not in indepParamNames"%inputName + raise Exception("inputName %s not in indepParamNames"%inputName) numSpecies = numSpecies numInputs = len(inputNames) @@ -4003,7 +3986,7 @@ def __init__(self,numSpecies,fracParams=1.,indepParamNames=[], + (maxConnection*(numSpecies - 1))*numSpecies # 3.4.2013 complexity = int( fracParams*fullComplexity ) - print "PowerLawFittingModel_FullyConnected: complexity =",complexity + print("PowerLawFittingModel_FullyConnected: complexity =",complexity) PowerLawFittingModel_Complexity.__init__(self,complexity, indepParamNames=indepParamNames,outputNames=outputNames,**kwargs) @@ -4036,7 +4019,7 @@ def _setTerm(self,nameLHS,sign,factor,exponentList): # set exponents for species,exponent in exponentList: # expand if needed - if species in self.definitionDict.keys(): + if species in list(self.definitionDict.keys()): nameList = self.definitionDict[species] else: nameList = [(species,1)] @@ -4054,7 +4037,7 @@ def prune(self): """ net = self.net removedParameters = [] - for speciesLHS in net.species.keys(): + for speciesLHS in list(net.species.keys()): rhs = net.rateRules.get(speciesLHS) for i,speciesI in enumerate(self.speciesNames): for j,speciesJ in enumerate(self.speciesNames): @@ -4128,12 +4111,12 @@ def _createNetworkList(complexity,numInputs,numOutputs, typeOrders = ['last','first','random'] connectionOrders = ['nearest','node','random'] if typeOrder not in typeOrders: - raise Exception, "Unrecognized typeOrder = "+str(typeOrder) + raise Exception("Unrecognized typeOrder = "+str(typeOrder)) if connectionOrder not in connectionOrders: - raise Exception, "Unrecognized connectionOrder = "+str(connectionOrder) + raise Exception("Unrecognized connectionOrder = "+str(connectionOrder)) if (typeOrder is "random") and (connectionOrder is not "random"): - raise Exception, "random typeOrder with non-random connectionOrder " \ - "is not currently supported" + raise Exception("random typeOrder with non-random connectionOrder " \ + "is not currently supported") #complexity,numInputs,numOutputs = \ # self.complexity,self.numInputs,self.numOutputs @@ -4223,12 +4206,12 @@ def upgradeOutputNodes(): # both because it connects nodes in a random order and # because it doesn't require all connections of a given # connectionType before moving on) - nodes = range(numInputs,numInputs+numOutputs) + nodes = list(range(numInputs,numInputs+numOutputs)) # Make flat list of possible ordered pairs of nodes nodePairs = scipy.reshape([ [ (i,j) for i in nodes ] for j in nodes ], [len(nodes)**2,2]) # Don't include self connections - nodePairs = filter(lambda pair: pair[0] != pair[1],nodePairs) + nodePairs = [pair for pair in nodePairs if pair[0] != pair[1]] # Each nodePair appears maxConnection times connections = list( scipy.repeat(nodePairs,maxConnection,axis=0) ) # Optionally include node parameters in list @@ -4295,8 +4278,8 @@ def upgradeOutputNodes(): # both because it connects nodes in a random order and # because it doesn't require all connections of a given # connectionType before moving on) - nodes = range(curHidden) - nodesExceptInput = range(numInputs,curHidden) + nodes = list(range(curHidden)) + nodesExceptInput = list(range(numInputs,curHidden)) # Make flat list of possible ordered pairs of nodes nodePairs = [ (i,curHidden) for i in nodesExceptInput ] \ + [ (curHidden,j) for j in nodes ] @@ -4314,7 +4297,7 @@ def upgradeOutputNodes(): addConnectionOrParam(connection) if done(curComplexity): return networkList else: - raise Exception, "Unsupported connectionOrder with hidden nodes: "+str(connectionOrder) + raise Exception("Unsupported connectionOrder with hidden nodes: "+str(connectionOrder)) if typeOrder is "last": # upgrade type @@ -4357,26 +4340,26 @@ def RGBHdecimal2hex(RGBHdecimal): if speciesColors is None: speciesColors = Plotting.ColorWheel() # 2.22.2012 don't include indepParams ending in "_init" as inputs - inputNames = filter(lambda name: name[-5:]!="_init",indepParamNames) + inputNames = [name for name in indepParamNames if name[-5:]!="_init"] # 2.22.2012 don't include indepParamNames in speciesNames speciesNamesFiltered = \ - filter(lambda name: name not in indepParamNames,speciesNames) + [name for name in speciesNames if name not in indepParamNames] G = AGraph(strict=False,margin=0,**kwargs) allNames = inputNames + speciesNamesFiltered num = len(allNames) if num != len(networkList): - raise Exception, "total number of names ("+str(num)+") different " \ - "than number of nodes in networkList ("+str(len(networkList))+")." + raise Exception("total number of names ("+str(num)+") different " \ + "than number of nodes in networkList ("+str(len(networkList))+").") allColors = list(scipy.repeat(indepParamColor,len(inputNames))) - for i,color in zip(range(len(speciesNamesFiltered)),speciesColors): + for i,color in zip(list(range(len(speciesNamesFiltered))),speciesColors): # in case it's from Plotting.ColorWheel if type(color) is tuple: color = color[0] allColors.append(color) nodeWidth,nodeHeight = nodeDiameter,nodeDiameter ignoreIndices = [] - positionIndices = range(num) + positionIndices = list(range(num)) positionNum = num if skipIndependentNodes: @@ -4385,8 +4368,8 @@ def RGBHdecimal2hex(RGBHdecimal): #allNames = allNames[len(inputNames):] #allColors = allColors[len(inputNames):] #networkList = networkList[len(inputNames):] - ignoreIndices = range(len(inputNames)) - positionIndices = range(-len(inputNames),num-len(inputNames)) + ignoreIndices = list(range(len(inputNames))) + positionIndices = list(range(-len(inputNames),num-len(inputNames))) twoPi = 2.*scipy.pi radius = plotDiameter/2. @@ -4396,7 +4379,7 @@ def RGBHdecimal2hex(RGBHdecimal): for i in positionIndices ] # add nodes - for i,name,color,x,y in zip(range(num),allNames,allColors,xList,yList): + for i,name,color,x,y in zip(list(range(num)),allNames,allColors,xList,yList): # color stuff if (name[0] == "X") and (Xcolor is not None): @@ -4417,7 +4400,7 @@ def RGBHdecimal2hex(RGBHdecimal): # add edges for i in range(num): if i not in ignoreIndices: - for nodeIamAffectedBy in networkList[i][1].keys(): + for nodeIamAffectedBy in list(networkList[i][1].keys()): if nodeIamAffectedBy not in ignoreIndices: weightList = networkList[i][1][nodeIamAffectedBy] @@ -4561,7 +4544,7 @@ def __init__(self,n,rules=[],polynomialDegreeList=None, # The output measures the total phosphorylation. offsetName = outputName+'_offset' sum = ''.join( [ 'Group_P'+str(i)+' + ' for i in range(1,n+1) ] ) - SloppyCellNet.addSpecies( outputName, SloppyCellNet.compartments.keys()[0] ) + SloppyCellNet.addSpecies( outputName, list(SloppyCellNet.compartments.keys())[0] ) SloppyCellNet.addParameter( offsetName, totalOffset, isOptimizable=False) SloppyCellNet.addAssignmentRule( outputName, offsetName+'+'+sum[:-3] ) @@ -4594,11 +4577,11 @@ def __init__(self,complexity,indepParamNames=[],outputNames=[], if inputNames is None: # 2.22.2012 don't include indepParams ending in "_init" as inputs - inputNames = filter(lambda name: name[-5:]!="_init",indepParamNames) + inputNames = [name for name in indepParamNames if name[-5:]!="_init"] else: for inputName in inputNames: if inputName not in indepParamNames: - raise Exception, "inputName %s not in indepParamNames"%inputName + raise Exception("inputName %s not in indepParamNames"%inputName) self.complexity = complexity self.numInputs = len(inputNames) diff --git a/SirIsaac/fittingProblemMultipleCondition.py b/SirIsaac/fittingProblemMultipleCondition.py index 4822bd8..e4fc508 100644 --- a/SirIsaac/fittingProblemMultipleCondition.py +++ b/SirIsaac/fittingProblemMultipleCondition.py @@ -8,7 +8,7 @@ # while the parameters used to fit each condition vary. # -from fittingProblem import * +from .fittingProblem import * class FittingProblemMultipleCondition(FittingProblem): """ @@ -112,14 +112,14 @@ def fitAll(self,onlyCombine=False,**kwargs): costMultiple += fittingProblem.costDict[name] penaltyMultiple += fittingProblem.penaltyDict[name] # ******************************************************* - print "single condition cost: ",fittingProblem.costDict[name] + print("single condition cost: ",fittingProblem.costDict[name]) # ******************************************************* else: modelDone = False if modelDone: # ******************************************************* - print "total cost: ",costMultiple + print("total cost: ",costMultiple) # ******************************************************* # Record total cost and penalty @@ -138,7 +138,7 @@ def fitAll(self,onlyCombine=False,**kwargs): if not hasattr(self,'stopFittingN'): self.stopFittingN = 3 for n in self.fittingModelNames: - if self.logLikelihoodDict.has_key(n): + if n in self.logLikelihoodDict: orderedLs.append(self.logLikelihoodDict[n]) if (len(orderedLs) > self.stopFittingN): if max(orderedLs[-self.stopFittingN:]) < max(orderedLs): @@ -152,13 +152,13 @@ def fitPerfectModel(self,**kwargs): fittingProblem.fitPerfectModel(**kwargs) def numStiffSingVals(self,**kwargs): - raise Exception, "Not implemented" + raise Exception("Not implemented") def _StiffSingVals(self,**kwargs): - raise Exception, "Not implemented" + raise Exception("Not implemented") def _UpdateDicts(self,name): - raise Exception, "Not implemented" + raise Exception("Not implemented") def plotResults(self,**kwargs): """ @@ -168,13 +168,13 @@ def plotResults(self,**kwargs): fittingProblem.plotResults(**kwargs) def correlationWithPerfectModel(self,**kwargs): - raise Exception, "Not implemented" + raise Exception("Not implemented") def outOfSampleCorrelation(self,**kwargs): - raise Exception, "Not implemented" + raise Exception("Not implemented") def calculateAllOutOfSampleCorrelation(self,**kwargs): - raise Exception, "Not implemented" + raise Exception("Not implemented") def getBestModel(self,modelName=None,maxIndex=-4,**kwargs): if modelName is None: @@ -193,7 +193,7 @@ def plotBestModelResults(self,modelName=None,maxIndex=-4,**kwargs): return returnList def _fixOldVersion(self): - raise Exception, "Not implemented" + raise Exception("Not implemented") # technically networkFigureBestModel does not have to be implemented # for general fittingProblems, but it is for the types of fittingProblems @@ -248,7 +248,7 @@ def __init__(self,complexityList,fittingDataMultiple,indepParamsListMultiple=Non self.generalSetup(saveFilename,saveKey) def outOfSampleCorrelation_deriv(self,**kwargs): - raise Exception, "Not implemented" + raise Exception("Not implemented") class CTSNFittingProblemMultipleCondition(FittingProblemMultipleCondition): diff --git a/SirIsaac/generateEnsembleParallel.py b/SirIsaac/generateEnsembleParallel.py index aeaa23b..47d0e3b 100644 --- a/SirIsaac/generateEnsembleParallel.py +++ b/SirIsaac/generateEnsembleParallel.py @@ -11,7 +11,7 @@ import time #from generateFightData import * -from fittingProblem import * +from .fittingProblem import * import sys # use parallel computation supported by SloppyCell @@ -20,7 +20,7 @@ # read in arguments from command line file name if len(sys.argv) < 2: - print "Usage: python generateEnsembleParallel.py inputDictFile.data [SloppyCell options]" + print("Usage: python generateEnsembleParallel.py inputDictFile.data [SloppyCell options]") exit() inputDictFile = sys.argv[1] inputDict = load(inputDictFile) diff --git a/SirIsaac/linalgTools.py b/SirIsaac/linalgTools.py index acf0616..b132f48 100644 --- a/SirIsaac/linalgTools.py +++ b/SirIsaac/linalgTools.py @@ -14,12 +14,12 @@ def svdInverse(mat,maxEig=1e10,minEig=1e-10): #1e10,1e-10 u,w,vt = scipy.linalg.svd(mat) if any(w==0.): - raise ZeroDivisionError, "Singular matrix." + raise ZeroDivisionError("Singular matrix.") wInv = w ** -1 largeIndices = pylab.find( abs(wInv) > maxEig ) - if len(largeIndices) > 0: print "svdInverse:",len(largeIndices),"large singular values out of",len(w) + if len(largeIndices) > 0: print("svdInverse:",len(largeIndices),"large singular values out of",len(w)) wInv[largeIndices] = maxEig*scipy.sign(wInv[largeIndices]) smallIndices = pylab.find( abs(wInv) < minEig ) - if len(smallIndices) > 0: print "svdInverse:",len(smallIndices),"small singular values out of",len(w) + if len(smallIndices) > 0: print("svdInverse:",len(smallIndices),"small singular values out of",len(w)) wInv[smallIndices] = minEig*scipy.sign(wInv[smallIndices]) return scipy.dot( scipy.dot(vt.T,scipy.diag(wInv)), u.T ) \ No newline at end of file diff --git a/SirIsaac/localFitParallel.py b/SirIsaac/localFitParallel.py index aa2e093..84fe4c1 100644 --- a/SirIsaac/localFitParallel.py +++ b/SirIsaac/localFitParallel.py @@ -15,7 +15,7 @@ from mpi4py import MPI import time -from fittingProblem import * +from .fittingProblem import * import sys ## 7.3.2012 disable SloppyCell's parallel stuff @@ -39,11 +39,11 @@ num_processors = comm.Get_size() if num_processors < 2: - raise Exception, "mpi4py has failed to initialize more than one processor." + raise Exception("mpi4py has failed to initialize more than one processor.") # read in arguments from command line file name if len(sys.argv) < 2: - print "Usage: python localFitParallel.py inputDictFile.data [SloppyCell options]" + print("Usage: python localFitParallel.py inputDictFile.data [SloppyCell options]") exit() inputDictFile = sys.argv[1] inputDict = load(inputDictFile) @@ -63,14 +63,14 @@ ### Master Process ### if MPI_myID == MASTER_PROCESS: - from simplePickle import save + from .simplePickle import save num_processors = comm.Get_size() - print("localFitParallel: "\ - "Master process found {} other worker processors".format(num_processors-1)) + print(("localFitParallel: "\ + "Master process found {} other worker processors".format(num_processors-1))) # list of startParams indices to pass to the workers - work_array = range(len(startParamsList)) + work_array = list(range(len(startParamsList))) work_size = len(work_array) # Dispatch jobs to worker processes @@ -81,7 +81,7 @@ for i in range(1, min(num_processors, work_size+1)): comm.send(work_index, dest=i) comm.send(work_array[work_index], dest=i) - print("localFitParallel: Sent work index {} to worker {}".format(work_index,i)) + print(("localFitParallel: Sent work index {} to worker {}".format(work_index,i))) work_index += 1 # Receive results from each worker, and send it new data @@ -97,7 +97,7 @@ # start next comm.send(work_index, dest=proc) comm.send(work_array[work_index], dest=proc) - print("localFitParallel: Sent work index {} to worker {}".format(work_index,proc)) + print(("localFitParallel: Sent work index {} to worker {}".format(work_index,proc))) work_index += 1 # Get results from remaining worker processes @@ -114,7 +114,7 @@ # Shut down worker processes for proc in range(1, num_processors): - print("localFitParallel: Stopping worker process {}".format(proc)) + print(("localFitParallel: Stopping worker process {}".format(proc))) comm.send(DIE_INDEX, dest=proc) # Write data to file @@ -131,8 +131,8 @@ continue_working = False else: work_array = comm.recv(source=MASTER_PROCESS) - print("localFitParallel: "\ - "worker {} working on work_array {}...".format(MPI_myID,work_array)) + print(("localFitParallel: "\ + "worker {} working on work_array {}...".format(MPI_myID,work_array))) startTime = time.clock() @@ -145,8 +145,8 @@ comm.send(workerResults, dest=MASTER_PROCESS) - print("localFitParallel: "\ - "worker {} finished with work_array {}".format(MPI_myID,work_array)) + print(("localFitParallel: "\ + "worker {} finished with work_array {}".format(MPI_myID,work_array))) #### while #### if worker diff --git a/SirIsaac/makeSloppyEnsemble.py b/SirIsaac/makeSloppyEnsemble.py index 5248336..458944e 100644 --- a/SirIsaac/makeSloppyEnsemble.py +++ b/SirIsaac/makeSloppyEnsemble.py @@ -5,19 +5,19 @@ # 9.25.2013 # -import fittingProblem +from . import fittingProblem from SloppyCell.ReactionNetworks import * import time # for sleep import os -print "This computer's name is",os.uname()[1] +print("This computer's name is",os.uname()[1]) if (os.uname()[1][:4] == 'node'): # 4.4.2012 emory machines - print "The current directory is",os.getcwd() + print("The current directory is",os.getcwd()) if os.getcwd().startswith('/star'): os.chdir('/star/physics/nemenman/daniels/SirIsaac') elif os.getcwd().startswith('/spark'): os.chdir('/spark/physics/nemenman/daniels/SirIsaac') - print "Now the current directory is",os.getcwd() + print("Now the current directory is",os.getcwd()) def makeEnsemble(fpdFilename,numDataPoints,modelName=None,numSteps=1000, \ numStepsKept=10,sing_val_cutoff=1e-4,seeds=(100,100),numprocs=1, \ @@ -52,7 +52,7 @@ def makeEnsemble(fpdFilename,numDataPoints,modelName=None,numSteps=1000, '_' + modelName + '_ensemble' + str(numStepsKept) + '.dat' if verbose: - print "makeSloppyEnsemble: Generating ensemble for "+outputFilename + print("makeSloppyEnsemble: Generating ensemble for "+outputFilename) # set up model dataModel = m._SloppyCellDataModel(fp.fittingData,fp.indepParamsList) @@ -72,7 +72,7 @@ def makeEnsemble(fpdFilename,numDataPoints,modelName=None,numSteps=1000, Utility.save(output,outputFilename) if verbose: - print "makeSloppyEnsemble: Acceptance ratio =",ratio + print("makeSloppyEnsemble: Acceptance ratio =",ratio) return ens,ratio,costs @@ -114,7 +114,7 @@ def makeEnsemble(fpdFilename,numDataPoints,modelName=None,numSteps=1000, while not hasattr(fp,'perfectFitParams'): i += 1 Utility.save([i,10000],'131008_temp10000.txt') - print "makeSloppyEnsemble: Sleeping..." + print("makeSloppyEnsemble: Sleeping...") time.sleep(60) fpd = Utility.load(filenameList[0]) fp = fpd[numDataPoints] diff --git a/SirIsaac/matlab.py b/SirIsaac/matlab.py index 99286d6..c7da65d 100644 --- a/SirIsaac/matlab.py +++ b/SirIsaac/matlab.py @@ -62,11 +62,11 @@ def callMATLAB(callString,outputFilename=None,codeDirList=[], \ os.remove(outputFilename) except IOError: # there was a MATLAB error - print "callMATLAB MATLAB error:" + print("callMATLAB MATLAB error:") stdoutFile = open(tmpStdoutFilename) stdout = stdoutFile.read() - print stdout - print "callMATLAB: Current directory is",os.getcwd() - raise Exception, "callMATLAB MATLAB error." + print(stdout) + print("callMATLAB: Current directory is",os.getcwd()) + raise Exception("callMATLAB MATLAB error.") if len(outputList)==1: return outputList[0] return outputList diff --git a/SirIsaac/mpi_basic.py b/SirIsaac/mpi_basic.py index 1c126f9..8cae46c 100644 --- a/SirIsaac/mpi_basic.py +++ b/SirIsaac/mpi_basic.py @@ -10,7 +10,7 @@ # import sys -from simplePickle import load,save +from .simplePickle import load,save from mpi4py import MPI comm = MPI.COMM_WORLD @@ -20,7 +20,7 @@ if __name__ == '__main__': if len(sys.argv) < 2 or len(sys.argv) > 2: - print "Usage: mpirun -np [numprocs] python mpi_test.py test_input_filename" + print("Usage: mpirun -np [numprocs] python mpi_test.py test_input_filename") exit() test_input_filename = sys.argv[1] @@ -42,7 +42,7 @@ # get results for worker in range(1,num_procs): msg = comm.recv(source=worker) - print("mpi_test: Worker {} said {}".format(worker,msg)) + print(("mpi_test: Worker {} said {}".format(worker,msg))) file_data['test_output'] = msg # stop workers diff --git a/SirIsaac/outputTag.py b/SirIsaac/outputTag.py index 88015c9..460f104 100644 --- a/SirIsaac/outputTag.py +++ b/SirIsaac/outputTag.py @@ -43,8 +43,8 @@ def nextFileNumString(directory='.',returnConfigNum=False,configNum=None): else: return configNumString def die(): - print "Use: python outputTag.py [-o outputDirectory] [-n niceLevel] " \ - "[-m multipleRunNumber] [-d runDirectory] codeToRun.py" + print("Use: python outputTag.py [-o outputDirectory] [-n niceLevel] " \ + "[-m multipleRunNumber] [-d runDirectory] codeToRun.py") sys.exit() if __name__ == '__main__': @@ -95,4 +95,4 @@ def die(): if runDirectory is not None: os.chdir(runDirectory) os.system(command) - print command + print(command) diff --git a/SirIsaac/phosphorylationFit_netModel.py b/SirIsaac/phosphorylationFit_netModel.py index 726e5df..2ca8aaa 100644 --- a/SirIsaac/phosphorylationFit_netModel.py +++ b/SirIsaac/phosphorylationFit_netModel.py @@ -8,7 +8,7 @@ import os import scipy.io import resource,time # for measuring cpu usage and wall clock time -import phosphorylationFit_MakeBNGL as writeBNGL +from . import phosphorylationFit_MakeBNGL as writeBNGL class netModel(): """ @@ -76,17 +76,17 @@ def _createNetwork(self,verbose): if self.MichaelisMenten: mult = 4 start,startWall = cpuTime(),wallTime() - print "" - print "Creating network with "+str(n)+" activation sites" - print " and "+str(len(rulesList))+" additional rules (" \ - +str(mult*(n+len(rulesList)))+" parameters)." + print("") + print("Creating network with "+str(n)+" activation sites") + print(" and "+str(len(rulesList))+" additional rules (" \ + +str(mult*(n+len(rulesList)))+" parameters).") namesList = writeBNGL.writeBNGLnetwork(n,rulesList,filename, \ MichaelisMenten=self.MichaelisMenten) self._runBNGLfile(filename) if self.verbose: - print "Network creation took "+bothTimeStr(start,startWall) + print("Network creation took "+bothTimeStr(start,startWall)) return namesList @@ -107,9 +107,9 @@ def _runBNGLfile(self,filename): if error: stdoutFile = open(filename+"_messages.txt") stdout = stdoutFile.read() - print "phosphorylationFit_netModel._runBNGLfile: Error calling BioNetGen." - print stdout - raise Exception, "Error calling BioNetGen." + print("phosphorylationFit_netModel._runBNGLfile: Error calling BioNetGen.") + print(stdout) + raise Exception("Error calling BioNetGen.") def modelOutput(self,params): """ diff --git a/SirIsaac/plotMatrix.py b/SirIsaac/plotMatrix.py index 006191f..9b1ca26 100644 --- a/SirIsaac/plotMatrix.py +++ b/SirIsaac/plotMatrix.py @@ -44,8 +44,8 @@ def plotMatrix(mat,cmap=pylab.cm.gray,colorbar=True,X=None,Y=None, \ pylab.axes(ax) axNew = ax - if (plot3D or plotContour) and X is None: X = range(scipy.shape(mat)[1]) - if (plot3D or plotContour) and Y is None: Y = range(scipy.shape(mat)[0]) + if (plot3D or plotContour) and X is None: X = list(range(scipy.shape(mat)[1])) + if (plot3D or plotContour) and Y is None: Y = list(range(scipy.shape(mat)[0])) if X is not None and Y is not None: X,Y = scipy.array(X),scipy.array(Y) @@ -57,8 +57,8 @@ def plotMatrix(mat,cmap=pylab.cm.gray,colorbar=True,X=None,Y=None, \ else: deltaY = 1 if scipy.any(abs(X[1:]-X[:-1] - deltaX) > 1e-5) or \ scipy.any(abs(Y[1:]-Y[:-1] - deltaY) > 1e-5): - print "plotMatrix WARNING: X and/or Y values are not equally "+ \ - "spaced. May produce strange behavior." + print("plotMatrix WARNING: X and/or Y values are not equally "+ \ + "spaced. May produce strange behavior.") if plot3D or plotContour: diff --git a/SirIsaac/powerLawNetwork.py b/SirIsaac/powerLawNetwork.py index ad1f6ed..ed4f115 100644 --- a/SirIsaac/powerLawNetwork.py +++ b/SirIsaac/powerLawNetwork.py @@ -10,7 +10,7 @@ from SloppyCell.ReactionNetworks import * from scipy import random, log import copy -import gaussianPrior +from . import gaussianPrior def PowerLaw_Network_List(networkList,speciesNames=None, logParams=True,netid='PowerLaw_Network',optimizableICs=[], @@ -62,10 +62,10 @@ def PowerLaw_Network_List(networkList,speciesNames=None, # the order in which to add parameters if useDeltaGamma: - order = dict( zip(['xinit','g','gamma','h','delta'], range(5)) ) + order = dict( list(zip(['xinit','g','gamma','h','delta'], list(range(5)))) ) else: - order = dict( zip(['xinit','g','beta','h','alpha'], range(5)) ) - orderConnect = dict( zip(['g','h'], range(2)) ) + order = dict( list(zip(['xinit','g','beta','h','alpha'], list(range(5)))) ) + orderConnect = dict( list(zip(['g','h'], list(range(2)))) ) #fullConnectionList = copy.deepcopy(connectionList) # add "self-connections" @@ -90,7 +90,7 @@ def PowerLaw_Network_List(networkList,speciesNames=None, for name in optimizableICs: if name not in speciesNames: - raise Exception, "One or more optimizableICs are not found in speciesNames" + raise Exception("One or more optimizableICs are not found in speciesNames") # add parameters for i in range(n): @@ -124,7 +124,7 @@ def PowerLaw_Network_List(networkList,speciesNames=None, isOptimizable=order['h'] 25 -complexityList = range(0,complexityMax,complexityStepsize) +complexityList = list(range(0,complexityMax,complexityStepsize)) # ensGen controls the generation of the initial ensemble of # parameter starting points. @@ -166,7 +166,7 @@ # In[11]: pylab.figure(figsize=(20,2)) -p.plotBestModelResults(plotInitialConditions=True,indices=range(10)); +p.plotBestModelResults(plotInitialConditions=True,indices=list(range(10))); # And now for out-of-sample data: @@ -184,7 +184,7 @@ # In[13]: m = p.getBestModel() -print m.getParameters() +print(m.getParameters()) # The following will use SloppyCell to output a latex file with the ODEs describing the selected model: @@ -226,10 +226,10 @@ # In[17]: for name in p.fittingModelNames: - if name in p.logLikelihoodDict.keys(): - print name, ': #species =',len(p.fittingModelDict[name].speciesNames), ', #params =',p.numParametersDict[name], ', L =', p.logLikelihoodDict[name] -print -print 'Selected model:',p.maxLogLikelihoodName() + if name in list(p.logLikelihoodDict.keys()): + print(name, ': #species =',len(p.fittingModelDict[name].speciesNames), ', #params =',p.numParametersDict[name], ', L =', p.logLikelihoodDict[name]) +print() +print('Selected model:',p.maxLogLikelihoodName()) # A model with more parameters fits in-sample data better but out-of-sample data worse: @@ -263,12 +263,12 @@ # In[21]: m = p.getBestModel() -print "Acceptance ratio for initial parameter ensemble =",m.acceptanceRatio +print("Acceptance ratio for initial parameter ensemble =",m.acceptanceRatio) c = sum(scipy.array(m.currentResiduals(p.fittingData,p.indepParamsList,includePriors=False))**2) -print "Sum of squared residuals at best-fit (without priors) =",c -print "Convergence flags for local fits:",m.convFlagList -print "Number of cost evaluations for local fits:",m.numCostCallsList -print "Number of gradient evaluations for local fits:",m.numGradCallsList +print("Sum of squared residuals at best-fit (without priors) =",c) +print("Convergence flags for local fits:",m.convFlagList) +print("Number of cost evaluations for local fits:",m.numCostCallsList) +print("Number of gradient evaluations for local fits:",m.numGradCallsList) # Finally, since in this case we know the function used to create the data, we can compare: @@ -276,7 +276,7 @@ # In[22]: pylab.figure(figsize=(20,2)) -indicesToPlot = range(5) +indicesToPlot = list(range(5)) axArray = p.plotBestModelResults(plotInitialConditions=True,indices=indicesToPlot) # compare to model that generated the data diff --git a/simpleExample_makeData.py b/simpleExample_makeData.py index e5dd1bf..fb1f9e5 100644 --- a/simpleExample_makeData.py +++ b/simpleExample_makeData.py @@ -37,7 +37,7 @@ noiseStds = scipy.repeat(noiseStd,100) -data = zip( x0s, times, xsNoisy, noiseStds ) +data = list(zip( x0s, times, xsNoisy, noiseStds )) scipy.savetxt('simpleExample_data.txt',data) diff --git a/test/test_fitting_problem.py b/test/test_fitting_problem.py index 55aae2e..e73b07b 100644 --- a/test/test_fitting_problem.py +++ b/test/test_fitting_problem.py @@ -82,7 +82,7 @@ def test_fitAll(self): # set up simple linear data indepParamNames = ['x',] indepParamsList,data = simple_linear_data(numDatapoints) - outputNames = data[0].keys() + outputNames = list(data[0].keys()) p = fp.PowerLawFittingProblem( complexityList, diff --git a/test/test_parallel.py b/test/test_parallel.py index 90cce55..f0c611b 100644 --- a/test/test_parallel.py +++ b/test/test_parallel.py @@ -88,10 +88,10 @@ def test_local_fit_parallel(self): m.localFitToData_parallel(NUMPROCS,data,dataModel,ens,indepParamsList) # check that we get the same answer from each parallel instance - testVar = fitParamsSerial.keys()[0] # just check the first parameter + testVar = list(fitParamsSerial.keys())[0] # just check the first parameter varSerial = fitParamsSerial.getByKey(testVar) varParallelList = [ result[0].getByKey(testVar) \ - for result in outputDictParallel.values() ] + for result in list(outputDictParallel.values()) ] for varParallel in varParallelList: self.assertAlmostEqual(varSerial,varParallel) From 2cf666a007d7e27025504a0490436913357465be Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Wed, 13 Apr 2022 13:01:14 -0700 Subject: [PATCH 23/42] update outdated reference to Sets --- SirIsaac/fittingProblem.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index 4c514b4..5ed4b40 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -48,7 +48,6 @@ # used in _findUsedVariables import SloppyCell.ExprManip as ExprManip -import sets from .simplePickle import load,save @@ -2264,7 +2263,7 @@ def _findUsedVariables(self,net,data): Find all variable names used to calculate the variables in data.keys() in the given SloppyCell network 'net'. """ - usedVariables = sets.Set(list(data.keys())) + usedVariables = set(list(data.keys())) compList = [net.functionDefinitions,net.constraints, \ net.assignmentRules,net.rateRules,net.algebraicRules] From b36ba9281536e20e81159d3bc858fafd79eb24a1 Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Wed, 13 Apr 2022 13:03:21 -0700 Subject: [PATCH 24/42] time.clock -> time.time --- SirIsaac/fittingProblem.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index 5ed4b40..928bf14 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -1609,7 +1609,7 @@ def fitToData(self,fittingData,indepParamsList=[[]], if self.verbose: print("SloppyCellFittingModel.fitToData: " \ "using ensemble stored in self.ensemble.") elif self.ensGen != None: - startTimeEns = time.clock() + startTimeEns = time.time() if self.numprocs > 1: ens,ratio = self.ensGen.generateEnsemble_parallel(self.numprocs, dataModel,initialParameters,verbose=self.verbose) @@ -1620,7 +1620,7 @@ def fitToData(self,fittingData,indepParamsList=[[]], print("SloppyCellFittingModel.fitToData: Ensemble generation " \ "failed. Using self.initialParameters.") ens = [self.initialParameters] - ensTimeSeconds = time.clock() - startTimeEns + ensTimeSeconds = time.time() - startTimeEns self.ensTimeSecondsList.append(ensTimeSeconds) else: ens = [initialParameters] @@ -1657,7 +1657,7 @@ def fitToData(self,fittingData,indepParamsList=[[]], self.convFlagList,self.costList = [],[] for index,params in enumerate(ens): #self.initializeParameters(params) - startTime = time.clock() + startTime = time.time() if fittingDataDerivs is None: fitParams,convFlag,cost,numCostCalls,numGradCalls,Lmbda,j = \ @@ -1676,7 +1676,7 @@ def fitToData(self,fittingData,indepParamsList=[[]], self.afterMinCostDict[index] = afterMinCostList self.afterExpCostDict[index] = afterExpCostList - minimizationTimeSeconds = time.clock() - startTime + minimizationTimeSeconds = time.time() - startTime self.minimizationTimeSecondsList.append(minimizationTimeSeconds) if fittingDataDerivs is not None: From 59b4281b1a617b460bfcf9e2d315db14e608111d Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Wed, 13 Apr 2022 14:23:49 -0700 Subject: [PATCH 25/42] use "with open" instead of "open" and "close" --- SirIsaac/fittingProblem.py | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index 928bf14..7e22069 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -1801,12 +1801,11 @@ def localFitToData_parallel(self,numprocs,fittingData,dataModel, save(inputDict,inputDictFilename) # call mpi - stdoutFile = open(prefix+"stdout.txt",'w') - subprocess.call([ "mpirun","-np",str(numprocs),"--allow-run-as-root","python", - os.path.join(SIRISAACDIR, "localFitParallel.py"), - inputDictFilename ], - stderr=stdoutFile,stdout=stdoutFile,env=os.environ) - stdoutFile.close() + with open(prefix+"stdout.txt",'w') as stdoutFile: + subprocess.call([ "mpirun","-np",str(numprocs),"python", + os.path.join(SIRISAACDIR, "localFitParallel.py"), + inputDictFilename ], + stderr=stdoutFile,stdout=stdoutFile,env=os.environ) os.remove(inputDictFilename) try: @@ -2622,12 +2621,11 @@ def generateEnsemble_parallel(self,numprocs,dataModel,initialParameters, # for info on "env=os.environ", see # https://stackoverflow.com/questions/60060142/strange-interaction- # between-h5py-subprocess-and-mpirun - stdoutFile = open(prefix+"stdout.txt",'w') - subprocess.call([ "mpirun","-np",str(numprocs),"--allow-run-as-root","python", - os.path.join(SIRISAACDIR, "generateEnsembleParallel.py"), - inputDictFilename ], - stderr=stdoutFile,stdout=stdoutFile,env=os.environ) - stdoutFile.close() + with open(prefix+"stdout.txt",'w') as stdoutFile: + subprocess.call([ "mpirun","-np",str(numprocs),"python", + os.path.join(SIRISAACDIR, "generateEnsembleParallel.py"), + inputDictFilename ], + stderr=stdoutFile,stdout=stdoutFile,env=os.environ) os.remove(inputDictFilename) try: From 6fffc29c3579c6146b3bcb731e59d3712b169ae6 Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Wed, 13 Apr 2022 14:32:05 -0700 Subject: [PATCH 26/42] allow test files to be run one at a time --- test/test_canary.py | 2 ++ test/test_fitting_problem.py | 2 ++ test/test_parallel.py | 3 ++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/test/test_canary.py b/test/test_canary.py index b0ace9a..7c07c38 100644 --- a/test/test_canary.py +++ b/test/test_canary.py @@ -16,3 +16,5 @@ def test_addition(self): """ self.assertEqual(2, 1+1) +if __name__ == '__main__': + unittest.main() diff --git a/test/test_fitting_problem.py b/test/test_fitting_problem.py index e73b07b..8434252 100644 --- a/test/test_fitting_problem.py +++ b/test/test_fitting_problem.py @@ -114,3 +114,5 @@ def test_fitAll(self): # check we have the correct number of singular values self.assertEqual(len(p.singValsDict[modelName]),p.numParametersDict[modelName]) +if __name__ == '__main__': + unittest.main() diff --git a/test/test_parallel.py b/test/test_parallel.py index f0c611b..2f418ed 100644 --- a/test/test_parallel.py +++ b/test/test_parallel.py @@ -120,6 +120,7 @@ def test_generate_ensemble_parallel(self): self.assertAlmostEqual(ensSerial[0][paramIndex], ensParallel[0][paramIndex]) - +if __name__ == '__main__': + unittest.main() From 30d79cd0ec1cd413dd52657fe8a370f0ecfd971b Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Wed, 13 Apr 2022 14:56:17 -0700 Subject: [PATCH 27/42] first pass at updating scipy -> numpy --- SirIsaac/fittingProblem.py | 235 ++++++++++++++++++------------------ SirIsaac/gaussianPrior.py | 10 +- SirIsaac/optimize.py | 10 +- SirIsaac/powerLawNetwork.py | 2 +- 4 files changed, 129 insertions(+), 128 deletions(-) diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index 7e22069..b121915 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -29,6 +29,7 @@ from . import gaussianPrior from . import optimize import scipy.linalg +import numpy as np import io, os import time from . import fakeData @@ -144,9 +145,9 @@ def setData(self,fittingData,indepParamsList,indepParamNames): # consistency checks if len(fittingData) != len(indepParamsList): raise Exception("Length of indepParamsList must equal length of fittingData") - if len(scipy.shape(indepParamsList)) != 2: + if len(np.shape(indepParamsList)) != 2: raise Exception("indepParamsList must be two-dimensional") - if scipy.shape(indepParamsList)[1] != len(indepParamNames): + if np.shape(indepParamsList)[1] != len(indepParamNames): raise Exception("Length of indepParamNames must equal length of second dimension of indepParamsList") for d in fittingData: @@ -395,17 +396,17 @@ def logLikelihood( self,cost,singVals,priorSingVals ): squared residuals), the singular values of the Hessian, and the singular values of the Hessian with only priors. """ - return -(cost + 0.5*scipy.sum( scipy.log(singVals) ) \ - - 0.5*scipy.sum( scipy.log(priorSingVals) ) ) + return -(cost + 0.5*np.sum( np.log(singVals) ) \ + - 0.5*np.sum( np.log(priorSingVals) ) ) # 8.2.2009 updated to include 2pi # 9.11.2013 corrected def penalty(self,singVals,priorSingVals): - #return 0.5*scipy.sum( scipy.log( \ + #return 0.5*np.sum( np.log( \ # scipy.array(self._StiffSingVals(singVals,cutoff))/(2.*scipy.pi) ) ) - return + 0.5*scipy.sum( scipy.log(singVals) ) \ - - 0.5*scipy.sum( scipy.log(priorSingVals) ) + return + 0.5*np.sum( np.log(singVals) ) \ + - 0.5*np.sum( np.log(priorSingVals) ) def numStiffSingVals(self,singVals,cutoff=None): return len( self._StiffSingVals(singVals,cutoff) ) @@ -475,7 +476,7 @@ def correlationWithPerfectModel(self,fittingModel,timeInterval, errors: mean( (data - perfectData)^2 ) """ - flat = lambda a: scipy.reshape(a,scipy.prod(scipy.shape(a))) + flat = lambda a: scipy.reshape(a,scipy.prod(np.shape(a))) if indepParamsList is None: indepParamsList = self.indepParamsList @@ -483,7 +484,7 @@ def correlationWithPerfectModel(self,fittingModel,timeInterval, raise Exception("fittingProblem instance has no perfectModel.") corrList,errList = [],[] times = scipy.linspace(timeInterval[0],timeInterval[1],numPoints) - if len(scipy.shape(var)) == 0: var = [var] # single variable + if len(np.shape(var)) == 0: var = [var] # single variable # 4.17.2013 don't want to return anything if we're testing a fit version # of self.perfectModel and it hasn't been fit yet @@ -504,8 +505,8 @@ def correlationWithPerfectModel(self,fittingModel,timeInterval, wormData = speedDict[indepParams] times = scipy.sort(list(wormData.keys())) perfectData = scipy.array([[ wormData[time][0] for time in times ]]) - #print scipy.shape(perfectData) - #print scipy.shape(data) + #print np.shape(perfectData) + #print np.shape(data) else: # typical case # 4.17.2013 in case we're checking a fit version of self.perfectModel if hasattr(self,'perfectParams'): @@ -552,7 +553,7 @@ def correlationWithPerfectModel(self,fittingModel,timeInterval, if k == len(indepParamsList) - 1: # calculate correlations once data,perfectData = \ - scipy.transpose(dataList),scipy.transpose(perfectDataList) + np.transpose(dataList),np.transpose(perfectDataList) # now data is (#vars) x (#indepParams) corrListI,errListI = [],[] if makePlots: @@ -610,10 +611,10 @@ def outOfSampleCorrelation(self,fittingModel,timeInterval, # generate random indepParams scipy.random.seed(seed) ipr = scipy.array(indepParamsRanges) - if sampleInLog: ipr = scipy.log(ipr) + if sampleInLog: ipr = np.log(ipr) randomIndepParams = scipy.rand(numTests,len(indepParamsRanges))* \ (ipr[:,1]-ipr[:,0]) + ipr[:,0] - if sampleInLog: randomIndepParams = scipy.exp(randomIndepParams) + if sampleInLog: randomIndepParams = np.exp(randomIndepParams) if verbose: print(randomIndepParams) return self.correlationWithPerfectModel(fittingModel,timeInterval, @@ -989,7 +990,7 @@ def networkFigureBestModel(self,filename,modelName=None,indepParamMax=None, bestModel = self.getBestModel(modelName=modelName) if indepParamMax is None: - indepParamMax = [ max(l) for l in scipy.transpose(self.indepParamsList) ] + indepParamMax = [ max(l) for l in np.transpose(self.indepParamsList) ] print(indepParamMax) # 7.26.2012 also pass edge parameters @@ -1247,7 +1248,7 @@ def plotResults(self,fittingData,indepParamsList,numCols=None, Plotting.figure(figsize=figsize) if maxTime is None: - allDataTimes = scipy.concatenate([ scipy.concatenate([ \ + allDataTimes = np.concatenate([ np.concatenate([ \ list(varDat.keys()) for varDat in list(data.values())]) \ for data in fittingData ]) maxTime = 1.1 * max(allDataTimes) @@ -1989,8 +1990,8 @@ def evaluateVec(self,times,var,indepParams,defaultValue=0.): try: singleVariable = \ - isinstance(var,tuple) or ( len(scipy.shape(var)) == 0 ) - except: # scipy.shape dies if there are tuples and strings + isinstance(var,tuple) or ( len(np.shape(var)) == 0 ) + except: # np.shape dies if there are tuples and strings singleVariable = False try: #traj = self.net.integrate(scipy.array( [0.]+list(times) )) @@ -2322,7 +2323,7 @@ def _interpolatePiecewiseRHS(self,xvals,yvals,xVar='time'): for x0,x1,y0,y1 in zip(xvals[:-1],xvals[1:],yvals[:-1],yvals[1:]): x0,x1,y0,y1 = str(x0),str(x1),str(y0),str(y1) - #condlistStr += "scipy.logical_and("+xStr+">="+x0+","+xStr+"<="+x1+")," + #condlistStr += "np.logical_and("+xStr+">="+x0+","+xStr+"<="+x1+")," #funclistStr += "lambda t: "+y0+" + " \ # +"("+y1+"-"+y0+")/("+x1+"-"+x0+")*(t-"+x0+")," string += y0+" + "+"("+y1+"-"+y0+")/("+x1+"-"+x0+")*("+xStr+"-"+x0+")," @@ -2479,12 +2480,12 @@ def evaluateVec(self,times,var,indepParams,useMemoization=True): "evaluateVec: Unable to save memoization dictionary.") #pass - if len(times) != scipy.shape(data)[1]: + if len(times) != np.shape(data)[1]: print("FittingProblem.YeastOscillatorFittingModel.evaluateVec " \ "WARNING: Returning different number of timepoints than " \ "requested.") - print("shape(times) =",scipy.shape(times)) - print("shape(data) =",scipy.shape(data)) + print("shape(times) =",np.shape(times)) + print("shape(data) =",np.shape(data)) return data[desiredVarIndices] @@ -2563,7 +2564,7 @@ def generateEnsemble(self,dataModel,initialParameters,returnCosts=False, try: if self.logParams: initialHess = dataModel.GetJandJtJInLogParameters( \ - scipy.log(initialParameters))[1] + np.log(initialParameters))[1] else: initialHess = dataModel.GetJandJtJ(initialParameters)[1] u, sing_vals, vh = scipy.linalg.svd(0.5 * initialHess) @@ -2584,10 +2585,10 @@ def generateEnsemble(self,dataModel,initialParameters,returnCosts=False, sing_val_cutoff=self.sing_val_cutoff,hess=initialHess) if verbose: print("Ensemble done. Acceptance ratio = "+str(ratio)) - skip = int( scipy.floor(self.totalSteps/(self.keepSteps-1)) ) - keptEns = scipy.concatenate( (ens[::-skip][:self.keepSteps-1], + skip = int( np.floor(self.totalSteps/(self.keepSteps-1)) ) + keptEns = np.concatenate( (ens[::-skip][:self.keepSteps-1], [initialParameters]) ) - keptCosts = scipy.concatenate( (costs[::-skip][:self.keepSteps-1], + keptCosts = np.concatenate( (costs[::-skip][:self.keepSteps-1], [initialCost]) ) if returnCosts: return keptEns,ratio,keptCosts @@ -2644,7 +2645,7 @@ def generateEnsemble_parallel(self,numprocs,dataModel,initialParameters, return output def _dataModelNumDataPoints(self,dataModel): - return scipy.sum( [ [ [ len(varDat) for varDat in list(nameDat.values()) ] \ + return np.sum( [ [ [ len(varDat) for varDat in list(nameDat.values()) ] \ for nameDat in list(exptDat.GetData().values()) ] \ for exptDat in list(dataModel.exptColl.values()) ] ) @@ -2792,8 +2793,8 @@ def generateData_deriv(self,varsList,numConditions,noiseFracSize, if noiseInLog: valuesNoise = scipy.random.normal(0.,noiseFracSize,len(values)) derivsNoise = scipy.random.normal(0.,noiseFracSize,len(derivs)) - valuesWithNoise = scipy.exp(valuesNoise) * values - derivsWithNoise = scipy.exp(derivsNoise) * derivs + valuesWithNoise = np.exp(valuesNoise) * values + derivsWithNoise = np.exp(derivsNoise) * derivs valueSigmas = abs(values)*noiseFracSize # XXX 2.28.2013 other factors? derivSigmas = abs(derivs)*noiseFracSize # XXX 2.28.2013 other factors? else: @@ -2939,14 +2940,14 @@ def currentCost_deriv(self,fittingData,indepParamsList,fittingDataDerivs, fittingDataDerivs,indepParamsList) speciesDataTimeDerivSigmas = nonHiddenDataDerivSigmas - numSpeciesTotal,numTimes = scipy.shape(speciesData) + numSpeciesTotal,numTimes = np.shape(speciesData) numIndepParams = len(indepParamsMat) Pg,Ph = self._derivProblem_getParams(numSpeciesTotal,numIndepParams) predictedDerivs = self._derivProblem_predictedDerivs(Pg,Ph, speciesData,indepParamsMat,regStrength) - derivCost = scipy.sum( \ + derivCost = np.sum( \ ((speciesDataTimeDerivs - predictedDerivs)/speciesDataTimeDerivSigmas)**2 ) return derivCost @@ -2987,7 +2988,7 @@ def setParam(name,val): # sanity check that I'm not setting nonexistent parameters oldParameterNames = scipy.sort(list(currentParams.keys())) newParameterNames = scipy.sort(list(newParams.keys())) - if scipy.shape(oldParameterNames) != scipy.shape(newParameterNames): + if np.shape(oldParameterNames) != np.shape(newParameterNames): raise Exception("oldParameterNames != newParameterNames.\n" \ "old = "+str(oldParameterNames)+",\nnew = "+str(newParameterNames)) if not scipy.all( oldParameterNames == newParameterNames ): @@ -3018,24 +3019,24 @@ def _derivProblem_productTerm(self,Pg,speciesData,indepParamsMat): logAlpha = Pg[numInputs,:] # logAlpha len #species g = Pg[numInputs+1:,:] # g (#species)x(#species) - logIP = scipy.log(indepParamsMat) # logIP (#IPs)x(#times) - logProdGIP = scipy.dot(gIP.T,logIP) # logProdGIP (#species)x(#times) + logIP = np.log(indepParamsMat) # logIP (#IPs)x(#times) + logProdGIP = np.dot(gIP.T,logIP) # logProdGIP (#species)x(#times) - logData = scipy.log(speciesData) # logData (#species)x(#times) - logProdG = scipy.dot(g.T,logData) # logProdG (#species)x(#times) # g or g.T? + logData = np.log(speciesData) # logData (#species)x(#times) + logProdG = np.dot(g.T,logData) # logProdG (#species)x(#times) # g or g.T? - logG = scipy.transpose([ logAlpha + lg + lgip for lgip,lg in \ + logG = np.transpose([ logAlpha + lg + lgip for lgip,lg in \ zip(logProdGIP.T,logProdG.T) ]) - return scipy.exp(logG) # G (#species)x(#times) + return np.exp(logG) # G (#species)x(#times) # 6.28.2012 def _derivProblem_predictedDerivs(self,Pg,Ph,speciesData,indepParamsMat,r, separateTerms=False): G = self._derivProblem_productTerm(Pg,speciesData,indepParamsMat) * \ - scipy.exp(r/speciesData) + np.exp(r/speciesData) H = self._derivProblem_productTerm(Ph,speciesData,indepParamsMat) * \ - scipy.exp(r*speciesData) + np.exp(r*speciesData) predictedDerivs = G - H if separateTerms: return G,H else: return predictedDerivs @@ -3065,12 +3066,12 @@ def _derivProblem_regression(self,Design,Y,includedIndices=None, 0 if j is not influenced by i. Defaults to all ones (fully connected). """ - numSpecies,numTimes = scipy.shape(Y) + numSpecies,numTimes = np.shape(Y) numFactors = len(Design[0]) if weightMatrix is None: weightMatrix = scipy.ones_like(Y) if includedIndices is None: includedIndices = list(range(numTimes)) if thetaMatrix is None: thetaMatrix = scipy.ones((numFactors,numSpecies)) - W = scipy.transpose( (weightMatrix.T)[includedIndices] ) + W = np.transpose( (weightMatrix.T)[includedIndices] ) D = Design[includedIndices] YT = scipy.real_if_close( (Y.T)[includedIndices] ) YTTilde = W.T*YT @@ -3081,13 +3082,13 @@ def _derivProblem_regression(self,Design,Y,includedIndices=None, Wi = scipy.array([W[i]]).repeat(len(D[0]),axis=0) # shape (#factors)x(#times) thetai = scipy.array([thetaMatrix[:,i]]).repeat(numTimes,axis=0) # (#times)x(#factors) DiTilde = Wi.T*thetai*D - #Binv = scipy.linalg.inv(scipy.dot(DiTilde.T,DiTilde)) + #Binv = scipy.linalg.inv(np.dot(DiTilde.T,DiTilde)) priorTerm = priorLambda*scipy.diag(scipy.ones(len(D[0]))) thetaTerm = scipy.diag(1-thetaMatrix[:,i]) # 3.3.2013 to keep B non-singular - B = scipy.dot(DiTilde.T,DiTilde) + priorTerm + thetaTerm + B = np.dot(DiTilde.T,DiTilde) + priorTerm + thetaTerm # ****************************************************** #print "_derivProblem_regression: fitting species number",i - #print "_derivProblem_regression: sum(Wi^2) =",scipy.sum(Wi**2) + #print "_derivProblem_regression: sum(Wi^2) =",np.sum(Wi**2) # ****************************************************** try: Binv = svdInverse(B,maxEig=self.maxSVDeig,minEig=self.minSVDeig) @@ -3097,24 +3098,24 @@ def _derivProblem_regression(self,Design,Y,includedIndices=None, # but it probably is if Wi is all zeros (which is what I'm # trying to fix). I'll raise an exception in other cases to # be safe. - if scipy.sum(Wi**2) != 0: raise ValueError + if np.sum(Wi**2) != 0: raise ValueError Binv = scipy.zeros( ( len(DiTilde[0]),len(DiTilde[0]) ) ) # *************** - if scipy.sum(scipy.imag(Binv)**2) > 0.: + if np.sum(scipy.imag(Binv)**2) > 0.: print("_derivProblem_regression: sum(imag(Binv)**2) =", \ - scipy.sum(scipy.imag(Binv)**2)) + np.sum(scipy.imag(Binv)**2)) # *************** YiTilde = YTTilde[:,i] - p2 = scipy.dot(DiTilde.T,YiTilde) - Pi = scipy.dot(Binv,p2) + p2 = np.dot(DiTilde.T,YiTilde) + Pi = np.dot(Binv,p2) P.append(Pi) # ********************************************************** #print "_derivProblem_regression: fitting species number",i #print "_derivProblem_regression: param range =",(min(Pi),max(Pi)) # ********************************************************** - return scipy.transpose(P) + return np.transpose(P) def _derivProblem_setOptimizable(self,visibleIndices,optBool,verbose=False): @@ -3209,7 +3210,7 @@ def _derivProblem_createDataMatrices(self,fittingData,fittingDataDerivs, for indepParamsOther,data in zip(indepParamsListOther,fittingData): numTimes = len(list(data.values())[0].keys()) indepParamsRepeat = scipy.repeat([indepParamsOther],numTimes,axis=0).T - indepParamsMat = scipy.concatenate([indepParamsMat,indepParamsRepeat],axis=1) + indepParamsMat = np.concatenate([indepParamsMat,indepParamsRepeat],axis=1) #print "fitToDataDerivs: indepParamsMat =",indepParamsMat @@ -3229,8 +3230,8 @@ def _derivProblem_createDataMatrices(self,fittingData,fittingDataDerivs, raise Exception("Data timepoints not the same as derivative timepoints") # () integrate to find values of hidden variables if len(speciesNamesWithoutData) > 0: - hiddenData = scipy.concatenate((hiddenData.T, self.evaluateVec(sortedTimes,speciesNamesWithoutData,indepParamsAll).T )).T - hiddenDataDerivs = scipy.concatenate((hiddenDataDerivs.T, self.evaluateVec(sortedTimes,[ (s,'time') for s in speciesNamesWithoutData ],indepParamsAll).T )).T + hiddenData = np.concatenate((hiddenData.T, self.evaluateVec(sortedTimes,speciesNamesWithoutData,indepParamsAll).T )).T + hiddenDataDerivs = np.concatenate((hiddenDataDerivs.T, self.evaluateVec(sortedTimes,[ (s,'time') for s in speciesNamesWithoutData ],indepParamsAll).T )).T # () extract values and derivatives of non-hidden variables nonHiddenDataOneIP,nonHiddenDataDerivsOneIP = [],[] nonHiddenDataDerivSigmasOneIP = [] @@ -3243,23 +3244,23 @@ def _derivProblem_createDataMatrices(self,fittingData,fittingDataDerivs, nonHiddenDataOneIP.append(dataRow) nonHiddenDataDerivsOneIP.append(dataRowDerivs) nonHiddenDataDerivSigmasOneIP.append(dataRowDerivSigmas) - nonHiddenData = scipy.concatenate((nonHiddenData.T,scipy.transpose(nonHiddenDataOneIP))).T - nonHiddenDataDerivs = scipy.concatenate((nonHiddenDataDerivs.T,scipy.transpose(nonHiddenDataDerivsOneIP))).T - nonHiddenDataDerivSigmas = scipy.concatenate((nonHiddenDataDerivSigmas.T,scipy.transpose(nonHiddenDataDerivSigmasOneIP))).T + nonHiddenData = np.concatenate((nonHiddenData.T,np.transpose(nonHiddenDataOneIP))).T + nonHiddenDataDerivs = np.concatenate((nonHiddenDataDerivs.T,np.transpose(nonHiddenDataDerivsOneIP))).T + nonHiddenDataDerivSigmas = np.concatenate((nonHiddenDataDerivSigmas.T,np.transpose(nonHiddenDataDerivSigmasOneIP))).T if len(speciesNamesWithoutData) > 0: - speciesData = scipy.concatenate((nonHiddenData,hiddenData)) - speciesDataTimeDerivs = scipy.concatenate((nonHiddenDataDerivs,hiddenDataDerivs)) # added hidden 8.17.2012 + speciesData = np.concatenate((nonHiddenData,hiddenData)) + speciesDataTimeDerivs = np.concatenate((nonHiddenDataDerivs,hiddenDataDerivs)) # added hidden 8.17.2012 else: speciesData = nonHiddenData speciesDataTimeDerivs = nonHiddenDataDerivs - #print "shape(nonHiddenData) =",scipy.shape(nonHiddenData) - #print "shape(nonHiddenDataDerivs) =",scipy.shape(nonHiddenDataDerivs) - #print "shape(hiddenData) =",scipy.shape(hiddenData) - #print "shape(hiddenDataDerivs) =",scipy.shape(hiddenDataDerivs) - #print "shape(speciesData) =",scipy.shape(speciesData) - #print "shape(speciesDataTimeDerivs) =",scipy.shape(speciesDataTimeDerivs) + #print "shape(nonHiddenData) =",np.shape(nonHiddenData) + #print "shape(nonHiddenDataDerivs) =",np.shape(nonHiddenDataDerivs) + #print "shape(hiddenData) =",np.shape(hiddenData) + #print "shape(hiddenDataDerivs) =",np.shape(hiddenDataDerivs) + #print "shape(speciesData) =",np.shape(speciesData) + #print "shape(speciesDataTimeDerivs) =",np.shape(speciesDataTimeDerivs) # throw ValueError if inf or nan shows up speciesData = scipy.asarray_chkfinite(speciesData) @@ -3285,7 +3286,7 @@ def _derivProblem_calculateDerivs(self,fittingData,fittingDataDerivs, indepParamOtherNames = [name for name in self.indepParamNames if not name.endswith("_init")] numIndepParams = len(indepParamOtherNames) - numSpeciesTotal,numTimes = scipy.shape(speciesData) + numSpeciesTotal,numTimes = np.shape(speciesData) Pg,Ph = self._derivProblem_getParams(numSpeciesTotal,numIndepParams) predictedDerivs = self._derivProblem_predictedDerivs(Pg,Ph,speciesData, @@ -3328,7 +3329,7 @@ def _derivProblem_outOfSampleCorrelation(self,outOfSampleFittingData, predictedDerivsList,actualDerivsList = [],[] - flat = lambda a: scipy.reshape(a,scipy.prod(scipy.shape(a))) + flat = lambda a: scipy.reshape(a,scipy.prod(np.shape(a))) fittingData = outOfSampleFittingData fittingDataDerivs = outOfSampleFittingDataDerivs @@ -3483,13 +3484,13 @@ def fitToDataDerivs(self,fittingData,fittingDataDerivs,indepParamsList=[[]], # 9.27.2012 calculate new cost before integrating hidden nodes predictedDerivsVisible = predictedDerivs[:len(nonHiddenDataDerivs)] - numSpeciesTotal,numTimes = scipy.shape(speciesData) + numSpeciesTotal,numTimes = np.shape(speciesData) numIndepParams = len(indepParamsMat) priorCost = self._derivProblem_priorCost(priorLambda,numSpeciesTotal, numIndepParams) # 5.29.2014 - afterMinCost = 0.5 * scipy.sum( ((predictedDerivsVisible-nonHiddenDataDerivs)/nonHiddenDataDerivSigmas)**2 ) + priorCost + afterMinCost = 0.5 * np.sum( ((predictedDerivsVisible-nonHiddenDataDerivs)/nonHiddenDataDerivSigmas)**2 ) + priorCost afterMinCostList.append( afterMinCost ) - afterMinCostNoSigma = scipy.sum( (predictedDerivsVisible-nonHiddenDataDerivs)**2 ) + afterMinCostNoSigma = np.sum( (predictedDerivsVisible-nonHiddenDataDerivs)**2 ) # (2c) 9.26.2012 calculate new cost after integrating hidden nodes oldCost = scipy.copy(newCost) @@ -3557,7 +3558,7 @@ def fitToDataDerivs(self,fittingData,fittingDataDerivs,indepParamsList=[[]], # 5.29.2014 def _derivProblem_priorCost(self,priorLambda,numSpeciesTotal,numIndepParams): Pg,Ph = self._derivProblem_getParams(numSpeciesTotal,numIndepParams) - return 0.5*priorLambda*scipy.sum(Pg**2 + Ph**2) + return 0.5*priorLambda*np.sum(Pg**2 + Ph**2) # 6.27.2012 @@ -3587,7 +3588,7 @@ def _derivProblem_fit(self,speciesData,speciesDataTimeDerivs, regStrength = self.net.get_var_val('regStrength') r = regStrength - if scipy.shape(speciesData) != scipy.shape(speciesDataTimeDerivs): + if np.shape(speciesData) != np.shape(speciesDataTimeDerivs): raise Exception("speciesData must have same shape as speciesDataTimeDerivs") if indepParamsMat is None: @@ -3601,15 +3602,15 @@ def _derivProblem_fit(self,speciesData,speciesDataTimeDerivs, # (note that we now typically do NOT fit `hidden' derivatives in the # EM framework, so numSpeciesNonHidden here is the same as # the number of visible species in fitDataDerivs) - numSpeciesTotal,numTimes = scipy.shape(speciesData) - numSpeciesNonHidden,numTimes = scipy.shape(speciesDataTimeDerivs) + numSpeciesTotal,numTimes = np.shape(speciesData) + numSpeciesNonHidden,numTimes = np.shape(speciesDataTimeDerivs) # set up design matrix D = scipy.zeros((numTimes,numSpeciesTotal+1+numIndepParams)) if numIndepParams > 0: - D[:,:numIndepParams] = scipy.transpose(indepParamsMat) + D[:,:numIndepParams] = np.transpose(indepParamsMat) D[:,numIndepParams] = scipy.ones(numTimes) - D[:,numIndepParams+1:] = scipy.transpose(scipy.log(speciesData)) + D[:,numIndepParams+1:] = np.transpose(np.log(speciesData)) # use model's current values for initial h parameters. # Pg and Ph store our parameters in a convenient form @@ -3617,9 +3618,9 @@ def _derivProblem_fit(self,speciesData,speciesDataTimeDerivs, self._derivProblem_getParams(numSpeciesTotal,numIndepParams, \ retTheta=True) if verbose: - freeParams = int(scipy.sum(thetaMatrixG) + scipy.sum(thetaMatrixH)) - allParams = scipy.prod(scipy.shape(thetaMatrixG)) \ - + scipy.prod(scipy.shape(thetaMatrixH)) + freeParams = int(np.sum(thetaMatrixG) + np.sum(thetaMatrixH)) + allParams = scipy.prod(np.shape(thetaMatrixG)) \ + + scipy.prod(np.shape(thetaMatrixH)) print("_derivProblem_fit:",freeParams,"free parameters out of",allParams) #GnumIncludedIndicesList = [] @@ -3632,7 +3633,7 @@ def _derivProblem_fit(self,speciesData,speciesDataTimeDerivs, # 2.25.2013 def printParamSummary(Pg,Ph): if verbose: - f = lambda mat: mat.reshape(scipy.prod(scipy.shape(mat))) + f = lambda mat: mat.reshape(scipy.prod(np.shape(mat))) print("_derivProblem_fit: production params:", \ min(f(Pg)),"to",max(f(Pg))) print("_derivProblem_fit: degradation params:", \ @@ -3641,9 +3642,9 @@ def printParamSummary(Pg,Ph): # need to be set for first iteration includedIndices = [] predictedDerivs = self._derivProblem_predictedDerivs(Pg,Ph,speciesData,indepParamsMat,r) - oldPredYh = scipy.transpose(scipy.dot(D,Ph)) + oldPredYh = np.transpose(np.dot(D,Ph)) G = self._derivProblem_productTerm(Pg,speciesData,indepParamsMat) - Yh = scipy.log(G - speciesDataTimeDerivs) + Yh = np.log(G - speciesDataTimeDerivs) for i in range(numiter): @@ -3651,58 +3652,58 @@ def printParamSummary(Pg,Ph): # check whether new fit is better than old one, # at least at the included time indices - predYh = scipy.transpose(scipy.dot(D,Ph)) + predYh = np.transpose(np.dot(D,Ph)) - #derivCostSubset0 = scipy.sum( (speciesDataTimeDerivs - predictedDerivs)[:,includedIndices]**2 ) + #derivCostSubset0 = np.sum( (speciesDataTimeDerivs - predictedDerivs)[:,includedIndices]**2 ) predG,predH = self._derivProblem_predictedDerivs(Pg,Ph,speciesData,indepParamsMat,r,True) predictedDerivs = predG - predH - #derivCostSubset1 = scipy.sum( (speciesDataTimeDerivs - predictedDerivs)[:,includedIndices]**2 ) + #derivCostSubset1 = np.sum( (speciesDataTimeDerivs - predictedDerivs)[:,includedIndices]**2 ) #derivCostSubsetDelta = derivCostSubset1 - derivCostSubset0 #derivCostSubsetDeltaList.append(derivCostSubsetDelta) - priorCost = 0.5*priorLambda*scipy.sum(Pg**2 + Ph**2) # 5.29.2014 - derivCost = 0.5*scipy.sum( ((speciesDataTimeDerivs - predictedDerivs)/speciesDataTimeDerivSigmas)**2 ) + priorCost + priorCost = 0.5*priorLambda*np.sum(Pg**2 + Ph**2) # 5.29.2014 + derivCost = 0.5*np.sum( ((speciesDataTimeDerivs - predictedDerivs)/speciesDataTimeDerivSigmas)**2 ) + priorCost printParamSummary(Pg,Ph) if verbose: print("_derivProblem_fit: current deriv cost =", derivCost) derivCostList.append(derivCost) - oldPredYg = scipy.transpose(scipy.dot(D,Pg)) + oldPredYg = np.transpose(np.dot(D,Pg)) # () Do fitting of production params while holding degradation fixed H = self._derivProblem_productTerm(Ph,speciesData,indepParamsMat) - Yg = scipy.log(H + speciesDataTimeDerivs) - r/speciesData + Yg = np.log(H + speciesDataTimeDerivs) - r/speciesData if True: - fittable = scipy.sum((H + speciesDataTimeDerivs)>0.) - total = scipy.prod(scipy.shape(H)) + fittable = np.sum((H + speciesDataTimeDerivs)>0.) + total = scipy.prod(np.shape(H)) if verbose: print("_derivProblem_fit: production terms fit:",fittable,"of",total) Wg = (H + speciesDataTimeDerivs) / speciesDataTimeDerivSigmas \ - * scipy.exp(-r/speciesData) * ((H + speciesDataTimeDerivs)>0.) + * np.exp(-r/speciesData) * ((H + speciesDataTimeDerivs)>0.) Pg = self._derivProblem_regression(D,Yg,weightMatrix=Wg, \ priorLambda=priorLambda,thetaMatrix=thetaMatrixG) # check whether new fit is better than old one, # at least at the included time indices - predYg = scipy.transpose(scipy.dot(D,Pg)) + predYg = np.transpose(np.dot(D,Pg)) predictedDerivs = self._derivProblem_predictedDerivs(Pg,Ph,speciesData,indepParamsMat,r) - priorCost = 0.5*priorLambda*scipy.sum(Pg**2 + Ph**2) # 5.29.2014 - derivCost = 0.5*scipy.sum( ((speciesDataTimeDerivs - predictedDerivs)/speciesDataTimeDerivSigmas)**2 ) + priorCost + priorCost = 0.5*priorLambda*np.sum(Pg**2 + Ph**2) # 5.29.2014 + derivCost = 0.5*np.sum( ((speciesDataTimeDerivs - predictedDerivs)/speciesDataTimeDerivSigmas)**2 ) + priorCost printParamSummary(Pg,Ph) if verbose: print("_derivProblem_fit: current deriv cost =", derivCost) derivCostList.append(derivCost) - oldPredYh = scipy.transpose(scipy.dot(D,Ph)) + oldPredYh = np.transpose(np.dot(D,Ph)) # () Do fitting of degradation params while holding production fixed G = self._derivProblem_productTerm(Pg,speciesData,indepParamsMat) - Yh = scipy.log(G - speciesDataTimeDerivs) - r*speciesData + Yh = np.log(G - speciesDataTimeDerivs) - r*speciesData if True: - fittable = scipy.sum((G - speciesDataTimeDerivs)>0.) - total = scipy.prod(scipy.shape(G)) + fittable = np.sum((G - speciesDataTimeDerivs)>0.) + total = scipy.prod(np.shape(G)) if verbose: print("_derivProblem_fit: degradation terms fit:",fittable,"of",total) Wh = (G - speciesDataTimeDerivs) / speciesDataTimeDerivSigmas \ - * scipy.exp(-r*speciesData) * ((G - speciesDataTimeDerivs)>0.) + * np.exp(-r*speciesData) * ((G - speciesDataTimeDerivs)>0.) Ph = self._derivProblem_regression(D,Yh,weightMatrix=Wh, \ priorLambda=priorLambda,thetaMatrix=thetaMatrixH) @@ -3737,11 +3738,11 @@ def _derivProblem_logLikelihood(self,fittingData,fittingDataDerivs,indepParamsLi self._derivProblem_createDataMatrices(fittingData, \ fittingDataDerivs,indepParamsList) predictedDerivsVisible = self._derivProblem_calculateDerivs(fittingData,fittingDataDerivs,indepParamsList,r) - numSpeciesTotal,numTimes = scipy.shape(speciesData) + numSpeciesTotal,numTimes = np.shape(speciesData) numIndepParams = len(indepParamsMat) priorCost = self._derivProblem_priorCost(priorLambda,numSpeciesTotal, numIndepParams) # 5.29.2014 - cost = 0.5 * scipy.sum( ((predictedDerivsVisible-nonHiddenDataDerivs)/nonHiddenDataDerivSigmas)**2 ) + priorCost + cost = 0.5 * np.sum( ((predictedDerivsVisible-nonHiddenDataDerivs)/nonHiddenDataDerivSigmas)**2 ) + priorCost # calculate complexity penalty H = self._derivProblem_Hessian(fittingData,fittingDataDerivs, @@ -3757,11 +3758,11 @@ def _derivProblem_logLikelihood(self,fittingData,fittingDataDerivs,indepParamsLi print("_derivProblem_logLikelihood: cost =",-cost) print("_derivProblem_logLikelihood: penalty =", \ - -(0.5*scipy.sum( scipy.log(singVals) ) \ - - 0.5*scipy.sum( scipy.log(priorSingVals) ) )) + -(0.5*np.sum( np.log(singVals) ) \ + - 0.5*np.sum( np.log(priorSingVals) ) )) - L = -(cost + 0.5*scipy.sum( scipy.log(singVals) ) \ - - 0.5*scipy.sum( scipy.log(priorSingVals) ) ) + L = -(cost + 0.5*np.sum( np.log(singVals) ) \ + - 0.5*np.sum( np.log(priorSingVals) ) ) if retall: return L,singVals,priorSingVals @@ -3784,10 +3785,10 @@ def _derivProblem_Hessian(self,fittingData,fittingDataDerivs,indepParamsList, """ J = self._derivProblem_Jacobian(fittingData,fittingDataDerivs, indepParamsList) - HnoPrior = scipy.dot(J.T,J) + HnoPrior = np.dot(J.T,J) # add parameter prior to diagonal - numResiduals,numParameters = scipy.shape(J) + numResiduals,numParameters = np.shape(J) priorDiag = scipy.diag(scipy.ones(numParameters)*priorLambda) H = HnoPrior + priorDiag @@ -3819,8 +3820,8 @@ def _derivProblem_Jacobian(self,fittingData,fittingDataDerivs, self._derivProblem_createDataMatrices(fittingData, \ fittingDataDerivs,indepParamsList) - numSpeciesTotal,numTimes = scipy.shape(speciesData) - numIndepParams,numTimes2 = scipy.shape(indepParamsMat) + numSpeciesTotal,numTimes = np.shape(speciesData) + numIndepParams,numTimes2 = np.shape(indepParamsMat) assert numTimes == numTimes2 numResiduals = numSpeciesTotal*numTimes if numIndepParams > 0: @@ -3839,7 +3840,7 @@ def _derivProblem_Jacobian(self,fittingData,fittingDataDerivs, J = scipy.zeros((numResiduals,numParamsUsed)) - paramsShape = scipy.shape(thetaG) + paramsShape = np.shape(thetaG) assert paramsShape == (numIndepParams+numSpeciesTotal+1,numSpeciesTotal) i = 0 # residual index for t in range(numTimes): @@ -3854,11 +3855,11 @@ def _derivProblem_Jacobian(self,fittingData,fittingDataDerivs, # derivs wrt g and h xEll = speciesData[:,t] - JGi[(numIndepParams+1):,iSpecies] = scipy.log(xEll)*Gi - JHi[(numIndepParams+1):,iSpecies] =-scipy.log(xEll)*Hi + JGi[(numIndepParams+1):,iSpecies] = np.log(xEll)*Gi + JHi[(numIndepParams+1):,iSpecies] =-np.log(xEll)*Hi fullJi = self._derivProblem_flatten(JGi,JHi) - assert scipy.shape(fullJi) == scipy.shape(flatTheta) + assert np.shape(fullJi) == np.shape(flatTheta) # only fill in values with flatTheta > 0 jReduced = 0 @@ -3879,8 +3880,8 @@ def _derivProblem_flatten(self,Gparams,Hparams): Takes two matrices of shape (# indepParams + # species + 1)x(# species) and returns a single flat array of length (total # params). """ - a = scipy.concatenate((Gparams,Hparams)) - return a.reshape(scipy.prod(scipy.shape(a))) + a = np.concatenate((Gparams,Hparams)) + return a.reshape(scipy.prod(np.shape(a))) @@ -4401,7 +4402,7 @@ def RGBHdecimal2hex(RGBHdecimal): if nodeIamAffectedBy not in ignoreIndices: weightList = networkList[i][1][nodeIamAffectedBy] - if len(scipy.shape(weightList)) == 0: weightList = [weightList] + if len(np.shape(weightList)) == 0: weightList = [weightList] weight = scipy.mean( weightList ) if weight < 0.: arrowhead = 'odot' else: arrowhead = 'normal' diff --git a/SirIsaac/gaussianPrior.py b/SirIsaac/gaussianPrior.py index 297348c..b778289 100644 --- a/SirIsaac/gaussianPrior.py +++ b/SirIsaac/gaussianPrior.py @@ -7,7 +7,7 @@ # Gaussian prior. import SloppyCell.Residuals -import scipy +import numpy as np class GaussianPrior(SloppyCell.Residuals.Residual): """ @@ -48,12 +48,12 @@ def __init__(self, key, pKey, bestPVal, sigmaPVal): self.sigmaPVal = sigmaPVal def GetValue(self, predictions, internalVars, params): - return ( scipy.exp( params.getByKey(self.pKey) ) \ - - scipy.exp(self.bestPVal) )/self.sigmaPVal + return ( np.exp( params.getByKey(self.pKey) ) \ + - np.exp(self.bestPVal) )/self.sigmaPVal def dp(self, predictions, internalVars, params): return {self.pKey: \ - scipy.exp( params.getByKey(self.pKey) )/self.sigmaPVal} + np.exp( params.getByKey(self.pKey) )/self.sigmaPVal} def dy(self, predictions, internalVars, params): return {} @@ -65,4 +65,4 @@ def dintVars(self, predictions, internalVars, params): # was dintVar - \ No newline at end of file + diff --git a/SirIsaac/optimize.py b/SirIsaac/optimize.py index 37b0bc3..8401d72 100644 --- a/SirIsaac/optimize.py +++ b/SirIsaac/optimize.py @@ -7,7 +7,7 @@ # SloppyCell.Optimization. # -import scipy +import numpy as np import SloppyCell.lmopt as lmopt def fmin_lm_log_params(m, params, *args, **kwargs): @@ -15,16 +15,16 @@ def fmin_lm_log_params(m, params, *args, **kwargs): Minimize the cost of a model using Levenberg-Marquardt in terms of log parameters. """ - jac = lambda lp: scipy.asarray(m.jacobian_log_params_sens(lp)) - sln = lmopt.fmin_lm(f=m.res_log_params, x0=scipy.log(params), + jac = lambda lp: np.asarray(m.jacobian_log_params_sens(lp)) + sln = lmopt.fmin_lm(f=m.res_log_params, x0=np.log(params), fprime=jac, *args, **kwargs) - return ( scipy.exp(sln[0]), ) + sln[1:] + return ( np.exp(sln[0]), ) + sln[1:] def fmin_lm(m, params, *args, **kwargs): """ Minimize the cost of a model using Levenberg-Marquardt. """ - jac = lambda p: scipy.asarray(m.jacobian_sens(p)) + jac = lambda p: np.asarray(m.jacobian_sens(p)) sln = lmopt.fmin_lm(f=m.res, x0=params, fprime=jac, *args, **kwargs) return sln diff --git a/SirIsaac/powerLawNetwork.py b/SirIsaac/powerLawNetwork.py index ed4f115..6689fd4 100644 --- a/SirIsaac/powerLawNetwork.py +++ b/SirIsaac/powerLawNetwork.py @@ -8,7 +8,7 @@ from SloppyCell.ReactionNetworks import * -from scipy import random, log +from numpy import random, log import copy from . import gaussianPrior From 53258a589e85763ef590e6033b3d4703cbfbaa5a Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Wed, 13 Apr 2022 15:08:58 -0700 Subject: [PATCH 28/42] more scipy -> numpy --- SirIsaac/ctsnNetwork.py | 2 +- SirIsaac/fakeData.py | 30 ++++++++++++++-------------- SirIsaac/generateEnsembleParallel.py | 2 +- SirIsaac/localFitParallel.py | 2 +- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/SirIsaac/ctsnNetwork.py b/SirIsaac/ctsnNetwork.py index 642e4d5..5ec0438 100644 --- a/SirIsaac/ctsnNetwork.py +++ b/SirIsaac/ctsnNetwork.py @@ -9,7 +9,7 @@ from SloppyCell.ReactionNetworks import * -from scipy import random, log +from numpy import random, log import copy from . import gaussianPrior diff --git a/SirIsaac/fakeData.py b/SirIsaac/fakeData.py index b4bbad6..d668af0 100644 --- a/SirIsaac/fakeData.py +++ b/SirIsaac/fakeData.py @@ -6,7 +6,7 @@ # Make fake data compatible with SloppyCell. from SloppyCell.ReactionNetworks import * -import scipy +import numpy as np # (originally from runTranscriptionNetwork.py) def noisyFakeData(net,numPoints,timeInterval, @@ -44,7 +44,7 @@ def noisyFakeData(net,numPoints,timeInterval, would otherwise be produced. """ - if seed is not None: scipy.random.seed(seed) + if seed is not None: np.random.seed(seed) if vars is None: vars = list(net.dynamicVars.keys()) @@ -68,15 +68,15 @@ def noisyFakeData(net,numPoints,timeInterval, if trueNoiseRange is None: noiseFracSizeList = [noiseFracSize for var in list(data.keys())] elif len(trueNoiseRange) == 2: - if noiseSeed is not None: scipy.random.seed(noiseSeed+1) + if noiseSeed is not None: np.random.seed(noiseSeed+1) a,b = trueNoiseRange - noiseFracSizeList = scipy.random.uniform(a,b,len(list(data.keys()))) + noiseFracSizeList = np.random.uniform(a,b,len(list(data.keys()))) else: raise Exception("Unrecognized form of trueNoiseRange") - if noiseSeed is not None: scipy.random.seed(noiseSeed) + if noiseSeed is not None: np.random.seed(noiseSeed) - if typValOffsets is None: typValOffsets = scipy.zeros(len(vars)) + if typValOffsets is None: typValOffsets = np.zeros(len(vars)) for var,offset,trueNoiseFracSize in zip(list(data.keys()),typValOffsets,noiseFracSizeList): trueNoiseSize = trueNoiseFracSize * ( net.get_var_typical_val(var) - offset ) @@ -85,12 +85,12 @@ def noisyFakeData(net,numPoints,timeInterval, old = data[var][key] if trueNoiseSize > 0: if not lognormalNoise: - new0 = old[0] + scipy.random.normal(0.,trueNoiseSize) + new0 = old[0] + np.random.normal(0.,trueNoiseSize) else: mu,sigma = old[0],trueNoiseSize - mul = scipy.log( mu/scipy.sqrt(sigma*sigma/(mu*mu) + 1.) ) - sigmal = scipy.sqrt(scipy.log(sigma*sigma/(mu*mu) + 1.)) - new0 = scipy.random.lognormal(mul,sigmal) + mul = np.log( mu/np.sqrt(sigma*sigma/(mu*mu) + 1.) ) + sigmal = np.sqrt(np.log(sigma*sigma/(mu*mu) + 1.)) + new0 = np.random.lognormal(mul,sigmal) if takeAbs: new0 = abs(new0) new = (new0, reportedNoiseSize) else: @@ -101,18 +101,18 @@ def noisyFakeData(net,numPoints,timeInterval, def noisyFakeDataFromData(data,numPoints,varName,noiseFracSize=0.1,seed=None): - scipy.random.seed(seed) + np.random.seed(seed) n = len(data) - typicalSize = scipy.average(data) + typicalSize = np.average(data) noiseSize = noiseFracSize * typicalSize fakeDataDict = {} for i in range(numPoints): - xVal = scipy.random.randint(0,n) + xVal = np.random.randint(0,n) yVal = data[xVal] fakeDataDict[ xVal ] = \ - ( yVal + scipy.random.normal(0.,noiseSize), noiseSize ) + ( yVal + np.random.normal(0.,noiseSize), noiseSize ) - return {varName: fakeDataDict} \ No newline at end of file + return {varName: fakeDataDict} diff --git a/SirIsaac/generateEnsembleParallel.py b/SirIsaac/generateEnsembleParallel.py index 47d0e3b..457ffd0 100644 --- a/SirIsaac/generateEnsembleParallel.py +++ b/SirIsaac/generateEnsembleParallel.py @@ -11,7 +11,7 @@ import time #from generateFightData import * -from .fittingProblem import * +from SirIsaac.fittingProblem import * import sys # use parallel computation supported by SloppyCell diff --git a/SirIsaac/localFitParallel.py b/SirIsaac/localFitParallel.py index 84fe4c1..7c39a34 100644 --- a/SirIsaac/localFitParallel.py +++ b/SirIsaac/localFitParallel.py @@ -15,7 +15,7 @@ from mpi4py import MPI import time -from .fittingProblem import * +from SirIsaac.fittingProblem import * import sys ## 7.3.2012 disable SloppyCell's parallel stuff From d81bb806b75c2360d83bc5fae99e432652a80779 Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Wed, 13 Apr 2022 15:28:22 -0700 Subject: [PATCH 29/42] update basic test of mpi functionality --- SirIsaac/mpi_basic.py | 2 +- test/test_parallel.py | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/SirIsaac/mpi_basic.py b/SirIsaac/mpi_basic.py index 8cae46c..9db9299 100644 --- a/SirIsaac/mpi_basic.py +++ b/SirIsaac/mpi_basic.py @@ -10,7 +10,7 @@ # import sys -from .simplePickle import load,save +from SirIsaac.simplePickle import load,save from mpi4py import MPI comm = MPI.COMM_WORLD diff --git a/test/test_parallel.py b/test/test_parallel.py index 2f418ed..e3b2997 100644 --- a/test/test_parallel.py +++ b/test/test_parallel.py @@ -57,12 +57,13 @@ def test_basic_mpi_functionality(self): input_data = {'test':123,'output_filename':temp_output_filename} save(input_data,temp_input_filename) - stdoutFile = open(temp_stdout_filename,'w') - subprocess.call([ "mpirun","-np",str(NUMPROCS),"python", - os.path.join(SIRISAACDIR, "mpi_basic.py"), - temp_input_filename ], - stderr=stdoutFile,stdout=stdoutFile, - env=os.environ) + with open(temp_stdout_filename,'w') as stdoutFile: + subprocess.call([ "mpirun","-np",str(NUMPROCS),"python", + os.path.join(SIRISAACDIR, "mpi_basic.py"), + temp_input_filename ], + stderr=stdoutFile,stdout=stdoutFile, + env=os.environ, + cwd=SIRISAACDIR) output_data = load(temp_output_filename) os.remove(temp_input_filename) os.remove(temp_output_filename) From 48312471372f863f249874f97a9fe8dab4bf4f91 Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Wed, 13 Apr 2022 15:38:44 -0700 Subject: [PATCH 30/42] fix relative import and time.clock in localFitParallel --- SirIsaac/localFitParallel.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SirIsaac/localFitParallel.py b/SirIsaac/localFitParallel.py index 7c39a34..fbec72b 100644 --- a/SirIsaac/localFitParallel.py +++ b/SirIsaac/localFitParallel.py @@ -63,7 +63,7 @@ ### Master Process ### if MPI_myID == MASTER_PROCESS: - from .simplePickle import save + from SirIsaac.simplePickle import save num_processors = comm.Get_size() print(("localFitParallel: "\ @@ -134,12 +134,12 @@ print(("localFitParallel: "\ "worker {} working on work_array {}...".format(MPI_myID,work_array))) - startTime = time.clock() + startTime = time.time() # do the work workerResults = list( fitFunction(work_array) ) - minimizationTimeSeconds = time.clock() - startTime + minimizationTimeSeconds = time.time() - startTime workerResults.append(minimizationTimeSeconds) workerResults.append(work_array) From 38e686d07ef6b1547329c1f0042107fc5efdac76 Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Wed, 13 Apr 2022 16:01:35 -0700 Subject: [PATCH 31/42] move sloppyCellTest in with other unit tests --- SirIsaac/sloppyCellTest.py | 108 ------------------------------------- test/test_SloppyCell.py | 38 +++++++++++++ 2 files changed, 38 insertions(+), 108 deletions(-) delete mode 100644 SirIsaac/sloppyCellTest.py create mode 100644 test/test_SloppyCell.py diff --git a/SirIsaac/sloppyCellTest.py b/SirIsaac/sloppyCellTest.py deleted file mode 100644 index a538ebb..0000000 --- a/SirIsaac/sloppyCellTest.py +++ /dev/null @@ -1,108 +0,0 @@ -# SloppyCellTest.py -# -# Bryan Daniels -# 7/24/2013 -# -# Tests whether SloppyCell is functional -# - -import os,sys -print("This computer's name is",os.uname()[1]) -if (os.uname()[1][:4] == 'node'): # 4.4.2012 emory machines - print("The current directory is",os.getcwd()) - if os.getcwd().startswith('/star'): - os.chdir('/star/physics/nemenman/daniels/SirIsaac') - elif os.getcwd().startswith('/spark'): - os.chdir('/spark/physics/nemenman/daniels/SirIsaac') - print("Now the current directory is",os.getcwd()) -print("") - -from . import fittingProblem -import scipy -from SloppyCell.ReactionNetworks import * - -def testCcompiling(verbose=True): - m = fittingProblem.CTSNFittingModel(5,['a'],['b'], - verbose=verbose) - n = m.net - n.compile() - - if not n.compiled: - if verbose: - print("SloppyCellTest: testCcompiling: FAIL: " \ - "m.net.compiled=False") - return False - ccode = n.get_c_code() - if ccode in n._c_module_cache: - if n._c_module_cache[ccode] is not None: - return True - else: - if verbose: - print("SloppyCellTest: testCcompiling: FAIL: " \ - "No compiled c code found. (2)") - return False - else: - if verbose: - print("SloppyCellTest: testCcompiling: FAIL: " \ - "No compiled c code found. (1)") - return False - - -def testCTSN(verbose=True): - m = fittingProblem.CTSNFittingModel(5,['a'],['b'], - verbose=verbose) - r = m.evaluateVec(scipy.linspace(0,1,10),'b',[0]) - eps = 1e-5 - return sum(r**2) < eps - - - -if __name__ == '__main__': - - print("") - print("fittingProblem.py (including SloppyCell) imported.") - print("") - - print("Testing evaluation of CTSNFittingModel...") - if testCTSN(): - print("CTSNFittingModel successfully evaluated.") - else: - print("Error in evaluating CTSNFittingModel.") - print("") - - print("Testing C compiling...") - if testCcompiling(): - print("SloppyCell C compiling successful.") - else: - print("Error in SloppyCell C compiling.") - - if False: - print("") - print("Testing evaluation of " \ - "examplePhosphorylationModel...") - originalModelFilename = \ - 'examplePhosphorylationFittingModel.model' - m = Utility.load(originalModelFilename) - r = m.evaluateVec(scipy.linspace(0,1,10),'totalPhos', \ - [0.001,1.0]) - print("Sum(r) =",sum(r)) - print("Expected = 10.1951142162") - print("") - - # 9.24.2013 - print("") - print("Testing creation of perfect data...") - net = m.net - params = net.GetParameters() - timeInterval = [0,10] - vars = ['totalPhos'] - randomX = True - numPoints = 1 - scipy.random.seed(123) - data = PerfectData.discrete_data(net,params,numPoints, \ - timeInterval,vars=vars,random=randomX) - print("Output =",list(data.values())[0].values()[0][0]) - print("Expected = 1.98956858449") - - - diff --git a/test/test_SloppyCell.py b/test/test_SloppyCell.py new file mode 100644 index 0000000..3f77ec8 --- /dev/null +++ b/test/test_SloppyCell.py @@ -0,0 +1,38 @@ +# test_SloppyCell.py +# +# Bryan Daniels +# 7/24/2013 +# +# Tests whether SloppyCell is functional +# + +import unittest + +from SirIsaac import fittingProblem +import numpy as np +from SloppyCell.ReactionNetworks import * + +class TestSloppyCell(unittest.TestCase): + + def test_c_compiling(self): + m = fittingProblem.CTSNFittingModel(5,['a'],['b']) + n = m.net + n.compile() + + # check that SloppyCell thinks the compiling worked + self.assertTrue(n.compiled) + + # ensure compiled c code exists + ccode = n.get_c_code() + self.assertTrue(ccode in n._c_module_cache) + self.assertTrue(n._c_module_cache[ccode] is not None) + + def test_CTSN(self): + m = fittingProblem.CTSNFittingModel(5,['a'],['b']) + r = m.evaluateVec(np.linspace(0,1,10),'b',[0]) + eps = 1e-5 + return sum(r**2) < eps + + +if __name__ == '__main__': + unittest.main() From 6041dbbd59ee9f65a2aed0562a71b9c3bf1d8687 Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Wed, 13 Apr 2022 16:07:53 -0700 Subject: [PATCH 32/42] more scipy -> numpy --- SirIsaac/fittingProblem.py | 170 ++++++++++++++++++------------------- 1 file changed, 85 insertions(+), 85 deletions(-) diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index b121915..e3d5375 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -404,7 +404,7 @@ def logLikelihood( self,cost,singVals,priorSingVals ): # 9.11.2013 corrected def penalty(self,singVals,priorSingVals): #return 0.5*np.sum( np.log( \ - # scipy.array(self._StiffSingVals(singVals,cutoff))/(2.*scipy.pi) ) ) + # np.array(self._StiffSingVals(singVals,cutoff))/(2.*scipy.pi) ) ) return + 0.5*np.sum( np.log(singVals) ) \ - 0.5*np.sum( np.log(priorSingVals) ) @@ -483,7 +483,7 @@ def correlationWithPerfectModel(self,fittingModel,timeInterval, if (self.perfectModel is None) and (self.saveFilename.find('wormData') < 0): raise Exception("fittingProblem instance has no perfectModel.") corrList,errList = [],[] - times = scipy.linspace(timeInterval[0],timeInterval[1],numPoints) + times = np.linspace(timeInterval[0],timeInterval[1],numPoints) if len(np.shape(var)) == 0: var = [var] # single variable # 4.17.2013 don't want to return anything if we're testing a fit version @@ -503,8 +503,8 @@ def correlationWithPerfectModel(self,fittingModel,timeInterval, # 7.12.2012 for use with speedDict from George worm data if self.saveFilename.find('wormData') >= 0: wormData = speedDict[indepParams] - times = scipy.sort(list(wormData.keys())) - perfectData = scipy.array([[ wormData[time][0] for time in times ]]) + times = np.sort(list(wormData.keys())) + perfectData = np.array([[ wormData[time][0] for time in times ]]) #print np.shape(perfectData) #print np.shape(data) else: # typical case @@ -576,9 +576,9 @@ def correlationWithPerfectModel(self,fittingModel,timeInterval, errList.append(errListI) if returnErrors: - return scipy.array(corrList),scipy.array(errList) + return np.array(corrList),np.array(errList) else: - return scipy.array(corrList) + return np.array(corrList) # 2.29.2012 def outOfSampleCorrelation(self,fittingModel,timeInterval, @@ -597,22 +597,22 @@ def outOfSampleCorrelation(self,fittingModel,timeInterval, try: seedsStr = self.saveFilename[self.saveFilename.find('seeds'):] inputsSeed = seedsStr[seedsStr.find('_')+1] - scipy.random.seed(int(inputsSeed)) + np.random.seed(int(inputsSeed)) #print "outOfSampleCorrelation: using seed",inputsSeed except: - scipy.random.seed(seed) + np.random.seed(seed) print("outOfSampleCorrelation: Warning: error finding inputsSeed") indepParamsList = list(speedDict.keys()) - scipy.random.shuffle(indepParamsList) + np.random.shuffle(indepParamsList) randomIndepParams = indepParamsList[-numTests:] #randomIndepParams = indepParamsList[:40] # for in-sample else: # typical case # generate random indepParams - scipy.random.seed(seed) - ipr = scipy.array(indepParamsRanges) + np.random.seed(seed) + ipr = np.array(indepParamsRanges) if sampleInLog: ipr = np.log(ipr) - randomIndepParams = scipy.rand(numTests,len(indepParamsRanges))* \ + randomIndepParams = np.random.rand(numTests,len(indepParamsRanges))* \ (ipr[:,1]-ipr[:,0]) + ipr[:,0] if sampleInLog: randomIndepParams = np.exp(randomIndepParams) if verbose: print(randomIndepParams) @@ -729,7 +729,7 @@ def plotModelResults(self,model,filename=None,indices=None, # Plotting.subplot(len(m.speciesNames),len(indepParamsList), \ # m.numInputs*len(indepParamsList) + i+1) # data = speedDict[indepParams] - # times = scipy.sort(data.keys()) + # times = np.sort(data.keys()) # speeds = [ data[time][0] for time in times ] # Plotting.plot(times,speeds,',',mec='0.6',zorder=-1) @@ -924,7 +924,7 @@ def outOfSampleCorrelation_deriv(self,fittingModel,varList, fittingData,fittingDataDerivs,indepParamsList,makePlot=makePlots, \ varList=varList) - corr = scipy.array(corrs) #[desiredVarIndices] + corr = np.array(corrs) #[desiredVarIndices] return corr @@ -1252,7 +1252,7 @@ def plotResults(self,fittingData,indepParamsList,numCols=None, list(varDat.keys()) for varDat in list(data.values())]) \ for data in fittingData ]) maxTime = 1.1 * max(allDataTimes) - times = scipy.linspace(minTime,maxTime,numPoints) + times = np.linspace(minTime,maxTime,numPoints) if plotFirstN is None: N = min(len(fittingData),len(indepParamsList)) @@ -1504,7 +1504,7 @@ def typicalIndepParamRanges(self,upperRangeMultiple=1.): upperRangeMultiple (1.) : Each typical range is expanded by this factor by increasing the upper limit. """ - ranges = copy.copy( scipy.array(self.indepParamRanges) ) + ranges = copy.copy( np.array(self.indepParamRanges) ) rangeLengths = ranges[:,1]-ranges[:,0] ranges[:,1] = ranges[:,0] + upperRangeMultiple*rangeLengths @@ -1709,7 +1709,7 @@ def fitToData(self,fittingData,indepParamsList=[[]], else: # run in parallel 3.21.2012 outputDict = self.localFitToData_parallel(self.numprocs,fittingData, dataModel,ens,indepParamsList) - indices = scipy.sort(list(outputDict.keys())) + indices = np.sort(list(outputDict.keys())) self.costList = [ outputDict[i][2] for i in indices ] bestIndex = scipy.argsort(self.costList)[0] bestCost = self.costList[bestIndex] @@ -1789,7 +1789,7 @@ def localFitToData_parallel(self,numprocs,fittingData,dataModel, Uses mpi4py to run many local fits (localFitToData) in parallel. """ - scipy.random.seed() + np.random.seed() prefix = "temporary_" + str(os.getpid()) + "_localFitToData_parallel_" inputDictFilename = prefix + "inputDict.data" outputFilename = prefix + "output.data" @@ -1994,27 +1994,27 @@ def evaluateVec(self,times,var,indepParams,defaultValue=0.): except: # np.shape dies if there are tuples and strings singleVariable = False try: - #traj = self.net.integrate(scipy.array( [0.]+list(times) )) + #traj = self.net.integrate(np.array( [0.]+list(times) )) eps = 1e-5 # in case you only want t=0, which SloppyCell doesn't like - allTimes = scipy.sort( [0.]+list(times)+[eps] ) + allTimes = np.sort( [0.]+list(times)+[eps] ) traj = Dynamics.integrate(self.net, allTimes, return_derivs=True) except Utility.SloppyCellException: print("SloppyCellFittingModel.evaluateVec: " \ "WARNING: Exception in integration. " \ "Returning default value for all requested times.") if singleVariable: - return scipy.array([ defaultValue for time in times ]) + return np.array([ defaultValue for time in times ]) else: - return scipy.array([ \ + return np.array([ \ [ defaultValue for time in times ] for v in var ]) for time in times: if time not in traj.get_times(): raise Exception if singleVariable: - return scipy.array([ traj.get_var_val(var,time) for time in times ]) + return np.array([ traj.get_var_val(var,time) for time in times ]) else: - return scipy.array([ \ + return np.array([ \ [ traj.get_var_val(v,time) for time in times ] for v in var ]) def _SloppyCellNet(self,indepParams=[],i=0): @@ -2312,7 +2312,7 @@ def _interpolatePiecewiseRHS(self,xvals,yvals,xVar='time'): as an array) """ - xStr = xVar #"scipy.array(["+xVar+"],float)" # 'scipy.array(['? + xStr = xVar #"np.array(["+xVar+"],float)" # 'np.array(['? string = "piecewise(" #condlistStr = "[" #funclistStr = "[" @@ -2353,8 +2353,8 @@ def expectedAvgIntegratedErr(self,fittingData,indepParamsList=[[]]): """ scm = self._SloppyCellDataModel(fittingData,indepParamsList, includePriors=False) - residualValues = scipy.array( scm.res(self.getParameters()) ) - sigmas = scipy.array( [ r.ySigma for r in list(scm.residuals.values()) ] ) + residualValues = np.array( scm.res(self.getParameters()) ) + sigmas = np.array( [ r.ySigma for r in list(scm.residuals.values()) ] ) return scipy.average( (sigmas*residualValues)**2 ) class yeastOscillatorFittingModel(FittingModel): @@ -2393,7 +2393,7 @@ def __init__(self,indepParamNames): # units: mM (except for the last one, in K) # 10.16.2013 default temperature changed from 288 to 286.5 self.defaultIndepParams = \ - scipy.array([1.187,0.193,0.050,0.115,0.077,2.475,0.077,286.5]) + np.array([1.187,0.193,0.050,0.115,0.077,2.475,0.077,286.5]) self._savedEvalsFilename = 'yeast_savedEvalsDict.data' try: @@ -2413,7 +2413,7 @@ def typicalIndepParamRanges(self,upperRangeMultiple=1.): """ includedIndices = self.indepParamIndices # taken from SchValJen11 Table 2 - ICranges = scipy.array( + ICranges = np.array( [[0.15,1.60],[0.19,2.16], [0.04,0.20],[0.10,0.35], [0.08,0.30],[0.14,2.67],[0.05,0.10]] )[includedIndices] # mM @@ -2606,7 +2606,7 @@ def generateEnsemble_parallel(self,numprocs,dataModel,initialParameters, +str(self.totalSteps)+" total members, using " \ +str(numprocs)+" processors.") - scipy.random.seed() + np.random.seed() prefix = "temporary_" + str(os.getpid()) + "_generateEnsemble_parallel_" inputDictFilename = prefix + "inputDict.data" outputFilename = prefix + "output.data" @@ -2738,15 +2738,15 @@ def generateData_deriv(self,varsList,numConditions,noiseFracSize, timeRange = self.typicalTimeRange # generate random indepParams - scipy.random.seed(indepParamsSeed) - ipr = scipy.array(indepParamsRanges) - randomIndepParams = scipy.rand(numConditions,len(indepParamsRanges))* \ + np.random.seed(indepParamsSeed) + ipr = np.array(indepParamsRanges) + randomIndepParams = np.random.rand(numConditions,len(indepParamsRanges))* \ (ipr[:,1]-ipr[:,0]) + ipr[:,0] # generate random times - scipy.random.seed(timeAndNoiseSeed) - tr = scipy.array(timeRange) - randomTimes = scipy.rand(numConditions,timepointsPerCondition)* \ + np.random.seed(timeAndNoiseSeed) + tr = np.array(timeRange) + randomTimes = np.random.rand(numConditions,timepointsPerCondition)* \ (tr[1]-tr[0]) + tr[0] # () calculate species values and derivatives @@ -2765,7 +2765,7 @@ def generateData_deriv(self,varsList,numConditions,noiseFracSize, self.net.set_var_typical_val(v,typValsBefore.get(v)) # want same noise as we vary numConditions - scipy.random.seed(int(timeAndNoiseSeed*1e6)) + np.random.seed(int(timeAndNoiseSeed*1e6)) # loop over conditions for times,indepParams in zip(randomTimes,randomIndepParams): # keep track of (non-IC) independent parameters for each condition @@ -2791,8 +2791,8 @@ def generateData_deriv(self,varsList,numConditions,noiseFracSize, # derivatives, but I didn't do that.) if noiseFracSize > 0.: if noiseInLog: - valuesNoise = scipy.random.normal(0.,noiseFracSize,len(values)) - derivsNoise = scipy.random.normal(0.,noiseFracSize,len(derivs)) + valuesNoise = np.random.normal(0.,noiseFracSize,len(values)) + derivsNoise = np.random.normal(0.,noiseFracSize,len(derivs)) valuesWithNoise = np.exp(valuesNoise) * values derivsWithNoise = np.exp(derivsNoise) * derivs valueSigmas = abs(values)*noiseFracSize # XXX 2.28.2013 other factors? @@ -2800,15 +2800,15 @@ def generateData_deriv(self,varsList,numConditions,noiseFracSize, else: typicalVarValue = typVals[v] sigma = noiseFracSize*typicalVarValue - valuesWithNoise = abs(values + scipy.random.normal(0.,sigma,len(values))) - derivsWithNoise = derivs + scipy.random.normal(0.,sigma,len(derivs)) - valueSigmas = sigma*scipy.ones_like(values)*T - derivSigmas = sigma*scipy.ones_like(derivs)*T + valuesWithNoise = abs(values + np.random.normal(0.,sigma,len(values))) + derivsWithNoise = derivs + np.random.normal(0.,sigma,len(derivs)) + valueSigmas = sigma*np.ones_like(values)*T + derivSigmas = sigma*np.ones_like(derivs)*T else: valuesWithNoise = values derivsWithNoise = derivs - valueSigmas = scipy.zeros_like(values) - derivSigmas = scipy.zeros_like(derivs) + valueSigmas = np.zeros_like(values) + derivSigmas = np.zeros_like(derivs) fittingDataI[v] = dict( list(zip(times, list(zip(valuesWithNoise, valueSigmas)) )) ) @@ -2841,7 +2841,7 @@ def generateData_deriv(self,varsList,numConditions,noiseFracSize, # () calculate derivatives (9.27.2012 back to numerically...) fittingDataDerivs = [] - scipy.random.seed(int(timeAndNoiseSeed*1e4+i)) + np.random.seed(int(timeAndNoiseSeed*1e4+i)) for runVals,conditionData in zip(runList,fakeDataRuns): conditionDerivs = {} for var in list(conditionData.keys()): @@ -2865,7 +2865,7 @@ def generateData_deriv(self,varsList,numConditions,noiseFracSize, # derivatives, but I didn't do that.) sigma = noiseFracSize*typicalVarValue if sigma > 0.: - derivWithNoise = deriv + scipy.random.normal(0.,sigma) + derivWithNoise = deriv + np.random.normal(0.,sigma) else: derivWithNoise = deriv @@ -2886,12 +2886,12 @@ def _derivProblem_getParams(self,numSpeciesTotal,numInputs,retTheta=False): with _derivProblem_regression """ # 8.29.2012 changed to include hidden node parameters - #Pg = scipy.zeros((numSpeciesTotal+1,numSpeciesNonHidden)) - #Ph = scipy.zeros((numSpeciesTotal+1,numSpeciesNonHidden)) - Pg = scipy.zeros((numSpeciesTotal+1+numInputs,numSpeciesTotal)) - Ph = scipy.zeros((numSpeciesTotal+1+numInputs,numSpeciesTotal)) - thetaG = scipy.ones_like(Pg) - thetaH = scipy.ones_like(Ph) + #Pg = np.zeros((numSpeciesTotal+1,numSpeciesNonHidden)) + #Ph = np.zeros((numSpeciesTotal+1,numSpeciesNonHidden)) + Pg = np.zeros((numSpeciesTotal+1+numInputs,numSpeciesTotal)) + Ph = np.zeros((numSpeciesTotal+1+numInputs,numSpeciesTotal)) + thetaG = np.ones_like(Pg) + thetaH = np.ones_like(Ph) currentParams = self.getParameters() def getVal(name): @@ -2986,8 +2986,8 @@ def setParam(name,val): Ph[i+1+numInputs,j]) #Ph[j,i] # sanity check that I'm not setting nonexistent parameters - oldParameterNames = scipy.sort(list(currentParams.keys())) - newParameterNames = scipy.sort(list(newParams.keys())) + oldParameterNames = np.sort(list(currentParams.keys())) + newParameterNames = np.sort(list(newParams.keys())) if np.shape(oldParameterNames) != np.shape(newParameterNames): raise Exception("oldParameterNames != newParameterNames.\n" \ "old = "+str(oldParameterNames)+",\nnew = "+str(newParameterNames)) @@ -3068,9 +3068,9 @@ def _derivProblem_regression(self,Design,Y,includedIndices=None, """ numSpecies,numTimes = np.shape(Y) numFactors = len(Design[0]) - if weightMatrix is None: weightMatrix = scipy.ones_like(Y) + if weightMatrix is None: weightMatrix = np.ones_like(Y) if includedIndices is None: includedIndices = list(range(numTimes)) - if thetaMatrix is None: thetaMatrix = scipy.ones((numFactors,numSpecies)) + if thetaMatrix is None: thetaMatrix = np.ones((numFactors,numSpecies)) W = np.transpose( (weightMatrix.T)[includedIndices] ) D = Design[includedIndices] YT = scipy.real_if_close( (Y.T)[includedIndices] ) @@ -3079,11 +3079,11 @@ def _derivProblem_regression(self,Design,Y,includedIndices=None, for i in range(numSpecies): # 8.30.2012 XXX check next line; was repeat(numSpecies+1,axis=0) # (now need to add more rows to Wi for indepParams) - Wi = scipy.array([W[i]]).repeat(len(D[0]),axis=0) # shape (#factors)x(#times) - thetai = scipy.array([thetaMatrix[:,i]]).repeat(numTimes,axis=0) # (#times)x(#factors) + Wi = np.array([W[i]]).repeat(len(D[0]),axis=0) # shape (#factors)x(#times) + thetai = np.array([thetaMatrix[:,i]]).repeat(numTimes,axis=0) # (#times)x(#factors) DiTilde = Wi.T*thetai*D #Binv = scipy.linalg.inv(np.dot(DiTilde.T,DiTilde)) - priorTerm = priorLambda*scipy.diag(scipy.ones(len(D[0]))) + priorTerm = priorLambda*scipy.diag(np.ones(len(D[0]))) thetaTerm = scipy.diag(1-thetaMatrix[:,i]) # 3.3.2013 to keep B non-singular B = np.dot(DiTilde.T,DiTilde) + priorTerm + thetaTerm # ****************************************************** @@ -3099,7 +3099,7 @@ def _derivProblem_regression(self,Design,Y,includedIndices=None, # trying to fix). I'll raise an exception in other cases to # be safe. if np.sum(Wi**2) != 0: raise ValueError - Binv = scipy.zeros( ( len(DiTilde[0]),len(DiTilde[0]) ) ) + Binv = np.zeros( ( len(DiTilde[0]),len(DiTilde[0]) ) ) # *************** if np.sum(scipy.imag(Binv)**2) > 0.: @@ -3138,9 +3138,9 @@ def _derivProblem_setOptimizable(self,visibleIndices,optBool,verbose=False): # 8.22.2012 def _derivProblem_setRandomParams(self,seed=0): # set random initial parameters (for now, uniform on (0,1)...) - scipy.random.seed(seed) + np.random.seed(seed) paramNames = list(self.getParameters().keys()) - randValues = scipy.rand(len(paramNames)) + randValues = np.random.rand(len(paramNames)) self.initializeParameters(dict( list(zip(paramNames,randValues)) )) # 12.14.2012 @@ -3176,7 +3176,7 @@ def _derivProblem_createDataMatrices(self,fittingData,fittingDataDerivs, indepParamICindices = [ self.indepParamNames.index(name) \ for name in indepParamICnames ] if len(indepParamICindices) > 0: - initialConditionsList = scipy.array(indepParamsList)[:,indepParamICindices] + initialConditionsList = np.array(indepParamsList)[:,indepParamICindices] else: initialConditionsList = scipy.repeat([[]],len(indepParamsList),axis=0) # initialConditonsList (#conditions)x(#ICs) @@ -3184,7 +3184,7 @@ def _derivProblem_createDataMatrices(self,fittingData,fittingDataDerivs, indepParamOtherIndices = [ self.indepParamNames.index(name) \ for name in indepParamOtherNames ] if len(indepParamOtherIndices) > 0: - indepParamsListOther = scipy.array(indepParamsList)[:,indepParamOtherIndices] + indepParamsListOther = np.array(indepParamsList)[:,indepParamOtherIndices] else: indepParamsListOther = scipy.repeat([[]],len(indepParamsList),axis=0) # indepParamsListOther (#conditions)x(#indepParams) @@ -3224,8 +3224,8 @@ def _derivProblem_createDataMatrices(self,fittingData,fittingDataDerivs, for indepParamsAll,data,derivData in \ zip(indepParamsList,fittingData,fittingDataDerivs): # find relevant times - sortedTimes = scipy.sort(list(data.values())[0].keys()) - sortedDerivTimes = scipy.sort(list(derivData.values())[0].keys()) + sortedTimes = np.sort(list(data.values())[0].keys()) + sortedDerivTimes = np.sort(list(derivData.values())[0].keys()) if not scipy.all(scipy.equal(sortedTimes,sortedDerivTimes)): raise Exception("Data timepoints not the same as derivative timepoints") # () integrate to find values of hidden variables @@ -3597,7 +3597,7 @@ def _derivProblem_fit(self,speciesData,speciesDataTimeDerivs, numIndepParams = len(indepParamsMat) if speciesDataTimeDerivSigmas is None: - speciesDataTimeDerivSigmas = scipy.ones_like(speciesDataTimeDerivs) + speciesDataTimeDerivSigmas = np.ones_like(speciesDataTimeDerivs) # (note that we now typically do NOT fit `hidden' derivatives in the # EM framework, so numSpeciesNonHidden here is the same as @@ -3606,10 +3606,10 @@ def _derivProblem_fit(self,speciesData,speciesDataTimeDerivs, numSpeciesNonHidden,numTimes = np.shape(speciesDataTimeDerivs) # set up design matrix - D = scipy.zeros((numTimes,numSpeciesTotal+1+numIndepParams)) + D = np.zeros((numTimes,numSpeciesTotal+1+numIndepParams)) if numIndepParams > 0: D[:,:numIndepParams] = np.transpose(indepParamsMat) - D[:,numIndepParams] = scipy.ones(numTimes) + D[:,numIndepParams] = np.ones(numTimes) D[:,numIndepParams+1:] = np.transpose(np.log(speciesData)) # use model's current values for initial h parameters. @@ -3749,10 +3749,10 @@ def _derivProblem_logLikelihood(self,fittingData,fittingDataDerivs,indepParamsLi indepParamsList,priorLambda) try: u,singVals,vt = scipy.linalg.svd( H ) - priorSingVals = priorLambda * scipy.ones(len(H)) + priorSingVals = priorLambda * np.ones(len(H)) except (scipy.linalg.LinAlgError,ValueError): - singVals = scipy.inf * scipy.ones(len(H)) - priorSingVals = -scipy.inf * scipy.ones(len(H)) + singVals = scipy.inf * np.ones(len(H)) + priorSingVals = -scipy.inf * np.ones(len(H)) print("_derivProblem_logLikelihood: Error in Hessian SVD. " \ "Setting logLikelihood to negative infinity.") @@ -3789,7 +3789,7 @@ def _derivProblem_Hessian(self,fittingData,fittingDataDerivs,indepParamsList, # add parameter prior to diagonal numResiduals,numParameters = np.shape(J) - priorDiag = scipy.diag(scipy.ones(numParameters)*priorLambda) + priorDiag = scipy.diag(np.ones(numParameters)*priorLambda) H = HnoPrior + priorDiag return H @@ -3838,15 +3838,15 @@ def _derivProblem_Jacobian(self,fittingData,fittingDataDerivs, numParams = len(flatTheta) numParamsUsed = sum(flatTheta) - J = scipy.zeros((numResiduals,numParamsUsed)) + J = np.zeros((numResiduals,numParamsUsed)) paramsShape = np.shape(thetaG) assert paramsShape == (numIndepParams+numSpeciesTotal+1,numSpeciesTotal) i = 0 # residual index for t in range(numTimes): for iSpecies in range(numSpeciesTotal): - JGi = scipy.zeros(paramsShape) - JHi = scipy.zeros(paramsShape) + JGi = np.zeros(paramsShape) + JHi = np.zeros(paramsShape) # derivs wrt alpha and beta Gi, Hi = G[iSpecies,t], H[iSpecies,t] @@ -4062,7 +4062,7 @@ def __init__(self,prune=True,**kwargs): """ Planetary network set up as a powerLawNetwork. """ - self.speciesNames = scipy.array(['r','drdt','theta']) + self.speciesNames = np.array(['r','drdt','theta']) self.ICnames = [ name+"init" for name in self.speciesNames ] # () set up a fully-connected 19-dimensional model @@ -4216,9 +4216,9 @@ def upgradeOutputNodes(): if typeOrder is "random": # 4.25.2015 for nodeType in range(defaultOutputType,maxType): for i in range(numInputs,numInputs+numOutputs): - connections.append( scipy.array((i,)) ) + connections.append( np.array((i,)) ) # Shuffle list of connections - scipy.random.seed(seed) + np.random.seed(seed) pylab.shuffle(connections) # Add connections in shuffled order for connection in connections: @@ -4286,9 +4286,9 @@ def upgradeOutputNodes(): # Optionally include node parameters in list if typeOrder is "random": # 4.25.2015 for nodeType in range(defaultType,maxType): - connections.append( scipy.array((curHidden,)) ) + connections.append( np.array((curHidden,)) ) # Shuffle list of connections - scipy.random.seed(seed+curHidden) + np.random.seed(seed+curHidden) pylab.shuffle(connections) # Add connections in shuffled order for connection in connections: @@ -4371,9 +4371,9 @@ def RGBHdecimal2hex(RGBHdecimal): twoPi = 2.*scipy.pi radius = plotDiameter/2. - xList = [ str(radius*scipy.cos(startAngle - twoPi*i/positionNum)) \ + xList = [ str(radius*np.cos(startAngle - twoPi*i/positionNum)) \ for i in positionIndices ] - yList = [ str(radius*scipy.sin(startAngle - twoPi*i/positionNum)) \ + yList = [ str(radius*np.sin(startAngle - twoPi*i/positionNum)) \ for i in positionIndices ] # add nodes @@ -4535,7 +4535,7 @@ def __init__(self,n,rules=[],polynomialDegreeList=None, phosModel = phosphorylationFit_netModel.netModel(n,rules,endTime,nSteps,\ MichaelisMenten=MichaelisMenten) - params = scipy.ones( phosModel.numParams ) + params = np.ones( phosModel.numParams ) SloppyCellNet = IO.from_SBML_file(phosModel.writeSBML(params)) SloppyCellNet.set_id('PhosphorylationNet') From 2b234aa29a947f0b229579a247a491090eadc9a2 Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Thu, 14 Apr 2022 14:15:00 -0700 Subject: [PATCH 33/42] update simplePickle for basic python 2 & 3 compatability --- SirIsaac/simplePickle.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/SirIsaac/simplePickle.py b/SirIsaac/simplePickle.py index 08d9f00..5357402 100644 --- a/SirIsaac/simplePickle.py +++ b/SirIsaac/simplePickle.py @@ -7,17 +7,28 @@ import io, sys import pickle -# include some old name variants for back-compatability -#import fittingProblem -#sys.modules['FittingProblem'] = fittingProblem +if sys.version_info.major > 2: + # Python 3 + import pickle +else: + # Python 2 + import cPickle as pickle def save(obj,filename): fout = io.open(filename,'wb') + # Note: we currently save using backward-compatible protocol 2 pickle.dump(obj,fout,2) fout.close() def load(filename): fin = io.open(filename,'rb') - obj = pickle.load(fin) + try: + obj = pickle.load(fin) + except UnicodeDecodeError: + # try using backward-compatible encoding in case + # the file was saved using python 2 + fin.close() + fin = io.open(filename,'rb') + obj = pickle.load(fin,encoding='bytes') fin.close() return obj From bb33c160226bf7259c3a0126c9cf71aee15d7abb Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Thu, 14 Apr 2022 14:30:43 -0700 Subject: [PATCH 34/42] minor fix in test_SloppyCell --- test/test_SloppyCell.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test_SloppyCell.py b/test/test_SloppyCell.py index 3f77ec8..bdb1168 100644 --- a/test/test_SloppyCell.py +++ b/test/test_SloppyCell.py @@ -31,7 +31,7 @@ def test_CTSN(self): m = fittingProblem.CTSNFittingModel(5,['a'],['b']) r = m.evaluateVec(np.linspace(0,1,10),'b',[0]) eps = 1e-5 - return sum(r**2) < eps + self.assertTrue(sum(r**2) < eps) if __name__ == '__main__': From f81af43c9f1cc8857dc38c4193680bb76cd1e601 Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Mon, 13 Jun 2022 14:11:19 -0700 Subject: [PATCH 35/42] fix logic of plotInitialConditions in fittingModel.plotResults --- SirIsaac/fittingProblem.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index e3d5375..b12275a 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -1340,9 +1340,10 @@ def plotResults(self,fittingData,indepParamsList,numCols=None, lw=linewidth,color=colorToUse, **kwargs) ) - if plotInitialConditions and (i Date: Mon, 13 Jun 2022 14:14:13 -0700 Subject: [PATCH 36/42] re-fix logic of plotInitialConditions in fittingModel.plotResults --- SirIsaac/fittingProblem.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index b12275a..b542ce7 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -1343,7 +1343,7 @@ def plotResults(self,fittingData,indepParamsList,numCols=None, if plotInitialConditions and (name+'_init' in self.indepParamNames): if ICmarker is None: ICmarker = colorWheelFmt[1] idx = self.indepParamNames.index(name+'_init') - Plotting.plot([0],[indepParamsList[idx][i]], + Plotting.plot([0],[indepParamsList[j][idx]], marker=ICmarker, clip_on=False,ms=markerSize,zorder=5, mfc="None",mec=colorWheelFmt[0],mew=markerSize/3.) From b38a68c29405c066a83ecc2460290996eb4fcb87 Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Mon, 13 Jun 2022 14:26:27 -0700 Subject: [PATCH 37/42] update "is" syntax to "==" --- SirIsaac/fittingProblem.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index b542ce7..2d0f95c 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -4113,7 +4113,7 @@ def _createNetworkList(complexity,numInputs,numOutputs, raise Exception("Unrecognized typeOrder = "+str(typeOrder)) if connectionOrder not in connectionOrders: raise Exception("Unrecognized connectionOrder = "+str(connectionOrder)) - if (typeOrder is "random") and (connectionOrder is not "random"): + if (typeOrder == "random") and (connectionOrder != "random"): raise Exception("random typeOrder with non-random connectionOrder " \ "is not currently supported") @@ -4163,17 +4163,17 @@ def upgradeOutputNodes(): if done(curComplexity): return networkList # upgrade each input->output connection to 2 - if maxConnection is 2: + if maxConnection == 2: for i in range(numOutputs): for j in range(numInputs): addConnection(numInputs+i,j,2) if done(curComplexity): return networkList - if typeOrder is "first": + if typeOrder == "first": n = upgradeOutputNodes() if n is not None: return n - if connectionOrder is "node": + if connectionOrder == "node": # add connections among output nodes # fully connect each node before moving to next node for connectionType in range(1,maxConnection+1): @@ -4183,7 +4183,7 @@ def upgradeOutputNodes(): if done(curComplexity): return networkList addConnection(numInputs+j,numInputs+i,connectionType) if done(curComplexity): return networkList - elif connectionOrder is "nearest": + elif connectionOrder == "nearest": # add connections among output nodes # order by 'length' of connection for connectionType in range(1,maxConnection+1): @@ -4199,7 +4199,7 @@ def upgradeOutputNodes(): if done(curComplexity): return networkList addConnection(numInputs+j,numInputs+i,connectionType) if done(curComplexity): return networkList - elif connectionOrder is "random": # 12.4.2014 + elif connectionOrder == "random": # 12.4.2014 # add connection parameters in random order # (note that this is different from other connectionOrders # both because it connects nodes in a random order and @@ -4214,7 +4214,7 @@ def upgradeOutputNodes(): # Each nodePair appears maxConnection times connections = list( scipy.repeat(nodePairs,maxConnection,axis=0) ) # Optionally include node parameters in list - if typeOrder is "random": # 4.25.2015 + if typeOrder == "random": # 4.25.2015 for nodeType in range(defaultOutputType,maxType): for i in range(numInputs,numInputs+numOutputs): connections.append( np.array((i,)) ) @@ -4226,7 +4226,7 @@ def upgradeOutputNodes(): addConnectionOrParam(connection) if done(curComplexity): return networkList - if typeOrder is "last": + if typeOrder == "last": n = upgradeOutputNodes() if n is not None: return n @@ -4237,14 +4237,14 @@ def upgradeOutputNodes(): numHidden += 1 curHidden = len(networkList)-1 - if typeOrder is "first": + if typeOrder == "first": # upgrade type for nodeType in range(defaultType+1,maxType+1): networkList[curHidden][0] = nodeType if done(curComplexity): return networkList # add connections to and from new hidden node - if connectionOrder is "node": + if connectionOrder == "node": # add connections to, then from, output nodes for connectionType in range(1,maxConnection+1): @@ -4270,7 +4270,7 @@ def upgradeOutputNodes(): addConnection(curHidden,numInputs+numOutputs+i,connectionType) if done(curComplexity): return networkList - elif connectionOrder is "random": + elif connectionOrder == "random": # 4.24.2015 # add connection parameters in random order # (note that this is different from other connectionOrders @@ -4285,7 +4285,7 @@ def upgradeOutputNodes(): # Each nodePair appears maxConnection times connections = list( scipy.repeat(nodePairs,maxConnection,axis=0) ) # Optionally include node parameters in list - if typeOrder is "random": # 4.25.2015 + if typeOrder == "random": # 4.25.2015 for nodeType in range(defaultType,maxType): connections.append( np.array((curHidden,)) ) # Shuffle list of connections @@ -4298,7 +4298,7 @@ def upgradeOutputNodes(): else: raise Exception("Unsupported connectionOrder with hidden nodes: "+str(connectionOrder)) - if typeOrder is "last": + if typeOrder == "last": # upgrade type for nodeType in range(defaultType+1,maxType+1): networkList[curHidden][0] = nodeType From 383f1351889e693de4f0688c3bf2edd01db3a5c7 Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Mon, 13 Jun 2022 14:38:48 -0700 Subject: [PATCH 38/42] update SloppyCellFittingModel._testIntegration to avoid invalid value warning --- SirIsaac/fittingProblem.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SirIsaac/fittingProblem.py b/SirIsaac/fittingProblem.py index 2d0f95c..556cd24 100644 --- a/SirIsaac/fittingProblem.py +++ b/SirIsaac/fittingProblem.py @@ -1963,7 +1963,7 @@ def _testIntegration(self): Test whether the model can be evaluated successfully at the current parameters. """ - tiny = scipy.finfo(scipy.float_).tiny + tiny = 1e-100 # scipy.finfo(scipy.float_).tiny try: traj = Dynamics.integrate(self.net,[0.,tiny]) except Utility.SloppyCellException: From 23b1a86c5f9b98267e04b95800b745a9ba1f5709 Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Mon, 13 Jun 2022 14:53:05 -0700 Subject: [PATCH 39/42] update simpleExample to be simpler and quicker to run --- simpleExample.ipynb | 11794 +++-------------------- simpleExample.py | 163 +- simpleExample_data.csv | 100 + simpleExample_data.txt | 100 - simpleExample_makeData.py | 41 +- simpleExample_savedFittingProblem.data | Bin 656497 -> 0 bytes simpleExample_savedFittingProblem.pkl | Bin 0 -> 527559 bytes 7 files changed, 1636 insertions(+), 10562 deletions(-) create mode 100644 simpleExample_data.csv delete mode 100644 simpleExample_data.txt delete mode 100644 simpleExample_savedFittingProblem.data create mode 100644 simpleExample_savedFittingProblem.pkl diff --git a/simpleExample.ipynb b/simpleExample.ipynb index 7a6e603..6dd9c11 100644 --- a/simpleExample.ipynb +++ b/simpleExample.ipynb @@ -5,9 +5,9 @@ "metadata": {}, "source": [ "*Note: This file is provided in two formats: \n", - "Python (simpleExample.py) and a Jupyter iPython \n", + "Python (simpleExample.py) and a Jupyter \n", "notebook (simpleExample.ipynb). The \n", - "iPython notebook opens in a web browser and \n", + "Jupyter notebook opens in a web browser and \n", "includes plots in an interactive format. To \n", "open the .ipynb file, run:*\n", " \n", @@ -15,9 +15,9 @@ "\n", "*To run the .py file in iPython at the command line, run:*\n", "\n", - " ipython --pylab\n", + " ipython\n", " %run simpleExample.py\n", - " show()" + " plt.show()" ] }, { @@ -29,21 +29,30 @@ "\n", "- Bryan Daniels\n", "\n", - "- 1.29.2014\n", - "- updated 1.18.2019\n", + "- Last updated 2022/6/13\n", "\n", - "- Uses a simple 1D harmonic oscillator example to demonstrate usage of SirIsaac." + "- Uses a simple exponential decay example to demonstrate usage of SirIsaac" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Failed to import libsbml.\n", + "SBML import and export not available.\n", + "Failed to import pygraphviz. Network figures unavailable.\n" + ] + } + ], "source": [ - "import scipy, pylab\n", - "from SirIsaac import fittingProblem\n", - "%matplotlib inline" + "import numpy as np\n", + "from matplotlib import pyplot as plt\n", + "from SirIsaac import fittingProblem" ] }, { @@ -58,9 +67,10 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "In the example data file, we have four columns, each with 100 data points, listing:\n", + "In the example data file, we have five columns, each with 100 data points, listing:\n", "\n", "* Initial condition *x_init*\n", + "* Input condition *tau*\n", "* Measurement time *t*\n", "* Measurement value *x*\n", "* Measurement uncertainty (standard deviation)" @@ -72,7 +82,7 @@ "metadata": {}, "outputs": [], "source": [ - "data = scipy.loadtxt('simpleExample_data.txt')" + "data = np.loadtxt('simpleExample_data.csv',delimiter=',')" ] }, { @@ -89,7 +99,7 @@ "metadata": {}, "outputs": [], "source": [ - "indepParamsList = [ [ expt[0] ] for expt in data ]" + "indepParamsList = [ [ expt[0],expt[1] ] for expt in data ]" ] }, { @@ -100,7 +110,9 @@ { "data": { "text/plain": [ - "[[1.1272274339047885], [1.403399302209734], [1.140086651015479]]" + "[[1.1272274339047885, 0.9521917233976885],\n", + " [1.403399302209734, 0.9340177624532441],\n", + " [1.140086651015479, 0.3559146053469723]]" ] }, "execution_count": 4, @@ -142,7 +154,7 @@ "source": [ "sirIsaacData = []\n", "for expt in data:\n", - " sirIsaacData.append( { 'x': { expt[1]: ( expt[2], expt[3] ) } } )" + " sirIsaacData.append( { 'x': { expt[2]: ( expt[3], expt[4] ) } } )" ] }, { @@ -153,9 +165,9 @@ { "data": { "text/plain": [ - "[{'x': {0.5454701510335127: (1.2623428576416922, 0.1)}},\n", - " {'x': {0.17186531503221092: (2.018996005787428, 0.1)}},\n", - " {'x': {0.8529318094853018: (1.371899809743871, 0.1)}}]" + "[{'x': {0.5454701510335127: (0.531344985497982, 0.1)}},\n", + " {'x': {0.17186531503221092: (1.2249327126800098, 0.1)}},\n", + " {'x': {0.8529318094853018: (0.21097445827304884, 0.1)}}]" ] }, "execution_count": 7, @@ -173,7 +185,7 @@ "source": [ "Finally, SirIsaac will need to know what to call the input and output values. In this case, the input corresponds to the initial value of *x*. The way to indicate this to SirIsaac is by using the name 'x_init', where 'x' is the name of the corresponding variable.\n", "\n", - "Here we have one input and one output:" + "Here we have two inputs and one output:" ] }, { @@ -183,7 +195,7 @@ "outputs": [], "source": [ "outputNames = ['x']\n", - "indepParamNames = ['x_init']" + "indepParamNames = ['x_init','tau']" ] }, { @@ -198,7 +210,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "We'll attempt to fit a model in the power law class. To do this, we'll create an instance of a PowerLawFittingProblem. Here we set up its arguments and create it:" + "We'll attempt to fit a model in the \"continuous time sigmoidal network\" (CTSN) class. To do this, we'll create an instance of a CTSNFittingProblem. Here we set up its arguments and create it:" ] }, { @@ -216,7 +228,9 @@ "\n", "# ensGen controls the generation of the initial ensemble of \n", "# parameter starting points.\n", - "totalSteps = 1e3\n", + "# (We use a small number for totalSteps here so that the example\n", + "# runs faster; a more typical value for totalSteps is 1e3)\n", + "totalSteps = 20 #1e3 \n", "keepSteps = 10\n", "seeds = (1,1) # use a fixed random seed\n", "ensTemperature = 100.\n", @@ -230,13 +244,13 @@ "# priorSigma controls the width of priors on all parameters\n", "priorSigma = 3.\n", "\n", - "# If you have pypar installed, you can run on multiple processors\n", - "numprocs = 10\n", + "# If you have mpi4py installed, you can run on multiple processors\n", + "numprocs = 4 #10\n", "\n", "# We'll only use a subset of our data to make the example run faster\n", "N = 20\n", "\n", - "p = fittingProblem.PowerLawFittingProblem( complexityList, \n", + "p = fittingProblem.CTSNFittingProblem( complexityList, \n", " sirIsaacData[:N], indepParamsList=indepParamsList[:N], \n", " outputNames=outputNames, indepParamNames=indepParamNames, \n", " ensGen=ensGen, avegtol=avegtol, maxiter=maxiter,\n", @@ -255,12 +269,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The bulk of computation time is used to fit the parameters of each model to the data. Uncomment the following lines to run the parameter fitting, which takes a few hours using 10 processors. Or skip ahead to load a version that has already been fit." + "The bulk of computation time is used to fit the parameters of each model to the data. Uncomment the following lines to run the parameter fitting, which takes an hour or two using 4 processors. Or skip ahead to load a version that has already been fit." ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 16, "metadata": { "collapsed": true }, @@ -269,16 +283,30 @@ "name": "stdout", "output_type": "stream", "text": [ + "SloppyCellFittingModel.fitToData: generating ensemble for these parameters: ['wself_1', 'log_tau_1', 'w_1_0']\n", + "generateEnsemble_parallel: Generating parameter ensemble with 20 total members, using 4 processors.\n", + "SloppyCellFittingModel.fitToData: Cost = 993.7924458070916 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 1219.8530555432526 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Cost = 1630.9624477734403 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Cost = 1320.170604550665 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Cost = 1152.0337324729305 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Cost = 1098.5692232649888 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 927.3823057903097 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 880.1404710577058 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 762.1446132538285 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 106.2744124536134 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Best-fit cost = 106.2744124536134\n", + "fittingProblem.fitAll: L = -73.12272406756854\n", "running build_ext\n", "running build_src\n", "build_src\n", - "building extension \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613\" sources\n", + "building extension \"CTSN_0_SFI_C02TJ318GTFL_2335264_0753415561_7442\" sources\n", "f2py options: []\n", - "f2py: PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.pyf\n", + "f2py: CTSN_0_SFI_C02TJ318GTFL_2335264_0753415561_7442.pyf\n", "Reading fortran codes...\n", - "\tReading file 'PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.pyf' (format:free)\n", + "\tReading file 'CTSN_0_SFI_C02TJ318GTFL_2335264_0753415561_7442.pyf' (format:free)\n", "Post-processing...\n", - "\tBlock: PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613\n", + "\tBlock: CTSN_0_SFI_C02TJ318GTFL_2335264_0753415561_7442\n", "\t\t\tBlock: res_function\n", "\t\t\tBlock: ddaskr_jac\n", "\t\t\tBlock: root_func\n", @@ -286,8 +314,12 @@ "\t\t\tBlock: alg_res_func\n", "\t\t\tBlock: dres_dc_function\n", "\t\t\tBlock: dres_dcdot_function\n", - "\t\t\tBlock: dres_dlog_beta_0\n", - "\t\t\tBlock: dres_dg_0_0\n", + "\t\t\tBlock: dres_dwself_1\n", + "\t\t\tBlock: dres_dtheta_1\n", + "\t\t\tBlock: dres_dlog_tau_1\n", + "\t\t\tBlock: dres_dw_1_0\n", + "\t\t\tBlock: dres_dw_1_2\n", + "\t\t\tBlock: dres_dX_2_init\n", "\t\t\tBlock: sens_rhs\n", "\t\t\tBlock: res_function_logdv\n", "\t\t\tBlock: root_func_logdv\n", @@ -295,7 +327,7 @@ "\t\t\tBlock: integrate_stochastic_tidbit\n", "Post-processing (stage 2)...\n", "Building modules...\n", - "\tBuilding module \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613\"...\n", + "\tBuilding module \"CTSN_0_SFI_C02TJ318GTFL_2335264_0753415561_7442\"...\n", "\t\tConstructing wrapper function \"res_function\"...\n", "\t\t residual = res_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"ddaskr_jac\"...\n", @@ -310,10 +342,18 @@ "\t\t pd = dres_dc_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"dres_dcdot_function\"...\n", "\t\t pd = dres_dcdot_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_0\"...\n", - "\t\t pd = dres_dlog_beta_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_0\"...\n", - "\t\t pd = dres_dg_0_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dwself_1\"...\n", + "\t\t pd = dres_dwself_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dtheta_1\"...\n", + "\t\t pd = dres_dtheta_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dlog_tau_1\"...\n", + "\t\t pd = dres_dlog_tau_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_0\"...\n", + "\t\t pd = dres_dw_1_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_2\"...\n", + "\t\t pd = dres_dw_1_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dX_2_init\"...\n", + "\t\t pd = dres_dX_2_init(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"sens_rhs\"...\n", "\t\t sens_res = sens_rhs(time,sens_y,sens_yp,constants)\n", "\t\tConstructing wrapper function \"res_function_logdv\"...\n", @@ -323,246 +363,72 @@ "\t\tConstructing wrapper function \"sens_rhs_logdv\"...\n", "\t\t sens_res = sens_rhs_logdv(time,sens_y_log,sens_yp_log,constants)\n", "\t\tConstructing wrapper function \"integrate_stochastic_tidbit\"...\n", - "\t\t time_ptr,dv,stop_time_ptr,trajectory = integrate_stochastic_tidbit(seed_ptr,reseed,time_ptr,dv,cv,rmsd_ptr,stop_time_ptr)\n", - "\tWrote C/API module \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613\" to file \"./PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613module.c\"\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/./fortranobject.c' to sources.\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/.' to include_dirs.\n", - "creating build\n", - "creating build/src.macosx-10.6-x86_64-2.7\n", - "copying /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/f2py/src/fortranobject.c -> build/src.macosx-10.6-x86_64-2.7/.\n", - "copying /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/f2py/src/fortranobject.h -> build/src.macosx-10.6-x86_64-2.7/.\n", - "build_src: building npy-pkg config files\n", - "customize UnixCCompiler\n", - "customize UnixCCompiler using build_ext\n", - "building 'PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613' extension\n", - "compiling C sources\n", - "C compiler: gcc -fno-strict-aliasing -I/Users/bryandaniels/anaconda2/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes\n", - "\n", - "creating build/temp.macosx-10.6-x86_64-2.7/Users\n", - "creating build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels\n", - "creating build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2\n", - "creating build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2/lib\n", - "creating build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2/lib/python2.7\n", - "creating build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2/lib/python2.7/site-packages\n", - "creating build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg\n", - "creating build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell\n", - "creating build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks\n", - "creating build/temp.macosx-10.6-x86_64-2.7/build\n", - "creating build/temp.macosx-10.6-x86_64-2.7/build/src.macosx-10.6-x86_64-2.7\n", - "compile options: '-I/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks -Ibuild/src.macosx-10.6-x86_64-2.7/. -I/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include -I/Users/bryandaniels/anaconda2/include/python2.7 -c'\n", - "gcc: /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks/mtrand.c\n", - "gcc: build/src.macosx-10.6-x86_64-2.7/./fortranobject.c\n", - "In file included from build/src.macosx-10.6-x86_64-2.7/./fortranobject.c:2:\n", - "In file included from build/src.macosx-10.6-x86_64-2.7/./fortranobject.h:13:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:\n", - "/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: \"Using deprecated NumPy API, disable it by \" \"#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION\" [-W#warnings]\n", - "#warning \"Using deprecated NumPy API, disable it by \" \\\n", - " ^\n", - "1 warning generated.\n", - "gcc: PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613module.c\n", - "In file included from PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613module.c:16:\n", - "In file included from build/src.macosx-10.6-x86_64-2.7/./fortranobject.h:13:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:\n", - "/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: \"Using deprecated NumPy API, disable it by \" \"#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION\" [-W#warnings]\n", - "#warning \"Using deprecated NumPy API, disable it by \" \\\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613module.c:102:12: warning: unused function 'f2py_size' [-Wunused-function]\n", - "static int f2py_size(PyArrayObject* var, ...)\n", - " ^\n", - "2 warnings generated.\n", - "gcc: PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:166:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:168:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:169:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:174:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:185:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:187:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:188:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:191:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:192:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:193:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:195:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:197:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:198:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:203:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:225:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:227:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:228:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:233:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:244:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:246:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:247:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:250:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:251:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:252:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:254:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:256:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:257:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:277:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:279:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:280:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:283:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:285:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:289:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:290:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:296:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:298:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:299:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:303:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:304:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:309:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:390:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:392:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:393:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:396:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:397:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:398:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:400:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:401:8: warning: unused variable 'x_deriv_wrt_time' [-Wunused-variable]\n", - "double x_deriv_wrt_time = yprime[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:403:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:404:8: warning: unused variable 'alpha_0_deriv_wrt_time' [-Wunused-variable]\n", - "double alpha_0_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:405:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.c:406:8: warning: unused variable 'beta_0_deriv_wrt_time' [-Wunused-variable]\n", - "double beta_0_deriv_wrt_time = 0.0;\n", - " ^\n", - "52 warnings generated.\n", - "gcc -bundle -undefined dynamic_lookup -L/Users/bryandaniels/anaconda2/lib -arch x86_64 -arch x86_64 build/temp.macosx-10.6-x86_64-2.7/PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.o build/temp.macosx-10.6-x86_64-2.7/PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613module.o build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks/mtrand.o build/temp.macosx-10.6-x86_64-2.7/build/src.macosx-10.6-x86_64-2.7/fortranobject.o -L/Users/bryandaniels/anaconda2/lib -o PowerLaw_Network_0_SFIC02TJ318GTFL_local_78_1516877451_97613.so\n" + "\t\t time_ptr,dv,stop_time_ptr,trajectory = integrate_stochastic_tidbit(seed_ptr,reseed,time_ptr,dv,cv,rmsd_ptr,stop_time_ptr)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\tWrote C/API module \"CTSN_0_SFI_C02TJ318GTFL_2335264_0753415561_7442\" to file \"./CTSN_0_SFI_C02TJ318GTFL_2335264_0753415561_7442module.c\"\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/./fortranobject.c' to sources.\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/.' to include_dirs.\n", + "copying /Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/f2py/src/fortranobject.c -> build/src.macosx-10.9-x86_64-3.8/.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:ReactionNetworks.Components:Failed to import dynamically compiled C module CTSN_0_SFI_C02TJ318GTFL_2335264_0753415561_7442 for network CTSN.\n", + "WARNING:ReactionNetworks.Components:No module named 'CTSN_0_SFI_C02TJ318GTFL_2335264_0753415561_7442'\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "SloppyCellFittingModel.fitToData: generating ensemble for these parameters: ['log_beta_0', 'g_0_0']\n", - "generateEnsemble_pypar: Generating parameter ensemble with 1000.0 total members, using 10 processors.\n", - "SloppyCellFittingModel.fitToData: Cost = 463.29596823160387 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 463.29597661351437 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 463.2959806337642 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 463.2959809664559 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 463.2969409763405 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 463.29597955284424 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 439.9562859543664 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 463.29597660805985 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 439.9562736030211 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 439.9568736587113 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Best-fit cost = 439.9562736030211\n", - "fittingProblem.fitAll: L = -224.07812402405023\n", + "***STDOUT***\n", + "b''\n", + "***STDERR***\n", + "b''\n", + "SloppyCellFittingModel.fitToData: generating ensemble for these parameters: ['wself_1', 'theta_1', 'log_tau_1', 'w_1_0', 'w_1_2', 'X_2_init']\n", + "generateEnsemble_parallel: Generating parameter ensemble with 20 total members, using 4 processors.\n", + "SloppyCellFittingModel.fitToData: Cost = 108.24149355744366 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 102.85063808977046 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Cost = 103.26607492478705 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Cost = 103.73877942462019 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Cost = 107.08633179449767 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Cost = 109.14761701348945 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Cost = 104.09550296067758 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 103.8706085074381 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 104.07666972505284 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Cost = 105.44769407155617 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Best-fit cost = 102.85063808977046\n", + "fittingProblem.fitAll: L = -71.85157277889262\n", "running build_ext\n", "running build_src\n", "build_src\n", - "building extension \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613\" sources\n", + "building extension \"CTSN_0_SFI_C02TJ318GTFL_434789_4104415561_7442\" sources\n", "f2py options: []\n", - "f2py: PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.pyf\n", + "f2py: CTSN_0_SFI_C02TJ318GTFL_434789_4104415561_7442.pyf\n", "Reading fortran codes...\n", - "\tReading file 'PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.pyf' (format:free)\n", + "\tReading file 'CTSN_0_SFI_C02TJ318GTFL_434789_4104415561_7442.pyf' (format:free)\n", "Post-processing...\n", - "\tBlock: PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613\n", + "\tBlock: CTSN_0_SFI_C02TJ318GTFL_434789_4104415561_7442\n", "\t\t\tBlock: res_function\n", "\t\t\tBlock: ddaskr_jac\n", "\t\t\tBlock: root_func\n", @@ -570,10 +436,14 @@ "\t\t\tBlock: alg_res_func\n", "\t\t\tBlock: dres_dc_function\n", "\t\t\tBlock: dres_dcdot_function\n", - "\t\t\tBlock: dres_dlog_alpha_0\n", - "\t\t\tBlock: dres_dlog_beta_0\n", - "\t\t\tBlock: dres_dg_0_0\n", - "\t\t\tBlock: dres_dh_0_0\n", + "\t\t\tBlock: dres_dwself_1\n", + "\t\t\tBlock: dres_dtheta_1\n", + "\t\t\tBlock: dres_dlog_tau_1\n", + "\t\t\tBlock: dres_dw_1_0\n", + "\t\t\tBlock: dres_dw_1_2\n", + "\t\t\tBlock: dres_dw_2_1\n", + "\t\t\tBlock: dres_dw_2_0\n", + "\t\t\tBlock: dres_dX_2_init\n", "\t\t\tBlock: sens_rhs\n", "\t\t\tBlock: res_function_logdv\n", "\t\t\tBlock: root_func_logdv\n", @@ -581,7 +451,7 @@ "\t\t\tBlock: integrate_stochastic_tidbit\n", "Post-processing (stage 2)...\n", "Building modules...\n", - "\tBuilding module \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613\"...\n", + "\tBuilding module \"CTSN_0_SFI_C02TJ318GTFL_434789_4104415561_7442\"...\n", "\t\tConstructing wrapper function \"res_function\"...\n", "\t\t residual = res_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"ddaskr_jac\"...\n", @@ -596,276 +466,111 @@ "\t\t pd = dres_dc_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"dres_dcdot_function\"...\n", "\t\t pd = dres_dcdot_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_0\"...\n", - "\t\t pd = dres_dlog_alpha_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_0\"...\n", - "\t\t pd = dres_dlog_beta_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_0\"...\n", - "\t\t pd = dres_dg_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_0\"...\n", - "\t\t pd = dres_dh_0_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dwself_1\"...\n", + "\t\t pd = dres_dwself_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dtheta_1\"...\n", + "\t\t pd = dres_dtheta_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dlog_tau_1\"...\n", + "\t\t pd = dres_dlog_tau_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_0\"...\n", + "\t\t pd = dres_dw_1_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_2\"...\n", + "\t\t pd = dres_dw_1_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_2_1\"...\n", + "\t\t pd = dres_dw_2_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_2_0\"...\n", + "\t\t pd = dres_dw_2_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dX_2_init\"...\n", + "\t\t pd = dres_dX_2_init(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"sens_rhs\"...\n", "\t\t sens_res = sens_rhs(time,sens_y,sens_yp,constants)\n", "\t\tConstructing wrapper function \"res_function_logdv\"...\n", - "\t\t residual = res_function_logdv(time,log_dv,log_yp,constants)\n", + "\t\t residual = res_function_logdv(time,log_dv,log_yp,constants)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "\t\tConstructing wrapper function \"root_func_logdv\"...\n", "\t\t root_devs = root_func_logdv(t,log_dv,log_yp,constants)\n", "\t\tConstructing wrapper function \"sens_rhs_logdv\"...\n", "\t\t sens_res = sens_rhs_logdv(time,sens_y_log,sens_yp_log,constants)\n", "\t\tConstructing wrapper function \"integrate_stochastic_tidbit\"...\n", "\t\t time_ptr,dv,stop_time_ptr,trajectory = integrate_stochastic_tidbit(seed_ptr,reseed,time_ptr,dv,cv,rmsd_ptr,stop_time_ptr)\n", - "\tWrote C/API module \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613\" to file \"./PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613module.c\"\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/./fortranobject.c' to sources.\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/.' to include_dirs.\n", - "build_src: building npy-pkg config files\n", - "customize UnixCCompiler\n", - "customize UnixCCompiler using build_ext\n", - "building 'PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613' extension\n", - "compiling C sources\n", - "C compiler: gcc -fno-strict-aliasing -I/Users/bryandaniels/anaconda2/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes\n", - "\n", - "compile options: '-I/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks -Ibuild/src.macosx-10.6-x86_64-2.7/. -I/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include -I/Users/bryandaniels/anaconda2/include/python2.7 -c'\n", - "gcc: PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613module.c\n", - "In file included from PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613module.c:16:\n", - "In file included from build/src.macosx-10.6-x86_64-2.7/./fortranobject.h:13:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:\n", - "/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: \"Using deprecated NumPy API, disable it by \" \"#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION\" [-W#warnings]\n", - "#warning \"Using deprecated NumPy API, disable it by \" \\\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613module.c:102:12: warning: unused function 'f2py_size' [-Wunused-function]\n", - "static int f2py_size(PyArrayObject* var, ...)\n", - " ^\n", - "2 warnings generated.\n", - "gcc: PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:170:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:172:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:173:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:178:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:189:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:191:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:192:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:195:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:196:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:197:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:199:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:201:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:202:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:207:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:229:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:231:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:232:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:237:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:248:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:250:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:251:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:254:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:255:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:256:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:258:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:260:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:261:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:281:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:283:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:284:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:288:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:289:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:293:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:294:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:300:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:302:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:303:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:306:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:308:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:312:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:313:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:319:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:321:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:322:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:326:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:327:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:332:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:338:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:340:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:341:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:344:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:346:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:350:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:436:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:438:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:439:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:442:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:443:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:444:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:446:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:447:8: warning: unused variable 'x_deriv_wrt_time' [-Wunused-variable]\n", - "double x_deriv_wrt_time = yprime[0];\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:449:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:450:8: warning: unused variable 'alpha_0_deriv_wrt_time' [-Wunused-variable]\n", - "double alpha_0_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:451:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.c:452:8: warning: unused variable 'beta_0_deriv_wrt_time' [-Wunused-variable]\n", - "double beta_0_deriv_wrt_time = 0.0;\n", - " ^\n", - "65 warnings generated.\n", - "gcc -bundle -undefined dynamic_lookup -L/Users/bryandaniels/anaconda2/lib -arch x86_64 -arch x86_64 build/temp.macosx-10.6-x86_64-2.7/PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.o build/temp.macosx-10.6-x86_64-2.7/PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613module.o build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks/mtrand.o build/temp.macosx-10.6-x86_64-2.7/build/src.macosx-10.6-x86_64-2.7/fortranobject.o -L/Users/bryandaniels/anaconda2/lib -o PowerLaw_Network_0_SFIC02TJ318GTFL_local_87_9226877451_97613.so\n" + "\tWrote C/API module \"CTSN_0_SFI_C02TJ318GTFL_434789_4104415561_7442\" to file \"./CTSN_0_SFI_C02TJ318GTFL_434789_4104415561_7442module.c\"\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/./fortranobject.c' to sources.\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/.' to include_dirs.\n", + "copying /Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/f2py/src/fortranobject.c -> build/src.macosx-10.9-x86_64-3.8/.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:ReactionNetworks.Components:Failed to import dynamically compiled C module CTSN_0_SFI_C02TJ318GTFL_434789_4104415561_7442 for network CTSN.\n", + "WARNING:ReactionNetworks.Components:No module named 'CTSN_0_SFI_C02TJ318GTFL_434789_4104415561_7442'\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "***STDOUT***\n", + "b''\n", + "***STDERR***\n", + "b''\n", + "SloppyCellFittingModel.fitToData: generating ensemble for these parameters: ['wself_1', 'theta_1', 'log_tau_1', 'w_1_0', 'w_1_2', 'w_2_1', 'w_2_0', 'X_2_init']\n", + "generateEnsemble_parallel: Generating parameter ensemble with 20 total members, using 4 processors.\n", + "SloppyCellFittingModel.fitToData: Cost = 104.55529221236701 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 103.74423054265564 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 103.45697407349847 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 103.38019643233056 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 103.5002781202935 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Cost = 104.7762894041013 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 104.58730405622158 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 104.06627287526437 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Cost = 103.85074820568322 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Cost = 102.85063808977046 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Best-fit cost = 102.85063808977046\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/bryandaniels/Desktop/SloppyCell/SloppyCell/ReactionNetworks/Dynamics.py:711: RuntimeWarning: divide by zero encountered in true_divide\n", + " ypIC[N_dyn_vars:] /= net.get_var_ic(opt_var)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "SloppyCellFittingModel.fitToData: generating ensemble for these parameters: ['log_alpha_0', 'log_beta_0', 'g_0_0', 'h_0_0']\n", - "generateEnsemble_pypar: Generating parameter ensemble with 1000.0 total members, using 10 processors.\n", - "SloppyCellFittingModel.fitToData: Cost = 417.6198647882622 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 514.4515571008649 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 514.4524423130301 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 514.4513122768163 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 514.4514158686584 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 514.4514378048048 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 514.4514967636858 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 514.4513117014626 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 417.6198681162665 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 269.23106183513136 ( 0 )\n", - "SloppyCellFittingModel.fitToData: Best-fit cost = 269.23106183513136\n", - "fittingProblem.fitAll: L = -139.0931987303462\n", + "fittingProblem.fitAll: L = -71.91118730091047\n", "running build_ext\n", "running build_src\n", "build_src\n", - "building extension \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_14_1546877451_97613\" sources\n", + "building extension \"CTSN_0_SFI_C02TJ318GTFL_802379_7324415561_7442\" sources\n", "f2py options: []\n", - "f2py: PowerLaw_Network_0_SFIC02TJ318GTFL_local_14_1546877451_97613.pyf\n", + "f2py: CTSN_0_SFI_C02TJ318GTFL_802379_7324415561_7442.pyf\n", "Reading fortran codes...\n", - "\tReading file 'PowerLaw_Network_0_SFIC02TJ318GTFL_local_14_1546877451_97613.pyf' (format:free)\n", + "\tReading file 'CTSN_0_SFI_C02TJ318GTFL_802379_7324415561_7442.pyf' (format:free)\n", "Post-processing...\n", - "\tBlock: PowerLaw_Network_0_SFIC02TJ318GTFL_local_14_1546877451_97613\n", + "\tBlock: CTSN_0_SFI_C02TJ318GTFL_802379_7324415561_7442\n", "\t\t\tBlock: res_function\n", "\t\t\tBlock: ddaskr_jac\n", "\t\t\tBlock: root_func\n", @@ -873,13 +578,16 @@ "\t\t\tBlock: alg_res_func\n", "\t\t\tBlock: dres_dc_function\n", "\t\t\tBlock: dres_dcdot_function\n", - "\t\t\tBlock: dres_dlog_alpha_0\n", - "\t\t\tBlock: dres_dlog_beta_0\n", - "\t\t\tBlock: dres_dg_0_0\n", - "\t\t\tBlock: dres_dh_0_0\n", - "\t\t\tBlock: dres_dg_0_1\n", - "\t\t\tBlock: dres_dh_0_1\n", - "\t\t\tBlock: dres_dg_1_1\n", + "\t\t\tBlock: dres_dwself_1\n", + "\t\t\tBlock: dres_dtheta_1\n", + "\t\t\tBlock: dres_dlog_tau_1\n", + "\t\t\tBlock: dres_dw_1_0\n", + "\t\t\tBlock: dres_dw_1_2\n", + "\t\t\tBlock: dres_dwself_2\n", + "\t\t\tBlock: dres_dlog_tau_2\n", + "\t\t\tBlock: dres_dw_2_1\n", + "\t\t\tBlock: dres_dw_2_0\n", + "\t\t\tBlock: dres_dX_2_init\n", "\t\t\tBlock: sens_rhs\n", "\t\t\tBlock: res_function_logdv\n", "\t\t\tBlock: root_func_logdv\n", @@ -887,7 +595,7 @@ "\t\t\tBlock: integrate_stochastic_tidbit\n", "Post-processing (stage 2)...\n", "Building modules...\n", - "\tBuilding module \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_14_1546877451_97613\"...\n", + "\tBuilding module \"CTSN_0_SFI_C02TJ318GTFL_802379_7324415561_7442\"...\n", "\t\tConstructing wrapper function \"res_function\"...\n", "\t\t residual = res_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"ddaskr_jac\"...\n", @@ -902,90 +610,101 @@ "\t\t pd = dres_dc_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"dres_dcdot_function\"...\n", "\t\t pd = dres_dcdot_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_0\"...\n", - "\t\t pd = dres_dlog_alpha_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_0\"...\n", - "\t\t pd = dres_dlog_beta_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_0\"...\n", - "\t\t pd = dres_dg_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_0\"...\n", - "\t\t pd = dres_dh_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_1\"...\n", - "\t\t pd = dres_dg_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_1\"...\n", - "\t\t pd = dres_dh_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_1\"...\n", - "\t\t pd = dres_dg_1_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"sens_rhs\"...\n", - "\t\t sens_res = sens_rhs(time,sens_y,sens_yp,constants)\n", - "\t\tConstructing wrapper function \"res_function_logdv\"...\n", - "\t\t residual = res_function_logdv(time,log_dv,log_yp,constants)\n", - "\t\tConstructing wrapper function \"root_func_logdv\"...\n", - "\t\t root_devs = root_func_logdv(t,log_dv,log_yp,constants)\n", - "\t\tConstructing wrapper function \"sens_rhs_logdv\"...\n", - "\t\t sens_res = sens_rhs_logdv(time,sens_y_log,sens_yp_log,constants)\n", - "\t\tConstructing wrapper function \"integrate_stochastic_tidbit\"...\n", - "\t\t time_ptr,dv,stop_time_ptr,trajectory = integrate_stochastic_tidbit(seed_ptr,reseed,time_ptr,dv,cv,rmsd_ptr,stop_time_ptr)\n", - "\tWrote C/API module \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_14_1546877451_97613\" to file \"./PowerLaw_Network_0_SFIC02TJ318GTFL_local_14_1546877451_97613module.c\"\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/./fortranobject.c' to sources.\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/.' to include_dirs.\n", - "copying /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/f2py/src/fortranobject.c -> build/src.macosx-10.6-x86_64-2.7/.\n" + "\t\tConstructing wrapper function \"dres_dwself_1\"...\n", + "\t\t pd = dres_dwself_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dtheta_1\"...\n", + "\t\t pd = dres_dtheta_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dlog_tau_1\"...\n", + "\t\t pd = dres_dlog_tau_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_0\"...\n", + "\t\t pd = dres_dw_1_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_2\"...\n", + "\t\t pd = dres_dw_1_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dwself_2\"...\n", + "\t\t pd = dres_dwself_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dlog_tau_2\"...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "WARNING:ReactionNetworks.Components:Failed to import dynamically compiled C module PowerLaw_Network_0_SFIC02TJ318GTFL_local_14_1546877451_97613 for network PowerLaw_Network.\n", - "WARNING:ReactionNetworks.Components:No module named PowerLaw_Network_0_SFIC02TJ318GTFL_local_14_1546877451_97613\n" + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "***STDOUT***\n", - "\n", - "***STDERR***\n", - "\n", - "SloppyCellFittingModel.fitToData: generating ensemble for these parameters: ['log_alpha_0', 'log_beta_0', 'g_0_0', 'h_0_0', 'g_0_1', 'h_0_1', 'g_1_1']\n", - "generateEnsemble_pypar: Generating parameter ensemble with 1000.0 total members, using 10 processors.\n", - "SloppyCellFittingModel.fitToData: Cost = 514.4514204930964 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 269.23098186298137 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 483.2283928990116 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 269.2310789044734 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 514.4538657829918 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 514.4513290001779 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 417.62106324081566 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 417.621113970818 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 269.2313073777365 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 269.230922461989 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Best-fit cost = 269.230922461989\n" + "\t\t pd = dres_dlog_tau_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_2_1\"...\n", + "\t\t pd = dres_dw_2_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_2_0\"...\n", + "\t\t pd = dres_dw_2_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dX_2_init\"...\n", + "\t\t pd = dres_dX_2_init(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"sens_rhs\"...\n", + "\t\t sens_res = sens_rhs(time,sens_y,sens_yp,constants)\n", + "\t\tConstructing wrapper function \"res_function_logdv\"...\n", + "\t\t residual = res_function_logdv(time,log_dv,log_yp,constants)\n", + "\t\tConstructing wrapper function \"root_func_logdv\"...\n", + "\t\t root_devs = root_func_logdv(t,log_dv,log_yp,constants)\n", + "\t\tConstructing wrapper function \"sens_rhs_logdv\"...\n", + "\t\t sens_res = sens_rhs_logdv(time,sens_y_log,sens_yp_log,constants)\n", + "\t\tConstructing wrapper function \"integrate_stochastic_tidbit\"...\n", + "\t\t time_ptr,dv,stop_time_ptr,trajectory = integrate_stochastic_tidbit(seed_ptr,reseed,time_ptr,dv,cv,rmsd_ptr,stop_time_ptr)\n", + "\tWrote C/API module \"CTSN_0_SFI_C02TJ318GTFL_802379_7324415561_7442\" to file \"./CTSN_0_SFI_C02TJ318GTFL_802379_7324415561_7442module.c\"\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/./fortranobject.c' to sources.\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/.' to include_dirs.\n", + "copying /Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/f2py/src/fortranobject.c -> build/src.macosx-10.9-x86_64-3.8/.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks/Dynamics.py:711: RuntimeWarning: divide by zero encountered in divide\n", - " ypIC[N_dyn_vars:] /= net.get_var_ic(opt_var)\n" + "WARNING:ReactionNetworks.Components:Failed to import dynamically compiled C module CTSN_0_SFI_C02TJ318GTFL_802379_7324415561_7442 for network CTSN.\n", + "WARNING:ReactionNetworks.Components:No module named 'CTSN_0_SFI_C02TJ318GTFL_802379_7324415561_7442'\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "fittingProblem.fitAll: L = -139.09634792180137\n", + "***STDOUT***\n", + "b''\n", + "***STDERR***\n", + "b''\n", + "SloppyCellFittingModel.fitToData: generating ensemble for these parameters: ['wself_1', 'theta_1', 'log_tau_1', 'w_1_0', 'w_1_2', 'wself_2', 'log_tau_2', 'w_2_1', 'w_2_0', 'X_2_init']\n", + "generateEnsemble_parallel: Generating parameter ensemble with 20 total members, using 4 processors.\n", + "SloppyCellFittingModel.fitToData: Cost = 104.31417857036543 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Cost = 106.64593448375115 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 105.72363552965213 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 103.22881002850504 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Cost = 102.88658163521569 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Cost = 105.23069512625649 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 105.25692059958092 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 102.45527025785351 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 104.91369594254866 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 102.85063808977046 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Best-fit cost = 102.45527025785351\n", + "fittingProblem.fitAll: L = -70.64509888028904\n", "running build_ext\n", "running build_src\n", "build_src\n", - "building extension \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_19_4666877451_97613\" sources\n", + "building extension \"CTSN_0_SFI_C02TJ318GTFL_8353079_5054415561_7442\" sources\n", "f2py options: []\n", - "f2py: PowerLaw_Network_0_SFIC02TJ318GTFL_local_19_4666877451_97613.pyf\n", + "f2py: CTSN_0_SFI_C02TJ318GTFL_8353079_5054415561_7442.pyf\n", "Reading fortran codes...\n", - "\tReading file 'PowerLaw_Network_0_SFIC02TJ318GTFL_local_19_4666877451_97613.pyf' (format:free)\n", + "\tReading file 'CTSN_0_SFI_C02TJ318GTFL_8353079_5054415561_7442.pyf' (format:free)\n", "Post-processing...\n", - "\tBlock: PowerLaw_Network_0_SFIC02TJ318GTFL_local_19_4666877451_97613\n", + "\tBlock: CTSN_0_SFI_C02TJ318GTFL_8353079_5054415561_7442\n", "\t\t\tBlock: res_function\n", "\t\t\tBlock: ddaskr_jac\n", "\t\t\tBlock: root_func\n", @@ -993,15 +712,19 @@ "\t\t\tBlock: alg_res_func\n", "\t\t\tBlock: dres_dc_function\n", "\t\t\tBlock: dres_dcdot_function\n", - "\t\t\tBlock: dres_dlog_alpha_0\n", - "\t\t\tBlock: dres_dlog_beta_0\n", - "\t\t\tBlock: dres_dg_0_0\n", - "\t\t\tBlock: dres_dh_0_0\n", - "\t\t\tBlock: dres_dg_0_1\n", - "\t\t\tBlock: dres_dh_0_1\n", - "\t\t\tBlock: dres_dg_1_1\n", - "\t\t\tBlock: dres_dg_1_0\n", - "\t\t\tBlock: dres_dh_1_0\n", + "\t\t\tBlock: dres_dwself_1\n", + "\t\t\tBlock: dres_dtheta_1\n", + "\t\t\tBlock: dres_dlog_tau_1\n", + "\t\t\tBlock: dres_dw_1_0\n", + "\t\t\tBlock: dres_dw_1_2\n", + "\t\t\tBlock: dres_dw_1_3\n", + "\t\t\tBlock: dres_dwself_2\n", + "\t\t\tBlock: dres_dtheta_2\n", + "\t\t\tBlock: dres_dlog_tau_2\n", + "\t\t\tBlock: dres_dw_2_1\n", + "\t\t\tBlock: dres_dw_2_0\n", + "\t\t\tBlock: dres_dX_2_init\n", + "\t\t\tBlock: dres_dX_3_init\n", "\t\t\tBlock: sens_rhs\n", "\t\t\tBlock: res_function_logdv\n", "\t\t\tBlock: root_func_logdv\n", @@ -1009,7 +732,7 @@ "\t\t\tBlock: integrate_stochastic_tidbit\n", "Post-processing (stage 2)...\n", "Building modules...\n", - "\tBuilding module \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_19_4666877451_97613\"...\n", + "\tBuilding module \"CTSN_0_SFI_C02TJ318GTFL_8353079_5054415561_7442\"...\n", "\t\tConstructing wrapper function \"res_function\"...\n", "\t\t residual = res_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"ddaskr_jac\"...\n", @@ -1024,24 +747,51 @@ "\t\t pd = dres_dc_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"dres_dcdot_function\"...\n", "\t\t pd = dres_dcdot_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_0\"...\n", - "\t\t pd = dres_dlog_alpha_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_0\"...\n", - "\t\t pd = dres_dlog_beta_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_0\"...\n", - "\t\t pd = dres_dg_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_0\"...\n", - "\t\t pd = dres_dh_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_1\"...\n", - "\t\t pd = dres_dg_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_1\"...\n", - "\t\t pd = dres_dh_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_1\"...\n", - "\t\t pd = dres_dg_1_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_0\"...\n", - "\t\t pd = dres_dg_1_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_0\"...\n", - "\t\t pd = dres_dh_1_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dwself_1\"...\n", + "\t\t pd = dres_dwself_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dtheta_1\"...\n", + "\t\t pd = dres_dtheta_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dlog_tau_1\"...\n", + "\t\t pd = dres_dlog_tau_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_0\"...\n", + "\t\t pd = dres_dw_1_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_2\"...\n", + "\t\t pd = dres_dw_1_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_3\"...\n", + "\t\t pd = dres_dw_1_3(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dwself_2\"...\n", + "\t\t pd = dres_dwself_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dtheta_2\"...\n", + "\t\t pd = dres_dtheta_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dlog_tau_2\"...\n", + "\t\t pd = dres_dlog_tau_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_2_1\"...\n", + "\t\t pd = dres_dw_2_1(time,dynamicVars,yprime,constants)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\t\tConstructing wrapper function \"dres_dw_2_0\"...\n", + "\t\t pd = dres_dw_2_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dX_2_init\"...\n", + "\t\t pd = dres_dX_2_init(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dX_3_init\"...\n", + "\t\t pd = dres_dX_3_init(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"sens_rhs\"...\n", "\t\t sens_res = sens_rhs(time,sens_y,sens_yp,constants)\n", "\t\tConstructing wrapper function \"res_function_logdv\"...\n", @@ -1052,18 +802,18 @@ "\t\t sens_res = sens_rhs_logdv(time,sens_y_log,sens_yp_log,constants)\n", "\t\tConstructing wrapper function \"integrate_stochastic_tidbit\"...\n", "\t\t time_ptr,dv,stop_time_ptr,trajectory = integrate_stochastic_tidbit(seed_ptr,reseed,time_ptr,dv,cv,rmsd_ptr,stop_time_ptr)\n", - "\tWrote C/API module \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_19_4666877451_97613\" to file \"./PowerLaw_Network_0_SFIC02TJ318GTFL_local_19_4666877451_97613module.c\"\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/./fortranobject.c' to sources.\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/.' to include_dirs.\n", - "copying /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/f2py/src/fortranobject.c -> build/src.macosx-10.6-x86_64-2.7/.\n" + "\tWrote C/API module \"CTSN_0_SFI_C02TJ318GTFL_8353079_5054415561_7442\" to file \"./CTSN_0_SFI_C02TJ318GTFL_8353079_5054415561_7442module.c\"\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/./fortranobject.c' to sources.\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/.' to include_dirs.\n", + "copying /Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/f2py/src/fortranobject.c -> build/src.macosx-10.9-x86_64-3.8/.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "WARNING:ReactionNetworks.Components:Failed to import dynamically compiled C module PowerLaw_Network_0_SFIC02TJ318GTFL_local_19_4666877451_97613 for network PowerLaw_Network.\n", - "WARNING:ReactionNetworks.Components:No module named PowerLaw_Network_0_SFIC02TJ318GTFL_local_19_4666877451_97613\n" + "WARNING:ReactionNetworks.Components:Failed to import dynamically compiled C module CTSN_0_SFI_C02TJ318GTFL_8353079_5054415561_7442 for network CTSN.\n", + "WARNING:ReactionNetworks.Components:No module named 'CTSN_0_SFI_C02TJ318GTFL_8353079_5054415561_7442'\n" ] }, { @@ -1071,33 +821,33 @@ "output_type": "stream", "text": [ "***STDOUT***\n", - "\n", + "b''\n", "***STDERR***\n", - "\n", - "SloppyCellFittingModel.fitToData: generating ensemble for these parameters: ['log_alpha_0', 'log_beta_0', 'g_0_0', 'h_0_0', 'g_0_1', 'h_0_1', 'g_1_1', 'g_1_0', 'h_1_0']\n", - "generateEnsemble_pypar: Generating parameter ensemble with 1000.0 total members, using 10 processors.\n", - "SloppyCellFittingModel.fitToData: Cost = 514.451318940746 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 514.4513122184131 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 514.4513116767732 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 514.4620690491455 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 335.07885145698464 ( 1 )\n", - "SloppyCellFittingModel.fitToData: Cost = 514.4514592524513 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 429.3439392969521 ( 0 )\n", - "SloppyCellFittingModel.fitToData: Cost = 456.7944348828198 ( 4 )\n", - "SloppyCellFittingModel.fitToData: Cost = 93.5555708736856 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 269.23087874436294 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Best-fit cost = 93.5555708736856\n", - "fittingProblem.fitAll: L = -66.80402759455359\n", + "b''\n", + "SloppyCellFittingModel.fitToData: generating ensemble for these parameters: ['wself_1', 'theta_1', 'log_tau_1', 'w_1_0', 'w_1_2', 'w_1_3', 'wself_2', 'theta_2', 'log_tau_2', 'w_2_1', 'w_2_0', 'X_2_init', 'X_3_init']\n", + "generateEnsemble_parallel: Generating parameter ensemble with 20 total members, using 4 processors.\n", + "SloppyCellFittingModel.fitToData: Cost = 99.273861418542 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 99.28376953003541 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 99.4628625821131 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 100.05769545088538 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 100.80623739660349 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 100.2507708711533 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 100.12476193337554 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 101.07368031190904 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 101.17018734219175 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 102.40914917619384 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Best-fit cost = 99.273861418542\n", + "fittingProblem.fitAll: L = -74.1526752962969\n", "running build_ext\n", "running build_src\n", "build_src\n", - "building extension \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_23_3757877451_97613\" sources\n", + "building extension \"CTSN_0_SFI_C02TJ318GTFL_301571_4916415561_7442\" sources\n", "f2py options: []\n", - "f2py: PowerLaw_Network_0_SFIC02TJ318GTFL_local_23_3757877451_97613.pyf\n", + "f2py: CTSN_0_SFI_C02TJ318GTFL_301571_4916415561_7442.pyf\n", "Reading fortran codes...\n", - "\tReading file 'PowerLaw_Network_0_SFIC02TJ318GTFL_local_23_3757877451_97613.pyf' (format:free)\n", + "\tReading file 'CTSN_0_SFI_C02TJ318GTFL_301571_4916415561_7442.pyf' (format:free)\n", "Post-processing...\n", - "\tBlock: PowerLaw_Network_0_SFIC02TJ318GTFL_local_23_3757877451_97613\n", + "\tBlock: CTSN_0_SFI_C02TJ318GTFL_301571_4916415561_7442\n", "\t\t\tBlock: res_function\n", "\t\t\tBlock: ddaskr_jac\n", "\t\t\tBlock: root_func\n", @@ -1105,17 +855,21 @@ "\t\t\tBlock: alg_res_func\n", "\t\t\tBlock: dres_dc_function\n", "\t\t\tBlock: dres_dcdot_function\n", - "\t\t\tBlock: dres_dlog_alpha_0\n", - "\t\t\tBlock: dres_dlog_beta_0\n", - "\t\t\tBlock: dres_dg_0_0\n", - "\t\t\tBlock: dres_dh_0_0\n", - "\t\t\tBlock: dres_dg_0_1\n", - "\t\t\tBlock: dres_dh_0_1\n", - "\t\t\tBlock: dres_dlog_beta_1\n", - "\t\t\tBlock: dres_dg_1_1\n", - "\t\t\tBlock: dres_dh_1_1\n", - "\t\t\tBlock: dres_dg_1_0\n", - "\t\t\tBlock: dres_dh_1_0\n", + "\t\t\tBlock: dres_dwself_1\n", + "\t\t\tBlock: dres_dtheta_1\n", + "\t\t\tBlock: dres_dlog_tau_1\n", + "\t\t\tBlock: dres_dw_1_0\n", + "\t\t\tBlock: dres_dw_1_2\n", + "\t\t\tBlock: dres_dw_1_3\n", + "\t\t\tBlock: dres_dwself_2\n", + "\t\t\tBlock: dres_dtheta_2\n", + "\t\t\tBlock: dres_dlog_tau_2\n", + "\t\t\tBlock: dres_dw_2_1\n", + "\t\t\tBlock: dres_dw_2_0\n", + "\t\t\tBlock: dres_dX_2_init\n", + "\t\t\tBlock: dres_dw_3_1\n", + "\t\t\tBlock: dres_dw_3_0\n", + "\t\t\tBlock: dres_dX_3_init\n", "\t\t\tBlock: sens_rhs\n", "\t\t\tBlock: res_function_logdv\n", "\t\t\tBlock: root_func_logdv\n", @@ -1123,7 +877,7 @@ "\t\t\tBlock: integrate_stochastic_tidbit\n", "Post-processing (stage 2)...\n", "Building modules...\n", - "\tBuilding module \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_23_3757877451_97613\"...\n", + "\tBuilding module \"CTSN_0_SFI_C02TJ318GTFL_301571_4916415561_7442\"...\n", "\t\tConstructing wrapper function \"res_function\"...\n", "\t\t residual = res_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"ddaskr_jac\"...\n", @@ -1138,28 +892,55 @@ "\t\t pd = dres_dc_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"dres_dcdot_function\"...\n", "\t\t pd = dres_dcdot_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_0\"...\n", - "\t\t pd = dres_dlog_alpha_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_0\"...\n", - "\t\t pd = dres_dlog_beta_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_0\"...\n", - "\t\t pd = dres_dg_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_0\"...\n", - "\t\t pd = dres_dh_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_1\"...\n", - "\t\t pd = dres_dg_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_1\"...\n", - "\t\t pd = dres_dh_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_1\"...\n", - "\t\t pd = dres_dlog_beta_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_1\"...\n", - "\t\t pd = dres_dg_1_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_1\"...\n", - "\t\t pd = dres_dh_1_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_0\"...\n", - "\t\t pd = dres_dg_1_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_0\"...\n", - "\t\t pd = dres_dh_1_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dwself_1\"...\n", + "\t\t pd = dres_dwself_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dtheta_1\"...\n", + "\t\t pd = dres_dtheta_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dlog_tau_1\"...\n", + "\t\t pd = dres_dlog_tau_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_0\"...\n", + "\t\t pd = dres_dw_1_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_2\"...\n", + "\t\t pd = dres_dw_1_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_3\"...\n", + "\t\t pd = dres_dw_1_3(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dwself_2\"...\n", + "\t\t pd = dres_dwself_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dtheta_2\"...\n", + "\t\t pd = dres_dtheta_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dlog_tau_2\"...\n", + "\t\t pd = dres_dlog_tau_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_2_1\"...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\t\t pd = dres_dw_2_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_2_0\"...\n", + "\t\t pd = dres_dw_2_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dX_2_init\"...\n", + "\t\t pd = dres_dX_2_init(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_3_1\"...\n", + "\t\t pd = dres_dw_3_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_3_0\"...\n", + "\t\t pd = dres_dw_3_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dX_3_init\"...\n", + "\t\t pd = dres_dX_3_init(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"sens_rhs\"...\n", "\t\t sens_res = sens_rhs(time,sens_y,sens_yp,constants)\n", "\t\tConstructing wrapper function \"res_function_logdv\"...\n", @@ -1170,18 +951,18 @@ "\t\t sens_res = sens_rhs_logdv(time,sens_y_log,sens_yp_log,constants)\n", "\t\tConstructing wrapper function \"integrate_stochastic_tidbit\"...\n", "\t\t time_ptr,dv,stop_time_ptr,trajectory = integrate_stochastic_tidbit(seed_ptr,reseed,time_ptr,dv,cv,rmsd_ptr,stop_time_ptr)\n", - "\tWrote C/API module \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_23_3757877451_97613\" to file \"./PowerLaw_Network_0_SFIC02TJ318GTFL_local_23_3757877451_97613module.c\"\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/./fortranobject.c' to sources.\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/.' to include_dirs.\n", - "copying /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/f2py/src/fortranobject.c -> build/src.macosx-10.6-x86_64-2.7/.\n" + "\tWrote C/API module \"CTSN_0_SFI_C02TJ318GTFL_301571_4916415561_7442\" to file \"./CTSN_0_SFI_C02TJ318GTFL_301571_4916415561_7442module.c\"\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/./fortranobject.c' to sources.\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/.' to include_dirs.\n", + "copying /Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/f2py/src/fortranobject.c -> build/src.macosx-10.9-x86_64-3.8/.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "WARNING:ReactionNetworks.Components:Failed to import dynamically compiled C module PowerLaw_Network_0_SFIC02TJ318GTFL_local_23_3757877451_97613 for network PowerLaw_Network.\n", - "WARNING:ReactionNetworks.Components:No module named PowerLaw_Network_0_SFIC02TJ318GTFL_local_23_3757877451_97613\n" + "WARNING:ReactionNetworks.Components:Failed to import dynamically compiled C module CTSN_0_SFI_C02TJ318GTFL_301571_4916415561_7442 for network CTSN.\n", + "WARNING:ReactionNetworks.Components:No module named 'CTSN_0_SFI_C02TJ318GTFL_301571_4916415561_7442'\n" ] }, { @@ -1189,33 +970,33 @@ "output_type": "stream", "text": [ "***STDOUT***\n", - "\n", + "b''\n", "***STDERR***\n", - "\n", - "SloppyCellFittingModel.fitToData: generating ensemble for these parameters: ['log_alpha_0', 'log_beta_0', 'g_0_0', 'h_0_0', 'g_0_1', 'h_0_1', 'log_beta_1', 'g_1_1', 'h_1_1', 'g_1_0', 'h_1_0']\n", - "generateEnsemble_pypar: Generating parameter ensemble with 1000.0 total members, using 10 processors.\n", - "SloppyCellFittingModel.fitToData: Cost = 92.33707894699124 ( 0 )\n", - "SloppyCellFittingModel.fitToData: Cost = 93.4130239198142 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 75.90217365427932 ( 1 )\n", - "SloppyCellFittingModel.fitToData: Cost = 75.90700785765307 ( 0 )\n", - "SloppyCellFittingModel.fitToData: Cost = 78.57472517238354 ( 0 )\n", - "SloppyCellFittingModel.fitToData: Cost = 93.41526383310676 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 93.4133823719689 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 93.41407096349313 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 234.9808730329368 ( 4 )\n", - "SloppyCellFittingModel.fitToData: Cost = 93.4134605335877 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Best-fit cost = 75.90217365427932\n", - "fittingProblem.fitAll: L = -60.71246311542691\n", + "b''\n", + "SloppyCellFittingModel.fitToData: generating ensemble for these parameters: ['wself_1', 'theta_1', 'log_tau_1', 'w_1_0', 'w_1_2', 'w_1_3', 'wself_2', 'theta_2', 'log_tau_2', 'w_2_1', 'w_2_0', 'X_2_init', 'w_3_1', 'w_3_0', 'X_3_init']\n", + "generateEnsemble_parallel: Generating parameter ensemble with 20 total members, using 4 processors.\n", + "SloppyCellFittingModel.fitToData: Cost = 99.19763004212449 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Cost = 99.18790408822247 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Cost = 100.46533653118921 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Cost = 99.08497396687075 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 99.62626888685377 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 97.48384855713758 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 96.35056627677257 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Cost = 98.26194803791873 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 98.38256486766932 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 97.22608947308764 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Best-fit cost = 96.35056627677257\n", + "fittingProblem.fitAll: L = -73.57941722124676\n", "running build_ext\n", "running build_src\n", "build_src\n", - "building extension \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_90_9071977451_97613\" sources\n", + "building extension \"CTSN_0_SFI_C02TJ318GTFL_281808_4097415561_7442\" sources\n", "f2py options: []\n", - "f2py: PowerLaw_Network_0_SFIC02TJ318GTFL_local_90_9071977451_97613.pyf\n", + "f2py: CTSN_0_SFI_C02TJ318GTFL_281808_4097415561_7442.pyf\n", "Reading fortran codes...\n", - "\tReading file 'PowerLaw_Network_0_SFIC02TJ318GTFL_local_90_9071977451_97613.pyf' (format:free)\n", + "\tReading file 'CTSN_0_SFI_C02TJ318GTFL_281808_4097415561_7442.pyf' (format:free)\n", "Post-processing...\n", - "\tBlock: PowerLaw_Network_0_SFIC02TJ318GTFL_local_90_9071977451_97613\n", + "\tBlock: CTSN_0_SFI_C02TJ318GTFL_281808_4097415561_7442\n", "\t\t\tBlock: res_function\n", "\t\t\tBlock: ddaskr_jac\n", "\t\t\tBlock: root_func\n", @@ -1223,20 +1004,23 @@ "\t\t\tBlock: alg_res_func\n", "\t\t\tBlock: dres_dc_function\n", "\t\t\tBlock: dres_dcdot_function\n", - "\t\t\tBlock: dres_dlog_alpha_0\n", - "\t\t\tBlock: dres_dlog_beta_0\n", - "\t\t\tBlock: dres_dg_0_0\n", - "\t\t\tBlock: dres_dh_0_0\n", - "\t\t\tBlock: dres_dg_0_1\n", - "\t\t\tBlock: dres_dh_0_1\n", - "\t\t\tBlock: dres_dg_0_2\n", - "\t\t\tBlock: dres_dlog_alpha_1\n", - "\t\t\tBlock: dres_dlog_beta_1\n", - "\t\t\tBlock: dres_dg_1_1\n", - "\t\t\tBlock: dres_dh_1_1\n", - "\t\t\tBlock: dres_dg_1_0\n", - "\t\t\tBlock: dres_dh_1_0\n", - "\t\t\tBlock: dres_dg_2_2\n", + "\t\t\tBlock: dres_dwself_1\n", + "\t\t\tBlock: dres_dtheta_1\n", + "\t\t\tBlock: dres_dlog_tau_1\n", + "\t\t\tBlock: dres_dw_1_0\n", + "\t\t\tBlock: dres_dw_1_2\n", + "\t\t\tBlock: dres_dw_1_3\n", + "\t\t\tBlock: dres_dwself_2\n", + "\t\t\tBlock: dres_dtheta_2\n", + "\t\t\tBlock: dres_dlog_tau_2\n", + "\t\t\tBlock: dres_dw_2_1\n", + "\t\t\tBlock: dres_dw_2_0\n", + "\t\t\tBlock: dres_dw_2_3\n", + "\t\t\tBlock: dres_dX_2_init\n", + "\t\t\tBlock: dres_dw_3_1\n", + "\t\t\tBlock: dres_dw_3_0\n", + "\t\t\tBlock: dres_dw_3_2\n", + "\t\t\tBlock: dres_dX_3_init\n", "\t\t\tBlock: sens_rhs\n", "\t\t\tBlock: res_function_logdv\n", "\t\t\tBlock: root_func_logdv\n", @@ -1244,7 +1028,7 @@ "\t\t\tBlock: integrate_stochastic_tidbit\n", "Post-processing (stage 2)...\n", "Building modules...\n", - "\tBuilding module \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_90_9071977451_97613\"...\n", + "\tBuilding module \"CTSN_0_SFI_C02TJ318GTFL_281808_4097415561_7442\"...\n", "\t\tConstructing wrapper function \"res_function\"...\n", "\t\t residual = res_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"ddaskr_jac\"...\n", @@ -1259,34 +1043,59 @@ "\t\t pd = dres_dc_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"dres_dcdot_function\"...\n", "\t\t pd = dres_dcdot_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_0\"...\n", - "\t\t pd = dres_dlog_alpha_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_0\"...\n", - "\t\t pd = dres_dlog_beta_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_0\"...\n", - "\t\t pd = dres_dg_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_0\"...\n", - "\t\t pd = dres_dh_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_1\"...\n", - "\t\t pd = dres_dg_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_1\"...\n", - "\t\t pd = dres_dh_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_2\"...\n", - "\t\t pd = dres_dg_0_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_1\"...\n", - "\t\t pd = dres_dlog_alpha_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_1\"...\n", - "\t\t pd = dres_dlog_beta_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_1\"...\n", - "\t\t pd = dres_dg_1_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_1\"...\n", - "\t\t pd = dres_dh_1_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_0\"...\n", - "\t\t pd = dres_dg_1_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_0\"...\n", - "\t\t pd = dres_dh_1_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_2_2\"...\n", - "\t\t pd = dres_dg_2_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dwself_1\"...\n", + "\t\t pd = dres_dwself_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dtheta_1\"...\n", + "\t\t pd = dres_dtheta_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dlog_tau_1\"...\n", + "\t\t pd = dres_dlog_tau_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_0\"...\n", + "\t\t pd = dres_dw_1_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_2\"...\n", + "\t\t pd = dres_dw_1_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_3\"...\n", + "\t\t pd = dres_dw_1_3(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dwself_2\"...\n", + "\t\t pd = dres_dwself_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dtheta_2\"...\n", + "\t\t pd = dres_dtheta_2(time,dynamicVars,yprime,constants)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\t\tConstructing wrapper function \"dres_dlog_tau_2\"...\n", + "\t\t pd = dres_dlog_tau_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_2_1\"...\n", + "\t\t pd = dres_dw_2_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_2_0\"...\n", + "\t\t pd = dres_dw_2_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_2_3\"...\n", + "\t\t pd = dres_dw_2_3(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dX_2_init\"...\n", + "\t\t pd = dres_dX_2_init(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_3_1\"...\n", + "\t\t pd = dres_dw_3_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_3_0\"...\n", + "\t\t pd = dres_dw_3_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_3_2\"...\n", + "\t\t pd = dres_dw_3_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dX_3_init\"...\n", + "\t\t pd = dres_dX_3_init(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"sens_rhs\"...\n", "\t\t sens_res = sens_rhs(time,sens_y,sens_yp,constants)\n", "\t\tConstructing wrapper function \"res_function_logdv\"...\n", @@ -1297,18 +1106,18 @@ "\t\t sens_res = sens_rhs_logdv(time,sens_y_log,sens_yp_log,constants)\n", "\t\tConstructing wrapper function \"integrate_stochastic_tidbit\"...\n", "\t\t time_ptr,dv,stop_time_ptr,trajectory = integrate_stochastic_tidbit(seed_ptr,reseed,time_ptr,dv,cv,rmsd_ptr,stop_time_ptr)\n", - "\tWrote C/API module \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_90_9071977451_97613\" to file \"./PowerLaw_Network_0_SFIC02TJ318GTFL_local_90_9071977451_97613module.c\"\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/./fortranobject.c' to sources.\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/.' to include_dirs.\n", - "copying /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/f2py/src/fortranobject.c -> build/src.macosx-10.6-x86_64-2.7/.\n" + "\tWrote C/API module \"CTSN_0_SFI_C02TJ318GTFL_281808_4097415561_7442\" to file \"./CTSN_0_SFI_C02TJ318GTFL_281808_4097415561_7442module.c\"\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/./fortranobject.c' to sources.\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/.' to include_dirs.\n", + "copying /Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/f2py/src/fortranobject.c -> build/src.macosx-10.9-x86_64-3.8/.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "WARNING:ReactionNetworks.Components:Failed to import dynamically compiled C module PowerLaw_Network_0_SFIC02TJ318GTFL_local_90_9071977451_97613 for network PowerLaw_Network.\n", - "WARNING:ReactionNetworks.Components:No module named PowerLaw_Network_0_SFIC02TJ318GTFL_local_90_9071977451_97613\n" + "WARNING:ReactionNetworks.Components:Failed to import dynamically compiled C module CTSN_0_SFI_C02TJ318GTFL_281808_4097415561_7442 for network CTSN.\n", + "WARNING:ReactionNetworks.Components:No module named 'CTSN_0_SFI_C02TJ318GTFL_281808_4097415561_7442'\n" ] }, { @@ -1316,33 +1125,54 @@ "output_type": "stream", "text": [ "***STDOUT***\n", - "\n", + "b''\n", "***STDERR***\n", - "\n", - "SloppyCellFittingModel.fitToData: generating ensemble for these parameters: ['log_alpha_0', 'log_beta_0', 'g_0_0', 'h_0_0', 'g_0_1', 'h_0_1', 'g_0_2', 'log_alpha_1', 'log_beta_1', 'g_1_1', 'h_1_1', 'g_1_0', 'h_1_0', 'g_2_2']\n", - "generateEnsemble_pypar: Generating parameter ensemble with 1000.0 total members, using 10 processors.\n", - "SloppyCellFittingModel.fitToData: Cost = 444.3799785665445 ( 0 )\n", - "SloppyCellFittingModel.fitToData: Cost = 435.7434193107574 ( 4 )\n", - "SloppyCellFittingModel.fitToData: Cost = 444.35267932399546 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 442.3408816865558 ( 0 )\n", - "SloppyCellFittingModel.fitToData: Cost = 75.94983355208664 ( 0 )\n", - "SloppyCellFittingModel.fitToData: Cost = 31.923378620235503 ( 1 )\n", - "SloppyCellFittingModel.fitToData: Cost = 125.78076054692546 ( 1 )\n", - "SloppyCellFittingModel.fitToData: Cost = 76.04679560959686 ( 4 )\n", - "SloppyCellFittingModel.fitToData: Cost = 76.34270989897986 ( 3 )\n", - "SloppyCellFittingModel.fitToData: Cost = 75.90239592548018 ( 0 )\n", - "SloppyCellFittingModel.fitToData: Best-fit cost = 31.923378620235503\n", - "fittingProblem.fitAll: L = -46.232353901020495\n", + "b''\n", + "SloppyCellFittingModel.fitToData: generating ensemble for these parameters: ['wself_1', 'theta_1', 'log_tau_1', 'w_1_0', 'w_1_2', 'w_1_3', 'wself_2', 'theta_2', 'log_tau_2', 'w_2_1', 'w_2_0', 'w_2_3', 'X_2_init', 'w_3_1', 'w_3_0', 'w_3_2', 'X_3_init']\n", + "generateEnsemble_parallel: Generating parameter ensemble with 20 total members, using 4 processors.\n", + "SloppyCellFittingModel.fitToData: Cost = 107.36886122584806 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 99.63021672092857 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 99.61934819814904 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 100.32910128380607 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Cost = 100.26505247362063 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Cost = 101.03123353758875 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 97.66499612139881 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Cost = 96.47771105170251 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 99.0305324973917 ( 0 )\n", + "SloppyCellFittingModel.fitToData: Cost = 96.35056574486659 ( 1 )\n", + "SloppyCellFittingModel.fitToData: Best-fit cost = 96.35056574486659\n", + "fittingProblem.fitAll: L = -73.69419317634126\n" + ] + } + ], + "source": [ + "## Uncomment to run parameter fitting.\n", + "#p.fitAll()\n", + "#\n", + "#fittingProblem.save(p,'simpleExample_savedFittingProblem.pkl')" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ "running build_ext\n", "running build_src\n", "build_src\n", - "building extension \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_34_8214977451_97613\" sources\n", + "building extension \"CTSN_0_SFI_C02TJ318GTFL_759068_7266515561_16872\" sources\n", "f2py options: []\n", - "f2py: PowerLaw_Network_0_SFIC02TJ318GTFL_local_34_8214977451_97613.pyf\n", + "f2py: CTSN_0_SFI_C02TJ318GTFL_759068_7266515561_16872.pyf\n", "Reading fortran codes...\n", - "\tReading file 'PowerLaw_Network_0_SFIC02TJ318GTFL_local_34_8214977451_97613.pyf' (format:free)\n", + "\tReading file 'CTSN_0_SFI_C02TJ318GTFL_759068_7266515561_16872.pyf' (format:free)\n", "Post-processing...\n", - "\tBlock: PowerLaw_Network_0_SFIC02TJ318GTFL_local_34_8214977451_97613\n", + "\tBlock: CTSN_0_SFI_C02TJ318GTFL_759068_7266515561_16872\n", "\t\t\tBlock: res_function\n", "\t\t\tBlock: ddaskr_jac\n", "\t\t\tBlock: root_func\n", @@ -1350,22 +1180,9 @@ "\t\t\tBlock: alg_res_func\n", "\t\t\tBlock: dres_dc_function\n", "\t\t\tBlock: dres_dcdot_function\n", - "\t\t\tBlock: dres_dlog_alpha_0\n", - "\t\t\tBlock: dres_dlog_beta_0\n", - "\t\t\tBlock: dres_dg_0_0\n", - "\t\t\tBlock: dres_dh_0_0\n", - "\t\t\tBlock: dres_dg_0_1\n", - "\t\t\tBlock: dres_dh_0_1\n", - "\t\t\tBlock: dres_dg_0_2\n", - "\t\t\tBlock: dres_dh_0_2\n", - "\t\t\tBlock: dres_dlog_alpha_1\n", - "\t\t\tBlock: dres_dlog_beta_1\n", - "\t\t\tBlock: dres_dg_1_1\n", - "\t\t\tBlock: dres_dh_1_1\n", - "\t\t\tBlock: dres_dg_1_0\n", - "\t\t\tBlock: dres_dh_1_0\n", - "\t\t\tBlock: dres_dg_2_2\n", - "\t\t\tBlock: dres_dg_2_0\n", + "\t\t\tBlock: dres_dwself_1\n", + "\t\t\tBlock: dres_dlog_tau_1\n", + "\t\t\tBlock: dres_dw_1_0\n", "\t\t\tBlock: sens_rhs\n", "\t\t\tBlock: res_function_logdv\n", "\t\t\tBlock: root_func_logdv\n", @@ -1373,7 +1190,7 @@ "\t\t\tBlock: integrate_stochastic_tidbit\n", "Post-processing (stage 2)...\n", "Building modules...\n", - "\tBuilding module \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_34_8214977451_97613\"...\n", + "\tBuilding module \"CTSN_0_SFI_C02TJ318GTFL_759068_7266515561_16872\"...\n", "\t\tConstructing wrapper function \"res_function\"...\n", "\t\t residual = res_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"ddaskr_jac\"...\n", @@ -1388,94 +1205,378 @@ "\t\t pd = dres_dc_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"dres_dcdot_function\"...\n", "\t\t pd = dres_dcdot_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_0\"...\n", - "\t\t pd = dres_dlog_alpha_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_0\"...\n", - "\t\t pd = dres_dlog_beta_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_0\"...\n", - "\t\t pd = dres_dg_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_0\"...\n", - "\t\t pd = dres_dh_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_1\"...\n", - "\t\t pd = dres_dg_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_1\"...\n", - "\t\t pd = dres_dh_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_2\"...\n", - "\t\t pd = dres_dg_0_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_2\"...\n", - "\t\t pd = dres_dh_0_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_1\"...\n", - "\t\t pd = dres_dlog_alpha_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_1\"...\n", - "\t\t pd = dres_dlog_beta_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_1\"...\n", - "\t\t pd = dres_dg_1_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_1\"...\n", - "\t\t pd = dres_dh_1_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_0\"...\n", - "\t\t pd = dres_dg_1_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_0\"...\n", - "\t\t pd = dres_dh_1_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_2_2\"...\n", - "\t\t pd = dres_dg_2_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_2_0\"...\n", - "\t\t pd = dres_dg_2_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dwself_1\"...\n", + "\t\t pd = dres_dwself_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dlog_tau_1\"...\n", + "\t\t pd = dres_dlog_tau_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_0\"...\n", + "\t\t pd = dres_dw_1_0(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"sens_rhs\"...\n", "\t\t sens_res = sens_rhs(time,sens_y,sens_yp,constants)\n", "\t\tConstructing wrapper function \"res_function_logdv\"...\n", "\t\t residual = res_function_logdv(time,log_dv,log_yp,constants)\n", "\t\tConstructing wrapper function \"root_func_logdv\"...\n", "\t\t root_devs = root_func_logdv(t,log_dv,log_yp,constants)\n", - "\t\tConstructing wrapper function \"sens_rhs_logdv\"...\n", + "\t\tConstructing wrapper function \"sens_rhs_logdv\"...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "\t\t sens_res = sens_rhs_logdv(time,sens_y_log,sens_yp_log,constants)\n", "\t\tConstructing wrapper function \"integrate_stochastic_tidbit\"...\n", "\t\t time_ptr,dv,stop_time_ptr,trajectory = integrate_stochastic_tidbit(seed_ptr,reseed,time_ptr,dv,cv,rmsd_ptr,stop_time_ptr)\n", - "\tWrote C/API module \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_34_8214977451_97613\" to file \"./PowerLaw_Network_0_SFIC02TJ318GTFL_local_34_8214977451_97613module.c\"\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/./fortranobject.c' to sources.\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/.' to include_dirs.\n", - "copying /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/f2py/src/fortranobject.c -> build/src.macosx-10.6-x86_64-2.7/.\n" + "\tWrote C/API module \"CTSN_0_SFI_C02TJ318GTFL_759068_7266515561_16872\" to file \"./CTSN_0_SFI_C02TJ318GTFL_759068_7266515561_16872module.c\"\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/./fortranobject.c' to sources.\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/.' to include_dirs.\n", + "creating build\n", + "creating build/src.macosx-10.9-x86_64-3.8\n", + "copying /Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/f2py/src/fortranobject.c -> build/src.macosx-10.9-x86_64-3.8/.\n", + "copying /Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/f2py/src/fortranobject.h -> build/src.macosx-10.9-x86_64-3.8/.\n", + "build_src: building npy-pkg config files\n", + "customize UnixCCompiler\n", + "customize UnixCCompiler using build_ext\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "WARNING:ReactionNetworks.Components:Failed to import dynamically compiled C module PowerLaw_Network_0_SFIC02TJ318GTFL_local_34_8214977451_97613 for network PowerLaw_Network.\n", - "WARNING:ReactionNetworks.Components:No module named PowerLaw_Network_0_SFIC02TJ318GTFL_local_34_8214977451_97613\n" + "/Users/bryandaniels/anaconda3/lib/python3.8/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.\n", + " warnings.warn(\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "***STDOUT***\n", + "CCompilerOpt.cc_test_flags[1013] : testing flags (-march=native)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", "\n", - "***STDERR***\n", + "creating /var/folders/j1/f664b9hj1lz3vpy42qc9sw7h0000gp/T/tmpnyzel5b5/Users\n", + "creating /var/folders/j1/f664b9hj1lz3vpy42qc9sw7h0000gp/T/tmpnyzel5b5/Users/bryandaniels\n", + "creating /var/folders/j1/f664b9hj1lz3vpy42qc9sw7h0000gp/T/tmpnyzel5b5/Users/bryandaniels/anaconda3\n", + "creating /var/folders/j1/f664b9hj1lz3vpy42qc9sw7h0000gp/T/tmpnyzel5b5/Users/bryandaniels/anaconda3/lib\n", + "creating /var/folders/j1/f664b9hj1lz3vpy42qc9sw7h0000gp/T/tmpnyzel5b5/Users/bryandaniels/anaconda3/lib/python3.8\n", + "creating /var/folders/j1/f664b9hj1lz3vpy42qc9sw7h0000gp/T/tmpnyzel5b5/Users/bryandaniels/anaconda3/lib/python3.8/site-packages\n", + "creating /var/folders/j1/f664b9hj1lz3vpy42qc9sw7h0000gp/T/tmpnyzel5b5/Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy\n", + "creating /var/folders/j1/f664b9hj1lz3vpy42qc9sw7h0000gp/T/tmpnyzel5b5/Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/distutils\n", + "creating /var/folders/j1/f664b9hj1lz3vpy42qc9sw7h0000gp/T/tmpnyzel5b5/Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/distutils/checks\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-march=native'\n", + "CCompilerOpt.cc_test_flags[1013] : testing flags (-O3)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-O3'\n", + "CCompilerOpt.cc_test_flags[1013] : testing flags (-Werror)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-Werror'\n", + "CCompilerOpt.__init__[1701] : check requested baseline\n", + "CCompilerOpt.cc_test_flags[1013] : testing flags (-msse)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse'\n", + "CCompilerOpt.cc_test_flags[1013] : testing flags (-msse2)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse2'\n", + "CCompilerOpt.feature_test[1466] : testing feature 'SSE' with flags (-msse -msse2)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -Werror'\n", + "CCompilerOpt.feature_test[1466] : testing feature 'SSE2' with flags (-msse -msse2)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -Werror'\n", + "CCompilerOpt.cc_test_flags[1013] : testing flags (-msse3)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse3'\n", + "CCompilerOpt.feature_test[1466] : testing feature 'SSE3' with flags (-msse -msse2 -msse3)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3 -Werror'\n", + "CCompilerOpt.__init__[1710] : check requested dispatch-able features\n", + "CCompilerOpt.cc_test_flags[1013] : testing flags (-mssse3)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", "\n", - "SloppyCellFittingModel.fitToData: generating ensemble for these parameters: ['log_alpha_0', 'log_beta_0', 'g_0_0', 'h_0_0', 'g_0_1', 'h_0_1', 'g_0_2', 'h_0_2', 'log_alpha_1', 'log_beta_1', 'g_1_1', 'h_1_1', 'g_1_0', 'h_1_0', 'g_2_2', 'g_2_0']\n", - "generateEnsemble_pypar: Generating parameter ensemble with 1000.0 total members, using 10 processors.\n", - "SloppyCellFittingModel.fitToData: Cost = 309.7793318440455 ( 0 )\n", - "SloppyCellFittingModel.fitToData: Cost = 36.88967284799619 ( 0 )\n", - "SloppyCellFittingModel.fitToData: Cost = 25.395327997705873 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 88.02293484999605 ( 4 )\n", - "SloppyCellFittingModel.fitToData: Cost = 25.395067207564026 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 25.39493579826406 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 25.203699530294365 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 25.395329372473206 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 20.11637952587821 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 21.95798937632836 ( 0 )\n", - "SloppyCellFittingModel.fitToData: Best-fit cost = 20.11637952587821\n", - "fittingProblem.fitAll: L = -48.75294182446126\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-mssse3'\n", + "CCompilerOpt.cc_test_flags[1013] : testing flags (-msse4.1)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse4.1'\n", + "CCompilerOpt.cc_test_flags[1013] : testing flags (-mpopcnt)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-mpopcnt'\n", + "CCompilerOpt.cc_test_flags[1013] : testing flags (-msse4.2)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse4.2'\n", + "CCompilerOpt.cc_test_flags[1013] : testing flags (-mavx)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-mavx'\n", + "CCompilerOpt.cc_test_flags[1013] : testing flags (-mf16c)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-mf16c'\n", + "CCompilerOpt.cc_test_flags[1013] : testing flags (-mavx2)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-mavx2'\n", + "CCompilerOpt.feature_test[1466] : testing feature 'AVX2' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mavx2)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mavx2 -Werror'\n", + "CCompilerOpt.cc_test_flags[1013] : testing flags (-mfma)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-mfma'\n", + "CCompilerOpt.cc_test_flags[1013] : testing flags (-mavx512f)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-mavx512f'\n", + "CCompilerOpt.feature_test[1466] : testing feature 'AVX512F' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -Werror'\n", + "CCompilerOpt.feature_test[1466] : testing feature 'FMA3' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -Werror'\n", + "CCompilerOpt.feature_test[1466] : testing feature 'POPCNT' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -Werror'\n", + "CCompilerOpt.feature_test[1466] : testing feature 'SSE42' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -Werror'\n", + "CCompilerOpt.feature_test[1466] : testing feature 'SSSE3' with flags (-msse -msse2 -msse3 -mssse3)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3 -mssse3 -Werror'\n", + "CCompilerOpt.feature_test[1466] : testing feature 'SSE41' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -Werror'\n", + "CCompilerOpt.feature_test[1466] : testing feature 'AVX' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -Werror'\n", + "CCompilerOpt.cc_test_flags[1013] : testing flags (-mavx512cd)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-mavx512cd'\n", + "CCompilerOpt.cc_test_flags[1013] : testing flags (-mavx512er -mavx512pf)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-mavx512er -mavx512pf'\n", + "CCompilerOpt.feature_test[1466] : testing feature 'AVX512_KNL' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512er -mavx512pf)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512er -mavx512pf -Werror'\n", + "CCompilerOpt.feature_test[1466] : testing feature 'AVX512CD' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -Werror'\n", + "CCompilerOpt.feature_test[1466] : testing feature 'F16C' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -Werror'\n", + "CCompilerOpt.cc_test_flags[1013] : testing flags (-mavx5124fmaps -mavx5124vnniw -mavx512vpopcntdq)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-mavx5124fmaps -mavx5124vnniw -mavx512vpopcntdq'\n", + "CCompilerOpt.dist_test[581] : CCompilerOpt._dist_test_spawn[716] : Command (gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include/python3.8 -c /Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/distutils/checks/test_flags.c -o /var/folders/j1/f664b9hj1lz3vpy42qc9sw7h0000gp/T/tmpnyzel5b5/Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/distutils/checks/test_flags.o -MMD -MF /var/folders/j1/f664b9hj1lz3vpy42qc9sw7h0000gp/T/tmpnyzel5b5/Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/distutils/checks/test_flags.o.d -mavx5124fmaps -mavx5124vnniw -mavx512vpopcntdq) failed with exit status 1 output -> \n", + "clang: error: unknown argument: '-mavx5124fmaps'\n", + "clang: error: unknown argument: '-mavx5124vnniw'\n", + "\n", + "CCompilerOpt.cc_test_flags[1017] : testing failed\n", + "CCompilerOpt.feature_test[1466] : testing feature 'AVX512_KNM' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512er -mavx512pf)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512er -mavx512pf -Werror'\n", + "CCompilerOpt.dist_test[581] : CCompilerOpt._dist_test_spawn[716] : Command (gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include/python3.8 -c /Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_knm.c -o /var/folders/j1/f664b9hj1lz3vpy42qc9sw7h0000gp/T/tmpnyzel5b5/Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_knm.o -MMD -MF /var/folders/j1/f664b9hj1lz3vpy42qc9sw7h0000gp/T/tmpnyzel5b5/Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_knm.o.d -msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512er -mavx512pf -Werror) failed with exit status 1 output -> \n", + "/Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_knm.c:22:9: error: implicit declaration of function '_mm512_4fmadd_ps' is invalid in C99 [-Werror,-Wimplicit-function-declaration]\n", + " b = _mm512_4fmadd_ps(b, b, b, b, b, NULL);\n", + " ^\n", + "/Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_knm.c:22:9: note: did you mean '_mm512_fmadd_ps'?\n", + "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/13.0.0/include/avx512fintrin.h:2716:1: note: '_mm512_fmadd_ps' declared here\n", + "_mm512_fmadd_ps(__m512 __A, __m512 __B, __m512 __C)\n", + "^\n", + "/Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_knm.c:22:7: error: assigning to '__m512' (vector of 16 'float' values) from incompatible type 'int'\n", + " b = _mm512_4fmadd_ps(b, b, b, b, b, NULL);\n", + " ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n", + "/Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_knm.c:24:9: error: implicit declaration of function '_mm512_4dpwssd_epi32' is invalid in C99 [-Werror,-Wimplicit-function-declaration]\n", + " a = _mm512_4dpwssd_epi32(a, a, a, a, a, NULL);\n", + " ^\n", + "/Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_knm.c:24:9: note: did you mean '_mm512_dpwssd_epi32'?\n", + "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/13.0.0/include/avx512vnniintrin.h:68:1: note: '_mm512_dpwssd_epi32' declared here\n", + "_mm512_dpwssd_epi32(__m512i __S, __m512i __A, __m512i __B)\n", + "^\n", + "/Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/distutils/checks/cpu_avx512_knm.c:24:7: error: assigning to '__m512i' (vector of 8 'long long' values) from incompatible type 'int'\n", + " a = _mm512_4dpwssd_epi32(a, a, a, a, a, NULL);\n", + " ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n", + "4 errors generated.\n", + "\n", + "CCompilerOpt.feature_test[1482] : testing failed\n", + "CCompilerOpt.cc_test_flags[1013] : testing flags (-mavx512vl -mavx512bw -mavx512dq)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-mavx512vl -mavx512bw -mavx512dq'\n", + "CCompilerOpt.feature_test[1466] : testing feature 'AVX512_SKX' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq -Werror'\n", + "CCompilerOpt.cc_test_flags[1013] : testing flags (-mavx512ifma -mavx512vbmi)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-mavx512ifma -mavx512vbmi'\n", + "CCompilerOpt.feature_test[1466] : testing feature 'AVX512_CNL' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq -mavx512ifma -mavx512vbmi)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq -mavx512ifma -mavx512vbmi -Werror'\n", + "CCompilerOpt.cc_test_flags[1013] : testing flags (-mavx512vnni)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-mavx512vnni'\n", + "CCompilerOpt.feature_test[1466] : testing feature 'AVX512_CLX' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq -mavx512vnni)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq -mavx512vnni -Werror'\n", + "CCompilerOpt.cc_test_flags[1013] : testing flags (-mavx512vbmi2 -mavx512bitalg -mavx512vpopcntdq)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-mavx512vbmi2 -mavx512bitalg -mavx512vpopcntdq'\n", + "CCompilerOpt.feature_test[1466] : testing feature 'AVX512_ICL' with flags (-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq -mavx512vnni -mavx512ifma -mavx512vbmi -mavx512vbmi2 -mavx512bitalg -mavx512vpopcntdq)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq -mavx512vnni -mavx512ifma -mavx512vbmi -mavx512vbmi2 -mavx512bitalg -mavx512vpopcntdq -Werror'\n", + "CCompilerOpt.__init__[1722] : skip features (SSE3 SSE SSE2) since its part of baseline\n", + "CCompilerOpt.__init__[1726] : initialize targets groups\n", + "CCompilerOpt.__init__[1728] : parse target group simd_test\n", + "CCompilerOpt._parse_target_tokens[1939] : skip targets (VSX3 XOP NEON VSX FMA4 VSX2 ASIMD) not part of baseline or dispatch-able features\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CCompilerOpt._parse_policy_not_keepbase[2051] : skip baseline features (SSE2)\n", + "CCompilerOpt.generate_dispatch_header[2272] : generate CPU dispatch header: (build/src.macosx-10.9-x86_64-3.8/numpy/distutils/include/npy_cpu_dispatch_config.h)\n", + "CCompilerOpt.generate_dispatch_header[2281] : dispatch header dir build/src.macosx-10.9-x86_64-3.8/numpy/distutils/include does not exist, creating it\n", + "CCompilerOpt.feature_extra_checks[1546] : Testing extra checks for feature 'AVX512F' (AVX512F_REDUCE)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -Werror'\n", + "CCompilerOpt.feature_extra_checks[1546] : Testing extra checks for feature 'AVX512_SKX' (AVX512BW_MASK AVX512DQ_MASK)\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq -Werror'\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "compile options: '-I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3 -mssse3 -msse4.1 -mpopcnt -msse4.2 -mavx -mf16c -mfma -mavx2 -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq -Werror'\n", + "building 'CTSN_0_SFI_C02TJ318GTFL_759068_7266515561_16872' extension\n", + "compiling C sources\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", + "\n", + "creating build/temp.macosx-10.9-x86_64-3.8/Users\n", + "creating build/temp.macosx-10.9-x86_64-3.8/Users/bryandaniels\n", + "creating build/temp.macosx-10.9-x86_64-3.8/Users/bryandaniels/Desktop\n", + "creating build/temp.macosx-10.9-x86_64-3.8/Users/bryandaniels/Desktop/SloppyCell\n", + "creating build/temp.macosx-10.9-x86_64-3.8/Users/bryandaniels/Desktop/SloppyCell/SloppyCell\n", + "creating build/temp.macosx-10.9-x86_64-3.8/Users/bryandaniels/Desktop/SloppyCell/SloppyCell/ReactionNetworks\n", + "creating build/temp.macosx-10.9-x86_64-3.8/build\n", + "creating build/temp.macosx-10.9-x86_64-3.8/build/src.macosx-10.9-x86_64-3.8\n", + "compile options: '-I/Users/bryandaniels/Desktop/SloppyCell/SloppyCell/ReactionNetworks -Ibuild/src.macosx-10.9-x86_64-3.8/. -I/Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/core/include -Ibuild/src.macosx-10.9-x86_64-3.8/numpy/distutils/include -I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3'\n", + "gcc: CTSN_0_SFI_C02TJ318GTFL_759068_7266515561_16872.cgcc: CTSN_0_SFI_C02TJ318GTFL_759068_7266515561_16872module.cgcc: build/src.macosx-10.9-x86_64-3.8/./fortranobject.c\n", + "\n", + "\n", + "gcc: /Users/bryandaniels/Desktop/SloppyCell/SloppyCell/ReactionNetworks/mtrand.c\n", + "gcc -bundle -undefined dynamic_lookup -L/Users/bryandaniels/anaconda3/lib -arch x86_64 -L/Users/bryandaniels/anaconda3/lib -arch x86_64 build/temp.macosx-10.9-x86_64-3.8/CTSN_0_SFI_C02TJ318GTFL_759068_7266515561_16872.o build/temp.macosx-10.9-x86_64-3.8/CTSN_0_SFI_C02TJ318GTFL_759068_7266515561_16872module.o build/temp.macosx-10.9-x86_64-3.8/Users/bryandaniels/Desktop/SloppyCell/SloppyCell/ReactionNetworks/mtrand.o build/temp.macosx-10.9-x86_64-3.8/build/src.macosx-10.9-x86_64-3.8/fortranobject.o -o CTSN_0_SFI_C02TJ318GTFL_759068_7266515561_16872.cpython-38-darwin.so\n", "running build_ext\n", "running build_src\n", "build_src\n", - "building extension \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_2_9523087451_97613\" sources\n", + "building extension \"CTSN_0_SFI_C02TJ318GTFL_365309_7366515561_16872\" sources\n", "f2py options: []\n", - "f2py: PowerLaw_Network_0_SFIC02TJ318GTFL_local_2_9523087451_97613.pyf\n", + "f2py: CTSN_0_SFI_C02TJ318GTFL_365309_7366515561_16872.pyf\n", "Reading fortran codes...\n", - "\tReading file 'PowerLaw_Network_0_SFIC02TJ318GTFL_local_2_9523087451_97613.pyf' (format:free)\n", + "\tReading file 'CTSN_0_SFI_C02TJ318GTFL_365309_7366515561_16872.pyf' (format:free)\n", "Post-processing...\n", - "\tBlock: PowerLaw_Network_0_SFIC02TJ318GTFL_local_2_9523087451_97613\n", + "\tBlock: CTSN_0_SFI_C02TJ318GTFL_365309_7366515561_16872\n", "\t\t\tBlock: res_function\n", "\t\t\tBlock: ddaskr_jac\n", "\t\t\tBlock: root_func\n", @@ -1483,24 +1584,12 @@ "\t\t\tBlock: alg_res_func\n", "\t\t\tBlock: dres_dc_function\n", "\t\t\tBlock: dres_dcdot_function\n", - "\t\t\tBlock: dres_dlog_alpha_0\n", - "\t\t\tBlock: dres_dlog_beta_0\n", - "\t\t\tBlock: dres_dg_0_0\n", - "\t\t\tBlock: dres_dh_0_0\n", - "\t\t\tBlock: dres_dg_0_1\n", - "\t\t\tBlock: dres_dh_0_1\n", - "\t\t\tBlock: dres_dg_0_2\n", - "\t\t\tBlock: dres_dh_0_2\n", - "\t\t\tBlock: dres_dlog_alpha_1\n", - "\t\t\tBlock: dres_dlog_beta_1\n", - "\t\t\tBlock: dres_dg_1_1\n", - "\t\t\tBlock: dres_dh_1_1\n", - "\t\t\tBlock: dres_dg_1_0\n", - "\t\t\tBlock: dres_dh_1_0\n", - "\t\t\tBlock: dres_dg_1_2\n", - "\t\t\tBlock: dres_dg_2_2\n", - "\t\t\tBlock: dres_dg_2_0\n", - "\t\t\tBlock: dres_dh_2_0\n", + "\t\t\tBlock: dres_dwself_1\n", + "\t\t\tBlock: dres_dtheta_1\n", + "\t\t\tBlock: dres_dlog_tau_1\n", + "\t\t\tBlock: dres_dw_1_0\n", + "\t\t\tBlock: dres_dw_1_2\n", + "\t\t\tBlock: dres_dX_2_init\n", "\t\t\tBlock: sens_rhs\n", "\t\t\tBlock: res_function_logdv\n", "\t\t\tBlock: root_func_logdv\n", @@ -1508,7 +1597,7 @@ "\t\t\tBlock: integrate_stochastic_tidbit\n", "Post-processing (stage 2)...\n", "Building modules...\n", - "\tBuilding module \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_2_9523087451_97613\"...\n", + "\tBuilding module \"CTSN_0_SFI_C02TJ318GTFL_365309_7366515561_16872\"...\n", "\t\tConstructing wrapper function \"res_function\"...\n", "\t\t residual = res_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"ddaskr_jac\"...\n", @@ -1523,42 +1612,18 @@ "\t\t pd = dres_dc_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"dres_dcdot_function\"...\n", "\t\t pd = dres_dcdot_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_0\"...\n", - "\t\t pd = dres_dlog_alpha_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_0\"...\n", - "\t\t pd = dres_dlog_beta_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_0\"...\n", - "\t\t pd = dres_dg_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_0\"...\n", - "\t\t pd = dres_dh_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_1\"...\n", - "\t\t pd = dres_dg_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_1\"...\n", - "\t\t pd = dres_dh_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_2\"...\n", - "\t\t pd = dres_dg_0_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_2\"...\n", - "\t\t pd = dres_dh_0_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_1\"...\n", - "\t\t pd = dres_dlog_alpha_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_1\"...\n", - "\t\t pd = dres_dlog_beta_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_1\"...\n", - "\t\t pd = dres_dg_1_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_1\"...\n", - "\t\t pd = dres_dh_1_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_0\"...\n", - "\t\t pd = dres_dg_1_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_0\"...\n", - "\t\t pd = dres_dh_1_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_2\"...\n", - "\t\t pd = dres_dg_1_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_2_2\"...\n", - "\t\t pd = dres_dg_2_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_2_0\"...\n", - "\t\t pd = dres_dg_2_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_2_0\"...\n", - "\t\t pd = dres_dh_2_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dwself_1\"...\n", + "\t\t pd = dres_dwself_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dtheta_1\"...\n", + "\t\t pd = dres_dtheta_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dlog_tau_1\"...\n", + "\t\t pd = dres_dlog_tau_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_0\"...\n", + "\t\t pd = dres_dw_1_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_2\"...\n", + "\t\t pd = dres_dw_1_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dX_2_init\"...\n", + "\t\t pd = dres_dX_2_init(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"sens_rhs\"...\n", "\t\t sens_res = sens_rhs(time,sens_y,sens_yp,constants)\n", "\t\tConstructing wrapper function \"res_function_logdv\"...\n", @@ -1568,54 +1633,53 @@ "\t\tConstructing wrapper function \"sens_rhs_logdv\"...\n", "\t\t sens_res = sens_rhs_logdv(time,sens_y_log,sens_yp_log,constants)\n", "\t\tConstructing wrapper function \"integrate_stochastic_tidbit\"...\n", - "\t\t time_ptr,dv,stop_time_ptr,trajectory = integrate_stochastic_tidbit(seed_ptr,reseed,time_ptr,dv,cv,rmsd_ptr,stop_time_ptr)\n", - "\tWrote C/API module \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_2_9523087451_97613\" to file \"./PowerLaw_Network_0_SFIC02TJ318GTFL_local_2_9523087451_97613module.c\"\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/./fortranobject.c' to sources.\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/.' to include_dirs.\n", - "copying /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/f2py/src/fortranobject.c -> build/src.macosx-10.6-x86_64-2.7/.\n", - "***STDOUT***" + "\t\t time_ptr,dv,stop_time_ptr,trajectory = integrate_stochastic_tidbit(seed_ptr,reseed,time_ptr,dv,cv,rmsd_ptr,stop_time_ptr)\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "WARNING:ReactionNetworks.Components:Failed to import dynamically compiled C module PowerLaw_Network_0_SFIC02TJ318GTFL_local_2_9523087451_97613 for network PowerLaw_Network.\n", - "WARNING:ReactionNetworks.Components:No module named PowerLaw_Network_0_SFIC02TJ318GTFL_local_2_9523087451_97613\n" + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ + "\tWrote C/API module \"CTSN_0_SFI_C02TJ318GTFL_365309_7366515561_16872\" to file \"./CTSN_0_SFI_C02TJ318GTFL_365309_7366515561_16872module.c\"\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/./fortranobject.c' to sources.\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/.' to include_dirs.\n", + "build_src: building npy-pkg config files\n", + "customize UnixCCompiler\n", + "customize UnixCCompiler using build_ext\n", + "CCompilerOpt.__init__[786] : hit the memory cache\n", + "CCompilerOpt.generate_dispatch_header[2272] : generate CPU dispatch header: (build/src.macosx-10.9-x86_64-3.8/numpy/distutils/include/npy_cpu_dispatch_config.h)\n", + "building 'CTSN_0_SFI_C02TJ318GTFL_365309_7366515561_16872' extension\n", + "compiling C sources\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", "\n", + "compile options: '-I/Users/bryandaniels/Desktop/SloppyCell/SloppyCell/ReactionNetworks -Ibuild/src.macosx-10.9-x86_64-3.8/. -I/Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/core/include -Ibuild/src.macosx-10.9-x86_64-3.8/numpy/distutils/include -I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3'\n", + "gcc: CTSN_0_SFI_C02TJ318GTFL_365309_7366515561_16872.cgcc: CTSN_0_SFI_C02TJ318GTFL_365309_7366515561_16872module.c\n", "\n", - "***STDERR***\n", - "\n", - "SloppyCellFittingModel.fitToData: generating ensemble for these parameters: ['log_alpha_0', 'log_beta_0', 'g_0_0', 'h_0_0', 'g_0_1', 'h_0_1', 'g_0_2', 'h_0_2', 'log_alpha_1', 'log_beta_1', 'g_1_1', 'h_1_1', 'g_1_0', 'h_1_0', 'g_1_2', 'g_2_2', 'g_2_0', 'h_2_0']\n", - "generateEnsemble_pypar: Generating parameter ensemble with 1000.0 total members, using 10 processors.\n", - "SloppyCellFittingModel.fitToData: Cost = 83.85302422353489 ( 4 )\n", - "SloppyCellFittingModel.fitToData: Cost = 96.03976148782336 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 795.7522163063499 ( 1 )\n", - "SloppyCellFittingModel.fitToData: Cost = 252.39303201552423 ( 1 )\n", - "SloppyCellFittingModel.fitToData: Cost = 82.69575770858674 ( 4 )\n", - "SloppyCellFittingModel.fitToData: Cost = 300.2855008014545 ( 1 )\n", - "SloppyCellFittingModel.fitToData: Cost = 301.9796578020247 ( 4 )\n", - "SloppyCellFittingModel.fitToData: Cost = 36.17045401622916 ( 0 )\n", - "SloppyCellFittingModel.fitToData: Cost = 18.764688610590934 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Cost = 18.968577604485436 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Best-fit cost = 18.764688610590934\n", - "fittingProblem.fitAll: L = -55.785711936594325\n", + "gcc -bundle -undefined dynamic_lookup -L/Users/bryandaniels/anaconda3/lib -arch x86_64 -L/Users/bryandaniels/anaconda3/lib -arch x86_64 build/temp.macosx-10.9-x86_64-3.8/CTSN_0_SFI_C02TJ318GTFL_365309_7366515561_16872.o build/temp.macosx-10.9-x86_64-3.8/CTSN_0_SFI_C02TJ318GTFL_365309_7366515561_16872module.o build/temp.macosx-10.9-x86_64-3.8/Users/bryandaniels/Desktop/SloppyCell/SloppyCell/ReactionNetworks/mtrand.o build/temp.macosx-10.9-x86_64-3.8/build/src.macosx-10.9-x86_64-3.8/fortranobject.o -o CTSN_0_SFI_C02TJ318GTFL_365309_7366515561_16872.cpython-38-darwin.so\n", "running build_ext\n", "running build_src\n", "build_src\n", - "building extension \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_28_2424187451_97613\" sources\n", + "building extension \"CTSN_0_SFI_C02TJ318GTFL_719392_9366515561_16872\" sources\n", "f2py options: []\n", - "f2py: PowerLaw_Network_0_SFIC02TJ318GTFL_local_28_2424187451_97613.pyf\n", + "f2py: CTSN_0_SFI_C02TJ318GTFL_719392_9366515561_16872.pyf\n", "Reading fortran codes...\n", - "\tReading file 'PowerLaw_Network_0_SFIC02TJ318GTFL_local_28_2424187451_97613.pyf' (format:free)\n", + "\tReading file 'CTSN_0_SFI_C02TJ318GTFL_719392_9366515561_16872.pyf' (format:free)\n", "Post-processing...\n", - "\tBlock: PowerLaw_Network_0_SFIC02TJ318GTFL_local_28_2424187451_97613\n", + "\tBlock: CTSN_0_SFI_C02TJ318GTFL_719392_9366515561_16872\n", "\t\t\tBlock: res_function\n", "\t\t\tBlock: ddaskr_jac\n", "\t\t\tBlock: root_func\n", @@ -1623,26 +1687,14 @@ "\t\t\tBlock: alg_res_func\n", "\t\t\tBlock: dres_dc_function\n", "\t\t\tBlock: dres_dcdot_function\n", - "\t\t\tBlock: dres_dlog_alpha_0\n", - "\t\t\tBlock: dres_dlog_beta_0\n", - "\t\t\tBlock: dres_dg_0_0\n", - "\t\t\tBlock: dres_dh_0_0\n", - "\t\t\tBlock: dres_dg_0_1\n", - "\t\t\tBlock: dres_dh_0_1\n", - "\t\t\tBlock: dres_dg_0_2\n", - "\t\t\tBlock: dres_dh_0_2\n", - "\t\t\tBlock: dres_dlog_alpha_1\n", - "\t\t\tBlock: dres_dlog_beta_1\n", - "\t\t\tBlock: dres_dg_1_1\n", - "\t\t\tBlock: dres_dh_1_1\n", - "\t\t\tBlock: dres_dg_1_0\n", - "\t\t\tBlock: dres_dh_1_0\n", - "\t\t\tBlock: dres_dg_1_2\n", - "\t\t\tBlock: dres_dh_1_2\n", - "\t\t\tBlock: dres_dg_2_2\n", - "\t\t\tBlock: dres_dg_2_0\n", - "\t\t\tBlock: dres_dh_2_0\n", - "\t\t\tBlock: dres_dg_2_1\n", + "\t\t\tBlock: dres_dwself_1\n", + "\t\t\tBlock: dres_dtheta_1\n", + "\t\t\tBlock: dres_dlog_tau_1\n", + "\t\t\tBlock: dres_dw_1_0\n", + "\t\t\tBlock: dres_dw_1_2\n", + "\t\t\tBlock: dres_dw_2_1\n", + "\t\t\tBlock: dres_dw_2_0\n", + "\t\t\tBlock: dres_dX_2_init\n", "\t\t\tBlock: sens_rhs\n", "\t\t\tBlock: res_function_logdv\n", "\t\t\tBlock: root_func_logdv\n", @@ -1650,7 +1702,7 @@ "\t\t\tBlock: integrate_stochastic_tidbit\n", "Post-processing (stage 2)...\n", "Building modules...\n", - "\tBuilding module \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_28_2424187451_97613\"...\n", + "\tBuilding module \"CTSN_0_SFI_C02TJ318GTFL_719392_9366515561_16872\"...\n", "\t\tConstructing wrapper function \"res_function\"...\n", "\t\t residual = res_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"ddaskr_jac\"...\n", @@ -1665,393 +1717,78 @@ "\t\t pd = dres_dc_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"dres_dcdot_function\"...\n", "\t\t pd = dres_dcdot_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_0\"...\n", - "\t\t pd = dres_dlog_alpha_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_0\"...\n", - "\t\t pd = dres_dlog_beta_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_0\"...\n", - "\t\t pd = dres_dg_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_0\"...\n", - "\t\t pd = dres_dh_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_1\"...\n", - "\t\t pd = dres_dg_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_1\"...\n", - "\t\t pd = dres_dh_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_2\"...\n", - "\t\t pd = dres_dg_0_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_2\"...\n", - "\t\t pd = dres_dh_0_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_1\"...\n", - "\t\t pd = dres_dlog_alpha_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_1\"...\n", - "\t\t pd = dres_dlog_beta_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_1\"...\n", - "\t\t pd = dres_dg_1_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_1\"...\n", - "\t\t pd = dres_dh_1_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_0\"...\n", - "\t\t pd = dres_dg_1_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_0\"...\n", - "\t\t pd = dres_dh_1_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_2\"...\n", - "\t\t pd = dres_dg_1_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_2\"...\n", - "\t\t pd = dres_dh_1_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_2_2\"...\n", - "\t\t pd = dres_dg_2_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_2_0\"...\n", - "\t\t pd = dres_dg_2_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_2_0\"...\n", - "\t\t pd = dres_dh_2_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_2_1\"...\n", - "\t\t pd = dres_dg_2_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dwself_1\"...\n", + "\t\t pd = dres_dwself_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dtheta_1\"...\n", + "\t\t pd = dres_dtheta_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dlog_tau_1\"...\n", + "\t\t pd = dres_dlog_tau_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_0\"...\n", + "\t\t pd = dres_dw_1_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_2\"...\n", + "\t\t pd = dres_dw_1_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_2_1\"...\n", + "\t\t pd = dres_dw_2_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_2_0\"...\n", + "\t\t pd = dres_dw_2_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dX_2_init\"...\n", + "\t\t pd = dres_dX_2_init(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"sens_rhs\"...\n", "\t\t sens_res = sens_rhs(time,sens_y,sens_yp,constants)\n", "\t\tConstructing wrapper function \"res_function_logdv\"...\n", "\t\t residual = res_function_logdv(time,log_dv,log_yp,constants)\n", "\t\tConstructing wrapper function \"root_func_logdv\"...\n", - "\t\t root_devs = root_func_logdv(t,log_dv,log_yp,constants)\n", - "\t\tConstructing wrapper function \"sens_rhs_logdv\"...\n", - "\t\t sens_res = sens_rhs_logdv(time,sens_y_log,sens_yp_log,constants)\n", - "\t\tConstructing wrapper function \"integrate_stochastic_tidbit\"...\n", - "\t\t time_ptr,dv,stop_time_ptr,trajectory = integrate_stochastic_tidbit(seed_ptr,reseed,time_ptr,dv,cv,rmsd_ptr,stop_time_ptr)\n", - "\tWrote C/API module \"PowerLaw_Network_0_SFIC02TJ318GTFL_local_28_2424187451_97613\" to file \"./PowerLaw_Network_0_SFIC02TJ318GTFL_local_28_2424187451_97613module.c\"\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/./fortranobject.c' to sources.\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/.' to include_dirs.\n", - "copying /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/f2py/src/fortranobject.c -> build/src.macosx-10.6-x86_64-2.7/.\n" + "\t\t root_devs = root_func_logdv(t,log_dv,log_yp,constants)\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "WARNING:ReactionNetworks.Components:Failed to import dynamically compiled C module PowerLaw_Network_0_SFIC02TJ318GTFL_local_28_2424187451_97613 for network PowerLaw_Network.\n", - "WARNING:ReactionNetworks.Components:No module named PowerLaw_Network_0_SFIC02TJ318GTFL_local_28_2424187451_97613\n" + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "***STDOUT***\n", - "\n", - "***STDERR***\n", - "\n", - "SloppyCellFittingModel.fitToData: generating ensemble for these parameters: ['log_alpha_0', 'log_beta_0', 'g_0_0', 'h_0_0', 'g_0_1', 'h_0_1', 'g_0_2', 'h_0_2', 'log_alpha_1', 'log_beta_1', 'g_1_1', 'h_1_1', 'g_1_0', 'h_1_0', 'g_1_2', 'h_1_2', 'g_2_2', 'g_2_0', 'h_2_0', 'g_2_1']\n", - "generateEnsemble_pypar: Generating parameter ensemble with 1000.0 total members, using 10 processors.\n", - "SloppyCellFittingModel.fitToData: Cost = 46.33660403465042 ( 3 )\n", - "SloppyCellFittingModel.fitToData: Cost = 73.46406889716972 ( 0 )\n", - "SloppyCellFittingModel.fitToData: Cost = 58.87892254615015 ( 0 )\n", - "SloppyCellFittingModel.fitToData: Cost = 95.40946671991203 ( 4 )\n", - "SloppyCellFittingModel.fitToData: Cost = 84.84227092495524 ( 4 )\n", - "SloppyCellFittingModel.fitToData: Cost = 436.8106106191076 ( 4 )\n", - "SloppyCellFittingModel.fitToData: Cost = 346.1331288086608 ( 4 )\n", - "SloppyCellFittingModel.fitToData: Cost = 183.12190843098935 ( 4 )\n", - "SloppyCellFittingModel.fitToData: Cost = 79.34604964579019 ( 4 )\n", - "SloppyCellFittingModel.fitToData: Cost = 16.156978196838676 ( 2 )\n", - "SloppyCellFittingModel.fitToData: Best-fit cost = 16.156978196838676\n", - "fittingProblem.fitAll: L = -61.47738413001833\n" - ] - } - ], - "source": [ - "## Uncomment to run parameter fitting.\n", - "#p.fitAll()\n", - "#\n", - "#fittingProblem.save(p,'simpleExample_savedFittingProblem.data')" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "collapsed": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "running build_ext\n", - "running build_src\n", - "build_src\n", - "building extension \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930\" sources\n", - "f2py options: []\n", - "f2py: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.pyf\n", - "Reading fortran codes...\n", - "\tReading file 'PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.pyf' (format:free)\n", - "Post-processing...\n", - "\tBlock: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930\n", - "\t\t\tBlock: res_function\n", - "\t\t\tBlock: ddaskr_jac\n", - "\t\t\tBlock: root_func\n", - "\t\t\tBlock: alg_deriv_func\n", - "\t\t\tBlock: alg_res_func\n", - "\t\t\tBlock: dres_dc_function\n", - "\t\t\tBlock: dres_dcdot_function\n", - "\t\t\tBlock: dres_dlog_beta_0\n", - "\t\t\tBlock: dres_dg_0_0\n", - "\t\t\tBlock: sens_rhs\n", - "\t\t\tBlock: res_function_logdv\n", - "\t\t\tBlock: root_func_logdv\n", - "\t\t\tBlock: sens_rhs_logdv\n", - "\t\t\tBlock: integrate_stochastic_tidbit\n", - "Post-processing (stage 2)...\n", - "Building modules...\n", - "\tBuilding module \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930\"...\n", - "\t\tConstructing wrapper function \"res_function\"...\n", - "\t\t residual = res_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"ddaskr_jac\"...\n", - "\t\t pd = ddaskr_jac(t,y,yprime,cj,rpar)\n", - "\t\tConstructing wrapper function \"root_func\"...\n", - "\t\t root_devs = root_func(t,y,yp,constants)\n", - "\t\tConstructing wrapper function \"alg_deriv_func\"...\n", - "\t\t alg_derivs_res = alg_deriv_func(alg_yp,dynamicVars,yp,time,constants)\n", - "\t\tConstructing wrapper function \"alg_res_func\"...\n", - "\t\t residual = alg_res_func(alg_vals,dynamicVars,time,constants)\n", - "\t\tConstructing wrapper function \"dres_dc_function\"...\n", - "\t\t pd = dres_dc_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dcdot_function\"...\n", - "\t\t pd = dres_dcdot_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_0\"...\n", - "\t\t pd = dres_dlog_beta_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_0\"...\n", - "\t\t pd = dres_dg_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"sens_rhs\"...\n", - "\t\t sens_res = sens_rhs(time,sens_y,sens_yp,constants)\n", - "\t\tConstructing wrapper function \"res_function_logdv\"...\n", - "\t\t residual = res_function_logdv(time,log_dv,log_yp,constants)\n", - "\t\tConstructing wrapper function \"root_func_logdv\"...\n", - "\t\t root_devs = root_func_logdv(t,log_dv,log_yp,constants)\n", "\t\tConstructing wrapper function \"sens_rhs_logdv\"...\n", "\t\t sens_res = sens_rhs_logdv(time,sens_y_log,sens_yp_log,constants)\n", "\t\tConstructing wrapper function \"integrate_stochastic_tidbit\"...\n", "\t\t time_ptr,dv,stop_time_ptr,trajectory = integrate_stochastic_tidbit(seed_ptr,reseed,time_ptr,dv,cv,rmsd_ptr,stop_time_ptr)\n", - "\tWrote C/API module \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930\" to file \"./PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930module.c\"\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/./fortranobject.c' to sources.\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/.' to include_dirs.\n", - "creating build\n", - "creating build/src.macosx-10.6-x86_64-2.7\n", - "copying /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/f2py/src/fortranobject.c -> build/src.macosx-10.6-x86_64-2.7/.\n", - "copying /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/f2py/src/fortranobject.h -> build/src.macosx-10.6-x86_64-2.7/.\n", + "\tWrote C/API module \"CTSN_0_SFI_C02TJ318GTFL_719392_9366515561_16872\" to file \"./CTSN_0_SFI_C02TJ318GTFL_719392_9366515561_16872module.c\"\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/./fortranobject.c' to sources.\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/.' to include_dirs.\n", "build_src: building npy-pkg config files\n", "customize UnixCCompiler\n", "customize UnixCCompiler using build_ext\n", - "building 'PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930' extension\n", + "CCompilerOpt.__init__[786] : hit the memory cache\n", + "CCompilerOpt.generate_dispatch_header[2272] : generate CPU dispatch header: (build/src.macosx-10.9-x86_64-3.8/numpy/distutils/include/npy_cpu_dispatch_config.h)\n", + "building 'CTSN_0_SFI_C02TJ318GTFL_719392_9366515561_16872' extension\n", "compiling C sources\n", - "C compiler: gcc -fno-strict-aliasing -I/Users/bryandaniels/anaconda2/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", "\n", - "creating build/temp.macosx-10.6-x86_64-2.7/Users\n", - "creating build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels\n", - "creating build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2\n", - "creating build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2/lib\n", - "creating build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2/lib/python2.7\n", - "creating build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2/lib/python2.7/site-packages\n", - "creating build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg\n", - "creating build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell\n", - "creating build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks\n", - "creating build/temp.macosx-10.6-x86_64-2.7/build\n", - "creating build/temp.macosx-10.6-x86_64-2.7/build/src.macosx-10.6-x86_64-2.7\n", - "compile options: '-I/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks -Ibuild/src.macosx-10.6-x86_64-2.7/. -I/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include -I/Users/bryandaniels/anaconda2/include/python2.7 -c'\n", - "gcc: build/src.macosx-10.6-x86_64-2.7/./fortranobject.c\n", - "In file included from build/src.macosx-10.6-x86_64-2.7/./fortranobject.c:2:\n", - "In file included from build/src.macosx-10.6-x86_64-2.7/./fortranobject.h:13:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:\n", - "/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: \"Using deprecated NumPy API, disable it by \" \"#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION\" [-W#warnings]\n", - "#warning \"Using deprecated NumPy API, disable it by \" \\\n", - " ^\n", - "1 warning generated.\n", - "gcc: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930module.c\n", - "In file included from PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930module.c:16:\n", - "In file included from build/src.macosx-10.6-x86_64-2.7/./fortranobject.h:13:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:\n", - "/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: \"Using deprecated NumPy API, disable it by \" \"#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION\" [-W#warnings]\n", - "#warning \"Using deprecated NumPy API, disable it by \" \\\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930module.c:102:12: warning: unused function 'f2py_size' [-Wunused-function]\n", - "static int f2py_size(PyArrayObject* var, ...)\n", - " ^\n", - "2 warnings generated.\n", - "gcc: /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks/mtrand.c\n", - "gcc: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:166:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:168:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:169:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:174:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:185:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:187:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:188:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:191:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:192:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:193:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:195:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:197:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:198:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:203:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:225:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:227:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:228:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:233:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:244:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:246:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:247:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:250:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:251:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:252:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:254:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:256:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:257:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:277:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:279:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:280:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:283:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:285:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:289:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:290:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:296:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:298:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:299:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:303:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:304:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:309:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:390:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:392:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:393:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:396:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:397:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:398:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:400:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:401:8: warning: unused variable 'x_deriv_wrt_time' [-Wunused-variable]\n", - "double x_deriv_wrt_time = yprime[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:403:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:404:8: warning: unused variable 'alpha_0_deriv_wrt_time' [-Wunused-variable]\n", - "double alpha_0_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:405:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.c:406:8: warning: unused variable 'beta_0_deriv_wrt_time' [-Wunused-variable]\n", - "double beta_0_deriv_wrt_time = 0.0;\n", - " ^\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "52 warnings generated.\n", - "gcc -bundle -undefined dynamic_lookup -L/Users/bryandaniels/anaconda2/lib -arch x86_64 -arch x86_64 build/temp.macosx-10.6-x86_64-2.7/PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.o build/temp.macosx-10.6-x86_64-2.7/PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930module.o build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks/mtrand.o build/temp.macosx-10.6-x86_64-2.7/build/src.macosx-10.6-x86_64-2.7/fortranobject.o -L/Users/bryandaniels/anaconda2/lib -o PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_0918287451_12930.so\n", + "compile options: '-I/Users/bryandaniels/Desktop/SloppyCell/SloppyCell/ReactionNetworks -Ibuild/src.macosx-10.9-x86_64-3.8/. -I/Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/core/include -Ibuild/src.macosx-10.9-x86_64-3.8/numpy/distutils/include -I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3'\n", + "gcc: CTSN_0_SFI_C02TJ318GTFL_719392_9366515561_16872.cgcc: CTSN_0_SFI_C02TJ318GTFL_719392_9366515561_16872module.c\n", + "\n", + "gcc -bundle -undefined dynamic_lookup -L/Users/bryandaniels/anaconda3/lib -arch x86_64 -L/Users/bryandaniels/anaconda3/lib -arch x86_64 build/temp.macosx-10.9-x86_64-3.8/CTSN_0_SFI_C02TJ318GTFL_719392_9366515561_16872.o build/temp.macosx-10.9-x86_64-3.8/CTSN_0_SFI_C02TJ318GTFL_719392_9366515561_16872module.o build/temp.macosx-10.9-x86_64-3.8/Users/bryandaniels/Desktop/SloppyCell/SloppyCell/ReactionNetworks/mtrand.o build/temp.macosx-10.9-x86_64-3.8/build/src.macosx-10.9-x86_64-3.8/fortranobject.o -o CTSN_0_SFI_C02TJ318GTFL_719392_9366515561_16872.cpython-38-darwin.so\n", "running build_ext\n", "running build_src\n", "build_src\n", - "building extension \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930\" sources\n", + "building extension \"CTSN_0_SFI_C02TJ318GTFL_821676_0466515561_16872\" sources\n", "f2py options: []\n", - "f2py: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.pyf\n", + "f2py: CTSN_0_SFI_C02TJ318GTFL_821676_0466515561_16872.pyf\n", "Reading fortran codes...\n", - "\tReading file 'PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.pyf' (format:free)\n", + "\tReading file 'CTSN_0_SFI_C02TJ318GTFL_821676_0466515561_16872.pyf' (format:free)\n", "Post-processing...\n", - "\tBlock: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930\n", + "\tBlock: CTSN_0_SFI_C02TJ318GTFL_821676_0466515561_16872\n", "\t\t\tBlock: res_function\n", "\t\t\tBlock: ddaskr_jac\n", "\t\t\tBlock: root_func\n", @@ -2059,10 +1796,16 @@ "\t\t\tBlock: alg_res_func\n", "\t\t\tBlock: dres_dc_function\n", "\t\t\tBlock: dres_dcdot_function\n", - "\t\t\tBlock: dres_dlog_alpha_0\n", - "\t\t\tBlock: dres_dlog_beta_0\n", - "\t\t\tBlock: dres_dg_0_0\n", - "\t\t\tBlock: dres_dh_0_0\n", + "\t\t\tBlock: dres_dwself_1\n", + "\t\t\tBlock: dres_dtheta_1\n", + "\t\t\tBlock: dres_dlog_tau_1\n", + "\t\t\tBlock: dres_dw_1_0\n", + "\t\t\tBlock: dres_dw_1_2\n", + "\t\t\tBlock: dres_dwself_2\n", + "\t\t\tBlock: dres_dlog_tau_2\n", + "\t\t\tBlock: dres_dw_2_1\n", + "\t\t\tBlock: dres_dw_2_0\n", + "\t\t\tBlock: dres_dX_2_init\n", "\t\t\tBlock: sens_rhs\n", "\t\t\tBlock: res_function_logdv\n", "\t\t\tBlock: root_func_logdv\n", @@ -2070,7 +1813,7 @@ "\t\t\tBlock: integrate_stochastic_tidbit\n", "Post-processing (stage 2)...\n", "Building modules...\n", - "\tBuilding module \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930\"...\n", + "\tBuilding module \"CTSN_0_SFI_C02TJ318GTFL_821676_0466515561_16872\"...\n", "\t\tConstructing wrapper function \"res_function\"...\n", "\t\t residual = res_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"ddaskr_jac\"...\n", @@ -2085,312 +1828,45 @@ "\t\t pd = dres_dc_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"dres_dcdot_function\"...\n", "\t\t pd = dres_dcdot_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_0\"...\n", - "\t\t pd = dres_dlog_alpha_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_0\"...\n", - "\t\t pd = dres_dlog_beta_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_0\"...\n", - "\t\t pd = dres_dg_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_0\"...\n", - "\t\t pd = dres_dh_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"sens_rhs\"...\n", - "\t\t sens_res = sens_rhs(time,sens_y,sens_yp,constants)\n", - "\t\tConstructing wrapper function \"res_function_logdv\"...\n", - "\t\t residual = res_function_logdv(time,log_dv,log_yp,constants)\n", - "\t\tConstructing wrapper function \"root_func_logdv\"...\n", - "\t\t root_devs = root_func_logdv(t,log_dv,log_yp,constants)\n", - "\t\tConstructing wrapper function \"sens_rhs_logdv\"...\n", - "\t\t sens_res = sens_rhs_logdv(time,sens_y_log,sens_yp_log,constants)\n", - "\t\tConstructing wrapper function \"integrate_stochastic_tidbit\"...\n", - "\t\t time_ptr,dv,stop_time_ptr,trajectory = integrate_stochastic_tidbit(seed_ptr,reseed,time_ptr,dv,cv,rmsd_ptr,stop_time_ptr)\n", - "\tWrote C/API module \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930\" to file \"./PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930module.c\"\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/./fortranobject.c' to sources.\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/.' to include_dirs.\n", - "build_src: building npy-pkg config files\n", - "customize UnixCCompiler\n", - "customize UnixCCompiler using build_ext\n", - "building 'PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930' extension\n", - "compiling C sources\n", - "C compiler: gcc -fno-strict-aliasing -I/Users/bryandaniels/anaconda2/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes\n", - "\n", - "compile options: '-I/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks -Ibuild/src.macosx-10.6-x86_64-2.7/. -I/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include -I/Users/bryandaniels/anaconda2/include/python2.7 -c'\n", - "gcc: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930module.c\n", - "In file included from PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930module.c:16:\n", - "In file included from build/src.macosx-10.6-x86_64-2.7/./fortranobject.h:13:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:\n", - "/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: \"Using deprecated NumPy API, disable it by \" \"#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION\" [-W#warnings]\n", - "#warning \"Using deprecated NumPy API, disable it by \" \\\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930module.c:102:12: warning: unused function 'f2py_size' [-Wunused-function]\n", - "static int f2py_size(PyArrayObject* var, ...)\n", - " ^\n", - "2 warnings generated.\n", - "gcc: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:170:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:172:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:173:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:178:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:189:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:191:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:192:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:195:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:196:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:197:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:199:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:201:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:202:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:207:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:229:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:231:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:232:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:237:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:248:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:250:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:251:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:254:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:255:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:256:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:258:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:260:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:261:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:281:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:283:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:284:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:288:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:289:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:293:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:294:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:300:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:302:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:303:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:306:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:308:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:312:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:313:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:319:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:321:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:322:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:326:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:327:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:332:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:338:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:340:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:341:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:344:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:346:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:350:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:436:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:438:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:439:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:442:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:443:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:444:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:446:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:447:8: warning: unused variable 'x_deriv_wrt_time' [-Wunused-variable]\n", - "double x_deriv_wrt_time = yprime[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:449:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:450:8: warning: unused variable 'alpha_0_deriv_wrt_time' [-Wunused-variable]\n", - "double alpha_0_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:451:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.c:452:8: warning: unused variable 'beta_0_deriv_wrt_time' [-Wunused-variable]\n", - "double beta_0_deriv_wrt_time = 0.0;\n", - " ^\n", - "65 warnings generated.\n", - "gcc -bundle -undefined dynamic_lookup -L/Users/bryandaniels/anaconda2/lib -arch x86_64 -arch x86_64 build/temp.macosx-10.6-x86_64-2.7/PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.o build/temp.macosx-10.6-x86_64-2.7/PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930module.o build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks/mtrand.o build/temp.macosx-10.6-x86_64-2.7/build/src.macosx-10.6-x86_64-2.7/fortranobject.o -L/Users/bryandaniels/anaconda2/lib -o PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_91_2918287451_12930.so\n" + "\t\tConstructing wrapper function \"dres_dwself_1\"...\n", + "\t\t pd = dres_dwself_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dtheta_1\"...\n", + "\t\t pd = dres_dtheta_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dlog_tau_1\"...\n", + "\t\t pd = dres_dlog_tau_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_0\"...\n", + "\t\t pd = dres_dw_1_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_2\"...\n", + "\t\t pd = dres_dw_1_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dwself_2\"...\n", + "\t\t pd = dres_dwself_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dlog_tau_2\"...\n", + "\t\t pd = dres_dlog_tau_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_2_1\"...\n", + "\t\t pd = dres_dw_2_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_2_0\"...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "running build_ext\n", - "running build_src\n", - "build_src\n", - "building extension \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930\" sources\n", - "f2py options: []\n", - "f2py: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.pyf\n", - "Reading fortran codes...\n", - "\tReading file 'PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.pyf' (format:free)\n", - "Post-processing...\n", - "\tBlock: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930\n", - "\t\t\tBlock: res_function\n", - "\t\t\tBlock: ddaskr_jac\n", - "\t\t\tBlock: root_func\n", - "\t\t\tBlock: alg_deriv_func\n", - "\t\t\tBlock: alg_res_func\n", - "\t\t\tBlock: dres_dc_function\n", - "\t\t\tBlock: dres_dcdot_function\n", - "\t\t\tBlock: dres_dlog_alpha_0\n", - "\t\t\tBlock: dres_dlog_beta_0\n", - "\t\t\tBlock: dres_dg_0_0\n", - "\t\t\tBlock: dres_dh_0_0\n", - "\t\t\tBlock: dres_dg_0_1\n", - "\t\t\tBlock: dres_dh_0_1\n", - "\t\t\tBlock: dres_dg_1_1\n", - "\t\t\tBlock: sens_rhs\n", - "\t\t\tBlock: res_function_logdv\n", - "\t\t\tBlock: root_func_logdv\n", - "\t\t\tBlock: sens_rhs_logdv\n", - "\t\t\tBlock: integrate_stochastic_tidbit\n", - "Post-processing (stage 2)...\n", - "Building modules...\n", - "\tBuilding module \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930\"...\n", - "\t\tConstructing wrapper function \"res_function\"...\n", - "\t\t residual = res_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"ddaskr_jac\"...\n", - "\t\t pd = ddaskr_jac(t,y,yprime,cj,rpar)\n", - "\t\tConstructing wrapper function \"root_func\"...\n", - "\t\t root_devs = root_func(t,y,yp,constants)\n", - "\t\tConstructing wrapper function \"alg_deriv_func\"...\n", - "\t\t alg_derivs_res = alg_deriv_func(alg_yp,dynamicVars,yp,time,constants)\n", - "\t\tConstructing wrapper function \"alg_res_func\"...\n", - "\t\t residual = alg_res_func(alg_vals,dynamicVars,time,constants)\n", - "\t\tConstructing wrapper function \"dres_dc_function\"...\n", - "\t\t pd = dres_dc_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dcdot_function\"...\n", - "\t\t pd = dres_dcdot_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_0\"...\n", - "\t\t pd = dres_dlog_alpha_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_0\"...\n", - "\t\t pd = dres_dlog_beta_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_0\"...\n", - "\t\t pd = dres_dg_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_0\"...\n", - "\t\t pd = dres_dh_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_1\"...\n", - "\t\t pd = dres_dg_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_1\"...\n", - "\t\t pd = dres_dh_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_1\"...\n", - "\t\t pd = dres_dg_1_1(time,dynamicVars,yprime,constants)\n", + "\t\t pd = dres_dw_2_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dX_2_init\"...\n", + "\t\t pd = dres_dX_2_init(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"sens_rhs\"...\n", "\t\t sens_res = sens_rhs(time,sens_y,sens_yp,constants)\n", "\t\tConstructing wrapper function \"res_function_logdv\"...\n", @@ -2401,517 +1877,33 @@ "\t\t sens_res = sens_rhs_logdv(time,sens_y_log,sens_yp_log,constants)\n", "\t\tConstructing wrapper function \"integrate_stochastic_tidbit\"...\n", "\t\t time_ptr,dv,stop_time_ptr,trajectory = integrate_stochastic_tidbit(seed_ptr,reseed,time_ptr,dv,cv,rmsd_ptr,stop_time_ptr)\n", - "\tWrote C/API module \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930\" to file \"./PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930module.c\"\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/./fortranobject.c' to sources.\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/.' to include_dirs.\n", + "\tWrote C/API module \"CTSN_0_SFI_C02TJ318GTFL_821676_0466515561_16872\" to file \"./CTSN_0_SFI_C02TJ318GTFL_821676_0466515561_16872module.c\"\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/./fortranobject.c' to sources.\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/.' to include_dirs.\n", "build_src: building npy-pkg config files\n", "customize UnixCCompiler\n", "customize UnixCCompiler using build_ext\n", - "building 'PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930' extension\n", + "CCompilerOpt.__init__[786] : hit the memory cache\n", + "CCompilerOpt.generate_dispatch_header[2272] : generate CPU dispatch header: (build/src.macosx-10.9-x86_64-3.8/numpy/distutils/include/npy_cpu_dispatch_config.h)\n", + "building 'CTSN_0_SFI_C02TJ318GTFL_821676_0466515561_16872' extension\n", "compiling C sources\n", - "C compiler: gcc -fno-strict-aliasing -I/Users/bryandaniels/anaconda2/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", "\n", - "compile options: '-I/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks -Ibuild/src.macosx-10.6-x86_64-2.7/. -I/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include -I/Users/bryandaniels/anaconda2/include/python2.7 -c'\n", - "gcc: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930module.c\n", - "In file included from PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930module.c:16:\n", - "In file included from build/src.macosx-10.6-x86_64-2.7/./fortranobject.h:13:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:\n", - "/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: \"Using deprecated NumPy API, disable it by \" \"#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION\" [-W#warnings]\n", - "#warning \"Using deprecated NumPy API, disable it by \" \\\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930module.c:102:12: warning: unused function 'f2py_size' [-Wunused-function]\n", - "static int f2py_size(PyArrayObject* var, ...)\n", - " ^\n", - "2 warnings generated.\n", - "gcc: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:176:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:178:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:179:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:186:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:191:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:206:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:208:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:209:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:212:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:213:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:214:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:215:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:216:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:219:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:220:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:221:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:223:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:224:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:226:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:227:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:228:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:229:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:234:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:266:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:268:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:269:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:276:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:281:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:297:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:299:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:300:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:303:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:304:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:305:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:306:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:307:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:310:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:311:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:312:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:314:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:315:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:317:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:318:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:319:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:320:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:341:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:343:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:344:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:348:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:350:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:351:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:354:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:355:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:356:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:361:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:362:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:363:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:364:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:370:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:372:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:373:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:376:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:378:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:380:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:383:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:384:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:385:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:390:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:391:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:392:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:393:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:399:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:401:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:402:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:406:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:408:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:409:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:412:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:413:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:414:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:420:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:421:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:422:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:428:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:430:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:431:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:434:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:436:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:438:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:441:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:442:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:443:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:448:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:450:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:451:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:457:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:459:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:460:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:464:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:466:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:467:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:470:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:471:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:472:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:478:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:479:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:480:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:486:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:488:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:489:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:492:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:494:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:496:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:499:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:500:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:501:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:506:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:508:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:509:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:515:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:517:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:518:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:521:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:522:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:523:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:524:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:525:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:529:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:530:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:532:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:535:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:536:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:538:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:654:8: warning: unused variable 'beta_0_deriv_wrt_time' [-Wunused-variable]\n", - "double beta_0_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:644:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:637:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:653:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:638:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:646:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:635:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:631:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:652:8: warning: unused variable 'alpha_0_deriv_wrt_time' [-Wunused-variable]\n", - "double alpha_0_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:642:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:636:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:651:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:629:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:643:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:649:8: warning: unused variable 'X_1_deriv_wrt_time' [-Wunused-variable]\n", - "double X_1_deriv_wrt_time = yprime[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:658:8: warning: unused variable 'beta_1_deriv_wrt_time' [-Wunused-variable]\n", - "double beta_1_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:656:8: warning: unused variable 'alpha_1_deriv_wrt_time' [-Wunused-variable]\n", - "double alpha_1_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:639:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:632:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:657:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:648:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:655:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.c:647:8: warning: unused variable 'x_deriv_wrt_time' [-Wunused-variable]\n", - "double x_deriv_wrt_time = yprime[0];\n", - " ^\n", - "156 warnings generated.\n", - "gcc -bundle -undefined dynamic_lookup -L/Users/bryandaniels/anaconda2/lib -arch x86_64 -arch x86_64 build/temp.macosx-10.6-x86_64-2.7/PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.o build/temp.macosx-10.6-x86_64-2.7/PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930module.o build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks/mtrand.o build/temp.macosx-10.6-x86_64-2.7/build/src.macosx-10.6-x86_64-2.7/fortranobject.o -L/Users/bryandaniels/anaconda2/lib -o PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_83_3918287451_12930.so\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "compile options: '-I/Users/bryandaniels/Desktop/SloppyCell/SloppyCell/ReactionNetworks -Ibuild/src.macosx-10.9-x86_64-3.8/. -I/Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/core/include -Ibuild/src.macosx-10.9-x86_64-3.8/numpy/distutils/include -I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3'\n", + "gcc: CTSN_0_SFI_C02TJ318GTFL_821676_0466515561_16872.cgcc: CTSN_0_SFI_C02TJ318GTFL_821676_0466515561_16872module.c\n", + "\n", + "gcc -bundle -undefined dynamic_lookup -L/Users/bryandaniels/anaconda3/lib -arch x86_64 -L/Users/bryandaniels/anaconda3/lib -arch x86_64 build/temp.macosx-10.9-x86_64-3.8/CTSN_0_SFI_C02TJ318GTFL_821676_0466515561_16872.o build/temp.macosx-10.9-x86_64-3.8/CTSN_0_SFI_C02TJ318GTFL_821676_0466515561_16872module.o build/temp.macosx-10.9-x86_64-3.8/Users/bryandaniels/Desktop/SloppyCell/SloppyCell/ReactionNetworks/mtrand.o build/temp.macosx-10.9-x86_64-3.8/build/src.macosx-10.9-x86_64-3.8/fortranobject.o -o CTSN_0_SFI_C02TJ318GTFL_821676_0466515561_16872.cpython-38-darwin.so\n", "running build_ext\n", "running build_src\n", "build_src\n", - "building extension \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930\" sources\n", + "building extension \"CTSN_0_SFI_C02TJ318GTFL_276341_2466515561_16872\" sources\n", "f2py options: []\n", - "f2py: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.pyf\n", + "f2py: CTSN_0_SFI_C02TJ318GTFL_276341_2466515561_16872.pyf\n", "Reading fortran codes...\n", - "\tReading file 'PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.pyf' (format:free)\n", + "\tReading file 'CTSN_0_SFI_C02TJ318GTFL_276341_2466515561_16872.pyf' (format:free)\n", "Post-processing...\n", - "\tBlock: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930\n", + "\tBlock: CTSN_0_SFI_C02TJ318GTFL_276341_2466515561_16872\n", "\t\t\tBlock: res_function\n", "\t\t\tBlock: ddaskr_jac\n", "\t\t\tBlock: root_func\n", @@ -2919,15 +1911,19 @@ "\t\t\tBlock: alg_res_func\n", "\t\t\tBlock: dres_dc_function\n", "\t\t\tBlock: dres_dcdot_function\n", - "\t\t\tBlock: dres_dlog_alpha_0\n", - "\t\t\tBlock: dres_dlog_beta_0\n", - "\t\t\tBlock: dres_dg_0_0\n", - "\t\t\tBlock: dres_dh_0_0\n", - "\t\t\tBlock: dres_dg_0_1\n", - "\t\t\tBlock: dres_dh_0_1\n", - "\t\t\tBlock: dres_dg_1_1\n", - "\t\t\tBlock: dres_dg_1_0\n", - "\t\t\tBlock: dres_dh_1_0\n", + "\t\t\tBlock: dres_dwself_1\n", + "\t\t\tBlock: dres_dtheta_1\n", + "\t\t\tBlock: dres_dlog_tau_1\n", + "\t\t\tBlock: dres_dw_1_0\n", + "\t\t\tBlock: dres_dw_1_2\n", + "\t\t\tBlock: dres_dw_1_3\n", + "\t\t\tBlock: dres_dwself_2\n", + "\t\t\tBlock: dres_dtheta_2\n", + "\t\t\tBlock: dres_dlog_tau_2\n", + "\t\t\tBlock: dres_dw_2_1\n", + "\t\t\tBlock: dres_dw_2_0\n", + "\t\t\tBlock: dres_dX_2_init\n", + "\t\t\tBlock: dres_dX_3_init\n", "\t\t\tBlock: sens_rhs\n", "\t\t\tBlock: res_function_logdv\n", "\t\t\tBlock: root_func_logdv\n", @@ -2935,7 +1931,7 @@ "\t\t\tBlock: integrate_stochastic_tidbit\n", "Post-processing (stage 2)...\n", "Building modules...\n", - "\tBuilding module \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930\"...\n", + "\tBuilding module \"CTSN_0_SFI_C02TJ318GTFL_276341_2466515561_16872\"...\n", "\t\tConstructing wrapper function \"res_function\"...\n", "\t\t residual = res_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"ddaskr_jac\"...\n", @@ -2950,745 +1946,51 @@ "\t\t pd = dres_dc_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"dres_dcdot_function\"...\n", "\t\t pd = dres_dcdot_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_0\"...\n", - "\t\t pd = dres_dlog_alpha_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_0\"...\n", - "\t\t pd = dres_dlog_beta_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_0\"...\n", - "\t\t pd = dres_dg_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_0\"...\n", - "\t\t pd = dres_dh_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_1\"...\n", - "\t\t pd = dres_dg_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_1\"...\n", - "\t\t pd = dres_dh_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_1\"...\n", - "\t\t pd = dres_dg_1_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_0\"...\n", - "\t\t pd = dres_dg_1_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_0\"...\n", - "\t\t pd = dres_dh_1_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"sens_rhs\"...\n", - "\t\t sens_res = sens_rhs(time,sens_y,sens_yp,constants)\n", - "\t\tConstructing wrapper function \"res_function_logdv\"...\n", - "\t\t residual = res_function_logdv(time,log_dv,log_yp,constants)\n", - "\t\tConstructing wrapper function \"root_func_logdv\"...\n", - "\t\t root_devs = root_func_logdv(t,log_dv,log_yp,constants)\n", - "\t\tConstructing wrapper function \"sens_rhs_logdv\"...\n", - "\t\t sens_res = sens_rhs_logdv(time,sens_y_log,sens_yp_log,constants)\n", - "\t\tConstructing wrapper function \"integrate_stochastic_tidbit\"...\n", - "\t\t time_ptr,dv,stop_time_ptr,trajectory = integrate_stochastic_tidbit(seed_ptr,reseed,time_ptr,dv,cv,rmsd_ptr,stop_time_ptr)\n", - "\tWrote C/API module \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930\" to file \"./PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930module.c\"\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/./fortranobject.c' to sources.\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/.' to include_dirs.\n", - "build_src: building npy-pkg config files\n", - "customize UnixCCompiler\n", - "customize UnixCCompiler using build_ext\n", - "building 'PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930' extension\n", - "compiling C sources\n", - "C compiler: gcc -fno-strict-aliasing -I/Users/bryandaniels/anaconda2/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes\n", - "\n", - "compile options: '-I/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks -Ibuild/src.macosx-10.6-x86_64-2.7/. -I/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include -I/Users/bryandaniels/anaconda2/include/python2.7 -c'\n", - "gcc: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930module.c\n", - "In file included from PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930module.c:16:\n", - "In file included from build/src.macosx-10.6-x86_64-2.7/./fortranobject.h:13:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:\n", - "/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: \"Using deprecated NumPy API, disable it by \" \"#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION\" [-W#warnings]\n", - "#warning \"Using deprecated NumPy API, disable it by \" \\\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930module.c:102:12: warning: unused function 'f2py_size' [-Wunused-function]\n", - "static int f2py_size(PyArrayObject* var, ...)\n", - " ^\n", - "2 warnings generated.\n", - "gcc: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:180:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:182:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:183:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:190:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:197:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:212:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:214:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:215:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:218:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:219:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:220:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:221:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:222:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:225:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:226:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:227:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:228:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:229:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:231:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:232:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:234:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:235:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:236:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:237:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:242:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:276:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:278:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:279:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:286:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:293:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:310:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:312:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:313:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:316:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:317:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:318:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:319:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:320:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:323:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:324:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:325:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:326:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:327:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:329:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:330:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:332:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:333:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:334:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:335:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:356:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:358:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:359:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:363:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:365:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:366:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:369:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:370:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:371:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:372:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:373:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:378:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:379:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:380:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:381:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:387:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:389:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:390:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:393:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:395:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:397:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:400:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:401:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:402:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:403:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:404:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:409:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:410:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:411:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:412:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:418:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:420:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:421:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:425:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:427:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:428:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:431:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:432:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:433:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:434:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:435:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:441:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:442:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:443:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:449:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:451:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:452:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:455:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:457:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:459:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:462:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:463:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:464:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:465:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:466:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:471:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:473:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:474:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:480:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:482:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:483:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:487:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:489:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:490:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:493:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:494:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:495:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:496:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:497:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:503:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:504:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:505:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:511:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:513:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:514:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:517:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:519:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:521:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:524:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:525:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:526:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:527:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:528:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:533:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:535:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:536:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:542:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:544:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:545:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:548:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:549:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:550:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:551:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:552:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:556:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:558:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:559:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:564:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:565:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:567:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:573:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:575:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:576:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:579:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:580:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:581:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:582:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:583:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:587:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:589:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:590:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:595:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:596:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:598:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:604:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:606:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:607:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:610:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:611:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:612:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:613:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:614:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:617:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:619:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:621:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:626:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:627:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:628:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:754:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:745:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:753:8: warning: unused variable 'alpha_1_deriv_wrt_time' [-Wunused-variable]\n", - "double alpha_1_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:737:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:730:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:744:8: warning: unused variable 'x_deriv_wrt_time' [-Wunused-variable]\n", - "double x_deriv_wrt_time = yprime[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:752:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:751:8: warning: unused variable 'beta_0_deriv_wrt_time' [-Wunused-variable]\n", - "double beta_0_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:743:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:727:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:741:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:734:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:750:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:749:8: warning: unused variable 'alpha_0_deriv_wrt_time' [-Wunused-variable]\n", - "double alpha_0_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:740:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:724:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:732:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:739:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:748:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:726:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:733:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:731:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:746:8: warning: unused variable 'X_1_deriv_wrt_time' [-Wunused-variable]\n", - "double X_1_deriv_wrt_time = yprime[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:755:8: warning: unused variable 'beta_1_deriv_wrt_time' [-Wunused-variable]\n", - "double beta_1_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.c:738:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "202 warnings generated.\n", - "gcc -bundle -undefined dynamic_lookup -L/Users/bryandaniels/anaconda2/lib -arch x86_64 -arch x86_64 build/temp.macosx-10.6-x86_64-2.7/PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.o build/temp.macosx-10.6-x86_64-2.7/PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930module.o build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks/mtrand.o build/temp.macosx-10.6-x86_64-2.7/build/src.macosx-10.6-x86_64-2.7/fortranobject.o -L/Users/bryandaniels/anaconda2/lib -o PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_86_4918287451_12930.so\n" + "\t\tConstructing wrapper function \"dres_dwself_1\"...\n", + "\t\t pd = dres_dwself_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dtheta_1\"...\n", + "\t\t pd = dres_dtheta_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dlog_tau_1\"...\n", + "\t\t pd = dres_dlog_tau_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_0\"...\n", + "\t\t pd = dres_dw_1_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_2\"...\n", + "\t\t pd = dres_dw_1_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_3\"...\n", + "\t\t pd = dres_dw_1_3(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dwself_2\"...\n", + "\t\t pd = dres_dwself_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dtheta_2\"...\n", + "\t\t pd = dres_dtheta_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dlog_tau_2\"...\n", + "\t\t pd = dres_dlog_tau_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_2_1\"...\n", + "\t\t pd = dres_dw_2_1(time,dynamicVars,yprime,constants)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "running build_ext\n", - "running build_src\n", - "build_src\n", - "building extension \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930\" sources\n", - "f2py options: []\n", - "f2py: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.pyf\n", - "Reading fortran codes...\n", - "\tReading file 'PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.pyf' (format:free)\n", - "Post-processing...\n", - "\tBlock: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930\n", - "\t\t\tBlock: res_function\n", - "\t\t\tBlock: ddaskr_jac\n", - "\t\t\tBlock: root_func\n", - "\t\t\tBlock: alg_deriv_func\n", - "\t\t\tBlock: alg_res_func\n", - "\t\t\tBlock: dres_dc_function\n", - "\t\t\tBlock: dres_dcdot_function\n", - "\t\t\tBlock: dres_dlog_alpha_0\n", - "\t\t\tBlock: dres_dlog_beta_0\n", - "\t\t\tBlock: dres_dg_0_0\n", - "\t\t\tBlock: dres_dh_0_0\n", - "\t\t\tBlock: dres_dg_0_1\n", - "\t\t\tBlock: dres_dh_0_1\n", - "\t\t\tBlock: dres_dlog_beta_1\n", - "\t\t\tBlock: dres_dg_1_1\n", - "\t\t\tBlock: dres_dh_1_1\n", - "\t\t\tBlock: dres_dg_1_0\n", - "\t\t\tBlock: dres_dh_1_0\n", - "\t\t\tBlock: sens_rhs\n", - "\t\t\tBlock: res_function_logdv\n", - "\t\t\tBlock: root_func_logdv\n", - "\t\t\tBlock: sens_rhs_logdv\n", - "\t\t\tBlock: integrate_stochastic_tidbit\n", - "Post-processing (stage 2)...\n", - "Building modules...\n", - "\tBuilding module \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930\"...\n", - "\t\tConstructing wrapper function \"res_function\"...\n", - "\t\t residual = res_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"ddaskr_jac\"...\n", - "\t\t pd = ddaskr_jac(t,y,yprime,cj,rpar)\n", - "\t\tConstructing wrapper function \"root_func\"...\n", - "\t\t root_devs = root_func(t,y,yp,constants)\n", - "\t\tConstructing wrapper function \"alg_deriv_func\"...\n", - "\t\t alg_derivs_res = alg_deriv_func(alg_yp,dynamicVars,yp,time,constants)\n", - "\t\tConstructing wrapper function \"alg_res_func\"...\n", - "\t\t residual = alg_res_func(alg_vals,dynamicVars,time,constants)\n", - "\t\tConstructing wrapper function \"dres_dc_function\"...\n", - "\t\t pd = dres_dc_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dcdot_function\"...\n", - "\t\t pd = dres_dcdot_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_0\"...\n", - "\t\t pd = dres_dlog_alpha_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_0\"...\n", - "\t\t pd = dres_dlog_beta_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_0\"...\n", - "\t\t pd = dres_dg_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_0\"...\n", - "\t\t pd = dres_dh_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_1\"...\n", - "\t\t pd = dres_dg_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_1\"...\n", - "\t\t pd = dres_dh_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_1\"...\n", - "\t\t pd = dres_dlog_beta_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_1\"...\n", - "\t\t pd = dres_dg_1_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_1\"...\n", - "\t\t pd = dres_dh_1_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_0\"...\n", - "\t\t pd = dres_dg_1_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_0\"...\n", - "\t\t pd = dres_dh_1_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_2_0\"...\n", + "\t\t pd = dres_dw_2_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dX_2_init\"...\n", + "\t\t pd = dres_dX_2_init(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dX_3_init\"...\n", + "\t\t pd = dres_dX_3_init(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"sens_rhs\"...\n", "\t\t sens_res = sens_rhs(time,sens_y,sens_yp,constants)\n", "\t\tConstructing wrapper function \"res_function_logdv\"...\n", @@ -3699,742 +2001,33 @@ "\t\t sens_res = sens_rhs_logdv(time,sens_y_log,sens_yp_log,constants)\n", "\t\tConstructing wrapper function \"integrate_stochastic_tidbit\"...\n", "\t\t time_ptr,dv,stop_time_ptr,trajectory = integrate_stochastic_tidbit(seed_ptr,reseed,time_ptr,dv,cv,rmsd_ptr,stop_time_ptr)\n", - "\tWrote C/API module \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930\" to file \"./PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930module.c\"\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/./fortranobject.c' to sources.\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/.' to include_dirs.\n", + "\tWrote C/API module \"CTSN_0_SFI_C02TJ318GTFL_276341_2466515561_16872\" to file \"./CTSN_0_SFI_C02TJ318GTFL_276341_2466515561_16872module.c\"\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/./fortranobject.c' to sources.\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/.' to include_dirs.\n", "build_src: building npy-pkg config files\n", "customize UnixCCompiler\n", "customize UnixCCompiler using build_ext\n", - "building 'PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930' extension\n", + "CCompilerOpt.__init__[786] : hit the memory cache\n", + "CCompilerOpt.generate_dispatch_header[2272] : generate CPU dispatch header: (build/src.macosx-10.9-x86_64-3.8/numpy/distutils/include/npy_cpu_dispatch_config.h)\n", + "building 'CTSN_0_SFI_C02TJ318GTFL_276341_2466515561_16872' extension\n", "compiling C sources\n", - "C compiler: gcc -fno-strict-aliasing -I/Users/bryandaniels/anaconda2/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", "\n", - "compile options: '-I/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks -Ibuild/src.macosx-10.6-x86_64-2.7/. -I/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include -I/Users/bryandaniels/anaconda2/include/python2.7 -c'\n", - "gcc: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930module.c\n", - "In file included from PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930module.c:16:\n", - "In file included from build/src.macosx-10.6-x86_64-2.7/./fortranobject.h:13:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:\n", - "/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: \"Using deprecated NumPy API, disable it by \" \"#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION\" [-W#warnings]\n", - "#warning \"Using deprecated NumPy API, disable it by \" \\\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930module.c:102:12: warning: unused function 'f2py_size' [-Wunused-function]\n", - "static int f2py_size(PyArrayObject* var, ...)\n", - " ^\n", - "2 warnings generated.\n", - "gcc: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:184:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:186:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:187:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:194:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:201:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:216:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:218:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:219:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:222:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:223:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:224:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:225:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:226:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:229:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:230:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:231:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:232:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:233:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:235:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:236:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:238:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:239:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:240:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:241:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:246:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:280:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:282:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:283:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:290:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:297:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:314:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:316:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:317:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:320:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:321:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:322:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:323:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:324:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:327:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:328:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:329:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:330:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:331:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:333:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:334:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:336:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:337:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:338:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:339:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:360:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:362:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:363:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:367:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:369:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:370:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:373:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:374:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:375:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:376:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:377:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:382:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:383:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:384:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:385:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:391:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:393:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:394:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:397:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:399:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:401:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:404:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:405:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:406:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:407:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:408:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:413:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:414:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:415:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:416:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:422:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:424:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:425:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:429:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:431:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:432:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:435:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:436:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:437:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:438:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:439:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:445:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:446:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:447:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:453:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:455:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:456:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:459:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:461:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:463:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:466:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:467:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:468:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:469:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:470:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:475:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:477:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:478:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:484:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:486:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:487:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:491:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:493:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:494:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:497:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:498:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:499:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:500:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:501:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:507:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:508:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:509:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:515:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:517:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:518:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:521:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:523:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:525:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:528:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:529:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:530:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:531:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:532:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:537:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:539:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:540:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:546:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:548:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:549:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:552:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:553:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:554:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:555:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:556:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:559:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:561:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:563:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:568:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:569:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:570:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:571:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:577:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:579:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:580:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:583:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:584:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:585:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:586:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:587:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:591:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:593:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:594:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:599:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:600:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:602:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:608:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:610:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:611:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:614:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:615:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:616:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:617:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:618:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:621:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:623:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:625:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:630:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:631:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:632:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:639:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:641:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:642:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:645:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:646:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:647:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:648:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:649:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:653:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:655:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:656:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:661:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:662:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:664:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:670:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:672:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:673:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:676:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:677:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:678:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:679:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:680:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:683:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:685:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:687:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:692:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:693:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:694:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:820:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:796:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:810:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:803:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:794:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:809:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:821:8: warning: unused variable 'beta_0_deriv_wrt_time' [-Wunused-variable]\n", - "double beta_0_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:802:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:818:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:813:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:797:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:811:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:819:8: warning: unused variable 'alpha_0_deriv_wrt_time' [-Wunused-variable]\n", - "double alpha_0_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:804:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:824:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:807:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[11];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:800:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:814:8: warning: unused variable 'x_deriv_wrt_time' [-Wunused-variable]\n", - "double x_deriv_wrt_time = yprime[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:825:8: warning: unused variable 'beta_1_deriv_wrt_time' [-Wunused-variable]\n", - "double beta_1_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:822:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:801:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:808:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[12];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:816:8: warning: unused variable 'X_1_deriv_wrt_time' [-Wunused-variable]\n", - "double X_1_deriv_wrt_time = yprime[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:823:8: warning: unused variable 'alpha_1_deriv_wrt_time' [-Wunused-variable]\n", - "double alpha_1_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.c:815:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "231 warnings generated.\n", - "gcc -bundle -undefined dynamic_lookup -L/Users/bryandaniels/anaconda2/lib -arch x86_64 -arch x86_64 build/temp.macosx-10.6-x86_64-2.7/PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.o build/temp.macosx-10.6-x86_64-2.7/PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930module.o build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks/mtrand.o build/temp.macosx-10.6-x86_64-2.7/build/src.macosx-10.6-x86_64-2.7/fortranobject.o -L/Users/bryandaniels/anaconda2/lib -o PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_20_6918287451_12930.so\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "compile options: '-I/Users/bryandaniels/Desktop/SloppyCell/SloppyCell/ReactionNetworks -Ibuild/src.macosx-10.9-x86_64-3.8/. -I/Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/core/include -Ibuild/src.macosx-10.9-x86_64-3.8/numpy/distutils/include -I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3'\n", + "gcc: CTSN_0_SFI_C02TJ318GTFL_276341_2466515561_16872.cgcc: CTSN_0_SFI_C02TJ318GTFL_276341_2466515561_16872module.c\n", + "\n", + "gcc -bundle -undefined dynamic_lookup -L/Users/bryandaniels/anaconda3/lib -arch x86_64 -L/Users/bryandaniels/anaconda3/lib -arch x86_64 build/temp.macosx-10.9-x86_64-3.8/CTSN_0_SFI_C02TJ318GTFL_276341_2466515561_16872.o build/temp.macosx-10.9-x86_64-3.8/CTSN_0_SFI_C02TJ318GTFL_276341_2466515561_16872module.o build/temp.macosx-10.9-x86_64-3.8/Users/bryandaniels/Desktop/SloppyCell/SloppyCell/ReactionNetworks/mtrand.o build/temp.macosx-10.9-x86_64-3.8/build/src.macosx-10.9-x86_64-3.8/fortranobject.o -o CTSN_0_SFI_C02TJ318GTFL_276341_2466515561_16872.cpython-38-darwin.so\n", "running build_ext\n", "running build_src\n", "build_src\n", - "building extension \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930\" sources\n", + "building extension \"CTSN_0_SFI_C02TJ318GTFL_1896657_3466515561_16872\" sources\n", "f2py options: []\n", - "f2py: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.pyf\n", + "f2py: CTSN_0_SFI_C02TJ318GTFL_1896657_3466515561_16872.pyf\n", "Reading fortran codes...\n", - "\tReading file 'PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.pyf' (format:free)\n", + "\tReading file 'CTSN_0_SFI_C02TJ318GTFL_1896657_3466515561_16872.pyf' (format:free)\n", "Post-processing...\n", - "\tBlock: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930\n", + "\tBlock: CTSN_0_SFI_C02TJ318GTFL_1896657_3466515561_16872\n", "\t\t\tBlock: res_function\n", "\t\t\tBlock: ddaskr_jac\n", "\t\t\tBlock: root_func\n", @@ -4442,20 +2035,21 @@ "\t\t\tBlock: alg_res_func\n", "\t\t\tBlock: dres_dc_function\n", "\t\t\tBlock: dres_dcdot_function\n", - "\t\t\tBlock: dres_dlog_alpha_0\n", - "\t\t\tBlock: dres_dlog_beta_0\n", - "\t\t\tBlock: dres_dg_0_0\n", - "\t\t\tBlock: dres_dh_0_0\n", - "\t\t\tBlock: dres_dg_0_1\n", - "\t\t\tBlock: dres_dh_0_1\n", - "\t\t\tBlock: dres_dg_0_2\n", - "\t\t\tBlock: dres_dlog_alpha_1\n", - "\t\t\tBlock: dres_dlog_beta_1\n", - "\t\t\tBlock: dres_dg_1_1\n", - "\t\t\tBlock: dres_dh_1_1\n", - "\t\t\tBlock: dres_dg_1_0\n", - "\t\t\tBlock: dres_dh_1_0\n", - "\t\t\tBlock: dres_dg_2_2\n", + "\t\t\tBlock: dres_dwself_1\n", + "\t\t\tBlock: dres_dtheta_1\n", + "\t\t\tBlock: dres_dlog_tau_1\n", + "\t\t\tBlock: dres_dw_1_0\n", + "\t\t\tBlock: dres_dw_1_2\n", + "\t\t\tBlock: dres_dw_1_3\n", + "\t\t\tBlock: dres_dwself_2\n", + "\t\t\tBlock: dres_dtheta_2\n", + "\t\t\tBlock: dres_dlog_tau_2\n", + "\t\t\tBlock: dres_dw_2_1\n", + "\t\t\tBlock: dres_dw_2_0\n", + "\t\t\tBlock: dres_dX_2_init\n", + "\t\t\tBlock: dres_dw_3_1\n", + "\t\t\tBlock: dres_dw_3_0\n", + "\t\t\tBlock: dres_dX_3_init\n", "\t\t\tBlock: sens_rhs\n", "\t\t\tBlock: res_function_logdv\n", "\t\t\tBlock: root_func_logdv\n", @@ -4463,7 +2057,7 @@ "\t\t\tBlock: integrate_stochastic_tidbit\n", "Post-processing (stage 2)...\n", "Building modules...\n", - "\tBuilding module \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930\"...\n", + "\tBuilding module \"CTSN_0_SFI_C02TJ318GTFL_1896657_3466515561_16872\"...\n", "\t\tConstructing wrapper function \"res_function\"...\n", "\t\t residual = res_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"ddaskr_jac\"...\n", @@ -4478,1373 +2072,55 @@ "\t\t pd = dres_dc_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"dres_dcdot_function\"...\n", "\t\t pd = dres_dcdot_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_0\"...\n", - "\t\t pd = dres_dlog_alpha_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_0\"...\n", - "\t\t pd = dres_dlog_beta_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_0\"...\n", - "\t\t pd = dres_dg_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_0\"...\n", - "\t\t pd = dres_dh_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_1\"...\n", - "\t\t pd = dres_dg_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_1\"...\n", - "\t\t pd = dres_dh_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_2\"...\n", - "\t\t pd = dres_dg_0_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_1\"...\n", - "\t\t pd = dres_dlog_alpha_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_1\"...\n", - "\t\t pd = dres_dlog_beta_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_1\"...\n", - "\t\t pd = dres_dg_1_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_1\"...\n", - "\t\t pd = dres_dh_1_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_0\"...\n", - "\t\t pd = dres_dg_1_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_0\"...\n", - "\t\t pd = dres_dh_1_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_2_2\"...\n", - "\t\t pd = dres_dg_2_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"sens_rhs\"...\n", - "\t\t sens_res = sens_rhs(time,sens_y,sens_yp,constants)\n", - "\t\tConstructing wrapper function \"res_function_logdv\"...\n", - "\t\t residual = res_function_logdv(time,log_dv,log_yp,constants)\n", - "\t\tConstructing wrapper function \"root_func_logdv\"...\n", - "\t\t root_devs = root_func_logdv(t,log_dv,log_yp,constants)\n", - "\t\tConstructing wrapper function \"sens_rhs_logdv\"...\n", - "\t\t sens_res = sens_rhs_logdv(time,sens_y_log,sens_yp_log,constants)\n", - "\t\tConstructing wrapper function \"integrate_stochastic_tidbit\"...\n", - "\t\t time_ptr,dv,stop_time_ptr,trajectory = integrate_stochastic_tidbit(seed_ptr,reseed,time_ptr,dv,cv,rmsd_ptr,stop_time_ptr)\n", - "\tWrote C/API module \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930\" to file \"./PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930module.c\"\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/./fortranobject.c' to sources.\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/.' to include_dirs.\n", - "build_src: building npy-pkg config files\n", - "customize UnixCCompiler\n", - "customize UnixCCompiler using build_ext\n", - "building 'PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930' extension\n", - "compiling C sources\n", - "C compiler: gcc -fno-strict-aliasing -I/Users/bryandaniels/anaconda2/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes\n", - "\n", - "compile options: '-I/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks -Ibuild/src.macosx-10.6-x86_64-2.7/. -I/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include -I/Users/bryandaniels/anaconda2/include/python2.7 -c'\n", - "gcc: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:214:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:193:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:209:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:202:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:192:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:190:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:267:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:243:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:236:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:259:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:250:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:260:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:249:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:265:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:256:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:242:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:233:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:257:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:248:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:241:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:266:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:235:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:239:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:263:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:255:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:264:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:240:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:252:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:261:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:245:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:268:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:251:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:244:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:273:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:319:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:317:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:336:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:329:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:341:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:320:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:386:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:395:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:379:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:363:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:365:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:372:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:387:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:380:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:373:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:366:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:397:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:374:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:396:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:381:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:389:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:375:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:382:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:390:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:369:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:391:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:398:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:393:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:370:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:385:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:394:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:371:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:378:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:420:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:442:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:435:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:452:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:427:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:444:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:437:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:423:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:450:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:436:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:443:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:422:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:451:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:429:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:455:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:438:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:431:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:453:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:454:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:432:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:439:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:476:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:483:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:493:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:469:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:461:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:494:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:473:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:495:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:480:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:467:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:496:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:479:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:485:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:491:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:463:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:478:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:464:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:471:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:477:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:484:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:492:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:504:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:511:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:505:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:524:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:533:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:517:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:513:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:514:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:521:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:537:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:536:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:535:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:520:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:525:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:534:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:518:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:509:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:502:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:526:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:519:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:545:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:575:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:560:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:543:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:551:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:567:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:576:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:561:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:577:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:578:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:562:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:549:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:555:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:573:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:558:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:565:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:546:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:553:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:566:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:559:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:587:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:619:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:586:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:593:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:615:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:599:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:606:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:591:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:607:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:617:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:600:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:608:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:616:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:601:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:584:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:618:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:602:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:595:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:603:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:596:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:635:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:643:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:659:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:628:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:649:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:627:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:658:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:637:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:644:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:660:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:655:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:631:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:640:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:647:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:648:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:633:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:625:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:641:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:642:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:657:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:682:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:690:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:699:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:669:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:681:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:677:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:688:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:697:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:684:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:683:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:689:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:698:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:678:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:685:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:673:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:700:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:668:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:675:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:701:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:666:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:710:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:737:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:735:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:726:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:716:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:742:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:707:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:715:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:709:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:741:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:719:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:725:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:740:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:718:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:713:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:731:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:717:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:714:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:730:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:739:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:723:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:729:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:738:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:781:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:772:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:757:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:771:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:780:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:751:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:765:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:758:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:779:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:759:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:760:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:767:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:778:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:754:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:776:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:755:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:783:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:756:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:748:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:782:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:763:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:750:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:770:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:811:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:820:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:805:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:812:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:795:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:796:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:797:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:819:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:789:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:798:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:791:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:801:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:808:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:817:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:824:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:822:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:792:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:799:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:813:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:823:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:807:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:800:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:862:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:864:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:836:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:837:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:841:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:858:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:849:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:865:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:842:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:839:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:861:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:853:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:833:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:840:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:860:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:854:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:847:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:845:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:838:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:830:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:852:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:832:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:902:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:878:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:890:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:883:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:904:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:889:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:877:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:873:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:905:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:880:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:895:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:871:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:879:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:906:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:882:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:887:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:894:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:899:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:874:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:881:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:893:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:901:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:929:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:922:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:915:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:921:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:946:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:914:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:931:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:947:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:927:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:920:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:912:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:940:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:919:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:918:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:942:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:934:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:943:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:924:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:935:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:923:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:944:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:936:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:965:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:980:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:972:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:988:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:971:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:964:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:979:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:960:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:959:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:953:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:968:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:984:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:962:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:955:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:983:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:961:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:956:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:970:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:963:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:977:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:986:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:969:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:985:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:976:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1121:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1108:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1129:8: warning: unused variable 'beta_0_deriv_wrt_time' [-Wunused-variable]\n", - "double beta_0_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1093:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1101:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1120:8: warning: unused variable 'x_deriv_wrt_time' [-Wunused-variable]\n", - "double x_deriv_wrt_time = yprime[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1100:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1128:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1127:8: warning: unused variable 'alpha_0_deriv_wrt_time' [-Wunused-variable]\n", - "double alpha_0_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1096:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1119:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1109:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1126:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1102:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1117:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1095:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1104:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1116:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1124:8: warning: unused variable 'X_2_deriv_wrt_time' [-Wunused-variable]\n", - "double X_2_deriv_wrt_time = yprime[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1133:8: warning: unused variable 'beta_1_deriv_wrt_time' [-Wunused-variable]\n", - "double beta_1_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1111:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1134:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1135:8: warning: unused variable 'alpha_2_deriv_wrt_time' [-Wunused-variable]\n", - "double alpha_2_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1103:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1110:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1123:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1136:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1132:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1099:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1115:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1131:8: warning: unused variable 'alpha_1_deriv_wrt_time' [-Wunused-variable]\n", - "double alpha_1_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1137:8: warning: unused variable 'beta_2_deriv_wrt_time' [-Wunused-variable]\n", - "double beta_2_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1105:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1122:8: warning: unused variable 'X_1_deriv_wrt_time' [-Wunused-variable]\n", - "double X_1_deriv_wrt_time = yprime[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1112:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.c:1130:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "403 warnings generated.\n" + "\t\tConstructing wrapper function \"dres_dwself_1\"...\n", + "\t\t pd = dres_dwself_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dtheta_1\"...\n", + "\t\t pd = dres_dtheta_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dlog_tau_1\"...\n", + "\t\t pd = dres_dlog_tau_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_0\"...\n", + "\t\t pd = dres_dw_1_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_2\"...\n", + "\t\t pd = dres_dw_1_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_3\"...\n", + "\t\t pd = dres_dw_1_3(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dwself_2\"...\n", + "\t\t pd = dres_dwself_2(time,dynamicVars,yprime,constants)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "gcc: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930module.c\n", - "In file included from PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930module.c:16:\n", - "In file included from build/src.macosx-10.6-x86_64-2.7/./fortranobject.h:13:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:\n", - "/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: \"Using deprecated NumPy API, disable it by \" \"#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION\" [-W#warnings]\n", - "#warning \"Using deprecated NumPy API, disable it by \" \\\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930module.c:102:12: warning: unused function 'f2py_size' [-Wunused-function]\n", - "static int f2py_size(PyArrayObject* var, ...)\n", - " ^\n", - "2 warnings generated.\n", - "gcc -bundle -undefined dynamic_lookup -L/Users/bryandaniels/anaconda2/lib -arch x86_64 -arch x86_64 build/temp.macosx-10.6-x86_64-2.7/PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.o build/temp.macosx-10.6-x86_64-2.7/PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930module.o build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks/mtrand.o build/temp.macosx-10.6-x86_64-2.7/build/src.macosx-10.6-x86_64-2.7/fortranobject.o -L/Users/bryandaniels/anaconda2/lib -o PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_44_7918287451_12930.so\n", - "running build_ext\n", - "running build_src\n", - "build_src\n", - "building extension \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930\" sources\n", - "f2py options: []\n", - "f2py: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.pyf\n", - "Reading fortran codes...\n", - "\tReading file 'PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.pyf' (format:free)\n", - "Post-processing...\n", - "\tBlock: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930\n", - "\t\t\tBlock: res_function\n", - "\t\t\tBlock: ddaskr_jac\n", - "\t\t\tBlock: root_func\n", - "\t\t\tBlock: alg_deriv_func\n", - "\t\t\tBlock: alg_res_func\n", - "\t\t\tBlock: dres_dc_function\n", - "\t\t\tBlock: dres_dcdot_function\n", - "\t\t\tBlock: dres_dlog_alpha_0\n", - "\t\t\tBlock: dres_dlog_beta_0\n", - "\t\t\tBlock: dres_dg_0_0\n", - "\t\t\tBlock: dres_dh_0_0\n", - "\t\t\tBlock: dres_dg_0_1\n", - "\t\t\tBlock: dres_dh_0_1\n", - "\t\t\tBlock: dres_dg_0_2\n", - "\t\t\tBlock: dres_dh_0_2\n", - "\t\t\tBlock: dres_dlog_alpha_1\n", - "\t\t\tBlock: dres_dlog_beta_1\n", - "\t\t\tBlock: dres_dg_1_1\n", - "\t\t\tBlock: dres_dh_1_1\n", - "\t\t\tBlock: dres_dg_1_0\n", - "\t\t\tBlock: dres_dh_1_0\n", - "\t\t\tBlock: dres_dg_2_2\n", - "\t\t\tBlock: dres_dg_2_0\n", - "\t\t\tBlock: sens_rhs\n", - "\t\t\tBlock: res_function_logdv\n", - "\t\t\tBlock: root_func_logdv\n", - "\t\t\tBlock: sens_rhs_logdv\n", - "\t\t\tBlock: integrate_stochastic_tidbit\n", - "Post-processing (stage 2)...\n", - "Building modules...\n", - "\tBuilding module \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930\"...\n", - "\t\tConstructing wrapper function \"res_function\"...\n", - "\t\t residual = res_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"ddaskr_jac\"...\n", - "\t\t pd = ddaskr_jac(t,y,yprime,cj,rpar)\n", - "\t\tConstructing wrapper function \"root_func\"...\n", - "\t\t root_devs = root_func(t,y,yp,constants)\n", - "\t\tConstructing wrapper function \"alg_deriv_func\"...\n", - "\t\t alg_derivs_res = alg_deriv_func(alg_yp,dynamicVars,yp,time,constants)\n", - "\t\tConstructing wrapper function \"alg_res_func\"...\n", - "\t\t residual = alg_res_func(alg_vals,dynamicVars,time,constants)\n", - "\t\tConstructing wrapper function \"dres_dc_function\"...\n", - "\t\t pd = dres_dc_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dcdot_function\"...\n", - "\t\t pd = dres_dcdot_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_0\"...\n", - "\t\t pd = dres_dlog_alpha_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_0\"...\n", - "\t\t pd = dres_dlog_beta_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_0\"...\n", - "\t\t pd = dres_dg_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_0\"...\n", - "\t\t pd = dres_dh_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_1\"...\n", - "\t\t pd = dres_dg_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_1\"...\n", - "\t\t pd = dres_dh_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_2\"...\n", - "\t\t pd = dres_dg_0_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_2\"...\n", - "\t\t pd = dres_dh_0_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_1\"...\n", - "\t\t pd = dres_dlog_alpha_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_1\"...\n", - "\t\t pd = dres_dlog_beta_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_1\"...\n", - "\t\t pd = dres_dg_1_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_1\"...\n", - "\t\t pd = dres_dh_1_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_0\"...\n", - "\t\t pd = dres_dg_1_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_0\"...\n", - "\t\t pd = dres_dh_1_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_2_2\"...\n", - "\t\t pd = dres_dg_2_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_2_0\"...\n", - "\t\t pd = dres_dg_2_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dtheta_2\"...\n", + "\t\t pd = dres_dtheta_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dlog_tau_2\"...\n", + "\t\t pd = dres_dlog_tau_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_2_1\"...\n", + "\t\t pd = dres_dw_2_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_2_0\"...\n", + "\t\t pd = dres_dw_2_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dX_2_init\"...\n", + "\t\t pd = dres_dX_2_init(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_3_1\"...\n", + "\t\t pd = dres_dw_3_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_3_0\"...\n", + "\t\t pd = dres_dw_3_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dX_3_init\"...\n", + "\t\t pd = dres_dX_3_init(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"sens_rhs\"...\n", "\t\t sens_res = sens_rhs(time,sens_y,sens_yp,constants)\n", "\t\tConstructing wrapper function \"res_function_logdv\"...\n", @@ -5855,1492 +2131,33 @@ "\t\t sens_res = sens_rhs_logdv(time,sens_y_log,sens_yp_log,constants)\n", "\t\tConstructing wrapper function \"integrate_stochastic_tidbit\"...\n", "\t\t time_ptr,dv,stop_time_ptr,trajectory = integrate_stochastic_tidbit(seed_ptr,reseed,time_ptr,dv,cv,rmsd_ptr,stop_time_ptr)\n", - "\tWrote C/API module \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930\" to file \"./PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930module.c\"\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/./fortranobject.c' to sources.\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/.' to include_dirs.\n", + "\tWrote C/API module \"CTSN_0_SFI_C02TJ318GTFL_1896657_3466515561_16872\" to file \"./CTSN_0_SFI_C02TJ318GTFL_1896657_3466515561_16872module.c\"\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/./fortranobject.c' to sources.\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/.' to include_dirs.\n", "build_src: building npy-pkg config files\n", "customize UnixCCompiler\n", "customize UnixCCompiler using build_ext\n", - "building 'PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930' extension\n", + "CCompilerOpt.__init__[786] : hit the memory cache\n", + "CCompilerOpt.generate_dispatch_header[2272] : generate CPU dispatch header: (build/src.macosx-10.9-x86_64-3.8/numpy/distutils/include/npy_cpu_dispatch_config.h)\n", + "building 'CTSN_0_SFI_C02TJ318GTFL_1896657_3466515561_16872' extension\n", "compiling C sources\n", - "C compiler: gcc -fno-strict-aliasing -I/Users/bryandaniels/anaconda2/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", "\n", - "compile options: '-I/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks -Ibuild/src.macosx-10.6-x86_64-2.7/. -I/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include -I/Users/bryandaniels/anaconda2/include/python2.7 -c'\n", - "gcc: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:206:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:220:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:213:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:194:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:196:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:197:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:248:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:257:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:241:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:265:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:275:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:267:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:249:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:274:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:258:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:242:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:273:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:246:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:263:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:272:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:239:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:264:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:247:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:245:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:261:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:254:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:271:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:251:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:276:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:255:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:269:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:262:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:250:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:256:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:268:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:281:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:330:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:329:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:339:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:346:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:353:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:327:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:393:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:409:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:400:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:399:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:408:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:392:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:379:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:386:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:391:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:398:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:384:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:376:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:406:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:385:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:378:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:413:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:405:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:382:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:404:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:412:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:383:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:411:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:402:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:388:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:395:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:410:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:401:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:387:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:394:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:461:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:470:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:447:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:454:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:452:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:468:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:459:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:435:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:453:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:469:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:460:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:442:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:438:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:451:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:444:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:437:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:467:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:458:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:472:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:446:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:471:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:457:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:450:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:504:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:513:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:497:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:490:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:481:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:488:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:502:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:495:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:512:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:496:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:503:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:480:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:511:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:486:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:493:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:500:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:478:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:494:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:510:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:501:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:484:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:515:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:514:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:544:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:537:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:524:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:530:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:536:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:558:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:543:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:554:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:523:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:539:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:532:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:545:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:538:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:521:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:540:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:547:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:556:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:528:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:546:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:533:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:555:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:557:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:581:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:588:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:564:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:596:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:580:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:574:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:587:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:579:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:586:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:601:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:572:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:600:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:570:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:583:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:590:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:599:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:566:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:598:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:567:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:576:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:582:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:589:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:607:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:609:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:643:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:619:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:629:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:630:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:644:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:614:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:624:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:640:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:623:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:631:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:632:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:622:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:625:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:616:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:626:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:642:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:610:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:641:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:618:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:633:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:666:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:682:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:650:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:658:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:673:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:674:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:660:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:667:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:675:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:668:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:656:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:676:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:669:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:662:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:684:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:685:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:686:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:687:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:653:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:665:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:672:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:652:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:729:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:705:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:704:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:718:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:711:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:700:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:727:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:719:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:728:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:712:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:702:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:709:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:695:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:717:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:726:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:708:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:693:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:730:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:715:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:710:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:696:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:716:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:773:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:754:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:746:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:739:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:738:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:755:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:736:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:771:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:744:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:772:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:761:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:758:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:751:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:742:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:770:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:762:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:748:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:752:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:759:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:768:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:760:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:753:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:816:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:811:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:785:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:801:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:809:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:815:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:788:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:795:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:802:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:789:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:803:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:813:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:790:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:782:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:797:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:804:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:812:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:781:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:791:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:814:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:798:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:805:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:786:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:779:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:787:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:829:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:848:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:837:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:856:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:828:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:847:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:855:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:846:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:824:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:845:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:830:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:822:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:854:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:844:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:852:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:833:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:825:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:834:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:859:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:841:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:831:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:858:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:839:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:832:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:857:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:902:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:873:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:887:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:897:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:874:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:881:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:901:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:888:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:895:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:889:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:900:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:875:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:890:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:883:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:876:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:898:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:891:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:865:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:884:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:877:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:867:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:871:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:868:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:872:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:945:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:938:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:915:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:930:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:923:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:908:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:916:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:940:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:910:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:917:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:918:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:911:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:931:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:933:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:942:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:925:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:941:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:932:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:919:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:944:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:927:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:920:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:914:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:934:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:988:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:957:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:981:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:973:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:970:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:977:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:986:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:959:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:951:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:987:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:958:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:954:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:976:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:969:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:962:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:984:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:953:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:963:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:983:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:974:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:960:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:967:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:975:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:961:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1011:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1018:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1027:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1001:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1000:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1026:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1017:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1020:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1013:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1006:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1019:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1028:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1005:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1031:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1004:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:997:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1003:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1009:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:996:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1024:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1016:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1002:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1030:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:994:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1052:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1045:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1037:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1071:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1039:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1043:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1044:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1063:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1072:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1048:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1056:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1049:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1055:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1074:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1062:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1066:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1054:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1070:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1046:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1053:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1069:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1060:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1040:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1047:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1091:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1115:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1098:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1105:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1092:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1114:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1106:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1099:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1113:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1090:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1083:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1112:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1097:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1095:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1080:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1088:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1103:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1096:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1117:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1082:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1089:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1086:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1109:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1087:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1250:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1243:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1228:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1258:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1235:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1268:8: warning: unused variable 'beta_1_deriv_wrt_time' [-Wunused-variable]\n", - "double beta_1_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1242:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1229:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1269:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1257:8: warning: unused variable 'X_1_deriv_wrt_time' [-Wunused-variable]\n", - "double X_1_deriv_wrt_time = yprime[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1236:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1249:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[21];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1261:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1252:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1245:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1238:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1266:8: warning: unused variable 'alpha_1_deriv_wrt_time' [-Wunused-variable]\n", - "double alpha_1_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1259:8: warning: unused variable 'X_2_deriv_wrt_time' [-Wunused-variable]\n", - "double X_2_deriv_wrt_time = yprime[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1251:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1237:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1267:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1244:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1263:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1254:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1272:8: warning: unused variable 'beta_2_deriv_wrt_time' [-Wunused-variable]\n", - "double beta_2_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1232:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1262:8: warning: unused variable 'alpha_0_deriv_wrt_time' [-Wunused-variable]\n", - "double alpha_0_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1233:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1241:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1248:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[20];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1265:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1234:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1270:8: warning: unused variable 'alpha_2_deriv_wrt_time' [-Wunused-variable]\n", - "double alpha_2_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1256:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1264:8: warning: unused variable 'beta_0_deriv_wrt_time' [-Wunused-variable]\n", - "double beta_0_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1226:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1271:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.c:1255:8: warning: unused variable 'x_deriv_wrt_time' [-Wunused-variable]\n", - "double x_deriv_wrt_time = yprime[0];\n", - " ^\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "481 warnings generated.\n", - "gcc: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930module.c\n", - "In file included from PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930module.c:16:\n", - "In file included from build/src.macosx-10.6-x86_64-2.7/./fortranobject.h:13:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:\n", - "/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: \"Using deprecated NumPy API, disable it by \" \"#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION\" [-W#warnings]\n", - "#warning \"Using deprecated NumPy API, disable it by \" \\\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930module.c:102:12: warning: unused function 'f2py_size' [-Wunused-function]\n", - "static int f2py_size(PyArrayObject* var, ...)\n", - " ^\n", - "2 warnings generated.\n", - "gcc -bundle -undefined dynamic_lookup -L/Users/bryandaniels/anaconda2/lib -arch x86_64 -arch x86_64 build/temp.macosx-10.6-x86_64-2.7/PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.o build/temp.macosx-10.6-x86_64-2.7/PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930module.o build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks/mtrand.o build/temp.macosx-10.6-x86_64-2.7/build/src.macosx-10.6-x86_64-2.7/fortranobject.o -L/Users/bryandaniels/anaconda2/lib -o PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_0_9918287451_12930.so\n", + "compile options: '-I/Users/bryandaniels/Desktop/SloppyCell/SloppyCell/ReactionNetworks -Ibuild/src.macosx-10.9-x86_64-3.8/. -I/Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/core/include -Ibuild/src.macosx-10.9-x86_64-3.8/numpy/distutils/include -I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3'\n", + "gcc: CTSN_0_SFI_C02TJ318GTFL_1896657_3466515561_16872.cgcc: CTSN_0_SFI_C02TJ318GTFL_1896657_3466515561_16872module.c\n", + "\n", + "gcc -bundle -undefined dynamic_lookup -L/Users/bryandaniels/anaconda3/lib -arch x86_64 -L/Users/bryandaniels/anaconda3/lib -arch x86_64 build/temp.macosx-10.9-x86_64-3.8/CTSN_0_SFI_C02TJ318GTFL_1896657_3466515561_16872.o build/temp.macosx-10.9-x86_64-3.8/CTSN_0_SFI_C02TJ318GTFL_1896657_3466515561_16872module.o build/temp.macosx-10.9-x86_64-3.8/Users/bryandaniels/Desktop/SloppyCell/SloppyCell/ReactionNetworks/mtrand.o build/temp.macosx-10.9-x86_64-3.8/build/src.macosx-10.9-x86_64-3.8/fortranobject.o -o CTSN_0_SFI_C02TJ318GTFL_1896657_3466515561_16872.cpython-38-darwin.so\n", "running build_ext\n", "running build_src\n", "build_src\n", - "building extension \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930\" sources\n", + "building extension \"CTSN_0_SFI_C02TJ318GTFL_319793_5466515561_16872\" sources\n", "f2py options: []\n", - "f2py: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.pyf\n", + "f2py: CTSN_0_SFI_C02TJ318GTFL_319793_5466515561_16872.pyf\n", "Reading fortran codes...\n", - "\tReading file 'PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.pyf' (format:free)\n", + "\tReading file 'CTSN_0_SFI_C02TJ318GTFL_319793_5466515561_16872.pyf' (format:free)\n", "Post-processing...\n", - "\tBlock: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930\n", + "\tBlock: CTSN_0_SFI_C02TJ318GTFL_319793_5466515561_16872\n", "\t\t\tBlock: res_function\n", "\t\t\tBlock: ddaskr_jac\n", "\t\t\tBlock: root_func\n", @@ -7348,24 +2165,23 @@ "\t\t\tBlock: alg_res_func\n", "\t\t\tBlock: dres_dc_function\n", "\t\t\tBlock: dres_dcdot_function\n", - "\t\t\tBlock: dres_dlog_alpha_0\n", - "\t\t\tBlock: dres_dlog_beta_0\n", - "\t\t\tBlock: dres_dg_0_0\n", - "\t\t\tBlock: dres_dh_0_0\n", - "\t\t\tBlock: dres_dg_0_1\n", - "\t\t\tBlock: dres_dh_0_1\n", - "\t\t\tBlock: dres_dg_0_2\n", - "\t\t\tBlock: dres_dh_0_2\n", - "\t\t\tBlock: dres_dlog_alpha_1\n", - "\t\t\tBlock: dres_dlog_beta_1\n", - "\t\t\tBlock: dres_dg_1_1\n", - "\t\t\tBlock: dres_dh_1_1\n", - "\t\t\tBlock: dres_dg_1_0\n", - "\t\t\tBlock: dres_dh_1_0\n", - "\t\t\tBlock: dres_dg_1_2\n", - "\t\t\tBlock: dres_dg_2_2\n", - "\t\t\tBlock: dres_dg_2_0\n", - "\t\t\tBlock: dres_dh_2_0\n", + "\t\t\tBlock: dres_dwself_1\n", + "\t\t\tBlock: dres_dtheta_1\n", + "\t\t\tBlock: dres_dlog_tau_1\n", + "\t\t\tBlock: dres_dw_1_0\n", + "\t\t\tBlock: dres_dw_1_2\n", + "\t\t\tBlock: dres_dw_1_3\n", + "\t\t\tBlock: dres_dwself_2\n", + "\t\t\tBlock: dres_dtheta_2\n", + "\t\t\tBlock: dres_dlog_tau_2\n", + "\t\t\tBlock: dres_dw_2_1\n", + "\t\t\tBlock: dres_dw_2_0\n", + "\t\t\tBlock: dres_dw_2_3\n", + "\t\t\tBlock: dres_dX_2_init\n", + "\t\t\tBlock: dres_dw_3_1\n", + "\t\t\tBlock: dres_dw_3_0\n", + "\t\t\tBlock: dres_dw_3_2\n", + "\t\t\tBlock: dres_dX_3_init\n", "\t\t\tBlock: sens_rhs\n", "\t\t\tBlock: res_function_logdv\n", "\t\t\tBlock: root_func_logdv\n", @@ -7373,7 +2189,7 @@ "\t\t\tBlock: integrate_stochastic_tidbit\n", "Post-processing (stage 2)...\n", "Building modules...\n", - "\tBuilding module \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930\"...\n", + "\tBuilding module \"CTSN_0_SFI_C02TJ318GTFL_319793_5466515561_16872\"...\n", "\t\tConstructing wrapper function \"res_function\"...\n", "\t\t residual = res_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"ddaskr_jac\"...\n", @@ -7388,1861 +2204,59 @@ "\t\t pd = dres_dc_function(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"dres_dcdot_function\"...\n", "\t\t pd = dres_dcdot_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_0\"...\n", - "\t\t pd = dres_dlog_alpha_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_0\"...\n", - "\t\t pd = dres_dlog_beta_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_0\"...\n", - "\t\t pd = dres_dg_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_0\"...\n", - "\t\t pd = dres_dh_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_1\"...\n", - "\t\t pd = dres_dg_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_1\"...\n", - "\t\t pd = dres_dh_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_2\"...\n", - "\t\t pd = dres_dg_0_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_2\"...\n", - "\t\t pd = dres_dh_0_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_1\"...\n", - "\t\t pd = dres_dlog_alpha_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_1\"...\n", - "\t\t pd = dres_dlog_beta_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_1\"...\n", - "\t\t pd = dres_dg_1_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_1\"...\n", - "\t\t pd = dres_dh_1_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_0\"...\n", - "\t\t pd = dres_dg_1_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_0\"...\n", - "\t\t pd = dres_dh_1_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_2\"...\n", - "\t\t pd = dres_dg_1_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_2_2\"...\n", - "\t\t pd = dres_dg_2_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_2_0\"...\n", - "\t\t pd = dres_dg_2_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_2_0\"...\n", - "\t\t pd = dres_dh_2_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"sens_rhs\"...\n", - "\t\t sens_res = sens_rhs(time,sens_y,sens_yp,constants)\n", - "\t\tConstructing wrapper function \"res_function_logdv\"...\n", - "\t\t residual = res_function_logdv(time,log_dv,log_yp,constants)\n", - "\t\tConstructing wrapper function \"root_func_logdv\"...\n", - "\t\t root_devs = root_func_logdv(t,log_dv,log_yp,constants)\n", - "\t\tConstructing wrapper function \"sens_rhs_logdv\"...\n", - "\t\t sens_res = sens_rhs_logdv(time,sens_y_log,sens_yp_log,constants)\n", - "\t\tConstructing wrapper function \"integrate_stochastic_tidbit\"...\n", - "\t\t time_ptr,dv,stop_time_ptr,trajectory = integrate_stochastic_tidbit(seed_ptr,reseed,time_ptr,dv,cv,rmsd_ptr,stop_time_ptr)\n", - "\tWrote C/API module \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930\" to file \"./PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930module.c\"\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/./fortranobject.c' to sources.\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/.' to include_dirs.\n", - "build_src: building npy-pkg config files\n", - "customize UnixCCompiler\n", - "customize UnixCCompiler using build_ext\n", - "building 'PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930' extension\n", - "compiling C sources\n", - "C compiler: gcc -fno-strict-aliasing -I/Users/bryandaniels/anaconda2/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes\n", - "\n", - "compile options: '-I/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks -Ibuild/src.macosx-10.6-x86_64-2.7/. -I/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include -I/Users/bryandaniels/anaconda2/include/python2.7 -c'\n", - "gcc: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930module.c\n", - "In file included from PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930module.c:16:\n", - "In file included from build/src.macosx-10.6-x86_64-2.7/./fortranobject.h:13:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:\n", - "/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: \"Using deprecated NumPy API, disable it by \" \"#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION\" [-W#warnings]\n", - "#warning \"Using deprecated NumPy API, disable it by \" \\\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930module.c:102:12: warning: unused function 'f2py_size' [-Wunused-function]\n", - "static int f2py_size(PyArrayObject* var, ...)\n", - " ^\n", - "2 warnings generated.\n", - "gcc: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c\n" + "\t\tConstructing wrapper function \"dres_dwself_1\"...\n", + "\t\t pd = dres_dwself_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dtheta_1\"...\n", + "\t\t pd = dres_dtheta_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dlog_tau_1\"...\n", + "\t\t pd = dres_dlog_tau_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_0\"...\n", + "\t\t pd = dres_dw_1_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_2\"...\n", + "\t\t pd = dres_dw_1_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_1_3\"...\n", + "\t\t pd = dres_dw_1_3(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dwself_2\"...\n", + "\t\t pd = dres_dwself_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dtheta_2\"...\n", + "\t\t pd = dres_dtheta_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dlog_tau_2\"...\n", + "\t\t pd = dres_dlog_tau_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_2_1\"...\n", + "\t\t pd = dres_dw_2_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_2_0\"...\n", + "\t\t pd = dres_dw_2_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_2_3\"...\n", + "\t\t pd = dres_dw_2_3(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dX_2_init\"...\n", + "\t\t pd = dres_dX_2_init(time,dynamicVars,yprime,constants)\n" ] }, { - "name": "stdout", + "name": "stderr", "output_type": "stream", "text": [ - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:198:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:200:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:201:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:210:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:219:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:226:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:256:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:270:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:263:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:280:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:269:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:262:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:245:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:279:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:261:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:277:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:257:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:260:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:251:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:276:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:284:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:252:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:273:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:283:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:275:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:266:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:253:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:272:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:247:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:254:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:265:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:282:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:264:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:255:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:271:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:248:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:281:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:289:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:337:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:349:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:358:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:340:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:365:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:339:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:415:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:408:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:395:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:407:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:424:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:416:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:425:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:409:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:401:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:406:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:426:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:410:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:389:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:397:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:417:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:405:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:419:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:396:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:404:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:399:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:427:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:420:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:392:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:398:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:413:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:391:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:428:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:421:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:414:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:423:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:400:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:485:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:476:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:450:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:468:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:475:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:452:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:462:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:469:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:459:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:484:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:478:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:453:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:470:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:471:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:486:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:477:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:488:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:465:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:487:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:466:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:474:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:467:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:489:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:457:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:461:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:516:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:497:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:523:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:533:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:534:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:503:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:498:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:510:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:507:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:521:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:514:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:501:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:495:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:522:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:515:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:530:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:519:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:513:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:520:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:529:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:531:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:511:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:532:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:512:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:505:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:561:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:540:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:555:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:549:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:542:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:576:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:556:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:543:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:564:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:575:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:557:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:558:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:551:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:565:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:578:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:566:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:552:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:559:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:568:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:577:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:560:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:579:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:547:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:567:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:624:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:619:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:591:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:610:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:603:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:595:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:602:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:609:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:597:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:605:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:611:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:604:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:606:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:613:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:622:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:587:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:612:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:585:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:593:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:621:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:600:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:588:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:601:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:623:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:655:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:641:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:668:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:654:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:669:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:648:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:639:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:646:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:647:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:632:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:665:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:637:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:645:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:666:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:651:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:633:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:658:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:667:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:650:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:657:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:642:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:656:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:630:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:649:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:694:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:687:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:702:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:711:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:693:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:709:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:700:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:695:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:681:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:701:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:690:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:677:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:714:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:683:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:675:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:696:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:703:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:712:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:678:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:685:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:699:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:692:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:713:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:691:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:727:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:744:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:741:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:745:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:759:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:740:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:739:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:758:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:732:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:748:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:723:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:731:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:738:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:757:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:756:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:747:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:737:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:755:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:746:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:729:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:720:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:736:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:735:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:722:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:792:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:801:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:785:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:777:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:791:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:784:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:771:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:783:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:790:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:799:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:781:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:768:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:789:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:804:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:782:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:775:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:803:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:767:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:765:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:802:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:780:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:786:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:773:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:793:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:837:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:846:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:820:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:813:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:830:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:838:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:831:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:821:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:847:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:822:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:848:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:826:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:816:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:817:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:849:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:834:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:828:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:844:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:810:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:818:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:835:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:836:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:845:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:819:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:812:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:855:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:863:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:870:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:893:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:862:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:894:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:858:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:876:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:865:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:892:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:872:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:883:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:857:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:864:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:881:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:867:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:890:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:882:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:891:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:866:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:879:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:880:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:861:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:889:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:874:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:909:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:924:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:939:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:925:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:908:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:918:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:938:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:911:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:903:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:910:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:916:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:902:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:920:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:927:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:921:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:937:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:900:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:928:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:934:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:907:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:912:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:935:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:926:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:906:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:971:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:980:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:972:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:951:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:981:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:957:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:970:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:956:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:979:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:964:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:955:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:948:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:947:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:984:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:954:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:945:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:973:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:969:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:962:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:966:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:960:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:953:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:983:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:952:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1028:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1002:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1027:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1001:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1008:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1000:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:993:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1029:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1006:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:992:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1015:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1025:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:999:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1014:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1016:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:990:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1024:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:998:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:997:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1011:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1017:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1018:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:996:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1010:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1046:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1061:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1060:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1070:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1052:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1062:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1059:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1041:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1045:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1063:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1044:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1035:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1050:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1043:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1056:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1071:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1042:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1074:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1038:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1037:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1069:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1054:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1047:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1073:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1088:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1101:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1118:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1080:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1108:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1117:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1100:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1086:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1087:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1107:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1091:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1098:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1105:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1115:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1106:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1092:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1114:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1082:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1089:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1096:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1083:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1090:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1104:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1119:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1136:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1143:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1150:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1159:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1128:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1144:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1137:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1160:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1164:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1127:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1156:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1145:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1125:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1146:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1162:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1132:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1133:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1140:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1131:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1141:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1134:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1152:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1161:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1135:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1142:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1153:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1170:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1187:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1180:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1207:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1172:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1181:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1188:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1177:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1195:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1204:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1182:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1176:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1189:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1209:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1205:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1197:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1190:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1191:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1198:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1206:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1173:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1178:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1185:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1201:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1186:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1179:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1233:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1249:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1234:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1227:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1241:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1250:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1251:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1235:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1222:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1236:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1252:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1221:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1243:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1224:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1232:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1217:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1246:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1223:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1253:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1215:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1226:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1230:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1239:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1218:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1225:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1231:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1394:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1387:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1412:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1373:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1386:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1393:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1404:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1413:8: warning: unused variable 'alpha_2_deriv_wrt_time' [-Wunused-variable]\n", - "double alpha_2_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1379:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1374:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1409:8: warning: unused variable 'alpha_1_deriv_wrt_time' [-Wunused-variable]\n", - "double alpha_1_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1382:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1410:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1401:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1395:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1388:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1375:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1367:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1411:8: warning: unused variable 'beta_1_deriv_wrt_time' [-Wunused-variable]\n", - "double beta_1_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1402:8: warning: unused variable 'X_2_deriv_wrt_time' [-Wunused-variable]\n", - "double X_2_deriv_wrt_time = yprime[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1369:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1399:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1408:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1407:8: warning: unused variable 'beta_0_deriv_wrt_time' [-Wunused-variable]\n", - "double beta_0_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1383:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1400:8: warning: unused variable 'X_1_deriv_wrt_time' [-Wunused-variable]\n", - "double X_1_deriv_wrt_time = yprime[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1376:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1405:8: warning: unused variable 'alpha_0_deriv_wrt_time' [-Wunused-variable]\n", - "double alpha_0_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1397:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1392:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1370:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1406:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1385:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1377:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1414:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1415:8: warning: unused variable 'beta_2_deriv_wrt_time' [-Wunused-variable]\n", - "double beta_2_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1398:8: warning: unused variable 'x_deriv_wrt_time' [-Wunused-variable]\n", - "double x_deriv_wrt_time = yprime[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1378:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1391:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.c:1384:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "557 warnings generated.\n", - "gcc -bundle -undefined dynamic_lookup -L/Users/bryandaniels/anaconda2/lib -arch x86_64 -arch x86_64 build/temp.macosx-10.6-x86_64-2.7/PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.o build/temp.macosx-10.6-x86_64-2.7/PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930module.o build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks/mtrand.o build/temp.macosx-10.6-x86_64-2.7/build/src.macosx-10.6-x86_64-2.7/fortranobject.o -L/Users/bryandaniels/anaconda2/lib -o PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_26_0028287451_12930.so\n" + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n", + ":1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "running build_ext\n", - "running build_src\n", - "build_src\n", - "building extension \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930\" sources\n", - "f2py options: []\n", - "f2py: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.pyf\n", - "Reading fortran codes...\n", - "\tReading file 'PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.pyf' (format:free)\n", - "Post-processing...\n", - "\tBlock: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930\n", - "\t\t\tBlock: res_function\n", - "\t\t\tBlock: ddaskr_jac\n", - "\t\t\tBlock: root_func\n", - "\t\t\tBlock: alg_deriv_func\n", - "\t\t\tBlock: alg_res_func\n", - "\t\t\tBlock: dres_dc_function\n", - "\t\t\tBlock: dres_dcdot_function\n", - "\t\t\tBlock: dres_dlog_alpha_0\n", - "\t\t\tBlock: dres_dlog_beta_0\n", - "\t\t\tBlock: dres_dg_0_0\n", - "\t\t\tBlock: dres_dh_0_0\n", - "\t\t\tBlock: dres_dg_0_1\n", - "\t\t\tBlock: dres_dh_0_1\n", - "\t\t\tBlock: dres_dg_0_2\n", - "\t\t\tBlock: dres_dh_0_2\n", - "\t\t\tBlock: dres_dlog_alpha_1\n", - "\t\t\tBlock: dres_dlog_beta_1\n", - "\t\t\tBlock: dres_dg_1_1\n", - "\t\t\tBlock: dres_dh_1_1\n", - "\t\t\tBlock: dres_dg_1_0\n", - "\t\t\tBlock: dres_dh_1_0\n", - "\t\t\tBlock: dres_dg_1_2\n", - "\t\t\tBlock: dres_dh_1_2\n", - "\t\t\tBlock: dres_dg_2_2\n", - "\t\t\tBlock: dres_dg_2_0\n", - "\t\t\tBlock: dres_dh_2_0\n", - "\t\t\tBlock: dres_dg_2_1\n", - "\t\t\tBlock: sens_rhs\n", - "\t\t\tBlock: res_function_logdv\n", - "\t\t\tBlock: root_func_logdv\n", - "\t\t\tBlock: sens_rhs_logdv\n", - "\t\t\tBlock: integrate_stochastic_tidbit\n", - "Post-processing (stage 2)...\n", - "Building modules...\n", - "\tBuilding module \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930\"...\n", - "\t\tConstructing wrapper function \"res_function\"...\n", - "\t\t residual = res_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"ddaskr_jac\"...\n", - "\t\t pd = ddaskr_jac(t,y,yprime,cj,rpar)\n", - "\t\tConstructing wrapper function \"root_func\"...\n", - "\t\t root_devs = root_func(t,y,yp,constants)\n", - "\t\tConstructing wrapper function \"alg_deriv_func\"...\n", - "\t\t alg_derivs_res = alg_deriv_func(alg_yp,dynamicVars,yp,time,constants)\n", - "\t\tConstructing wrapper function \"alg_res_func\"...\n", - "\t\t residual = alg_res_func(alg_vals,dynamicVars,time,constants)\n", - "\t\tConstructing wrapper function \"dres_dc_function\"...\n", - "\t\t pd = dres_dc_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dcdot_function\"...\n", - "\t\t pd = dres_dcdot_function(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_0\"...\n", - "\t\t pd = dres_dlog_alpha_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_0\"...\n", - "\t\t pd = dres_dlog_beta_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_0\"...\n", - "\t\t pd = dres_dg_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_0\"...\n", - "\t\t pd = dres_dh_0_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_1\"...\n", - "\t\t pd = dres_dg_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_1\"...\n", - "\t\t pd = dres_dh_0_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_0_2\"...\n", - "\t\t pd = dres_dg_0_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_0_2\"...\n", - "\t\t pd = dres_dh_0_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_alpha_1\"...\n", - "\t\t pd = dres_dlog_alpha_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dlog_beta_1\"...\n", - "\t\t pd = dres_dlog_beta_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_1\"...\n", - "\t\t pd = dres_dg_1_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_1\"...\n", - "\t\t pd = dres_dh_1_1(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_0\"...\n", - "\t\t pd = dres_dg_1_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_0\"...\n", - "\t\t pd = dres_dh_1_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_1_2\"...\n", - "\t\t pd = dres_dg_1_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_1_2\"...\n", - "\t\t pd = dres_dh_1_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_2_2\"...\n", - "\t\t pd = dres_dg_2_2(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_2_0\"...\n", - "\t\t pd = dres_dg_2_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dh_2_0\"...\n", - "\t\t pd = dres_dh_2_0(time,dynamicVars,yprime,constants)\n", - "\t\tConstructing wrapper function \"dres_dg_2_1\"...\n", - "\t\t pd = dres_dg_2_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_3_1\"...\n", + "\t\t pd = dres_dw_3_1(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_3_0\"...\n", + "\t\t pd = dres_dw_3_0(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dw_3_2\"...\n", + "\t\t pd = dres_dw_3_2(time,dynamicVars,yprime,constants)\n", + "\t\tConstructing wrapper function \"dres_dX_3_init\"...\n", + "\t\t pd = dres_dX_3_init(time,dynamicVars,yprime,constants)\n", "\t\tConstructing wrapper function \"sens_rhs\"...\n", "\t\t sens_res = sens_rhs(time,sens_y,sens_yp,constants)\n", "\t\tConstructing wrapper function \"res_function_logdv\"...\n", @@ -9253,1974 +2267,29 @@ "\t\t sens_res = sens_rhs_logdv(time,sens_y_log,sens_yp_log,constants)\n", "\t\tConstructing wrapper function \"integrate_stochastic_tidbit\"...\n", "\t\t time_ptr,dv,stop_time_ptr,trajectory = integrate_stochastic_tidbit(seed_ptr,reseed,time_ptr,dv,cv,rmsd_ptr,stop_time_ptr)\n", - "\tWrote C/API module \"PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930\" to file \"./PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930module.c\"\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/./fortranobject.c' to sources.\n", - " adding 'build/src.macosx-10.6-x86_64-2.7/.' to include_dirs.\n", + "\tWrote C/API module \"CTSN_0_SFI_C02TJ318GTFL_319793_5466515561_16872\" to file \"./CTSN_0_SFI_C02TJ318GTFL_319793_5466515561_16872module.c\"\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/./fortranobject.c' to sources.\n", + " adding 'build/src.macosx-10.9-x86_64-3.8/.' to include_dirs.\n", "build_src: building npy-pkg config files\n", "customize UnixCCompiler\n", "customize UnixCCompiler using build_ext\n", - "building 'PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930' extension\n", + "CCompilerOpt.__init__[786] : hit the memory cache\n", + "CCompilerOpt.generate_dispatch_header[2272] : generate CPU dispatch header: (build/src.macosx-10.9-x86_64-3.8/numpy/distutils/include/npy_cpu_dispatch_config.h)\n", + "building 'CTSN_0_SFI_C02TJ318GTFL_319793_5466515561_16872' extension\n", "compiling C sources\n", - "C compiler: gcc -fno-strict-aliasing -I/Users/bryandaniels/anaconda2/include -arch x86_64 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes\n", + "C compiler: gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/bryandaniels/anaconda3/include -arch x86_64 -I/Users/bryandaniels/anaconda3/include -arch x86_64\n", "\n", - "compile options: '-I/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks -Ibuild/src.macosx-10.6-x86_64-2.7/. -I/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include -I/Users/bryandaniels/anaconda2/include/python2.7 -c'\n", - "gcc: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930module.c\n", - "In file included from PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930module.c:16:\n", - "In file included from build/src.macosx-10.6-x86_64-2.7/./fortranobject.h:13:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:\n", - "In file included from /Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:\n", - "/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: \"Using deprecated NumPy API, disable it by \" \"#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION\" [-W#warnings]\n", - "#warning \"Using deprecated NumPy API, disable it by \" \\\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930module.c:102:12: warning: unused function 'f2py_size' [-Wunused-function]\n", - "static int f2py_size(PyArrayObject* var, ...)\n", - " ^\n", - "2 warnings generated.\n", - "gcc: PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:205:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:214:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:204:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:232:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:223:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:202:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:271:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:287:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:266:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:259:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:272:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:285:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:260:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:278:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:251:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:280:8: warning: unused variable 'h_2_1' [-Wunused-variable]\n", - "double h_2_1 = constants[27];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:257:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:289:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:279:8: warning: unused variable 'g_2_1' [-Wunused-variable]\n", - "double g_2_1 = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:253:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:288:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:258:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:262:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:283:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:269:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:270:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:263:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:281:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:275:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:290:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:254:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:292:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:276:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:267:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:277:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:261:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:291:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:284:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:268:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:297:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:349:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:377:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:350:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:368:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:359:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:347:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:442:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:440:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:414:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:431:8: warning: unused variable 'h_2_1' [-Wunused-variable]\n", - "double h_2_1 = constants[27];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:408:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:432:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:412:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:405:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:422:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:429:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:418:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:438:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:430:8: warning: unused variable 'g_2_1' [-Wunused-variable]\n", - "double g_2_1 = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:413:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:439:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:423:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:417:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:435:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:443:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:421:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:411:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:428:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:436:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:434:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:419:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:441:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:409:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:404:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:426:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:427:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:420:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:410:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:402:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:472:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:465:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:493:8: warning: unused variable 'g_2_1' [-Wunused-variable]\n", - "double g_2_1 = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:486:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:503:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:480:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:494:8: warning: unused variable 'h_2_1' [-Wunused-variable]\n", - "double h_2_1 = constants[27];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:502:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:501:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:468:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:484:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:491:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:467:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:485:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:492:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:483:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:476:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:506:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:505:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:477:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:490:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:481:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:474:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:504:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:482:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:489:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:495:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:533:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:549:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:518:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:550:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:514:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:541:8: warning: unused variable 'h_2_1' [-Wunused-variable]\n", - "double h_2_1 = constants[27];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:548:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:520:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:512:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:536:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:540:8: warning: unused variable 'g_2_1' [-Wunused-variable]\n", - "double g_2_1 = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:552:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:515:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:529:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:530:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:522:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:537:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:553:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:528:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:538:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:531:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:542:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:524:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:527:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:532:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:551:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:539:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:584:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:577:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:570:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:559:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:583:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:585:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:576:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:561:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:600:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:575:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:586:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:574:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:568:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:587:8: warning: unused variable 'g_2_1' [-Wunused-variable]\n", - "double g_2_1 = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:566:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:588:8: warning: unused variable 'h_2_1' [-Wunused-variable]\n", - "double h_2_1 = constants[27];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:580:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:596:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:579:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:589:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:597:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:562:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:571:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:598:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:578:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:599:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:609:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:623:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:631:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:616:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:624:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:630:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:647:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:606:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:614:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:646:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:621:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:608:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:622:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:634:8: warning: unused variable 'g_2_1' [-Wunused-variable]\n", - "double g_2_1 = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:645:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:636:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:633:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:635:8: warning: unused variable 'h_2_1' [-Wunused-variable]\n", - "double h_2_1 = constants[27];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:644:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:627:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:618:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:625:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:626:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:642:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:632:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:612:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:690:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:681:8: warning: unused variable 'g_2_1' [-Wunused-variable]\n", - "double g_2_1 = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:660:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:680:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:653:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:674:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:665:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:672:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:655:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:673:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:694:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:656:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:679:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:677:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:693:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:670:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:664:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:671:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:678:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:668:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:683:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:692:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:662:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:682:8: warning: unused variable 'h_2_1' [-Wunused-variable]\n", - "double h_2_1 = constants[27];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:669:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:691:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:736:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:728:8: warning: unused variable 'g_2_1' [-Wunused-variable]\n", - "double g_2_1 = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:700:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:721:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:715:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:708:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:729:8: warning: unused variable 'h_2_1' [-Wunused-variable]\n", - "double h_2_1 = constants[27];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:719:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:741:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:726:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:706:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:740:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:727:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:720:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:739:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:730:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:725:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:703:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:718:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:702:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:712:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:716:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:738:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:724:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:710:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:717:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:754:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:784:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:762:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:776:8: warning: unused variable 'h_2_1' [-Wunused-variable]\n", - "double h_2_1 = constants[27];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:785:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:763:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:777:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:771:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:764:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:772:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:765:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:758:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:750:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:787:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:773:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:759:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:786:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:766:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:756:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:749:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:774:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:788:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:767:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:747:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:775:8: warning: unused variable 'g_2_1' [-Wunused-variable]\n", - "double g_2_1 = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:768:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:834:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:818:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:811:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:819:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:812:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:796:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:810:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:813:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:794:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:835:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:802:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:809:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:820:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:814:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:821:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:804:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:830:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:822:8: warning: unused variable 'g_2_1' [-Wunused-variable]\n", - "double g_2_1 = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:815:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:797:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:823:8: warning: unused variable 'h_2_1' [-Wunused-variable]\n", - "double h_2_1 = constants[27];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:800:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:833:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:806:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:824:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:832:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:847:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:881:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:861:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:865:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:866:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:882:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:853:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:870:8: warning: unused variable 'h_2_1' [-Wunused-variable]\n", - "double h_2_1 = constants[27];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:849:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:879:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:841:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:862:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:871:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:848:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:880:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:844:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:857:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:869:8: warning: unused variable 'g_2_1' [-Wunused-variable]\n", - "double g_2_1 = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:850:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:878:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:843:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:859:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:852:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:867:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:851:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:868:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:877:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:915:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:900:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:916:8: warning: unused variable 'g_2_1' [-Wunused-variable]\n", - "double g_2_1 = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:929:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:899:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:909:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:917:8: warning: unused variable 'h_2_1' [-Wunused-variable]\n", - "double h_2_1 = constants[27];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:903:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:928:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:898:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:927:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:891:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:897:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:926:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:888:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:918:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:905:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:912:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:890:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:896:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:913:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:895:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:925:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:914:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:907:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:894:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:924:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:963:8: warning: unused variable 'g_2_1' [-Wunused-variable]\n", - "double g_2_1 = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:941:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:956:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:972:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:964:8: warning: unused variable 'h_2_1' [-Wunused-variable]\n", - "double h_2_1 = constants[27];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:951:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:974:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:965:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:945:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:938:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:959:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:944:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:953:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:946:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:937:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:975:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:960:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:961:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:943:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:935:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:947:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:971:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:976:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:962:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:942:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:955:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1022:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:982:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1006:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:990:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:997:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1023:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1012:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:985:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:999:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:992:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:984:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1007:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:991:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:994:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1018:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1009:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:993:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1001:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1008:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1011:8: warning: unused variable 'h_2_1' [-Wunused-variable]\n", - "double h_2_1 = constants[27];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1020:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:989:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1003:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:988:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1019:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1010:8: warning: unused variable 'g_2_1' [-Wunused-variable]\n", - "double g_2_1 = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1069:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1040:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1070:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1041:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1047:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1059:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1054:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1053:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1038:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1068:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1045:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1032:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1039:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1037:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1029:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1056:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1065:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1031:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1055:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1035:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1050:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1058:8: warning: unused variable 'h_2_1' [-Wunused-variable]\n", - "double h_2_1 = constants[27];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1036:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1066:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1049:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1057:8: warning: unused variable 'g_2_1' [-Wunused-variable]\n", - "double g_2_1 = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1100:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1093:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1086:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1087:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1114:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1084:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1079:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1091:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1112:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1106:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1113:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1085:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1105:8: warning: unused variable 'h_2_1' [-Wunused-variable]\n", - "double h_2_1 = constants[27];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1082:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1104:8: warning: unused variable 'g_2_1' [-Wunused-variable]\n", - "double g_2_1 = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1076:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1083:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1097:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1103:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1117:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1078:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1102:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1116:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1101:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1088:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1095:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1149:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1125:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1132:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1123:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1131:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1164:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1163:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1148:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1141:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1130:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1147:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1129:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1162:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1153:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1135:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1152:8: warning: unused variable 'h_2_1' [-Wunused-variable]\n", - "double h_2_1 = constants[27];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1139:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1134:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1151:8: warning: unused variable 'g_2_1' [-Wunused-variable]\n", - "double g_2_1 = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1160:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1143:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1150:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1159:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1133:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1144:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1126:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1182:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1196:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1189:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1176:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1197:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1206:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1210:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1194:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1177:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1195:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1211:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1178:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1185:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1170:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1208:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1172:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1179:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1200:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1187:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1180:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1173:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1207:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1191:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1198:8: warning: unused variable 'g_2_1' [-Wunused-variable]\n", - "double g_2_1 = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1181:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1199:8: warning: unused variable 'h_2_1' [-Wunused-variable]\n", - "double h_2_1 = constants[27];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1223:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1244:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1224:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1237:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1232:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1253:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1238:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1258:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1217:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1225:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1227:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1246:8: warning: unused variable 'h_2_1' [-Wunused-variable]\n", - "double h_2_1 = constants[27];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1234:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1256:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1219:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1233:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1226:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1220:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1236:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1254:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1229:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1247:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1242:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1228:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1255:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1235:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1270:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1289:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1276:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1271:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1283:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1305:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1291:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1284:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1300:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1285:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1267:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1302:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1272:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1293:8: warning: unused variable 'h_2_1' [-Wunused-variable]\n", - "double h_2_1 = constants[27];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1279:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1301:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1294:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1273:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1280:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1274:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1281:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1264:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1303:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1282:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1275:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1266:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1341:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1350:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1317:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1326:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1327:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1349:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1319:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1323:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1328:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1318:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1329:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1335:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1351:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1330:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1313:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1320:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1331:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1311:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1337:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1339:8: warning: unused variable 'g_2_1' [-Wunused-variable]\n", - "double g_2_1 = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1348:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1322:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1347:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1314:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1321:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1332:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1374:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1367:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1360:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1375:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1368:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1399:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1361:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1387:8: warning: unused variable 'h_2_1' [-Wunused-variable]\n", - "double h_2_1 = constants[27];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1396:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1383:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1365:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1366:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1373:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1388:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1379:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1358:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1397:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1370:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1377:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1364:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1395:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1378:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1369:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1394:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1385:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1376:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1523:8: warning: unused variable 'h_0_0' [-Wunused-variable]\n", - "double h_0_0 = constants[5];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1534:8: warning: unused variable 'h_1_0' [-Wunused-variable]\n", - "double h_1_0 = constants[16];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1558:8: warning: unused variable 'beta_0_deriv_wrt_time' [-Wunused-variable]\n", - "double beta_0_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1541:8: warning: unused variable 'h_2_2' [-Wunused-variable]\n", - "double h_2_2 = constants[23];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1549:8: warning: unused variable 'x_deriv_wrt_time' [-Wunused-variable]\n", - "double x_deriv_wrt_time = yprime[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1559:8: warning: unused variable 'alpha_1' [-Wunused-variable]\n", - "double alpha_1 = exp(log_alpha_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1524:8: warning: unused variable 'g_0_1' [-Wunused-variable]\n", - "double g_0_1 = constants[6];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1516:8: warning: unused variable 'time' [-Wunused-variable]\n", - "double time = *time_ptr;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1527:8: warning: unused variable 'h_0_2' [-Wunused-variable]\n", - "double h_0_2 = constants[9];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1548:8: warning: unused variable 'x' [-Wunused-variable]\n", - "double x = dynamicVars[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1536:8: warning: unused variable 'h_1_2' [-Wunused-variable]\n", - "double h_1_2 = constants[18];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1518:8: warning: unused variable 'Comp' [-Wunused-variable]\n", - "double Comp = constants[0];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1556:8: warning: unused variable 'alpha_0_deriv_wrt_time' [-Wunused-variable]\n", - "double alpha_0_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1551:8: warning: unused variable 'X_1_deriv_wrt_time' [-Wunused-variable]\n", - "double X_1_deriv_wrt_time = yprime[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1543:8: warning: unused variable 'h_2_0' [-Wunused-variable]\n", - "double h_2_0 = constants[25];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1565:8: warning: unused variable 'beta_2' [-Wunused-variable]\n", - "double beta_2 = exp(log_beta_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1528:8: warning: unused variable 'x_init' [-Wunused-variable]\n", - "double x_init = constants[10];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1557:8: warning: unused variable 'beta_0' [-Wunused-variable]\n", - "double beta_0 = exp(log_beta_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1535:8: warning: unused variable 'g_1_2' [-Wunused-variable]\n", - "double g_1_2 = constants[17];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1519:8: warning: unused variable 'n' [-Wunused-variable]\n", - "double n = constants[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1550:8: warning: unused variable 'X_1' [-Wunused-variable]\n", - "double X_1 = dynamicVars[1];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1566:8: warning: unused variable 'beta_2_deriv_wrt_time' [-Wunused-variable]\n", - "double beta_2_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1542:8: warning: unused variable 'g_2_0' [-Wunused-variable]\n", - "double g_2_0 = constants[24];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1545:8: warning: unused variable 'h_2_1' [-Wunused-variable]\n", - "double h_2_1 = constants[27];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1553:8: warning: unused variable 'X_2_deriv_wrt_time' [-Wunused-variable]\n", - "double X_2_deriv_wrt_time = yprime[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1562:8: warning: unused variable 'beta_1_deriv_wrt_time' [-Wunused-variable]\n", - "double beta_1_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1531:8: warning: unused variable 'g_1_1' [-Wunused-variable]\n", - "double g_1_1 = constants[13];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1537:8: warning: unused variable 'X_1_init' [-Wunused-variable]\n", - "double X_1_init = constants[19];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1555:8: warning: unused variable 'alpha_0' [-Wunused-variable]\n", - "double alpha_0 = exp(log_alpha_0);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1544:8: warning: unused variable 'g_2_1' [-Wunused-variable]\n", - "double g_2_1 = constants[26];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1563:8: warning: unused variable 'alpha_2' [-Wunused-variable]\n", - "double alpha_2 = exp(log_alpha_2);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1564:8: warning: unused variable 'alpha_2_deriv_wrt_time' [-Wunused-variable]\n", - "double alpha_2_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1540:8: warning: unused variable 'g_2_2' [-Wunused-variable]\n", - "double g_2_2 = constants[22];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1560:8: warning: unused variable 'alpha_1_deriv_wrt_time' [-Wunused-variable]\n", - "double alpha_1_deriv_wrt_time = 0.0;\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1561:8: warning: unused variable 'beta_1' [-Wunused-variable]\n", - "double beta_1 = exp(log_beta_1);\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1533:8: warning: unused variable 'g_1_0' [-Wunused-variable]\n", - "double g_1_0 = constants[15];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1526:8: warning: unused variable 'g_0_2' [-Wunused-variable]\n", - "double g_0_2 = constants[8];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1552:8: warning: unused variable 'X_2' [-Wunused-variable]\n", - "double X_2 = dynamicVars[2];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1546:8: warning: unused variable 'X_2_init' [-Wunused-variable]\n", - "double X_2_init = constants[28];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1522:8: warning: unused variable 'g_0_0' [-Wunused-variable]\n", - "double g_0_0 = constants[4];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1525:8: warning: unused variable 'h_0_1' [-Wunused-variable]\n", - "double h_0_1 = constants[7];\n", - " ^\n", - "PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.c:1532:8: warning: unused variable 'h_1_1' [-Wunused-variable]\n", - "double h_1_1 = constants[14];\n", - " ^\n", - "645 warnings generated.\n", - "gcc -bundle -undefined dynamic_lookup -L/Users/bryandaniels/anaconda2/lib -arch x86_64 -arch x86_64 build/temp.macosx-10.6-x86_64-2.7/PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.o build/temp.macosx-10.6-x86_64-2.7/PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930module.o build/temp.macosx-10.6-x86_64-2.7/Users/bryandaniels/anaconda2/lib/python2.7/site-packages/SloppyCell-1.1.0.dev1-py2.7-macosx-10.7-x86_64.egg/SloppyCell/ReactionNetworks/mtrand.o build/temp.macosx-10.6-x86_64-2.7/build/src.macosx-10.6-x86_64-2.7/fortranobject.o -L/Users/bryandaniels/anaconda2/lib -o PowerLaw_Network_0_sfic02tj318gtfl_mobile_asu_edu_73_2028287451_12930.so\n" + "compile options: '-I/Users/bryandaniels/Desktop/SloppyCell/SloppyCell/ReactionNetworks -Ibuild/src.macosx-10.9-x86_64-3.8/. -I/Users/bryandaniels/anaconda3/lib/python3.8/site-packages/numpy/core/include -Ibuild/src.macosx-10.9-x86_64-3.8/numpy/distutils/include -I/Users/bryandaniels/anaconda3/include/python3.8 -c'\n", + "extra options: '-msse -msse2 -msse3'\n", + "gcc: CTSN_0_SFI_C02TJ318GTFL_319793_5466515561_16872module.cgcc: CTSN_0_SFI_C02TJ318GTFL_319793_5466515561_16872.c\n", + "\n", + "gcc -bundle -undefined dynamic_lookup -L/Users/bryandaniels/anaconda3/lib -arch x86_64 -L/Users/bryandaniels/anaconda3/lib -arch x86_64 build/temp.macosx-10.9-x86_64-3.8/CTSN_0_SFI_C02TJ318GTFL_319793_5466515561_16872.o build/temp.macosx-10.9-x86_64-3.8/CTSN_0_SFI_C02TJ318GTFL_319793_5466515561_16872module.o build/temp.macosx-10.9-x86_64-3.8/Users/bryandaniels/Desktop/SloppyCell/SloppyCell/ReactionNetworks/mtrand.o build/temp.macosx-10.9-x86_64-3.8/build/src.macosx-10.9-x86_64-3.8/fortranobject.o -o CTSN_0_SFI_C02TJ318GTFL_319793_5466515561_16872.cpython-38-darwin.so\n" ] } ], "source": [ "# Load saved version of fittingProblem that has already been fit.\n", - "p = fittingProblem.load('simpleExample_savedFittingProblem.data')" + "p = fittingProblem.load('simpleExample_savedFittingProblem.pkl')" ] }, { @@ -11245,17 +2314,19 @@ "outputs": [ { "data": { - "image/png": "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\njRtte9iw2v9+717b7tjRts+c8f87dLx/e/fa9l//atsrV9p2LBb2aNwze7Ztp6fbdlERv161yrY7\nd7btxYvl/D4d753DmTO23bKlbVdU1Pz3ZWW23a+fbWdmqh2XWzZvtu20tNr/fv162+7Z07aLi/3/\nDp3vX1QoL7ft3FzbPnhQ/e/W9f5NmmTb7713+fdLSjg/vfGG+jG55cQJ227blvNDdUpKbDs11bbn\nzQv+e2Tfu8JC237oIdtu3pzzyKxZUn+dUKZNs+1bbqlce0tLbfuee2z73nv1WY91ffeiRnm5bU+Y\nYNsPP8z36rbbbHv0aNsuKJD3O3W+d7Nn2/Ydd9T+9z/8/+3da2xUZR7H8d8DslLIKrprxKDUgC9q\nULN2MRiaglpx8YJEvGyiloBgvEWNhqaK2QSMFRMJpl4wdjFaoy+sIkpiItYq1gvZhN0Ys2Q3Rgxr\n9AWCG9lliVvXPvviPw1tmWmn7fSc85/5fpLGcs4J/J3fnDlznvNcHoqxsTG5ekaquTnG9evz7+vt\njbGuLsb29rH9G1nMr7s7xunT7Z7p88/tGnj11fbZlXXbt8c4f/7AbT09MdbXF85yLLKYX5/Vq2N8\n5pnC+/fsifHUU+36mkVLl8bY0VF4//33x3jPPaP/+yXtjkW076Qx0vhTSQtCCFNDCFNkcx8Ns4B6\ndp12mj1R2b8///5337UJYrM0WW9/c+ZYK+bhw/n3NzVJ996b3S6ZozVrlj0ZX7gwe63LQ1m2zJ5c\nzZ1rTx5vuMEmdlu0KO3KkjdtmnWj3rs3//7Nm+0pbV1dsnUV6+yzrft3/6EnfXp77bxbty57SzBX\nmokT7ZybOTPtSrLjiivyzwHxyCPWQyur1zvJhtLMnJl/6N2jj9q1wUOvjqoqG8505Ig9SfU0rHzF\nCuu9tnatvY8uvtiGGLe3+7oeY3gTJ0pvvmnv102bLOvubumkk9KuLB21tTZ1Qr45aL7+2uY4bGlJ\nvq5i1dVZfvm8/rp06FC25w4drfp66+G/bJlNIXHZZdIbb/hY2XjxYptHq2/46JEj1jPs5JNtsu9K\nMtx0EWvXWq+/rC7oct550mef5d+3d69dQ5NY9S+xxqMQwqoQwooY478ktUjaJekjWc+kQ0nVUWoh\n2HJ4+Wbi7+mxG8BNm6Tjjku+tmJUVdnElPkmsHznHRub3dSUfF3ILwQbnvbEEzZE4csv7SJWqerr\n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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABI0AAACMCAYAAADx21mCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAA9n0lEQVR4nO3dd3yUVfbH8c9NQkdAWmhSpSOIBAvgjyZFRCyACHYEdBUVKyD2tWBbQLHFVWRXwY6KBUVQ164gTUBELEiToCAK7tLu74+TIQESCJCZZ56Z7/v1el6TKSSHnMzMM+fee67z3iMiIiIiIiIiIpJbStABiIiIiIiIiIhI/FHRSERERERERERE9qCikYiIiIiIiIiI7EFFIxERERERERER2YOKRiIiIiIiIiIisgcVjUREREREREREZA9p0frGzrkU4AmgM7AeuMR7/3Gu+08CHgAccIP3ftLevl/FihV97dq1oxWuRNmPP/6I8hdOyl24KX/hpvyFl3IXbspfeCl34ab8hZvyF16zZ89e572vlNd9USsaAacB5YFaQGPgWaA5gHOuKDAGaA/8Ccxyzr3qvd+U3zerXbs2s2bNimK4Ek0ZGRnKX0gpd+Gm/IWb8hdeuXM3bx6MHg0LF0LTpjBiBLRoEXCAsld67oWXchduyl+4KX/h5Zz7Kb/7ork8rQow0ZtFQCXnnMu+rxWwwHu/wnu/AfgIaBfFWERERERibt48aNMGnn0WNm60yzZt7HYRERGReBe1mUbe+4ciXzvnBgNLvfc++6aawIpcD1+FFZlEREREEsbo0bB5M0yeDH/+CfXqQadOdvvkyUFHJyIiIrJ30VyehnOuFDAWOA7olesuD2zb7fr2PP79EGAIQM2aNaMWp0RHZmYmmZmZAGRlZQUcjewP5S7clL9wU/7CK6/cLVwItWpB+/bQpAmsWWPXFy0KMlLJi5574aXchZvyF27KX+JzOZN/CvkbO1cSW3b2ATDSe//fXPe1BYZ67/tnX58ATPDe/ye/75eRkeG1PjK8tL41vJS7cFP+wk35C69I7vr3tyVp770HN90E3brBDTfAmWdqplE803MvvJS7cFP+wk35Cy/n3GzvfUZe90Wzp9HFwEfe+ytzF4yyfQ60dM5VdM5VBloDn0UxFhEREZGYGzECSpaEjh1t1tENN9j1ESOCjkxERERk36K5PK0V8H/Oua65bhsP4L0f75y7DvgYSAWu9N5viWIsIiIiIjHXogV88on1MJo3D/74A95/X7uniYiISDhEsxH2Wfu4/zXgtWj9fBEREZF40KJFzlK044+HtWuDjUdERESkoKK5PE1EREREcunbF154IegoRERERApGRSMRERGRGOndG6ZOhS1alC8iIiIhoKKRiIiISIxUrw5NmsDbbwcdiYiIiMi+qWgkIiIiEkPnnAP//nfQUYiIiIjsm4pGIiIiIjHUty+88w6sXx90JCIiIiJ7p6KRiIiISAwdeih07aqG2CIiIhL/VDQSERERibFzz4V//SvoKERERET2TkUjERERkRjr1g2WLoVly4KORERERCR/KhqJiIiIxFiRInDmmWqILSIiIvFNRSMRERGRAFxwAUyYANu373q7cw7nXDBBiYiIiOSiopGISJKYNw/694fmze1y3rygIxJJbkceCVWrwrRpuW7ckauCtGTartdFREREYkxFIxGRJDBvHrRpA88+Cxs32mWbNiociQTtoovg0Uezr+zYzqYnz9p535LMO+26CkciIiISEBWNRESSwOjRsHkzvPsuzJ0LM2fa9dGjg45MJLn16weffgrLlwNLp7Ni8aqd9zUbO4OVi1fC0unBBSgiIiJJLepFI+fcKc65PT6WOOeGO+eWOue+yT7qRDsWEZFktXAh1KoF334LV14JHTva9UWLgo5MJLmVLAkDBsA//wmsmc8r8zvtvG/bjiJMmd8Z1iwILkARERFJalErGjkzBsjM5yGNgG7e+0bZxw/RikVEJNk1bQo//QQVK8Krr8I779j1Jk2CjkxELrrIikZbK7Tg1OYzd96elrKV05rPgCpHBBidiIiIJLNozzSaAUzK577DgJVR/vkiIgKMGGEzGs44w5aldetm10eMCDoyEWnaFBo0gJfmd6FG42o7b184rBPVG1eH+l0CjE5ERESSWdSKRt68DuTXZjUdeNM5t8g5d3O04hAREWjRAj75BM48EypUgNq17XqLFkFHJiIAV10F949JoeQFz+y8rcGQUZQa+AykpAYYmWjnSRERSWZBNsKeBpwLtAb+zzl36u4PcM4Ncc7Ncs7NysrKinV8cpAyMzPJyMggIyMD5S9clLtwyy9/LVrA5Mkwaxb8/js0ahRgkJIvPf/C62By17OnPS8/+iRXgahhdxWMYiiv/Gnn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\n", "text/plain": [ - "" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], "source": [ - "pylab.figure(figsize=(20,2))\n", + "plt.figure(figsize=(20,2))\n", "p.plotBestModelResults(plotInitialConditions=True,indices=range(10));" ] }, @@ -11273,17 +2344,19 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], "source": [ - "pylab.figure(figsize=(20,2))\n", + "plt.figure(figsize=(20,2))\n", "m = p.getBestModel()\n", "m.plotResults(sirIsaacData[20:30],indepParamsList[20:30],\n", " plotInitialConditions=True,plotFittingData=True);" @@ -11306,27 +2379,23 @@ "output_type": "stream", "text": [ "[\n", - "('log_alpha_0', 1.448499956554572),\n", - "('log_beta_0', -2.7421668745158065),\n", - "('g_0_0', 0.5733726369364367),\n", - "('h_0_0', 6.113657634917001),\n", - "('g_0_1', -1.6744640338117187),\n", - "('h_0_1', 3.5504480786798562),\n", - "('g_0_2', 0.0007681682989298746),\n", - "('log_alpha_1', 0.28183083904679274),\n", - "('log_beta_1', 1.80143719486644),\n", - "('g_1_1', 3.8636025056956003),\n", - "('h_1_1', 2.709018461565593),\n", - "('g_1_0', 2.1231511392774345),\n", - "('h_1_0', -0.7803639346374973),\n", - "('g_2_2', -0.026182715641127466),\n", + "('wself_1', -0.01905525855311797),\n", + "('theta_1', -0.10042336489771024),\n", + "('log_tau_1', -1.3429818941609932),\n", + "('w_1_0', 3.5028638262853438),\n", + "('w_1_2', -1.1983546770965334),\n", + "('wself_2', -1.377691298915458),\n", + "('log_tau_2', 0.3949860716779374),\n", + "('w_2_1', -1.0013279544798095),\n", + "('w_2_0', -0.5236628896994605),\n", + "('X_2_init', -0.2889053308674365),\n", "]\n" ] } ], "source": [ "m = p.getBestModel()\n", - "print m.getParameters()" + "print(m.getParameters())" ] }, { @@ -11368,20 +2437,24 @@ "outputs": [ { "data": { - "image/png": "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\n2tr4yU9+wosvvsj27ds59dRTOfnkkzl48CD79+9n5syZLFy4kEsuuWTIzmbqTXt7O2vWrGH9+vWc\nffbZXHDBBZx99tlMmTKFiKCtrY0dO3bw8ssvs3HjRhYuXMjVV189LJ5DS0sLjzzyCG+88QaLFi3q\n97Xta99bu3Yt69at49Of/vSArrDoqbOzk1WrVvHqq69y8803D8nvqK1bt/Kd73yHyy67jBUrVhzX\nGYaHroyp1WoNneftWN58803uv/9+zjvvPK655ppeT+Kw2dTHL57Ozk4ef/xxnnvuOZYtW0atVuv3\nna79+/fz+OOP8+qrr3LjjTcOyT+7Pb344os8/PDDzJ49m6VLl3LWWWf1+Qeko6OD559/nn/5l39h\nwYIFXHvttQ2/Zrw/r732Gg8++CBTpkzh6quvfs875iPxoO2QzKS5ufnwZUnjxo1j0qRJnHXWWcPm\nbKzetLa28vzzz/PKK68cnofk5JNP5vbbb3/PP+7Hyu/Qz+7cuXNZtmzZMectyky2bdvGqlWryEw+\n85nPMHXq1Oqe1AnYtm0bDzzwAOPHj2fp0qWcf/75ff4Befvtt3nmmWd45plnWLx4McuXLx/yd8xe\nf/11HnjgAcaMGcNHPvIRFixYcMT4SN73SvTOO++wc+dO3nnnHcaMGcPEiROZOXNmn7/Dj5VfZvLC\nCy+wZs0a2traOP/885k1axaTJk1i7NixtLa28uabb7Jp0yY6OztZvnz5kJ+V0tMvfvELHn/8cd58\n800WLlzIvHnzmDlzJu973/vIzMPNjg0bNvCLX/yCK6+8kkWLFg3JpPVH6+joYN26daxdu5ZzzjmH\nD33oQ+85M7qkfa+lpYXNmzeza9cuWltbGTduHBMnTmTWrFnMnTt3yI8x+tLc3MyPf/xjNmzYQGtr\nK9OmTePkk0/mwIEDtLS0MG3aNC666CIuu+yy4z7zu6T8TkRXVxft7e1kJqeccsqw+b1wLIf+Gd+2\nbRt79+6lo6ODsWPH8vnPf/64jltef/11HnroITKTJUuWcOGFF/b6plFXVxebN29m7dq17N27l49/\n/OPH/U9yI/z85z/noYceYvz48SxatIgLLrig1+PNtrY2XnjhBZ566inOOOMMPvaxjw3pGw3wr03u\nRx99lNNPP50rr7zyPZf2DHTf6+rqoqWl5fDPweTJk4ft76pD2tvbeemll9i0aRM7duygpaXl8D44\n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\n0+gi4reAC3vO2RQR1wE3Zuat9e+/SfcZSw8CmfWCIuJp4NPAY5l5QX3ZTcCizPxiX49Zq9XS6z/L\n5fW7ZTO/cpld2cyvXGZXNvMrm/mVy+zKZn7lioj1mVkbyLoNuYyuH2uBFRExoX6Z3HJgNfCnwFcA\nImIWMBnYDuyMiEvq9/0U8MigVyxJkiRJkqQBaein0fUUEbcAnZl5T0R8FXgK6ADuysyWiPg68A8R\nsYbuT6S7LTM7I+L3gbvrl+StycxHB6tmSZIkSZIkHZ+GNpsy854et+/ucfs+4L6j1t0HfLyXbTwL\nXN64KiVJkiRJklSVobiMTpIkSZIkSSOUzSZJkiRJkiRVxmaTJEmSJEmSKmOzSZIkSZIkSZWx2SRJ\nkiRJkqTK2GySJEmSJElSZWw2SZIkSZIkqTI2myRJkiRJklQZm02SJEmSJEmqjM0mSZIkSZIkVcZm\nkyRJkiRJkipjs0mSJEmSJEmVsdkkSZIkSZKkythskiRJkiRJUmVsNkmSJEmSJKkyNpskSZIkSZJU\nmYY2myLipoi4q5fln42IH0fE+oj4vfqy8RFxf0Q8HRH/LyL+TX35lRHxbEQ8Uf/6RCNrliRJkiRJ\n0okb14iNRsQY4BFgOfBXR41NAb4MXAG8CzwbEf8buA7Yk5k3RcR0YC1wPnAx8OeZeX8japUkSZIk\nSVJ1GnJmU2Z2AdcDd/QyvAR4KjP3Z2Y78ASwFNgC/F19nTZgYkQEcCFwa0SsjoiVETGxETVLkiRJ\nkiTpl9ewy+gy8yDQ1cvQ6cDuHt+3AFMz8/HMfD4iPgisAr6WmQn8DPiTzFwBvAF85egNRsRtEdEU\nEU3Nzc1VPxU12MqVK6nVatRqNcyvPOZXLrMrm/mVy+zKZn5lM79ymV3ZzG/0ie5+ToM2HvFbwIWZ\n+aUey64DbszMW+vffxN4KDO/HxFfBj4D/EFm/rA+PjYzO+u3FwJ/k5nX9PWYtVotm5qaGvac1Fi1\nWg3zK5f5lcvsymZ+5TK7splf2cyvXGZXNvMrV0Ssz8zaQNYdik+jWwusiIgJEXEq3fM6rY6I36R7\nHqcrDjWa6l6MiPPqt68C/KmUJEmSJEkaphoyQXhvIuIWoDMz74mIrwJPAR3AXZnZEhHXA+cCj3RP\n1QSZ+VHgduAfI6IVaAZuHayaJUmSJEmSdHwa2mzKzHt63L67x+37gPuOWvfmPrbxGLCoQSVKkiRJ\nkiSpQkNxGZ0kSZIkSZJGKJtNkiRJkiRJqozNJkmSJEmSJFXGZpMkSZIkSZIqY7NJkiRJkiRJlbHZ\nJEmSJEmSpMrYbJIkSZIkSVJlbDZJkiRJkiSpMjabJEmSJEmSVBmbTZIkSZIkSaqMzSZJkiRJkiRV\nxmaTJEmSJEmSKtNvsykizouIy49adnHjSpIkSZIkSVKpxh1rMCL+GPg00BYRLZn5b+tDfwVc1eji\nJEmSJEmSVJb+zmz6JPDhzPxVYG9E/E59eTS2LEmSJEmSJJWov2bThB7r/BHwhxFxJpANrUqSJEmS\nJElF6q/Z9M9AU0R8PDN3A18EHgfmD2TjEXFTRNzVy/LPRsSPI2J9RPxefdlJEfHtiFgXEWsj4sL6\n8ovry56OiLsjwknNJUmSJEmShqljNm4y878CnwJ+Wv/+AeA64M6ImNfX/SJiTESsAu7tZWwK8GVg\nOfBh4Pb62VI3A7szczHwJeBr9bt8A/jdzFxE9+V7Nx7XM5QkSZIkSdKg6fcsoczcnJmbe3y/JTO/\nBfzPY9ynC7geuKOX4SXAU5m5PzPbgSeApcA1wHfr6zwJXBIRpwJnZeZz9eUP0d2kkiRJkiRJ0jB0\nzE+j68cxJwnPzIMR0dXL0OnA7h7ftwBTey7PzIyIrC/f28u6RxYScRtwG8CcOXN6refP/uzPjlWu\nhsidd97JypUrWblyJQDNzc3vWcfshi/zK5fZlc38yjWQ7MD8hiv3vbKZX7nMrmzmV64777zzhO8b\nmSc213dEPJaZV/Wzzm8BF2bml3osuw64MTNvrX//TbrPWPr3wNcz80cREcBW4HzgJ5l5QX3dm4BF\nmfnFvh6zVqtlU1PTCT0nDb1arYb5lcv8ymV2ZTO/cpld2cyvbOZXLrMrm/mVKyLWZ2ZtIOsOxWTb\na4EVETGhfpnccmA18EP+dT6ma4EnM/MAsDMiLqkv/xTwyGAXLEmSJEmSpIE55mV0ETErM7f3svwi\n+rmMrpf73AJ0ZuY9EfFV4CmgA7grM1si4l7gvohoAlqBz9Xv+vvA3fVL8tZk5qPH87iSJEmSJEka\nPP3N2bQuIr6Qmf/n0IKI+APgj4D/0N/GM/OeHrfv7nH7PuC+o9ZtB36jl208C1ze32NJkiRJkiRp\n6PXXbLoa+FZE3AD8BfC3wLvAFZn5RqOLkyRJkiRJUlmOOWdTZr5C95xKpwMvAE9l5q/baJIkSZIk\nSVJvjtlsiogJwP8A5gG3A5+NiFsHozBJkiRJkiSVp79Po3ue7sm6r8jMlcBS4FMR8WDDK5MkSZIk\nSVJx+puz6Y6en/6WmTuAj0XEFxpbliRJkiRJkkrU35xNj/ax/K8bU44kSZIkSZJK1t9ldJIkSZIk\nSdKA2WySJEmSJElSZWw2SZIkSZIkqTI2myRJkiRJklQZm02SJEmSJEmqjM0mSZIkSZIkVcZmkyRJ\nkiRJkipjs0mSJEmSJEmVsdkkSZIkSZKkythskiRJkiRJUmXGVb3BiDgJ+BZwPtAJ/HZmbuwx/pvA\nfwQCeCAz/0tEfAm4rsdmzgL+HTAJ+BtgX335X2bm/626ZkmSJEmSJFWj8mYTcDOwOzM/FxErgK8B\nvw4QEdOAO4HLgTbg0YioZeZdwF31dT4KfD4zn4+IO4A/z8z7G1CnJEmSJEmSKtaIy+iuAb5bv/0k\ncEmPsfOBjZnZmpldwHpg+aHBiHgf8N/oPvMJ4ELg1ohYHRErI2JiA+qVJEmSJElSRRrRbDod2A2Q\nmQlkRBx6nE3AByJiakScClwFjO9x398BvpOZu+rf/wz4k8xcAbwBfKW3B4yI2yKiKSKampubK39C\naqyVK1dSq9Wo1WqYX3nMr1xmVzbzK5fZlc38ymZ+5TK7spnf6BPd/aAKNxjxT8DXM/NHERHA1syc\n3WP8k8AfAu/SPafTvZn5TxExDngR+HBm7q6vOzYzO+u3FwJ/k5nXHOvxa7VaNjU1VfqcNHhqtRrm\nVy7zK5fZlc38ymV2ZTO/splfucyubOZXrohYn5m1gazbiDObfgjcWL99Ld2X0h0qbBqwODM/AtxA\n9wTgq+rDy4ANhxpNdS9GxHn121cB/kRKkiRJkiQNY42YIPxe4L6IaAJagc9FxC1AZ2beExETIuLp\n+rp/0aO5dDXw+FHbuh34x4hoBZqBWxtQryRJkiRJkipSebMpM9uB3zhq8d09xr/Qx/2+3Muyx4BF\nlRYoSZIkSZKkhmnEZXSSJEmSJEkapWw2SZIkSZIkqTI2myRJkiRJklQZm02SJEmSJEmqjM0mSZIk\nSZIkVcZmkyRJkiRJkipjs0mSJEmSJEmVsdkkSZIkSZKkythskiRJkiRJUmVsNkmSJEmSJKkyNpsk\nSZIkSZJUGZtNkiRJkiRJqozNJkmSJEmSJFXGZpMkSZIkSZIqY7NJkiRJkiRJlbHZJEmSJEmSpMpU\n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\n", + "image/png": "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\n", "text/plain": [ - "" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], "source": [ - "pylab.figure(figsize=(20,6))\n", + "plt.figure(figsize=(20,4))\n", "m = p.getBestModel()\n", - "m.plotResults(p.fittingData[:10],p.indepParamsList[:10],\n", - " plotInitialConditions=True,plotHiddenNodes=True);" + "m.plotResults(p.fittingData[:10],\n", + " p.indepParamsList[:10],\n", + " plotInitialConditions=True,\n", + " plotHiddenNodes=True);" ] }, { @@ -11393,108 +2466,76 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "metadata": {}, "outputs": [ { "data": { + "image/png": "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\n", "text/plain": [ - "" + "
" ] }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\nE6WUJf4/1Kud4M4o3O0AAAAASUVORK5CYII=\n", - "text/plain": [ - "" - ] + "metadata": { + "needs_background": "light" }, - "metadata": {}, "output_type": "display_data" } ], "source": [ - "pylab.figure(figsize=(4,4))\n", - "times = scipy.linspace(0,1,1000)\n", + "plt.figure(figsize=(4,4))\n", + "times = np.linspace(0,1,1000)\n", "xdata = m.evaluateVec(times,'x',p.indepParamsList[0])\n", - "X1data = m.evaluateVec(times,'X_1',p.indepParamsList[0])\n", - "fittingProblem.Plotting.plot(xdata,X1data)\n", - "pylab.xlabel('x')\n", - "pylab.ylabel('X_1')" + "X2data = m.evaluateVec(times,'X_2',p.indepParamsList[0])\n", + "fittingProblem.Plotting.plot(xdata,X2data)\n", + "plt.xlabel('x')\n", + "plt.ylabel('X_2');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We can also look at other models that SirIsaac fit in searching for the best one. In this case, 'Model 6' was selected because it has the largest estimated log-likelihood:" + "We can also look at other models that SirIsaac fit in searching for the best one. In this case, 'Model 4' was selected because it has the largest estimated log-likelihood:" ] }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Model 1 : #species = 1 , #params = 2 , L = -224.07812402405023\n", - "Model 2 : #species = 1 , #params = 4 , L = -139.0931987303462\n", - "Model 3 : #species = 2 , #params = 7 , L = -139.09634792180137\n", - "Model 4 : #species = 2 , #params = 9 , L = -66.80402759455359\n", - "Model 5 : #species = 2 , #params = 11 , L = -60.71246311542691\n", - "Model 6 : #species = 3 , #params = 14 , L = -46.232353901020495\n", - "Model 7 : #species = 3 , #params = 16 , L = -48.75294182446126\n", - "Model 8 : #species = 3 , #params = 18 , L = -55.785711936594325\n", - "Model 9 : #species = 3 , #params = 20 , L = -61.47738413001833\n", + "Model 1: #species = 2, #params = 3, L = -73.12272406756854\n", + "Model 2: #species = 3, #params = 6, L = -71.85157277889262\n", + "Model 3: #species = 3, #params = 8, L = -71.91118730091047\n", + "Model 4: #species = 3, #params = 10, L = -70.64509888028904\n", + "Model 5: #species = 4, #params = 13, L = -74.1526752962969\n", + "Model 6: #species = 4, #params = 15, L = -73.57941722124676\n", + "Model 7: #species = 4, #params = 17, L = -73.69419317634126\n", "\n", - "Selected model: Model 6\n" + "Selected model: Model 4\n" ] } ], "source": [ "for name in p.fittingModelNames:\n", - " if name in p.logLikelihoodDict.keys():\n", - " print name, ': #species =',len(p.fittingModelDict[name].speciesNames),\\\n", - " ', #params =',p.numParametersDict[name],\\\n", - " ', L =', p.logLikelihoodDict[name]\n", - "print\n", - "print 'Selected model:',p.maxLogLikelihoodName()" + " if name in p.logLikelihoodDict.keys():\n", + " print('{}: #species = {}, #params = {}, L = {}'.format(name,\n", + " len(p.fittingModelDict[name].speciesNames),\n", + " p.numParametersDict[name],\n", + " p.logLikelihoodDict[name]))\n", + "print()\n", + "print('Selected model:',p.maxLogLikelihoodName())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "A model with more parameters fits in-sample data better but out-of-sample data worse:" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABIcAAACOCAYAAACrMWhAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmcTfX/B/DXGZRs2UVIiyiSmAqViHaRSlFp1SLtafm2\nau/XN5VKthBCJdmSfRcRso2hJFtjGPs+233//nh3v8aYuffcs94z83o+HvPAzL3nfMznnnM+n/fn\n/fl8DBEBEREREREREREVTgl+F4CIiIiIiIiIiPzD4BARERERERERUSHG4BARERERERERUSHG4BAR\nERERERERUSHG4BARERERERERUSHG4BARERERERERUSHG4BARERERERERUSHG4BARERERERERUSHG\n4BARERERERERUSFW1O8CAEDFihWlVq1afheDLNi4cSNYd8HF+gs21l9wse6CjfUXXKy7YGP9BRvr\nL7hYd8G2dOnSnSJSKdrr4iI4VKtWLSxZssTvYpAFiYmJrLsAY/0FG+svuFh3wcb6Cy7WXbCx/oKN\n9RdcrLtgMwxjk5nXcVoZEREREREREVEhxuAQEREREREREVEhxuAQERERUQCJAEOGAP/843dJiIiI\nKOgYHCIiIiIKoJEjgfvuAwYO9LskREREFHQMDhEREREF0NChQL16QFaW3yUhIiKioGNwiIiIiChg\nQiHg11+Bli11ehkRERGRHQwOEREREQXMunVAhQpA5coMDhEREZF9DA4RERERBczvvwONGwOGweAQ\nERER2cfgEBEREVHArF8P1K7N4BARERE5g8EhIiIii779Fqhfn51z8t6GDcDZZzM4RERERM5gcIiI\niMiiIUOApCTgr7/8LgkVNn/9BZx1FoNDRERE5AwGh4iIiCxatQq45BJgwQK/S0KFDTOHiIiIyEkM\nDhEREVmwbx+wdy/QsSODQ+StrCxgxw6gWjUGh4iIiMgZDA4RERFZsHUrUKMGcNllwMKFfpeGCpO0\nNN3GvkgRBoeIiIjIGQwOERERWbBtG1C1KtCwoa7/sn+/3yWiwiI1FTjtNP07g0NERETkBAaHiIiI\nLAgHh046CWjUCFi0yO8SUWER/uwBDA4RERGRMxgcIiIisiA19VgHvWlTTi0j7zBziIiIiJzG4BAR\nEZEFO3cCFSvq35s1A+bO9bc8VHgwOEREREROY3CIiIjIgj17gHLl9O+tWwNLl+p0HyK3bdvG4BAR\n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\nEREVYgwOEREREREREREVYgwOEREREREREREVYgwOEREREREREREVYgwOEREREREREREVYgwOERER\nEREREREVYv8PtfvjP+frThgAAAAASUVORK5CYII=\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "pylab.figure(figsize=(20,2))\n", - "m2 = p.fittingModelDict['Model 9']\n", - "m2.plotResults(sirIsaacData[:10],indepParamsList[:10],\n", - " plotInitialConditions=True,plotFittingData=True);" + "We can also look at predictions of a model with more parameters:" ] }, { @@ -11504,18 +2545,21 @@ "outputs": [ { "data": { - "image/png": "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\nkpOBBx/kOiKciL9gyJqV1VrDTSf3smoVo6vCGXuVooOsRInQU/NDpWFDbsqGm5qVkXnzOI726mVt\nu1Bo2I0AABlUSURBVL7o0oXfz1tuYZaIGTwertkGDKDuXbFiFnVGKeX4T7169ZTVpKYqVayYUrt2\nhd/WzTcr9ccf4bejlFLXXqvU2rXht+PxKFW1qlJLloTfVjjosJ0/Tp9W6pprlFq+3Jr2PB7a9vvv\nrWnPF0ePKlWgAK8VLmvXKlWlSvjtpMVrv9WrlcqdWylAqfLl+W/u3Hzdbr79VqlSpZRavMSjOg5Z\nrgAoAKpKj4Wq45DlKiXV3B9zzhylihZVatYszR32wyOPKDV0qDVtnTvn+/VA99977ylVt65SZ85Y\n04dgOH5cqUKFlPr3X+va7NhRqd69rWvPLMeO0Y6tWilVsqRSWbMqlSOHUpUrK/X440pNn87nTbBY\nOXZu2sRnS6i8+CK/L+HSt69SN93EsToYjh1TqmZNpT7+OPw+2IXuZ9+GDUqVKKHUhQvWtPf11/wO\nW03v3kq98441bX36qVLdulnTViB02G7xYo634XLvvUqNHh1+O599xmdQuJw9y+/h+vXht6WUUimp\n4T3Xlbpiv44dOVd5912OzUOG8PcOHTxq9sZDavDsrWr2xkNBtR0uy5Zx7TFnTvhtLV7MOcyyZeG3\nFQzJyXyezJ0bXjv+vjN2rht8kZzM++yee5S6eDG8ti5dUqpdO6Xuvz+0eUA4dOig1Jgx1rTVrx/n\nAZmR1narV/MerF2b/3booFSDBs7MOZXifLNIEaW2brWmvfPnlapWTalffrGmPbNMmMD7/qWXlNq3\nz/9x//yjVOPGXMcGOi4tABKUCb+M444hpck5pJRSnTtzQhQOe/YoVbgwBxMreP55pd5+O/x2/vyT\nN6QVTodwsHuQ/+47perVs8Ye33zDtlJSwm8rEEWLKnXwYPjtDBqk1FNPhd9OWnwN9P/5D/91wjHk\n5bfflCpYOFUVvXW7AuI4kYxLVVV6LFSzNx4KeK7Ho9TgwZygzZtnT3998eOPSrVsGX47p05x4nvi\nxNXv+XtQ16mjVJky5h8YOnj/faVat7ZmjJo1i07Ls2fDb8sKrPhMVo6dycl0WJ0/H9r5desq9ddf\n4ffD41Gqa1e2t3evuXN27uSY8/LLzj/PgsGOZ1+zZkqNGxd+O5cuKVWpklKLFoXfVkbGjVPqwQet\n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\nFNrUAAAAAElFTkSuQmCC\n", + "image/png": "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vCvoTCOJkpQUaN8eJk2y4kOTJnDRRbb86Z57tMwgDFJTraHbxx9bHmfMgOrV4dprtSwA7PF8zjlWQPrjj6Cjkb2x//72eNZso/hXqZItfb7llqAjkXhxySUwYoSda3z8cdDRSFDS0qBbN5g502ZjfPSRnasMHAjffx90dMFyzs65hw1Tz9Ewa9vWZrmruXK4nH66NfC/9dagI5HdUdEojpQtC9dcY6OB48bBV1/BoYfaeuvp02HbtqAjlPy0agXPPms75W3dakXAHj1g9uygIwvWsGG2hK9jRxWOwurSS60gql0g49+gQbZcVjNLJOLcc225cJcutiuoJLfWreG557J3xmzeHM46Cz75JNi4gtS8uTWPv+22oCORfXHLLVZ8WL8+6EikoJyzfowPPmi7QEp8UtEoDjln1fLHH7e+OW3awIABNp145EhYuzboCCU/1avbqNXy5baDSdeucOSR8MwzsGlT0NHFnnM2/bRFCxWOwqp4cfjvf225i5bPxrcyZeA//7H3DeVKIjp2tAGoG26wQr4GopKXcw7nHNWqWfPg776zc5RzzoGWLWHiRPjnn6CjjL0RI2yWysKFQUcie6t5c3ss339/0JHInqhY0QpHPXrA338HHY3kRkWjOFe6tDWznDPHRgeXLLGpl6efDlOnqplhvCtZ0maPLVsGV11lM8iqVbPtXZOt54hz9ibevLk1hNfSy/Dp0wd+/92aFkp8698fVqyAV14JOhKJJw0b2vKk6dOtOfK6dUFHJPGgRAm44grrezR0KEyeDFWr2tK1ZNrIomJFK6hefLGKqmF2881w993w009BRyJ74swzbdLEFVcEHYnkRkWjkHAODj/cGpx+/7196L7hBjjkEHtxTLYCRNikpVmhb/p0277811+hUSM44wx4993kmQ3gHIwZAx06wBFH2EwsCY/UVJtBd911algY79LTbZOFq69WrmRHBx9s7zvNmlkR/6OPgo5IYmpbjtHGxVN3uJyaCiefDK+9BrNm2eU2bWzZ1ssvJ8fuYpdeatu2qyl2eNWpY0tyhwwJOhLZU/fdZxtCTZpUsPtHZk1K9KloFAf29AF/wAE2CjJ7to34r1ljBYjOnWHKFHuzk/hVv74VTr77Dtq1g8sus9HfBx5IjmVbztkU8CuusCnE6pETLh062ON19OigI5H8nHACNGgAd9wRdCQSb9LS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\n", "text/plain": [ - "" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], "source": [ - "pylab.figure(figsize=(20,2))\n", - "m2.plotResults(sirIsaacData[30:40],indepParamsList[30:40],\n", + "plt.figure(figsize=(20,2))\n", + "m2 = p.fittingModelDict['Model 7']\n", + "m2.plotResults(sirIsaacData[:10],indepParamsList[:10],\n", " plotInitialConditions=True,plotFittingData=True);" ] }, @@ -11534,10 +2578,9 @@ { "data": { "text/plain": [ - "array([1.11111111e-01, 1.11111111e-01, 1.26611990e-01, 1.46913301e-01,\n", - " 2.67699534e-01, 1.05570785e+00, 1.16739326e+00, 7.83431246e+00,\n", - " 1.76391726e+01, 3.02708880e+01, 1.75268088e+02, 7.55975517e+02,\n", - " 1.89813671e+04, 5.22043947e+04])" + "array([1.11134041e-01, 1.11283180e-01, 1.12277342e-01, 1.16442583e-01,\n", + " 1.92911514e-01, 2.27930617e-01, 7.85855047e-01, 3.46607042e+02,\n", + " 4.13662200e+03, 3.94715198e+05])" ] }, "execution_count": 20, @@ -11547,8 +2590,8 @@ ], "source": [ "hess = p.HessianDict[p.maxLogLikelihoodName()]\n", - "u,singVals,vt = scipy.linalg.svd( hess )\n", - "scipy.sort(singVals)" + "u,singVals,vt = np.linalg.svd( hess )\n", + "np.sort(singVals)" ] }, { @@ -11567,22 +2610,22 @@ "name": "stdout", "output_type": "stream", "text": [ - "Acceptance ratio for initial parameter ensemble = 0.95\n", - "Sum of squared residuals at best-fit (without priors) = 18.848587040639458\n", - "Convergence flags for local fits: [0, 4, 2, 0, 0, 1, 1, 4, 3, 0]\n", - "Number of cost evaluations for local fits: [309, 77, 80, 312, 330, 162, 248, 170, 81, 342]\n", - "Number of gradient evaluations for local fits: [101, 25, 25, 101, 101, 43, 71, 56, 26, 101]\n" + "Acceptance ratio for initial parameter ensemble = 1.0\n", + "Sum of squared residuals at best-fit (without priors) = 100.48242932539453\n", + "Convergence flags for local fits: [1, 0, 0, 1, 1, 0, 0, 0, 0, 1]\n", + "Number of cost evaluations for local fits: [188, 327, 304, 61, 76, 304, 304, 307, 304, 14]\n", + "Number of gradient evaluations for local fits: [58, 101, 101, 16, 21, 101, 101, 101, 101, 1]\n" ] } ], "source": [ "m = p.getBestModel()\n", - "print \"Acceptance ratio for initial parameter ensemble =\",m.acceptanceRatio\n", - "c = sum(scipy.array(m.currentResiduals(p.fittingData,p.indepParamsList,includePriors=False))**2)\n", - "print \"Sum of squared residuals at best-fit (without priors) =\",c\n", - "print \"Convergence flags for local fits:\",m.convFlagList\n", - "print \"Number of cost evaluations for local fits:\",m.numCostCallsList\n", - "print \"Number of gradient evaluations for local fits:\",m.numGradCallsList" + "print(\"Acceptance ratio for initial parameter ensemble = {}\".format(m.acceptanceRatio))\n", + "c = sum(np.array(m.currentResiduals(p.fittingData,p.indepParamsList,includePriors=False))**2)\n", + "print(\"Sum of squared residuals at best-fit (without priors) = {}\".format(c))\n", + "print(\"Convergence flags for local fits: {}\".format(m.convFlagList))\n", + "print(\"Number of cost evaluations for local fits: {}\".format(m.numCostCallsList))\n", + "print(\"Number of gradient evaluations for local fits: {}\".format(m.numGradCallsList))" ] }, { @@ -11599,27 +2642,30 @@ "outputs": [ { "data": { - "image/png": "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\nh0B8PNCs2Uhs2rRJ1ZXoli9fjtq1a2Pq1KlZ3ldwMFChArBo0SfYt+86lizpiAoVgAsXDBA0m+nY\nEbh9uztGjBgBW1tb1XL89ddfqFKlCv744w8AwJAhQLduQJMmqkUya7Nnz4aX1yfYtWsU4uPVTvN2\n2bLzaMuWYJC50aRJUVhbW6sdx2y9LLxcpUoV5MmTB3Z2dnigwnImCQkJSR/fv2+FyZOBpUvlso2p\nURQFbdqI311MjJm+suRAffoAK1eKwdQk4evrCy8vL5PnmDJlCoYNGwYfny5Yvly2o/S0aNECbm6L\n0bz5adjY2KiW44MPPsjSCmt79pSFk9N5HDq0B/llwZxUtWkjaudotVp8+umnaNy4sclrlGk0GjRq\n1AhTp05FXFwcTp4ENm6UhUPTsnjxYixc6I39+4upHSVH6dJFLBt96NCrbbVq1UK+fPkQHh5ukgwx\nMUCHDkD79oCn56vrRUVRzG41KXOhKEDv3sDq1Sl/PvEqvBsNDQ0HqSAqqkaW9+XkBISEAP/9B7i6\nFsaxY7kREiKKp0spffyxqA/18KF4HBsbq8p7PF9fX4SGhiIsLAx+fkBAAGCAfsRs64svvkCxYsVQ\nqpQLDh5Uvy7jW+kzPEntfxkZPpyQIGr5/PTTPT569Ejvr8uJ7twhixYVP7OQkBBVan4cO3aMFStW\n5I4dO0iS3buTP/zw6vNInLYmvalcuU0sWbIcT548abRjyKH7+tPpyMqVyRMnyKCgIAKgra0tQ0JC\nTJrD2/sora3rcP364yY9riW7d48sXFhM9TOlhw8fpjmcP732FxQkhuvXqEHmzk36+ho6YfZz/TpZ\nsqSo4zJ8+HAWL16cf/31l0kz+Pn5EQArV67MZ89iWKsWuW6dSSNYJI2GLFKEvH1byxgjN1Z57ntl\n1SqyefNXj+Pj43n37l2THFujITt2JHv0IDUaLV1dXTlo0KAUteGkt7tzR5zXXrwg7927Rzc3N/bo\n0cPkOQYNIj/44Crj4/UrPaFvzaMKFShrHqXDzU2031OnTrFSpUr89NNPTV4jTKvV0sfHhw8exLNM\nGXL/fpMe3iK9ePGC06aR335r2uMiJ01bE5X3gdq1gQYNxLYhQ0qjaNGi6gYzc2XLAg4OwKlTQPny\n5WGlwnIFS5Yswc2bN3HkyBH8/bdYpnjsWJPHsEilSgXg/v078Pb2VjuKBHGnr39/MWquTp06+Pbb\n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\nSX2KIkYfde0qznMREWJVWTs7WXLE3FWsCOzaJd57HzokRiHlzStuoIwdKwreG+t3KDv/FvdkAAAH\nBElEQVSPpLdSFGDZMuCXX0QNpAIFXq0cdPOmqPHQsKG4uP7tN+NUfZcyL08e8Xs5eFB0JG3cKFZj\nK1ZMvBlq2VLthJIkSebH3R2oV08UBv3kE9FppChiNGf9+qLTaN48MUVYMi/W1sC0aeLGyMaN4s5s\ndLT4XdWsKW6kZGQqviRJUk5hbS3Pa5bo3XfFP1OSnUdSqhQF+N//xJS0oCDRaaQoYjWaGjVE77Rk\n3lxdxT9JkiRJP+++K26cAOJurKLIKWmWpHRpYNgwtVNIkiRJUvYjO4+kdFlbizux9eqpnUSSJEmS\nTEffZYwlSZIkSZKyO3kvTZIkSZIkSZIkSZIkSUqV7DySJEmSJEmSJEmSJEmSUiU7jyRJkiRJkiRJ\nkiRJkqRUKSTVzpAuRVEeAgjR46nFADwychxDsqS8MqtxmHvWugDO6Plcc/9ekpNZjcOSsgLmn1ff\n9mfu30dyMqvxWFJec88q2566LCkrYFl5zT2rbHvqs6S8MqvhVCBZPL0nWUTnkb4URQkkWV/tHPqy\npLwyq3FYUtb0WNL3IrMahyVlBSwvb2os6fuQWY3HkvJaUta0WNL3IbMajyXltaSsabGk78OSsgKW\nlVdmNT05bU2SJEmSJEmSJEmSJElKlew8kiRJkiRJkiRJkiRJklKV3TqPflE7QAZZUl6Z1TgsKWt6\nLOl7kVmNw5KyApaXNzWW9H3IrMZjSXktKWtaLOn7kFmNx5LyWlLWtFjS92FJWQHLyiuzmli2qnkk\nSZIkSZIkSZIkSZIkGVZ2G3kkSZIkSZIkSZIkSZIkGZBFdh4pimKjKIqPoignFEU5pihK9dc+311R\nlCBFUU4rijJQrZyJWdLL+rWiKP8pinJEUZQFauVMzJJm1mTP81QUZaOp872WIb2faz1FUU4pihKg\nKMpytXImy5Ne3raJ248rijJbrZzpkW3POCyp7SXmsJj2J9ue6VlS20vMYzHtT7Y905Ntz3hk2zMO\n2fbUYUntT7Y948gubS9NJC3uH4C+ABYkftwUwI5kn7MHcAlAAQC2AM4DKGWmWe0A3ABgn/j4TwCf\nmGPWZM8pCyAEwEZz/RtI3HYeQIPEj7cCaGbmea8DKAxAAXAIQF0182bm+5Btz3h/H4nbzaLt6ZPX\nnNqfbHtml9Ws2p4+fyOJ282i/cm2Z17fh2x7xv0bSdwu257hs8q2Z/q8ZtX+ZNtTLatFtL20/lnk\nyCMAnwDYnPjxYQDOyT73HoAAklEk4wEcANDEtPFSSCtrbgCTSEYmPn4O8QellrSyvrQAwByTJUpd\nqlkVRakAQEPyVOKmbwCcM228N6T3syXECdAGQD4AL0wXLUNk2zMOS2p7gGW1P9n2TM+S2h5gWe1P\ntj3Tk23PeGTbMw7Z9tRhSe1Ptj3jyC5tL1WW2nlUFEAEAFB041FRFKvXP5coEkAh08ZLIdWsJJ+Q\nXKMoSr7EoWuOAPzUi5rmzxWKonSF6OU/r068FNLKWhrAc0VR1iiKchDAOABR6sRMkubPFqIC/1kA\nlwE8g7g7YY5k2zMOS2p7gGW1P9n2TM+S2h5gWe1Ptj3Tk23PeGTbMw7Z9tRhSe1Ptj3jyC5tL1WW\n2nn0GGK4IhRFUSB+P7rXP5eoCICHpo2XQlpZoSjKewACIf7QPyQZq0pKIdWsiqIUATAYwBT14qWQ\n1s81CkAlAMNIukL8nfdXJeUraf1sKwLoBaA8gMoQQxr7qZQzPbLtGYcltT3AstqfbHumZ0ltD7Cs\n9ifbnunJtmc8su0Zh2x76rCk9ifbnnFkl7aXKkvtPNoLwC3x45YQw8JeOgagaWLPrh2ADyHmFKol\n1ayKouQHsA6AG8kpJONUyJdcWj/XegDyA/gbgBeA5oqiTDVtvBTSynoNQCheDQV8AkBjumhvlVZe\nGwAxAF4kvsCEQcyFNUey7RmHJbU9wLLan2x7pmdJbQ+wrPYn257pybZnPLLtGYdse+qwpPYn255x\nZJe2lypFjKiyLIqi2AJYC6AKxB/LlwBaANCSXK0oylcAhkP88fxE0sccswK4DeB3pBwSOJPk36bO\nCaT/c032vGYABpDspkLMlxnS+xtoCWAsxM85BIAHSdVeTPTIOxzixSYewF0AfczgxPIG2faMw5La\nXmIOi2l/su2ZV1aYWdsDLKv9ybZnerLtGY9se6pllW3PCCyp/cm2p1pWi2h7abHIziNJkiRJkiRJ\nkiRJkiTJNCx12pokSZIkSZIkSZIkSZJkArLzSJIkSZIkSZIkSZIkSUqV7DySJEmSJEmSJEmSJEmS\nUiU7jyRJkiRJkiRJkiRJkqRUyc4jSZIkSZIkSZIkSZIkKVWy80iSJEmSJEmSJEmSJElKlew8kiRJ\nkiRJkiRJkiRJklIlO48kSZIkSZIkSZIkSZKkVP0feqpGdaK5X8sAAAAASUVORK5CYII=\n", + "image/png": "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\n", "text/plain": [ - "" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], "source": [ - "pylab.figure(figsize=(20,2))\n", - "indicesToPlot = range(5)\n", + "plt.figure(figsize=(20,2))\n", + "indicesToPlot = range(10)\n", "axArray = p.plotBestModelResults(plotInitialConditions=True,indices=indicesToPlot)\n", "\n", - "# compare to model that generated the data\n", - "f = lambda x0,t: 1.5 + 0.5*scipy.sin(4.*scipy.pi*t + scipy.arcsin(2.*x0 - 3.))\n", - "for i,indepParams in enumerate(scipy.array(indepParamsList)[indicesToPlot]):\n", - " times = scipy.linspace(0,1,100)\n", - " x0 = indepParams[0]\n", + "# compare to model that generated the data (see simpleExample_makeData.py)\n", + "f = lambda x0,tau,t: x0 * np.exp(-times/tau)\n", + "\n", + "for i,indepParams in enumerate(np.array(indepParamsList)[indicesToPlot]):\n", + " times = np.linspace(0,1,100)\n", + " x0,tau = indepParams\n", " fittingProblem.Plotting.sca(axArray[0][i])\n", - " fittingProblem.Plotting.plot(times,f(x0,times),'k:')" + " fittingProblem.Plotting.plot(times,f(x0,tau,times),'k:')" ] }, { @@ -11632,21 +2678,21 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 2", + "display_name": "Python 3 (ipykernel)", "language": "python", - "name": "python2" + "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", - "version": 2 + "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.15" + "pygments_lexer": "ipython3", + "version": "3.8.11" } }, "nbformat": 4, diff --git a/simpleExample.py b/simpleExample.py index 23c1b07..ce44629 100644 --- a/simpleExample.py +++ b/simpleExample.py @@ -1,10 +1,10 @@ - +#!/usr/bin/env python # coding: utf-8 # *Note: This file is provided in two formats: -# Python (simpleExample.py) and a Jupyter iPython +# Python (simpleExample.py) and a Jupyter # notebook (simpleExample.ipynb). The -# iPython notebook opens in a web browser and +# Jupyter notebook opens in a web browser and # includes plots in an interactive format. To # open the .ipynb file, run:* # @@ -12,39 +12,42 @@ # # *To run the .py file in iPython at the command line, run:* # -# ipython --pylab +# ipython # %run simpleExample.py -# show() +# plt.show() # simpleExample.ipynb # ------------------- # # - Bryan Daniels # -# - 1.29.2014 -# - updated 1.18.2019 +# - Last updated 2022/6/13 # -# - Uses a simple 1D harmonic oscillator example to demonstrate usage of SirIsaac. +# - Uses a simple exponential decay example to demonstrate usage of SirIsaac # In[1]: -import scipy, pylab + +import numpy as np +from matplotlib import pyplot as plt from SirIsaac import fittingProblem # Load example data # ----------------- -# In the example data file, we have four columns, each with 100 data points, listing: +# In the example data file, we have five columns, each with 100 data points, listing: # # * Initial condition *x_init* +# * Input condition *tau* # * Measurement time *t* # * Measurement value *x* # * Measurement uncertainty (standard deviation) # In[2]: -data = scipy.loadtxt('simpleExample_data.txt') + +data = np.loadtxt('simpleExample_data.csv',delimiter=',') # We now put this in a format compatible with SirIsaac. First we make a list of input values (in this case initial conditions): @@ -53,11 +56,13 @@ # In[3]: -indepParamsList = [ [ expt[0] ] for expt in data ] + +indepParamsList = [ [ expt[0],expt[1] ] for expt in data ] # In[4]: + indepParamsList[:3] @@ -65,6 +70,7 @@ # In[5]: + # [ {'var1': { time0: ( value, uncertainty ) }, # 'var2': { time0: ( value, uncertainty ) }, # ... }, @@ -76,43 +82,49 @@ # In[6]: + sirIsaacData = [] for expt in data: - sirIsaacData.append( { 'x': { expt[1]: ( expt[2], expt[3] ) } } ) + sirIsaacData.append( { 'x': { expt[2]: ( expt[3], expt[4] ) } } ) # In[7]: + sirIsaacData[:3] # Finally, SirIsaac will need to know what to call the input and output values. In this case, the input corresponds to the initial value of *x*. The way to indicate this to SirIsaac is by using the name 'x_init', where 'x' is the name of the corresponding variable. # -# Here we have one input and one output: +# Here we have two inputs and one output: # In[8]: + outputNames = ['x'] -indepParamNames = ['x_init'] +indepParamNames = ['x_init','tau'] # Create SirIsaac FittingProblem # ------------------------------ -# We'll attempt to fit a model in the power law class. To do this, we'll create an instance of a PowerLawFittingProblem. Here we set up its arguments and create it: +# We'll attempt to fit a model in the "continuous time sigmoidal network" (CTSN) class. To do this, we'll create an instance of a CTSNFittingProblem. Here we set up its arguments and create it: # In[9]: + # complexityList lists which models in the model class may be tested. # (Note that by default SirIsaac will still stop once 3 models have # smaller estimated log-likelihood.) complexityStepsize = 2 # increase complexity with steps of size 2 complexityMax = 25 # don't try models with complexity > 25 -complexityList = list(range(0,complexityMax,complexityStepsize)) +complexityList = range(0,complexityMax,complexityStepsize) # ensGen controls the generation of the initial ensemble of # parameter starting points. -totalSteps = 1e3 +# (We use a small number for totalSteps here so that the example +# runs faster; a more typical value for totalSteps is 1e3) +totalSteps = 20 #1e3 keepSteps = 10 seeds = (1,1) # use a fixed random seed ensTemperature = 100. @@ -126,13 +138,13 @@ # priorSigma controls the width of priors on all parameters priorSigma = 3. -# If you have pypar installed, you can run on multiple processors -numprocs = 10 +# If you have mpi4py installed, you can run on multiple processors +numprocs = 4 #10 # We'll only use a subset of our data to make the example run faster N = 20 -p = fittingProblem.PowerLawFittingProblem( complexityList, +p = fittingProblem.CTSNFittingProblem( complexityList, sirIsaacData[:N], indepParamsList=indepParamsList[:N], outputNames=outputNames, indepParamNames=indepParamNames, ensGen=ensGen, avegtol=avegtol, maxiter=maxiter, @@ -142,20 +154,22 @@ # Run parameter fitting # --------------------- -# The bulk of computation time is used to fit the parameters of each model to the data. Uncomment the following lines to run the parameter fitting, which takes a few hours using 10 processors. Or skip ahead to load a version that has already been fit. +# The bulk of computation time is used to fit the parameters of each model to the data. Uncomment the following lines to run the parameter fitting, which takes an hour or two using 4 processors. Or skip ahead to load a version that has already been fit. + +# In[16]: -# In[11]: ## Uncomment to run parameter fitting. #p.fitAll() # -#fittingProblem.save(p,'simpleExample_savedFittingProblem.data') +#fittingProblem.save(p,'simpleExample_savedFittingProblem.pkl') # In[10]: + # Load saved version of fittingProblem that has already been fit. -p = fittingProblem.load('simpleExample_savedFittingProblem.data') +p = fittingProblem.load('simpleExample_savedFittingProblem.pkl') # Analyze the selected model @@ -165,15 +179,17 @@ # In[11]: -pylab.figure(figsize=(20,2)) -p.plotBestModelResults(plotInitialConditions=True,indices=list(range(10))); + +plt.figure(figsize=(20,2)) +p.plotBestModelResults(plotInitialConditions=True,indices=range(10)); # And now for out-of-sample data: # In[12]: -pylab.figure(figsize=(20,2)) + +plt.figure(figsize=(20,2)) m = p.getBestModel() m.plotResults(sirIsaacData[20:30],indepParamsList[20:30], plotInitialConditions=True,plotFittingData=True); @@ -183,6 +199,7 @@ # In[13]: + m = p.getBestModel() print(m.getParameters()) @@ -191,6 +208,7 @@ # In[14]: + m = p.getBestModel() fittingProblem.IO.eqns_TeX_file(m.net,filename='simpleExample_selectedModel.tex') @@ -202,50 +220,52 @@ # In[15]: -pylab.figure(figsize=(20,6)) + +plt.figure(figsize=(20,4)) m = p.getBestModel() -m.plotResults(p.fittingData[:10],p.indepParamsList[:10], - plotInitialConditions=True,plotHiddenNodes=True); +m.plotResults(p.fittingData[:10], + p.indepParamsList[:10], + plotInitialConditions=True, + plotHiddenNodes=True); # We have access to raw trajectories using evaluateVec. Here we use this to plot a projection of trajectories in phase space for the first in-sample initial conditions: -# In[16]: +# In[17]: + -pylab.figure(figsize=(4,4)) -times = scipy.linspace(0,1,1000) +plt.figure(figsize=(4,4)) +times = np.linspace(0,1,1000) xdata = m.evaluateVec(times,'x',p.indepParamsList[0]) -X1data = m.evaluateVec(times,'X_1',p.indepParamsList[0]) -fittingProblem.Plotting.plot(xdata,X1data) -pylab.xlabel('x') -pylab.ylabel('X_1') +X2data = m.evaluateVec(times,'X_2',p.indepParamsList[0]) +fittingProblem.Plotting.plot(xdata,X2data) +plt.xlabel('x') +plt.ylabel('X_2'); -# We can also look at other models that SirIsaac fit in searching for the best one. In this case, 'Model 6' was selected because it has the largest estimated log-likelihood: +# We can also look at other models that SirIsaac fit in searching for the best one. In this case, 'Model 4' was selected because it has the largest estimated log-likelihood: + +# In[18]: -# In[17]: for name in p.fittingModelNames: - if name in list(p.logLikelihoodDict.keys()): - print(name, ': #species =',len(p.fittingModelDict[name].speciesNames), ', #params =',p.numParametersDict[name], ', L =', p.logLikelihoodDict[name]) + if name in p.logLikelihoodDict.keys(): + print('{}: #species = {}, #params = {}, L = {}'.format(name, + len(p.fittingModelDict[name].speciesNames), + p.numParametersDict[name], + p.logLikelihoodDict[name])) print() print('Selected model:',p.maxLogLikelihoodName()) -# A model with more parameters fits in-sample data better but out-of-sample data worse: - -# In[18]: - -pylab.figure(figsize=(20,2)) -m2 = p.fittingModelDict['Model 9'] -m2.plotResults(sirIsaacData[:10],indepParamsList[:10], - plotInitialConditions=True,plotFittingData=True); - +# We can also look at predictions of a model with more parameters: # In[19]: -pylab.figure(figsize=(20,2)) -m2.plotResults(sirIsaacData[30:40],indepParamsList[30:40], + +plt.figure(figsize=(20,2)) +m2 = p.fittingModelDict['Model 7'] +m2.plotResults(sirIsaacData[:10],indepParamsList[:10], plotInitialConditions=True,plotFittingData=True); @@ -253,42 +273,47 @@ # In[20]: + hess = p.HessianDict[p.maxLogLikelihoodName()] -u,singVals,vt = scipy.linalg.svd( hess ) -scipy.sort(singVals) +u,singVals,vt = np.linalg.svd( hess ) +np.sort(singVals) # Other details about what happened during parameter fitting are stored within each fittingModel: # In[21]: + m = p.getBestModel() -print("Acceptance ratio for initial parameter ensemble =",m.acceptanceRatio) -c = sum(scipy.array(m.currentResiduals(p.fittingData,p.indepParamsList,includePriors=False))**2) -print("Sum of squared residuals at best-fit (without priors) =",c) -print("Convergence flags for local fits:",m.convFlagList) -print("Number of cost evaluations for local fits:",m.numCostCallsList) -print("Number of gradient evaluations for local fits:",m.numGradCallsList) +print("Acceptance ratio for initial parameter ensemble = {}".format(m.acceptanceRatio)) +c = sum(np.array(m.currentResiduals(p.fittingData,p.indepParamsList,includePriors=False))**2) +print("Sum of squared residuals at best-fit (without priors) = {}".format(c)) +print("Convergence flags for local fits: {}".format(m.convFlagList)) +print("Number of cost evaluations for local fits: {}".format(m.numCostCallsList)) +print("Number of gradient evaluations for local fits: {}".format(m.numGradCallsList)) # Finally, since in this case we know the function used to create the data, we can compare: # In[22]: -pylab.figure(figsize=(20,2)) -indicesToPlot = list(range(5)) + +plt.figure(figsize=(20,2)) +indicesToPlot = range(10) axArray = p.plotBestModelResults(plotInitialConditions=True,indices=indicesToPlot) -# compare to model that generated the data -f = lambda x0,t: 1.5 + 0.5*scipy.sin(4.*scipy.pi*t + scipy.arcsin(2.*x0 - 3.)) -for i,indepParams in enumerate(scipy.array(indepParamsList)[indicesToPlot]): - times = scipy.linspace(0,1,100) - x0 = indepParams[0] +# compare to model that generated the data (see simpleExample_makeData.py) +f = lambda x0,tau,t: x0 * np.exp(-times/tau) + +for i,indepParams in enumerate(np.array(indepParamsList)[indicesToPlot]): + times = np.linspace(0,1,100) + x0,tau = indepParams fittingProblem.Plotting.sca(axArray[0][i]) - fittingProblem.Plotting.plot(times,f(x0,times),'k:') + fittingProblem.Plotting.plot(times,f(x0,tau,times),'k:') # In[ ]: + diff --git a/simpleExample_data.csv b/simpleExample_data.csv new file mode 100644 index 0000000..1d718b3 --- /dev/null +++ b/simpleExample_data.csv @@ -0,0 +1,100 @@ +1.127227433904788523e+00,9.521917233976885386e-01,5.454701510335127068e-01,5.313449854979820364e-01,1.000000000000000056e-01 +1.403399302209733968e+00,9.340177624532440825e-01,1.718653150322109191e-01,1.224932712680009805e+00,1.000000000000000056e-01 +1.140086651015479013e+00,3.559146053469722792e-01,8.529318094853017840e-01,2.109744582730488371e-01,1.000000000000000056e-01 +1.577308079461550605e+00,2.178209477247627923e-02,1.802234107934909124e-01,-3.244629502251892422e-02,1.000000000000000056e-01 +1.216833368609840704e+00,5.303203090596719793e-02,5.887000501236938632e-01,-3.811031999512212026e-02,1.000000000000000056e-01 +1.999838828402976443e+00,4.585249083883744525e-01,1.207749007021031717e-01,1.580032839827740787e+00,1.000000000000000056e-01 +1.444953417998518397e+00,8.871060581453714677e-01,5.546987504607484576e-01,5.875264343056859628e-01,1.000000000000000056e-01 +1.163511168474964386e+00,9.205501049609743358e-02,8.202617803816458775e-02,5.182057438681132444e-01,1.000000000000000056e-01 +1.336658076102105408e+00,1.870803151188615843e-02,9.927051747471592469e-01,-2.190063382216234644e-01,1.000000000000000056e-01 +1.119920034391800323e+00,1.850323771658278771e-01,2.527192614048323627e-01,5.471323804440040295e-01,1.000000000000000056e-01 +1.562785494965764688e+00,5.985286545134161917e-01,5.329600134943397460e-01,7.419955891188712016e-01,1.000000000000000056e-01 +1.300080942507595871e+00,8.341775417640425738e-01,8.921390974896605819e-01,5.325273990460132056e-01,1.000000000000000056e-01 +1.368757800139063896e+00,5.161941594493536511e-01,2.420936256921530916e-01,9.805852881660938047e-01,1.000000000000000056e-01 +1.471620780664328221e+00,2.345928560158307974e-01,4.176207390713759793e-01,3.748883004961319210e-01,1.000000000000000056e-01 +1.594275258673484519e+00,5.308289427916190739e-02,8.679454838383429127e-01,-1.701350115146850750e-01,1.000000000000000056e-01 +1.001359917791860177e+00,2.610341348293410135e-01,2.863302410874564163e-01,4.023210905049053876e-01,1.000000000000000056e-01 +1.146955460248045622e+00,4.484074983835013573e-01,1.376996636928893292e-01,8.997272170960946003e-01,1.000000000000000056e-01 +1.474729113715794071e+00,5.150329032371204763e-01,5.079360233397933744e-02,1.079519769445039135e+00,1.000000000000000056e-01 +1.570565691895331240e+00,2.333959411250705607e-01,9.282908716142157513e-01,9.329562041839083164e-02,1.000000000000000056e-01 +1.518436101894725443e+00,9.649168541918122788e-01,7.799501422424318653e-01,6.103137640776230555e-01,1.000000000000000056e-01 +1.869549633042161041e+00,9.463714274003612870e-01,6.944745088808786937e-01,1.048765741015173392e+00,1.000000000000000056e-01 +1.273427847559839732e+00,1.968606149229407132e-01,9.534386673937157441e-01,3.148785146343375391e-02,1.000000000000000056e-01 +1.748960535674552119e+00,8.012014063932035857e-01,9.319422792028977387e-01,5.534778939986357837e-01,1.000000000000000056e-01 +1.937727086044542801e+00,8.471350941688603475e-01,2.073995372474195520e-01,1.566741716884803459e+00,1.000000000000000056e-01 +1.991805663343682697e+00,4.767295725343282387e-01,2.233569824353590638e-01,1.196335658126522317e+00,1.000000000000000056e-01 +1.595327074290829206e+00,5.116820299908120262e-02,9.975183649415176879e-01,-7.710643445941200991e-02,1.000000000000000056e-01 +1.629010216065558847e+00,1.876344986859314057e-01,4.920633047872412513e-01,2.575526657387222640e-01,1.000000000000000056e-01 +1.739369699369812228e+00,5.459095770748265686e-01,2.257748745674382773e-01,1.076297984530332208e+00,1.000000000000000056e-01 +1.081024144888655281e+00,1.168270188938578258e-01,9.877161622137485830e-01,-1.285841827007118757e-02,1.000000000000000056e-01 +1.423258782397152977e+00,8.891102113895890113e-01,7.565907412432131274e-01,6.821029123200192945e-01,1.000000000000000056e-01 +1.813983280665389941e+00,5.184810792396669088e-01,5.825829909017841146e-01,5.515420885265547302e-01,1.000000000000000056e-01 +1.662903194472726831e+00,5.962569574274156903e-01,5.660271514522862146e-01,6.277734420584724084e-01,1.000000000000000056e-01 +1.412370892490299790e+00,8.944703605415449399e-02,3.718433736779390708e-01,2.614670118732136395e-01,1.000000000000000056e-01 +1.159732738625828041e+00,3.749262254382980109e-01,4.529635627053816282e-01,4.177063127095973494e-01,1.000000000000000056e-01 +1.900078419218827808e+00,5.523367333282068747e-01,8.172683059523067062e-01,4.489040855595962110e-01,1.000000000000000056e-01 +1.731453967420641726e+00,3.294529316160705879e-01,1.020065259396191193e-01,1.376820477317865610e+00,1.000000000000000056e-01 +1.840143877566781772e+00,3.820405243708064891e-01,9.171564649848776840e-01,5.226036134566779123e-02,1.000000000000000056e-01 +1.297192664754598379e+00,5.678335748131930760e-01,4.387118738031781096e-02,1.094541349557523136e+00,1.000000000000000056e-01 +1.517865470545010975e+00,9.800638451013852226e-01,5.745485989594910636e-01,8.693198422566409400e-01,1.000000000000000056e-01 +1.191548746095705269e+00,3.844687827426152005e-02,1.804989867583401963e-01,-6.220342741178054927e-03,1.000000000000000056e-01 +1.370865152994312108e+00,2.924604772307066725e-01,6.357016644267466932e-01,1.148199085027131472e-01,1.000000000000000056e-01 +1.015107509546417930e+00,1.743009593611530850e-01,8.941434465131087306e-01,7.252428691765416824e-02,1.000000000000000056e-01 +1.120621854014876462e+00,7.597457422328734999e-01,6.555599407644814303e-01,4.492902028934616654e-01,1.000000000000000056e-01 +1.807680655104647371e+00,4.009314138608688349e-02,2.542248703657359332e-01,3.821038707601870366e-02,1.000000000000000056e-01 +1.823852908925500671e+00,5.100036085878352221e-01,5.965790193671325348e-01,5.159041155365761133e-01,1.000000000000000056e-01 +1.590834208433750785e+00,6.466143827460368865e-01,9.198771753846565202e-01,4.480017974919400792e-01,1.000000000000000056e-01 +1.682142575534913753e+00,3.190730049270870117e-01,7.745410754452819457e-01,3.793585902995694203e-02,1.000000000000000056e-01 +1.006531041375149371e+00,1.491321496033775063e-01,2.909945449894476566e-01,-1.663315877126092523e-03,1.000000000000000056e-01 +1.459832210320955781e+00,3.879002232255494009e-01,6.868297753711171127e-01,2.147893379485754650e-01,1.000000000000000056e-01 +1.748897177008484460e+00,7.866695086128637771e-01,4.333213926927000914e-01,8.031512654840904375e-01,1.000000000000000056e-01 +1.961121472082195893e+00,6.306012398718011669e-01,3.015983729799538438e-01,9.617365412705435324e-01,1.000000000000000056e-01 +1.989629547710053403e+00,4.759766383586728766e-01,3.564721213174280035e-01,9.257018598820820898e-01,1.000000000000000056e-01 +1.424685185949385424e+00,8.644722507938242817e-01,2.541194488793193651e-01,1.070315889316131752e+00,1.000000000000000056e-01 +1.513368899604732754e+00,1.291882608882990446e-01,1.807721515071714080e-02,1.231737699705597544e+00,1.000000000000000056e-01 +1.376386147154440742e+00,1.947461179182808921e-01,9.715847857139079391e-01,-4.607357537700351030e-02,1.000000000000000056e-01 +1.590095045320254918e+00,6.798308834808883816e-01,5.837140531296624024e-01,7.973008411974142895e-01,1.000000000000000056e-01 +1.842742962466357159e+00,2.290778360532285118e-01,6.223615092006740124e-02,1.361693078510842980e+00,1.000000000000000056e-01 +1.355562399913898597e+00,6.749792356728155918e-01,6.259296245969935280e-01,5.468897548177786838e-01,1.000000000000000056e-01 +1.112885958434316702e+00,4.529898359461493884e-01,6.059266495830913923e-01,5.147715852917956747e-01,1.000000000000000056e-01 +1.164222434702706366e+00,1.739401810901421985e-01,2.768954548936158888e-01,1.541728237854697592e-01,1.000000000000000056e-01 +1.690069411560233270e+00,7.976380837236002330e-01,4.464339662292287070e-01,9.908385061250860604e-01,1.000000000000000056e-01 +1.788876206697212368e+00,7.854417806554370163e-02,4.066097720576533625e-01,-2.147231842165908955e-01,1.000000000000000056e-01 +1.381312388301068506e+00,5.102538392708092507e-01,9.366168739867879456e-01,3.195443406392488583e-01,1.000000000000000056e-01 +1.516629456598356462e+00,5.751701477862244394e-01,4.224088218755424062e-01,6.539558808582678351e-01,1.000000000000000056e-01 +1.273207124432954362e+00,4.914188292253296453e-02,9.965790069172225651e-01,-5.587569819911664820e-02,1.000000000000000056e-01 +1.640662589990894427e+00,2.290901540267347158e-01,6.520348296581751635e-01,2.753703340103865194e-01,1.000000000000000056e-01 +1.611401998516605927e+00,5.448337549435977589e-01,4.923361663025185297e-01,5.935088288683375568e-01,1.000000000000000056e-01 +1.706132161441220596e+00,4.334194629362190243e-01,8.342774151503150604e-01,3.927127341708565589e-01,1.000000000000000056e-01 +1.768502357463671792e+00,8.610322335747044864e-02,7.451418552936196482e-01,-5.796443244767780084e-02,1.000000000000000056e-01 +1.726880596570840476e+00,8.979505658873347951e-01,2.104730745662499736e-01,1.400293424380297802e+00,1.000000000000000056e-01 +1.582450152235791663e+00,9.550638727323172983e-01,7.047366728852576534e-01,7.555558116884056874e-01,1.000000000000000056e-01 +1.150911514594517682e+00,3.421675520323531616e-01,2.717499067518166500e-01,4.870284785340750489e-01,1.000000000000000056e-01 +1.622734878515497581e+00,1.939654671700519195e-01,7.144321358859776483e-01,-6.448703453725132539e-02,1.000000000000000056e-01 +1.399539032258074744e+00,4.884478688942092139e-01,5.412049507656184755e-01,5.087805453827558555e-01,1.000000000000000056e-01 +1.409971199482641602e+00,4.071847993466755078e-01,8.072504687626111952e-01,9.222912137119008980e-02,1.000000000000000056e-01 +1.898051005246103262e+00,2.948784880603514402e-01,8.246074043701010492e-01,-1.004834043326798682e-01,1.000000000000000056e-01 +1.844730411100738543e+00,9.878487071540079656e-01,5.203314031510416493e-01,1.189675069403756336e+00,1.000000000000000056e-01 +1.780550291410200936e+00,3.024320262763079414e-01,8.044747053428968897e-02,1.387045121889656230e+00,1.000000000000000056e-01 +1.376495976297527957e+00,1.112822982711934028e-01,6.991516731255009720e-02,6.549895806947019228e-01,1.000000000000000056e-01 +1.697843525206619297e+00,6.545541628004378776e-01,4.467682821522790393e-01,8.174085940994495481e-01,1.000000000000000056e-01 +1.753230879182530622e+00,2.595582966853648976e-02,8.179679985197901848e-01,3.338414480653003613e-01,1.000000000000000056e-01 +1.309784793919282375e+00,8.201565377353620123e-01,1.557322095234715542e-01,1.185399683476375809e+00,1.000000000000000056e-01 +1.025553411496130662e+00,3.308391270133104189e-01,1.928763843280727475e-01,4.568348041814994653e-01,1.000000000000000056e-01 +1.947498899318009347e+00,4.851656326837014976e-01,6.315053791192599686e-01,4.510792101587436931e-01,1.000000000000000056e-01 +1.229315757257356756e+00,6.074422089839247585e-01,1.459376123233635525e-01,9.909551009995962723e-01,1.000000000000000056e-01 +1.087363053714647254e+00,2.563024204461500366e-01,3.581451346836936889e-01,3.907928331543971678e-01,1.000000000000000056e-01 +1.468172184284708637e+00,6.045914655026151108e-01,5.383721581820191115e-01,6.293308002251419841e-01,1.000000000000000056e-01 +1.049613822390764284e+00,7.386003377934534653e-01,4.187829436092653790e-01,5.498505684456430620e-01,1.000000000000000056e-01 +1.350591436120559319e+00,7.344633985971615875e-01,6.816626591611840702e-01,4.495441721751246011e-01,1.000000000000000056e-01 +1.725992227101063481e+00,3.733847132315522011e-01,6.748115107305565630e-01,3.015051459197446992e-01,1.000000000000000056e-01 +1.867043378702511802e+00,4.311634964651204216e-01,8.632026212803505238e-01,2.325884288133981403e-01,1.000000000000000056e-01 +1.625402695868744196e+00,8.789139980184258460e-01,7.385850636675884706e-01,6.833192832413770290e-01,1.000000000000000056e-01 +1.972883032151984573e+00,8.898787117574492589e-01,3.751759378132279998e-02,1.961378788316567201e+00,1.000000000000000056e-01 +1.280477658330593460e+00,9.155550188822186852e-01,1.485626927065633041e-01,1.170892777254133987e+00,1.000000000000000056e-01 +1.522169181617643918e+00,6.812065321203304435e-01,8.963696695419027805e-01,4.908345109452091348e-01,1.000000000000000056e-01 +1.075683745922479062e+00,2.546479270259083272e-02,5.186802443901338266e-01,-9.197954145521657077e-02,1.000000000000000056e-01 +1.298706731215262256e+00,6.014435961908068951e-01,5.188376936278542573e-01,5.590827179686812531e-01,1.000000000000000056e-01 +1.381539455013765405e+00,3.699960077169027750e-01,1.098081024646735404e-02,1.292970754494674246e+00,1.000000000000000056e-01 +1.467556196160879178e+00,1.983524742542488450e-01,2.420099417576693224e-01,2.999961929951312500e-01,1.000000000000000056e-01 +1.641622905828240553e+00,1.903770955549572985e-01,7.399461587274266394e-01,-5.057862593743447238e-02,1.000000000000000056e-01 diff --git a/simpleExample_data.txt b/simpleExample_data.txt deleted file mode 100644 index d325e9b..0000000 --- a/simpleExample_data.txt +++ /dev/null @@ -1,100 +0,0 @@ -1.127227433904788523e+00 5.454701510335127068e-01 1.262342857641692184e+00 1.000000000000000056e-01 -1.403399302209733968e+00 1.718653150322109191e-01 2.018996005787427883e+00 1.000000000000000056e-01 -1.140086651015479013e+00 8.529318094853017840e-01 1.371899809743871046e+00 1.000000000000000056e-01 -1.577308079461550605e+00 1.802234107934909124e-01 1.797444551780057687e+00 1.000000000000000056e-01 -1.216833368609840704e+00 5.887000501236938632e-01 1.707088292522636053e+00 1.000000000000000056e-01 -1.999838828402976443e+00 1.207749007021031717e-01 1.582488371958785667e+00 1.000000000000000056e-01 -1.444953417998518397e+00 5.546987504607484576e-01 1.587099194467858743e+00 1.000000000000000056e-01 -1.163511168474964386e+00 8.202617803816458775e-02 1.685102156237740623e+00 1.000000000000000056e-01 -1.336658076102105408e+00 9.927051747471592469e-01 1.075078253505739267e+00 1.000000000000000056e-01 -1.119920034391800323e+00 2.527192614048323627e-01 2.130117408064173379e+00 1.000000000000000056e-01 -1.562785494965764688e+00 5.329600134943397460e-01 1.857624714664154242e+00 1.000000000000000056e-01 -1.300080942507595871e+00 8.921390974896605819e-01 1.095927950860109412e+00 1.000000000000000056e-01 -1.368757800139063896e+00 2.420936256921530916e-01 1.802701759436300399e+00 1.000000000000000056e-01 -1.471620780664328221e+00 4.176207390713759793e-01 1.182990550863747270e+00 1.000000000000000056e-01 -1.594275258673484519e+00 8.679454838383429127e-01 8.324147761363477338e-01 1.000000000000000056e-01 -1.001359917791860177e+00 2.863302410874564163e-01 1.999289979131904982e+00 1.000000000000000056e-01 -1.146955460248045622e+00 1.376996636928893292e-01 1.961706715111704913e+00 1.000000000000000056e-01 -1.474729113715794071e+00 5.079360233397933744e-02 1.520525510741897790e+00 1.000000000000000056e-01 -1.570565691895331240e+00 9.282908716142157513e-01 1.219583424566669905e+00 1.000000000000000056e-01 -1.518436101894725443e+00 7.799501422424318653e-01 1.232889703103440704e+00 1.000000000000000056e-01 -1.869549633042161041e+00 6.944745088808786937e-01 1.584466937172737788e+00 1.000000000000000056e-01 -1.273427847559839732e+00 9.534386673937157441e-01 1.086403295141133762e+00 1.000000000000000056e-01 -1.748960535674552119e+00 9.319422792028977387e-01 1.343013690840054952e+00 1.000000000000000056e-01 -1.937727086044542801e+00 2.073995372474195520e-01 1.296592074531628169e+00 1.000000000000000056e-01 -1.991805663343682697e+00 2.233569824353590638e-01 1.014732513934843761e+00 1.000000000000000056e-01 -1.595327074290829206e+00 9.975183649415176879e-01 1.502870202984972536e+00 1.000000000000000056e-01 -1.629010216065558847e+00 4.920633047872412513e-01 1.719516790843484078e+00 1.000000000000000056e-01 -1.739369699369812228e+00 2.257748745674382773e-01 1.329301498627325051e+00 1.000000000000000056e-01 -1.081024144888655281e+00 9.877161622137485830e-01 1.030962953810309557e+00 1.000000000000000056e-01 -1.423258782397152977e+00 7.565907412432131274e-01 1.609964879334496946e+00 1.000000000000000056e-01 -1.813983280665389941e+00 5.825829909017841146e-01 1.956509983286540688e+00 1.000000000000000056e-01 -1.662903194472726831e+00 5.660271514522862146e-01 1.942928368364374991e+00 1.000000000000000056e-01 -1.412370892490299790e+00 3.718433736779390708e-01 1.250961183807074661e+00 1.000000000000000056e-01 -1.159732738625828041e+00 4.529635627053816282e-01 1.084540550145815851e+00 1.000000000000000056e-01 -1.900078419218827808e+00 8.172683059523067062e-01 1.026400033612402840e+00 1.000000000000000056e-01 -1.731453967420641726e+00 1.020065259396191193e-01 2.097194129207053948e+00 1.000000000000000056e-01 -1.840143877566781772e+00 9.171564649848776840e-01 1.241080566739457769e+00 1.000000000000000056e-01 -1.297192664754598379e+00 4.387118738031781096e-02 1.460423262349291429e+00 1.000000000000000056e-01 -1.517865470545010975e+00 5.745485989594910636e-01 1.937913073545771470e+00 1.000000000000000056e-01 -1.191548746095705269e+00 1.804989867583401963e-01 1.982619297833120520e+00 1.000000000000000056e-01 -1.370865152994312108e+00 6.357016644267466932e-01 1.954854370350653570e+00 1.000000000000000056e-01 -1.015107509546417930e+00 8.941434465131087306e-01 1.332523912282761014e+00 1.000000000000000056e-01 -1.120621854014876462e+00 6.555599407644814303e-01 1.920545607512718300e+00 1.000000000000000056e-01 -1.807680655104647371e+00 2.542248703657359332e-01 1.206862047241411329e+00 1.000000000000000056e-01 -1.823852908925500671e+00 5.965790193671325348e-01 1.919828475719835836e+00 1.000000000000000056e-01 -1.590834208433750785e+00 9.198771753846565202e-01 1.197483194197552336e+00 1.000000000000000056e-01 -1.682142575534913753e+00 7.745410754452819457e-01 1.074585541363820118e+00 1.000000000000000056e-01 -1.006531041375149371e+00 2.909945449894476566e-01 1.745053424433994360e+00 1.000000000000000056e-01 -1.459832210320955781e+00 6.868297753711171127e-01 1.849818569400855539e+00 1.000000000000000056e-01 -1.748897177008484460e+00 4.333213926927000914e-01 1.139173301967500329e+00 1.000000000000000056e-01 -1.961121472082195893e+00 3.015983729799538438e-01 7.618510598570066294e-01 1.000000000000000056e-01 -1.989629547710053403e+00 3.564721213174280035e-01 1.273314228130178805e+00 1.000000000000000056e-01 -1.424685185949385424e+00 2.541194488793193651e-01 1.558125451011071139e+00 1.000000000000000056e-01 -1.513368899604732754e+00 1.807721515071714080e-02 1.541578187395999944e+00 1.000000000000000056e-01 -1.376386147154440742e+00 9.715847857139079391e-01 1.159390134148836626e+00 1.000000000000000056e-01 -1.590095045320254918e+00 5.837140531296624024e-01 2.095271787161744115e+00 1.000000000000000056e-01 -1.842742962466357159e+00 6.223615092006740124e-02 1.957064342888374053e+00 1.000000000000000056e-01 -1.355562399913898597e+00 6.259296245969935280e-01 1.990956543084635211e+00 1.000000000000000056e-01 -1.112885958434316702e+00 6.059266495830913923e-01 1.938180060592793685e+00 1.000000000000000056e-01 -1.164222434702706366e+00 2.768954548936158888e-01 1.611147419967151828e+00 1.000000000000000056e-01 -1.690069411560233270e+00 4.464339662292287070e-01 1.385453713146602484e+00 1.000000000000000056e-01 -1.788876206697212368e+00 4.066097720576533625e-01 1.010599749985042539e+00 1.000000000000000056e-01 -1.381312388301068506e+00 9.366168739867879456e-01 1.168971599662961047e+00 1.000000000000000056e-01 -1.516629456598356462e+00 4.224088218755424062e-01 1.021990507382472879e+00 1.000000000000000056e-01 -1.273207124432954362e+00 9.965790069172225651e-01 1.198390481078606351e+00 1.000000000000000056e-01 -1.640662589990894427e+00 6.520348296581751635e-01 2.085614856040074461e+00 1.000000000000000056e-01 -1.611401998516605927e+00 4.923361663025185297e-01 1.504760607327177091e+00 1.000000000000000056e-01 -1.706132161441220596e+00 8.342774151503150604e-01 1.145680050237078751e+00 1.000000000000000056e-01 -1.768502357463671792e+00 7.451418552936196482e-01 1.199458897342281283e+00 1.000000000000000056e-01 -1.726880596570840476e+00 2.104730745662499736e-01 1.547105437817799523e+00 1.000000000000000056e-01 -1.582450152235791663e+00 7.047366728852576534e-01 1.695109438806547297e+00 1.000000000000000056e-01 -1.150911514594517682e+00 2.717499067518166500e-01 1.706389896831318698e+00 1.000000000000000056e-01 -1.622734878515497581e+00 7.144321358859776483e-01 1.493539816108363727e+00 1.000000000000000056e-01 -1.399539032258074744e+00 5.412049507656184755e-01 1.701775823780688368e+00 1.000000000000000056e-01 -1.409971199482641602e+00 8.072504687626111952e-01 1.141669380594285022e+00 1.000000000000000056e-01 -1.898051005246103262e+00 8.246074043701010492e-01 8.042160137305101042e-01 1.000000000000000056e-01 -1.844730411100738543e+00 5.203314031510416493e-01 2.025369302964283413e+00 1.000000000000000056e-01 -1.780550291410200936e+00 8.044747053428968897e-02 2.022042905827376558e+00 1.000000000000000056e-01 -1.376495976297527957e+00 6.991516731255009720e-02 1.714772227627017642e+00 1.000000000000000056e-01 -1.697843525206619297e+00 4.467682821522790393e-01 1.329884586658252266e+00 1.000000000000000056e-01 -1.753230879182530622e+00 8.179679985197901848e-01 1.342429415016296979e+00 1.000000000000000056e-01 -1.309784793919282375e+00 1.557322095234715542e-01 2.102128230800109687e+00 1.000000000000000056e-01 -1.025553411496130662e+00 1.928763843280727475e-01 1.845505073590715028e+00 1.000000000000000056e-01 -1.947498899318009347e+00 6.315053791192599686e-01 1.606936010414583116e+00 1.000000000000000056e-01 -1.229315757257356756e+00 1.459376123233635525e-01 2.000508253868486186e+00 1.000000000000000056e-01 -1.087363053714647254e+00 3.581451346836936889e-01 1.432631893983866256e+00 1.000000000000000056e-01 -1.468172184284708637e+00 5.383721581820191115e-01 1.729897549075000596e+00 1.000000000000000056e-01 -1.049613822390764284e+00 4.187829436092653790e-01 1.033895730264021928e+00 1.000000000000000056e-01 -1.350591436120559319e+00 6.816626591611840702e-01 1.874495855375316822e+00 1.000000000000000056e-01 -1.725992227101063481e+00 6.748115107305565630e-01 1.747321122389136949e+00 1.000000000000000056e-01 -1.867043378702511802e+00 8.632026212803505238e-01 1.090405466999967210e+00 1.000000000000000056e-01 -1.625402695868744196e+00 7.385850636675884706e-01 1.426930295927374193e+00 1.000000000000000056e-01 -1.972883032151984573e+00 3.751759378132279998e-02 2.065009629426963311e+00 1.000000000000000056e-01 -1.280477658330593460e+00 1.485626927065633041e-01 2.075948040768779368e+00 1.000000000000000056e-01 -1.522169181617643918e+00 8.963696695419027805e-01 1.106797150886785097e+00 1.000000000000000056e-01 -1.075683745922479062e+00 5.186802443901338266e-01 1.056860258326757673e+00 1.000000000000000056e-01 -1.298706731215262256e+00 5.188376936278542573e-01 1.422632440232785900e+00 1.000000000000000056e-01 -1.381539455013765405e+00 1.098081024646735404e-02 1.401313499332120793e+00 1.000000000000000056e-01 -1.467556196160879178e+00 2.420099417576693224e-01 1.449066336225704799e+00 1.000000000000000056e-01 -1.641622905828240553e+00 7.399461587274266394e-01 1.335676205606975087e+00 1.000000000000000056e-01 diff --git a/simpleExample_makeData.py b/simpleExample_makeData.py index fb1f9e5..8210b31 100644 --- a/simpleExample_makeData.py +++ b/simpleExample_makeData.py @@ -2,44 +2,47 @@ # # Bryan Daniels # 1.29.2014 +# updated 2022/6/13 # # Construct fake data to be used in # simpleExample.ipynb. # # Data taken at times t sampled uniformly between -# 0 and 1 and initial conditions x0 sampled -# uniformly between 1 and 2. +# 0 and 1, initial conditions x0 sampled +# uniformly between 1 and 2, and decay rate tau +# sampled uniformly between 0 and 1. # -# Output is a sinusoid varying between 1 and 2 -# with the given initial condition x0. +# Output is an exponential decay with the given +# initial condition x0 and decay rate tau: # -# x = 3/2 + 1/2 sin( 4 pi t + arcsin(2x0 - 3) ) + N(0,0.1) +# x = x_0 * exp(-t/tau) + N(0,0.1) # -import scipy +import numpy as np numSamples = 100 noiseStd = 0.1 -scipy.random.seed(10000) -times = scipy.random.rand(numSamples) -noises = scipy.random.normal(scale=noiseStd,size=numSamples) -x0s = 1. + scipy.random.rand(numSamples) -xs = 1.5 + 0.5 * scipy.sin( 4.*scipy.pi*times \ - + scipy.arcsin(2.*x0s - 3.) ) +np.random.seed(10000) +times = np.random.rand(numSamples) +noises = np.random.normal(scale=noiseStd,size=numSamples) +x0s = 1. + np.random.rand(numSamples) +taus = np.random.rand(numSamples) +xs = x0s * np.exp(-times/taus) xsNoisy = xs + noises # in the output file, -# column 1: initial condition -# column 2: measurement time -# column 3: measurement value -# column 4: measurement uncertainty (standard deviation) +# column 1: initial condition x0 +# column 2: decay rate tau +# column 3: measurement time +# column 4: measurement value +# column 5: measurement uncertainty (standard deviation) -noiseStds = scipy.repeat(noiseStd,100) +noiseStds = np.repeat(noiseStd,100) -data = list(zip( x0s, times, xsNoisy, noiseStds )) +data = list(zip( x0s, taus, times, xsNoisy, noiseStds )) -scipy.savetxt('simpleExample_data.txt',data) +np.savetxt('simpleExample_data.csv',data,delimiter=',') diff --git a/simpleExample_savedFittingProblem.data b/simpleExample_savedFittingProblem.data deleted file mode 100644 index 90882aa842fb48e5dc8fedcd3866fb6b880f3a53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 656497 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℞B*WSlqiW}qnzsjZVD}8iP!z%i>D}O(Y+D^56 zc4R#~rhku!<7CDFSVU)TWrCx4og8#8s?+$1Cw(;f_n25mw=TVh^y!&I0@B$_TGV)4 z4vzu0%X#&qd(iAlKZ>XimXyf2qz>r|87%X)4cw_7xnxv2}!k_Gb>}HY;Ut) zv*<^x{;4Z{b*AM>I(4U{{i&(e@GExOh35FCk7WZ(eFeKOk!RK@nxe#c7`c7a{LM3zxUC z6*nk&m8N|Lic)mtTZk1OryT%3l5U5qm|Wg0j4mMUbHtV~Q_!y^+84l;6?|D+B_oQL zY}%KIDoyvxl@olETo_$57iuMm(++~9jHpBN0P^Qn7mo_;g69xLI19Z=4FwTs8-c0{ zlvi@moP*^~wR)6c5*IE>)aUmG6tV-PuPCY0=D+T1VBl%$ z8@%}W6#Z7m8g9UZ(_r--#pG+>>&fMXZA~e1kan1GqM1SW1JnIzqpL}gNg~c5If6*> z0Fvp>$$rwwwV(0gSE{2rR+Xx?!Ri;pSe!d4&rPJ4#|);wGEq8(~sv z2znyug&+|@Zv=f1Bq6vSL0<&@5cEfI1A+kvk`dg9;3fn&Q$V#nj)Fn3C%A+uge8r> z6_3hd5FRzfU_2tk5IidAHz$fzKsCfrJgOU)CZ+=_BQo%)YFwIlJD_61gGViqiAS^$ zcvKR1;89u($D@iEfkz3Eg-11!jYpWs!6VeTEl~qh%I9LlQ9u?qET&N&El@ykb0I25G0b#87fl=NZ~*dSPv69iE|`Avi-+ zLo%Z?;Vl>K4~j?<`NV@Q_$-0>+Bpg#TxoXbXp+QagXBCSZRYf+POe?Ri=R1#&{jII z%AD>ZR2#b zGt%V^)l zb5k`fb)3@@7sJGIO5sN*(UL^Xh5e{hj3i`+#vXzq&KQxCH_q9D_U5@H!-i+4<_)nV z@cojnd1hY52xpw6uzkuWW8!5DMsa=Mq^wj)BuxvGMvnCUBrPQg?=Jhtwvw^DN9-Tl z+DvQvWKU+^#!MR^wyliycW)vSUn8T<+67?I&ZLnOBmWY{>+Q!gg#gidBf_u)WDu{n zAOE-1G2*SOrvEp=*1@%l-i=SGFC4=CpUG#n7Qg0 z*+@$KMyy20NJ)t-j949GNo$Rjtt}%t^9GLo`j(l)*lcsqUV&q*%@pju&;GXGRq|mV z&C=FHg%yFC&Rz)HL7ujEkeE6!vmycF(R)#u0{2a%a#X0macH3;IxS8Ypkd>w$BHbvyNaah zlE5wcq^uAr14W^r&>8sSLZ5X$ic zgxquZWlP*SLS}4P5X8xg8{o1|X3pi{jN{=t&5|+S-~d9Ixg_LwCiKlX-dAvJ-eGS6E*;?vL8C&XWUR1%^>g+jVdwrRZ*SWe| zIitRqf2xM&-1Ui9PP!I>9=emhi=+3@)-yW6PC74Fc4NAt1}9r+0XdDQ&cJ6X8Qja! zcZ06%WUGOrTZWc7IyEnIbcQ3Fw_kZ5!;zPvji95n+;0ydJGOM8+?O?zoodnPWj{#0 zhn0iTDd`-1x{*k9BhzVbm?wJ5mtK**hwxvsSr%Ms#`Vu_2iwjvQvQE$!pbdUV?}Z> zx&8Id)!NiHzBpcf+|C%>j9CY)m6DZMHA9^^wDB?leIw1zUc@&z9x*5;SG}{ucZN zO;?>FwxO{%QN&I(qKnv!Hc}U|AB|{C7yjkHpc$sz%&8WZyu^~LOT(D;T{X){XRfwN z!ggX@JsEZ!U?Ypxws87q4Awjr`wYlsV8dH%Hq3ijK^qR* zaL|VF`>`DQuIvtoVZ+MDl4T?|jhGEH;7DB7-->xRIcUW}D-K%mKW)XvNNkL|>xeE4m1{*gB8E#Hx|bStvG1KK`Z{Jtyqo4YI%&2*fe8aCkGsjqXUh`^s{Bqj)Qg_ zwBvu!jsu@Nu$wXOG6our%fpI&cem)&L(qzYRvfhA|6f+j3uCrf!@oYyvdJz3*>DB_ zk(iGZ1#LKJ!$BMVr)^kydDM5eaQ4u;yG2GEa6VlTRvf3F>N6a-=q4=vyja~2`keWY z1b$~YBwA)C-*XC~$&p0r(1#zHim?=)Sz5nTk{?U7D)f-Gkszf#-*9PsBm!@X7q6+= z_2FB%A?cZEIHEHlpYaMMKZf%=K;uKib0(8W?tA*sa1kX9|KR5n&DWC3Xx_5)iDnm* zW@>qc%PeJUoXRy*`$o4hqs^(CnYyh#T8;{4^fhKQ4+LB^4orugJ$`t)?cRB3X-=L+8EZ2M3gi(;AaTUt5zB=fo6FK}kSF573znum3h} zWUEy|&jFtdzF&32-BkK$y-DbuUD)9{4jxPm;p@l7WIUDM{^gZK%iLwsfF$_N5l0FF zodz_1WltYnI1Ra`%N#Lkg!Kb*`dp)Vix#cp+GaFs8K-}cpgt$pi(+$4#|6+ECqUO? zDVpi;%xnd%GMcfi(TvJ76y@}PwGE9n&^72{4Oj&Y2!A2aL#dsHOSp@hrSvTzP0iFW zb}Ar|Qg`ILWfZee=qe~l^dUwnGc?ddTRGXt3?(#41L>e%1S2I}tdXNcjA+WM8v#~j z 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�MYiA`h)6iAS&ZCt`A#6A!6H+}G!_voAy`eY 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∋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 Date: Mon, 13 Jun 2022 15:20:24 -0700 Subject: [PATCH 40/42] update Installation.md --- Installation.md | 81 +++++++++++++++++++++++++++---------------------- 1 file changed, 44 insertions(+), 37 deletions(-) diff --git a/Installation.md b/Installation.md index 31d4828..cb49740 100644 --- a/Installation.md +++ b/Installation.md @@ -5,13 +5,14 @@ Installing SirIsaac SirIsaac depends on the following packages: -- Python 2.6 or later (not Python 3) +- Python 3 - Scipy +- Numpy - Matplotlib - SloppyCell (https://github.com/GutenkunstLab/SloppyCell) There exist several relatively simple ways to install -the first three packages above at once, including +the first four packages above at once, including - Anaconda: http://www.anaconda.com - Sage: http://www.sagemath.org @@ -20,8 +21,6 @@ These systems also have the added benefit of coming prepackaged with other useful software such as iPython and Jupyter. -Note: As of June 2020, SirIsaac does not support Python 3 (we are working on it). Installing Python 2 using the above package managers is likely no longer the default option as it is now officially out of date. - ### Install SloppyCell SirIsaac depends on the latest @@ -46,18 +45,22 @@ which will create a folder named `SirIsaac` in the current directory. Next, ins ## Test installation -A basic test of the SirIsaac and SloppyCell installation can be -run by descending into the `SirIsaac/SirIsaac/` directory and running +A basic suite of unit tests can be run by moving into the SirIsaac directory and running + + python -m unittest - python SloppyCellTest.py +This should take about a minute to run. Note that there may be lots of warnings and compiler optimization messages (we're working on it...), but if you see something like the following then all tests have passed: -More comprehensive tests are found in the `test` subfolder, and can be run using, e.g., `nosetests`. + --------------------------------------------- + Ran 9 tests in 56.687s + + OK To further help you get up and running, code to fit and analyze a simple example dataset using SirIsaac is provided in two formats: -Python (simpleExample.py) and a Jupyter iPython -notebook (simpleExample.ipynb). The +a Jupyter iPython +notebook (simpleExample.ipynb) and a simple Python script (simpleExample.py). The iPython notebook opens in a web browser and includes plots in an interactive format. To open the .ipynb file, run: @@ -68,35 +71,39 @@ To run the .py file in iPython at the command line, run: ipython --pylab %run simpleExample.py - show() + plt.show() ## Running in parallel -OpenMPI Installation - -Download the latest version(4.1.1) from https://www.open-mpi.org/software/ompi/v4.1/ -Refer the Building MPI from sources section for the installation. - -Another source for OpenMPI Installation - https://gist.github.com/mrosemeier/088115b2e34f319b913a - -Other Installations that were done for Ubuntu - -pip install mpi4py - -sudo apt-get install python-dev \ - build-essential libssl-dev libffi-dev \ - libxml2-dev libxslt1-dev zlib1g-dev \ - - -sudo apt install libopenmpi-dev - -sudo apt-get install python2.7-dev -sudo apt-get install build-essential -sudo apt-get install gcc -sudo apt-get install python-dev gcc -sudo apt-get install python2-dev build-essential gcc libpq-dev -sudo apt-get install libblas-dev libatlas-base-dev -sudo apt-get install build-essential gcc gfortran git -sudo apt install gfortran +To run parameter fitting in parallel, you will need to install mpi4py, which further depends on an installation of mpi (often OpenMPI, depending on your operating system). For more information about installing mpi4py, see here: https://pypi.org/project/mpi4py/ + +Following are notes from one user detailing OpenMPI installation—these are somewhat outdated (using Python 2.7) but could potentially be useful: + + OpenMPI Installation + + Download the latest version(4.1.1) from https://www.open-mpi.org/software/ompi/v4.1/ + Refer the Building MPI from sources section for the installation. + + Another source for OpenMPI Installation - https://gist.github.com/mrosemeier/088115b2e34f319b913a + + Other Installations that were done for Ubuntu + + pip install mpi4py + + sudo apt-get install python-dev \ + build-essential libssl-dev libffi-dev \ + libxml2-dev libxslt1-dev zlib1g-dev \ + + + sudo apt install libopenmpi-dev + + sudo apt-get install python2.7-dev + sudo apt-get install build-essential + sudo apt-get install gcc + sudo apt-get install python-dev gcc + sudo apt-get install python2-dev build-essential gcc libpq-dev + sudo apt-get install libblas-dev libatlas-base-dev + sudo apt-get install build-essential gcc gfortran git + sudo apt install gfortran From a701545477a0fb0a08f4959cb07cddafc8977f70 Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Mon, 13 Jun 2022 15:28:44 -0700 Subject: [PATCH 41/42] remove a few references to pypar and replace with mpi4py --- requirements.txt | 1 - setup.py | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/requirements.txt b/requirements.txt index a67b624..bdb1578 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,4 +4,3 @@ scipy # pygraphviz # python-libsbml file:../sloppycell#egg=SloppyCell -file:../pypar#egg=pypar diff --git a/setup.py b/setup.py index 0dba8e2..27a6d80 100644 --- a/setup.py +++ b/setup.py @@ -12,12 +12,11 @@ 'SloppyCell', ], extras_require={ - 'multi-processor': ['pypar'], + 'multi-processor': ['mpi4py'], 'graphs': ['pygraphviz'], 'SBML': ['python-libsbml'], }, dependency_links=[ - 'https://github.com/daleroberts/pypar/tarball/master#egg=pypar', 'https://github.com/GutenkunstLab/SloppyCell/tarball/master#egg=SloppyCell', ] ) From 20bdda0352a9bc7f9be94594977a6d3f36094c05 Mon Sep 17 00:00:00 2001 From: Bryan Daniels Date: Mon, 13 Jun 2022 15:37:46 -0700 Subject: [PATCH 42/42] update readme for python 3 --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index cf6fd25..a964d75 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,8 @@ https://doi.org/10.1371/journal.pone.0119821 Dependencies ============ -Python 2.6 or later (not Python 3) +Python 3 +Numpy Scipy Matplotlib (One way to install the above is with Anaconda or Sage. See Installation.md.)