Git Product home page Git Product logo

time's People

Contributors

colinsheppard avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

time's Issues

How to cite the time extension?

Hi Colin,

we would like to cite your extension in a paper; which is the best way to do this?
Thanks a lot in advance and best wishes

Anna

Problems with scheduling several events through a list with "foreach"

Hi Colin,
first of all, thank you for this great extension; it has been very helpful so far. However, for several days now I have been stuck with an issue that I can't resolve.
What I want to do is to read from a .csv file, which I read into Netlogo as a time-series object (this part is working fine) a schedule of which agent does what at what time. The time series-object in Netlogo looks like this:

observer: {{time:LogoTimeSeries TIMESTAMP,ID,newstate
2000-02-19 01:01:53.697,79.0,1.0
2000-04-06 03:00:20.023,95.0,4.0
2000-09-12 00:37:29.114,29.0,5.0
2001-01-22 22:05:39.811,52.0,4.0...

The first column is the time t at which an event happens, ID is an agent variable (not equal to the who number) used to identify the agent, and newstate is also an agent variable which contains the type of new state that the agent should adopt at time T.

When I just want to schedule an event for one agent, that works fine:

time:schedule-event one-of turtles with [id = time:ts-get transitions ( time:create "2008-10-21 21:45:41.889") "ID"] task [set newtransition time:ts-get transitions ( time:create "2008-10-21 21:45:41.889" ) "newstate" perform-transition ] time:create "2008-10-21 21:45:41.889"

I can also run the model with time:go; the event happens to the individual at the desired time.

Now, however, I want to do this for all the agents, so that it is automatically read from the time series at what time which agent does what. I tried doing this with a list in all kinds of ways.
First I tried this:
set micsimlist []
set micsimlist time:ts-get-range transitions time:create "2000-01-01 00:00:00" time:create "2010-12-31 23:59:00" "ALL"

This is the error I get:
error (IllegalArgumentException)
while observer running SET
called by procedure SCHEDULE-EVENTS
called by procedure GO
called by Button 'go'

NetLogo is unable to supply you with more details about this error. Please report the problem
at https://github.com/NetLogo/NetLogo/issues, or to [email protected], and paste the
contents of this window into your report.

java.lang.IllegalArgumentException: fromIndex(85) > toIndex(48)
at java.util.SubList.(AbstractList.java:604)
at java.util.RandomAccessSubList.(AbstractList.java:758)
at java.util.AbstractList.subList(AbstractList.java:468)
at TimeExtension$LogoTimeSeries.getRangeByTime(TimeExtension.java:366)
at TimeExtension$TimeSeriesGetRange.report(TimeExtension.java:1645)
at org.nlogo.prim._externreport.report(_externreport.java:50)
at org.nlogo.prim._asm_procedurescheduleevents_setobservervariable_1.perform()
at org.nlogo.nvm.Context.stepConcurrent(Context.java:91)
at org.nlogo.nvm.ConcurrentJob.step(ConcurrentJob.java:82)
at org.nlogo.job.JobThread.org$nlogo$job$JobThread$$runPrimaryJobs(JobThread.scala:143)
at org.nlogo.job.JobThread$$anonfun$run$1.apply$mcV$sp(JobThread.scala:78)
at org.nlogo.job.JobThread$$anonfun$run$1.apply(JobThread.scala:76)
at org.nlogo.job.JobThread$$anonfun$run$1.apply(JobThread.scala:76)
at scala.util.control.Exception$Catch.apply(Exception.scala:88)
at org.nlogo.util.Exceptions$.handling(Exceptions.scala:41)
at org.nlogo.job.JobThread.run(JobThread.scala:75)

NetLogo 5.0.4
main: org.nlogo.app.AppFrame
thread: JobThread
Java HotSpot(TM) Server VM 1.6.0_41 (Sun Microsystems Inc.; 1.6.0_41-b02)
operating system: Windows 7 6.1 (x86 processor)
Scala version 2.9.2
JOGL: (3D View not initialized)
OpenGL Graphics: (3D View not initialized)
model: MicsimKombi5

10:49:21.748 JobRemovedEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) JobThread
10:49:21.748 SwitchedTabsEvent (org.nlogo.app.Tabs) AWT-EventQueue-0
10:49:21.748 RuntimeErrorEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
10:49:21.670 AddJobEvent (org.nlogo.window.ButtonWidget) AWT-EventQueue-0
10:49:21.577 InterfaceGlobalEvent (org.nlogo.app.InterfacePanel$2 (org.nlogo.window.SliderWidget)) AWT-EventQueue-0
10:49:21.577 PeriodicUpdateEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
10:49:21.561 InputBoxLoseFocusEvent (org.nlogo.window.ButtonWidget) AWT-EventQueue-0
10:49:21.372 InterfaceGlobalEvent (org.nlogo.app.InterfacePanel$2 (org.nlogo.window.SliderWidget)) AWT-EventQueue-0
10:49:21.372 PeriodicUpdateEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
10:49:21.169 InterfaceGlobalEvent (org.nlogo.app.InterfacePanel$2 (org.nlogo.window.SliderWidget)) AWT-EventQueue-0

Next, I tried "LOGOTIME" instead of "ALL", which works fine:
set micsimlist []
set micsimlist time:ts-get-range transitions time:create "2000-01-01 00:00:00" time:create "2010-12-31 23:59:00" "LOGOTIME"
This gives me the list
observer: [{{time:logotime 2000-02-19 01:01:53.697}} {{time:logotime 2000-04-06 03:00:20.023}} {{time:logotime 2000-09-12 00:37:29.114}}...

I now tried to go over this list with foreach:

foreach micsimlist [time:schedule-event one-of turtles with [id = time:ts-get transitions (time:create ? ) "ID" ] task [set newtransition time:ts-get transitions ( time:create ? ) "newstate" perform-transition ] time:create ?]

This is the error I get:
Extension exception: Expected this input to be a string but got the TimeExtension$LogoTime {{time:logotime 2000-02-19 01:01:53.697}} instead.
error while turtle 59 running TIME:CREATE
called by (command task from: procedure SCHEDULE-EVENTS)
called by procedure SCHEDULE-EVENTS
called by procedure GO
called by Button 'go'

Next, I tried leaving out the "time:create" before the "?".
foreach micsimlist [time:schedule-event one-of turtles with [id = time:ts-get transitions ? "ID" ] task [set newtransition time:ts-get transitions ? "newstate" perform-transition ] ?]

The scheduling seems to work, at least I do not get an error. However, when I try to run the model with time:go, the error I get is:

error (ArrayIndexOutOfBoundsException)
while observer running TIME:GO
called by procedure GO
called by Button 'go'

NetLogo is unable to supply you with more details about this error. Please report the problem
at https://github.com/NetLogo/NetLogo/issues, or to [email protected], and paste the
contents of this window into your report.

java.lang.ArrayIndexOutOfBoundsException: 0
at org.nlogo.nvm.Task$class.bindArgs(Task.scala:27)
at org.nlogo.nvm.CommandTask.bindArgs(Task.scala:65)
at org.nlogo.nvm.CommandTask.perform(Task.scala:74)
at TimeExtension$LogoSchedule.performScheduledTasks(TimeExtension.java:588)
at TimeExtension$LogoSchedule.performScheduledTasks(TimeExtension.java:548)
at TimeExtension$Go.perform(TimeExtension.java:1544)
at org.nlogo.prim._extern.perform(_extern.java:54)
at org.nlogo.nvm.Context.stepConcurrent(Context.java:91)
at org.nlogo.nvm.ConcurrentJob.step(ConcurrentJob.java:82)
at org.nlogo.job.JobThread.org$nlogo$job$JobThread$$runPrimaryJobs(JobThread.scala:143)
at org.nlogo.job.JobThread$$anonfun$run$1.apply$mcV$sp(JobThread.scala:78)
at org.nlogo.job.JobThread$$anonfun$run$1.apply(JobThread.scala:76)
at org.nlogo.job.JobThread$$anonfun$run$1.apply(JobThread.scala:76)
at scala.util.control.Exception$Catch.apply(Exception.scala:88)
at org.nlogo.util.Exceptions$.handling(Exceptions.scala:41)
at org.nlogo.job.JobThread.run(JobThread.scala:75)

NetLogo 5.0.4
main: org.nlogo.app.AppFrame
thread: JobThread
Java HotSpot(TM) Server VM 1.6.0_41 (Sun Microsystems Inc.; 1.6.0_41-b02)
operating system: Windows 7 6.1 (x86 processor)
Scala version 2.9.2
JOGL: (3D View not initialized)
OpenGL Graphics: (3D View not initialized)
model: MicsimKombi5

11:21:14.656 SwitchedTabsEvent (org.nlogo.app.Tabs) AWT-EventQueue-0
11:21:14.640 RuntimeErrorEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
11:21:14.640 AddJobEvent (org.nlogo.window.ButtonWidget) AWT-EventQueue-0
11:21:14.515 InputBoxLoseFocusEvent (org.nlogo.window.ButtonWidget) AWT-EventQueue-0
11:21:14.515 InterfaceGlobalEvent (org.nlogo.app.InterfacePanel$2 (org.nlogo.window.SliderWidget)) AWT-EventQueue-0
11:21:14.515 PeriodicUpdateEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
11:21:14.313 InterfaceGlobalEvent (org.nlogo.app.InterfacePanel$2 (org.nlogo.window.SliderWidget)) AWT-EventQueue-0
11:21:14.313 PeriodicUpdateEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
11:21:14.110 InterfaceGlobalEvent (org.nlogo.app.InterfacePanel$2 (org.nlogo.window.SliderWidget)) AWT-EventQueue-0
11:21:14.110 PeriodicUpdateEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0

I also tried "time:create[0,?]" and "[0,?]"; both did not work, either.

I really don't know what I'm doing wrong. I would be extremely grateful for any kind of help.
I have Netlogo 5.0.4. and Windows 7.

Best wishes
Anna

Option to disable console output? [enhancement]

Hi,
I'm back with another issue.
Is it possible that there was a change in the output to the console between version 1.1.1 and 1.2.1? I'll explain:

Under version 1.1.1, this example code would execute in around 5 seconds on my system (with "normal speed", "view updates" and "continuous" selected). No output was written to the console.

extensions [time]

globals[
time-start
time-current
]

to setup
clear-all
reset-ticks

set time-start time:create "2000-12-31"
set time-current time:anchor-to-ticks time-start 1.0 "days"
time:anchor-schedule time-start 1.0 "days"

time:schedule-repeating-event-with-period "observer" task do-daily 1 1.0 "days"

create-turtles 20
end

to go-until
time:go-until time:create "2099-12-31"
end

; daily schedule
to do-daily
ask turtles
[ rt random 30
lt random 60
fd 1
]
end

Under version 1.2.1, exactly the same code with the same Netlogo settings would take around 5 minutes to execute, because for each tick, the following output to the console is created:

"performing event-id: 0 for agent: null at tick:XXXXX " (with XXXXX being the current tick number)

While this might be an extreme example with a total of around 38000 ticks, it's not that far from a real life model. In our case for example, model execution with version 1.1.1 was around 2-3 seconds, and now with version 1.2.1 it's around 90 seconds.

Do you think it would be possible to somehow implement an option to disable console output for the time extension? Or maybe an option to write it into a text file instead the console?

Internal error on Windows using 5.04 trying to open mousetrap example

Hi Colin,

I get the error below when I try to run mouse trap example model:

NetLogo is unable to supply you with more details about this error. Please report the problem
at https://github.com/NetLogo/NetLogo/issues, or to [email protected], and paste the
contents of this window into your report.

java.lang.reflect.InvocationTargetException
at java.awt.EventQueue.invokeAndWait(EventQueue.java:1086)
at java.awt.EventQueue.invokeAndWait(EventQueue.java:1063)
at org.nlogo.awt.EventQueue$.invokeAndWait(EventQueue.scala:19)
at org.nlogo.swing.ModalProgressTask$Boss.run(ModalProgressTask.scala:50)
Caused by: java.lang.NoClassDefFoundError: org/nlogo/agent/AgentSet$Iterator
at TimeExtension.(TimeExtension.java:63)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:357)
at java.lang.Class.newInstance(Class.java:310)
at org.nlogo.workspace.ExtensionManager.getClassManager(ExtensionManager.java:402)
at org.nlogo.workspace.ExtensionManager.importExtension(ExtensionManager.java:171)
at org.nlogo.parse.StructureParser$$anonfun$parseAll$1.apply(StructureParser.scala:72)
at org.nlogo.parse.StructureParser$$anonfun$parseAll$1.apply(StructureParser.scala:71)
at scala.collection.immutable.List.foreach(List.scala:318)
at org.nlogo.parse.StructureParser$.parseAll(StructureParser.scala:71)
at org.nlogo.parse.Parser$class.frontEndHelper(Parser.scala:44)
at org.nlogo.compile.Compiler$.frontEndHelper(Compiler.scala:11)
at org.nlogo.compile.Compiler$.compile(Compiler.scala:25)
at org.nlogo.compile.Compiler$.compileProgram(Compiler.scala:15)
at org.nlogo.window.CompilerManager.compileProcedures(CompilerManager.scala:74)
at org.nlogo.window.CompilerManager.compileAll(CompilerManager.scala:54)
at org.nlogo.window.CompilerManager.handle(CompilerManager.scala:43)
at org.nlogo.window.Events$LoadEndEvent.beHandledBy(Events.scala:210)
at org.nlogo.window.Event.doRaise(Event.java:189)
at org.nlogo.window.Event.raise(Event.java:113)
at org.nlogo.window.ModelLoader$Loader$$anonfun$loadHelper$1.apply(ModelLoader.scala:103)
at org.nlogo.window.ModelLoader$Loader$$anonfun$loadHelper$1.apply(ModelLoader.scala:103)
at scala.collection.immutable.List.foreach(List.scala:318)
at org.nlogo.window.ModelLoader$Loader.loadHelper(ModelLoader.scala:103)
at org.nlogo.window.ModelLoader$.load(ModelLoader.scala:16)
at org.nlogo.window.ModelLoader.load(ModelLoader.scala)
at org.nlogo.app.FileMenu$1.run(FileMenu.java:689)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:672)
at java.awt.EventQueue.access$400(EventQueue.java:81)
at java.awt.EventQueue$2.run(EventQueue.java:633)
at java.awt.EventQueue$2.run(EventQueue.java:631)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:642)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
at java.awt.Dialog$1.run(Dialog.java:1052)
at java.awt.Dialog$3.run(Dialog.java:1104)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:1102)
at java.awt.Component.show(Component.java:1591)
at java.awt.Component.setVisible(Component.java:1543)
at java.awt.Window.setVisible(Window.java:843)
at java.awt.Dialog.setVisible(Dialog.java:987)
at org.nlogo.swing.ModalProgressTask$.apply(ModalProgressTask.scala:41)
at org.nlogo.swing.ModalProgressTask.apply(ModalProgressTask.scala)
at org.nlogo.app.FileMenu.openFromMap(FileMenu.java:699)
at org.nlogo.app.FileMenu.openFromSource(FileMenu.java:671)
at org.nlogo.app.FileMenu.openFromPath(FileMenu.java:625)
at org.nlogo.app.App$$anonfun$open$1.apply$mcV$sp(App.scala:829)
at org.nlogo.app.App$$anonfun$open$1.apply(App.scala:829)
at org.nlogo.app.App$$anonfun$open$1.apply(App.scala:829)
at org.nlogo.app.App.dispatchThreadOrBust(App.scala:1046)
at org.nlogo.app.App.open(App.scala:829)
at org.nlogo.app.App.loadDefaultModel(App.scala:526)
at org.nlogo.app.App.org$nlogo$app$App$$finishStartup(App.scala:460)
at org.nlogo.app.App$$anonfun$main$3.apply$mcV$sp(App.scala:162)
at org.nlogo.swing.Implicits$$anon$17.run(Implicits.scala:13)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:672)
at java.awt.EventQueue.access$400(EventQueue.java:81)
at java.awt.EventQueue$2.run(EventQueue.java:633)
at java.awt.EventQueue$2.run(EventQueue.java:631)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:642)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.ClassNotFoundException: org.nlogo.agent.AgentSet$Iterator
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:627)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 77 more

NetLogo 5.1.0-M1
main: org.nlogo.app.AppFrame
thread: AWT-EventQueue-0
Java HotSpot(TM) Server VM 1.6.0_41 (Sun Microsystems Inc.; 1.6.0_41-b02)
operating system: Windows 7 6.1 (x86 processor)
Scala version 2.10.1
JOGL: (3D View not initialized)
OpenGL Graphics: (3D View not initialized)
model: MousetrapDiscreteEvents

12:01:38.924 RemoveAllJobsEvent (org.nlogo.window.CompilerManager) AWT-EventQueue-0
12:01:38.892 LoadEndEvent (org.nlogo.window.ModelLoader$Loader (java.lang.Object)) AWT-EventQueue-0
12:01:38.892 LoadSectionEvent (org.nlogo.window.ModelLoader$Loader (java.lang.Object)) AWT-EventQueue-0
12:01:38.891 LoadSectionEvent (org.nlogo.window.ModelLoader$Loader (java.lang.Object)) AWT-EventQueue-0
12:01:38.891 LoadSectionEvent (org.nlogo.window.ModelLoader$Loader (java.lang.Object)) AWT-EventQueue-0
12:01:38.891 LoadSectionEvent (org.nlogo.window.ModelLoader$Loader (java.lang.Object)) AWT-EventQueue-0
12:01:38.887 LoadSectionEvent (org.nlogo.window.ModelLoader$Loader (java.lang.Object)) AWT-EventQueue-0
12:01:38.886 LoadSectionEvent (org.nlogo.window.ModelLoader$Loader (java.lang.Object)) AWT-EventQueue-0
12:01:38.883 WidgetAddedEvent (org.nlogo.window.PlotWidget) AWT-EventQueue-0
12:01:38.869 WidgetAddedEvent (org.nlogo.window.InputBoxWidget) AWT-EventQueue-0

documentation

ts-add
ts-write
ts-create

logoschedule is now hidden and need not be stored

time:ts-load doesn't close file after execution?

Hi Colin,

Thanks for fixing the issues I've submitted in such a fast way! :)

I just ran into a strange problem, and I'm not sure if this is an issue with the time extension or rather with my lack of NetLogo experience. I created a minimal working example of the problem (it maybe doesn't sound completely logical what I want to do, but in our model, it makes sense):

extensions [time]

globals [
ts
]

to setup
clear-all

if (file-exists? "test.csv") [file-delete "test.csv"]
file-open "test.csv"
file-print "date,value1"
file-print "2020-01-01,5"
file-print "2020-01-02,10"
file-close

file-open "test.csv"
print file-read-line
file-close

;set ts time:ts-load "test.csv"
;print ts
end

Like this, it works as intended: test.csv is created and can then be opened. Pressing setup multiple times repeats this procedure without error.

Now, when I uncomment the last 2 lines, something strange happens:
The first time I press "setup", the code works. The second time I press setup, there's an error from "if (file-exists? "test.csv") [file-delete "test.csv"]", saying "deletion failed".
When I try to delete the file with Windows Explorer, I get the error "The action can't be completed because the file is open in NetLogo5.1.0.exe".

After closing and opening NetLogo or pressing "halt" on the GUI, I can again press setup once before I get the error.

Is it possible that "time:ts-load" doesn't properly close the connection to the file after the import is finished?

ts-add-row fails poorly

when the logotime is a DATE and you try to add a DATETIME if throws a null pointer exception instead of a helpful error.

View schedule

A feature to allow us to view the whole schedule would aid debugging.

Add series example

Steve worked up an example for the series input reader (see email on 7/6/2016), add to examples...

error (NullPointerException) with time:ts-get-range

When I use the primitive "time:ts-get-range" as follows :
let ts time:ts-load "File.csv"
let tslist time:ts-get-range ts time:create "2013/08/01" time:create "2013/11/01" "all"

I obtain the following error message :
error (NullPointerException)
while observer running _asm_proceduretest_setprocedurevariable_2
called by procedure TEST
called by Button 'test'

Here is an insight of my loaded file "File.csv" in Netlogo :
{{time:LogoTimeSeries TIMESTAMP,Date-2
2010-08-01 05:37:00.000,2010-08-01 18:21
2010-08-02 05:39:00.000,2010-08-02 18:19
2010-08-03 05:40:00.000,2010-08-03 18:18
2010-08-04 05:41:00.000,2010-08-04 18:17

My file .csv contains 93 rows and 2 columns.

Thank you very much for your help.

How to write a time-series to file?

I am struggling to write the snap log out to a file, in the absence of an export primitive. I tried using ts-get-range to make a list of entries, then file-print each entry. This would work if you transposed the list of lists it produces: if the top-level list contains the rows, and sublists are the columns. Then I could do this:

foreach time:ts-get-range snap-log start-time finish-time "ALL"
file-print (word (time:get "second" first ?) "," item 1 ? "," item 2 ?)

Installation Issue - i was wondering if you could advise? I am using in NL 5.0.4 so should be ok right?

NetLogo is unable to supply you with more details about this error. Please report the problem
at https://github.com/NetLogo/NetLogo/issues, or to [email protected], and paste the
contents of this window into your report.

java.lang.UnsupportedClassVersionError: TimeExtension : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:627)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at org.nlogo.workspace.ExtensionManager.getClassManager(ExtensionManager.java:404)
at org.nlogo.workspace.ExtensionManager.importExtension(ExtensionManager.java:170)
at org.nlogo.compiler.StructureParser.parseImport(StructureParser.scala:459)
at org.nlogo.compiler.StructureParser.parse(StructureParser.scala:196)
at org.nlogo.compiler.CompilerMain$.compile(CompilerMain.scala:25)
at org.nlogo.compiler.Compiler$.compileProgram(Compiler.scala:28)
at org.nlogo.window.CompilerManager.compileProcedures(CompilerManager.java:107)
at org.nlogo.window.CompilerManager.compileAll(CompilerManager.java:87)
at org.nlogo.window.CompilerManager.handle(CompilerManager.java:309)
at org.nlogo.window.Events$CompileAllEvent.beHandledBy(Events.java:175)
at org.nlogo.window.Event.doRaise(Event.java:198)
at org.nlogo.window.Event.raise(Event.java:122)
at org.nlogo.app.ProceduresTab.recompile(ProceduresTab.scala:125)
at org.nlogo.app.ProceduresTab.handle(ProceduresTab.scala:103)
at org.nlogo.app.Events$SwitchedTabsEvent.beHandledBy(Events.java:42)
at org.nlogo.window.Event.doRaise(Event.java:198)
at org.nlogo.window.Event.raise(Event.java:122)
at org.nlogo.app.Tabs.stateChanged(Tabs.scala:45)
at javax.swing.JTabbedPane.fireStateChanged(JTabbedPane.java:400)
at javax.swing.JTabbedPane$ModelListener.stateChanged(JTabbedPane.java:253)
at javax.swing.DefaultSingleSelectionModel.fireStateChanged(DefaultSingleSelectionModel.java:116)
at javax.swing.DefaultSingleSelectionModel.setSelectedIndex(DefaultSingleSelectionModel.java:50)
at javax.swing.JTabbedPane.setSelectedIndexImpl(JTabbedPane.java:599)
at javax.swing.JTabbedPane.setSelectedIndex(JTabbedPane.java:574)
at javax.swing.plaf.basic.BasicTabbedPaneUI$Handler.mousePressed(BasicTabbedPaneUI.java:3628)
at java.awt.Component.processMouseEvent(Component.java:6294)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3275)
at java.awt.Component.processEvent(Component.java:6062)
at java.awt.Container.processEvent(Container.java:2039)
at java.awt.Component.dispatchEventImpl(Component.java:4660)
at java.awt.Container.dispatchEventImpl(Container.java:2097)
at java.awt.Component.dispatchEvent(Component.java:4488)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4575)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4233)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4166)
at java.awt.Container.dispatchEventImpl(Container.java:2083)
at java.awt.Window.dispatchEventImpl(Window.java:2489)
at java.awt.Component.dispatchEvent(Component.java:4488)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:674)
at java.awt.EventQueue.access$400(EventQueue.java:81)
at java.awt.EventQueue$2.run(EventQueue.java:633)
at java.awt.EventQueue$2.run(EventQueue.java:631)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:647)
at java.awt.EventQueue$3.run(EventQueue.java:645)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:644)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

NetLogo 5.0.4
main: org.nlogo.app.AppFrame
thread: AWT-EventQueue-0
Java HotSpot(TM) Server VM 1.6.0_41 (Sun Microsystems Inc.; 1.6.0_41-b02)
operating system: Windows 7 6.1 (x86 processor)
Scala version 2.9.2
JOGL: (3D View not initialized)
OpenGL Graphics: (3D View not initialized)
model: Untitled

02:30:24.254 RemoveAllJobsEvent (org.nlogo.window.CompilerManager) AWT-EventQueue-0
02:30:24.254 CompileAllEvent (org.nlogo.app.MainProceduresTab) AWT-EventQueue-0
02:30:24.254 SwitchedTabsEvent (org.nlogo.app.Tabs) AWT-EventQueue-0
02:30:24.093 PeriodicUpdateEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
02:30:23.893 PeriodicUpdateEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
02:30:23.693 PeriodicUpdateEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
02:30:23.493 PeriodicUpdateEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
02:30:23.293 PeriodicUpdateEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
02:30:23.093 PeriodicUpdateEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
02:30:22.893 PeriodicUpdateEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0

TimeExample.nlogo generates runtime error with NullPointerException

program crashes on the following line, both in 5.1 and 5.2 RC3:
set tick-day time:anchor-to-ticks t-day 3 "months"

error (NullPointerException)
while observer running SET
called by procedure SETUP
called by Button 'setup'

NetLogo is unable to supply you with more details about this error. Please report the problem
at https://github.com/NetLogo/NetLogo/issues, or to [email protected], and paste the
contents of this window into your report.

java.lang.NullPointerException
at TimeExtension$LogoTime.show(TimeExtension.java:974)
at TimeExtension$LogoTime.(TimeExtension.java:712)
at TimeExtension$Anchor.report(TimeExtension.java:1444)
at org.nlogo.prim._externreport.report(_externreport.java:50)
at org.nlogo.prim._asm_proceduresetup_setobservervariable_91.perform()
at org.nlogo.nvm.Context.stepConcurrent(Context.java:91)
at org.nlogo.nvm.ConcurrentJob.step(ConcurrentJob.java:82)
at org.nlogo.job.JobThread.org$nlogo$job$JobThread$$runPrimaryJobs(JobThread.scala:143)
at org.nlogo.job.JobThread$$anonfun$run$1.apply$mcV$sp(JobThread.scala:78)
at org.nlogo.job.JobThread$$anonfun$run$1.apply(JobThread.scala:76)
at org.nlogo.job.JobThread$$anonfun$run$1.apply(JobThread.scala:76)
at scala.util.control.Exception$Catch.apply(Exception.scala:88)
at org.nlogo.util.Exceptions$.handling(Exceptions.scala:41)
at org.nlogo.job.JobThread.run(JobThread.scala:75)

NetLogo 5.2-RC3
main: org.nlogo.app.AppFrame
thread: JobThread
Java HotSpot(TM) Server VM 1.6.0_45 (Sun Microsystems Inc.; 1.6.0_45-b06)
operating system: Windows 7 6.1 (x86 processor)
Scala version 2.9.2
JOGL: (3D View not initialized)
OpenGL Graphics: (3D View not initialized)
model: TimeExampleorig

08:39:05.049 SwitchedTabsEvent (org.nlogo.app.Tabs) AWT-EventQueue-0
08:39:05.045 RuntimeErrorEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
08:39:05.044 PeriodicUpdateEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
08:39:05.042 OutputEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
08:39:05.039 OutputEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
08:39:05.037 OutputEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
08:39:05.034 OutputEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
08:39:05.032 OutputEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
08:39:05.030 OutputEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
08:39:05.028 OutputEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0

fast create prims

make three new prims:

create-datetime
create-date
create-day

which all have a single acceptable format (e.g. "yyyy-mm-ddTHH:MM:SS.SSS") which avoid the cumbersome parsing necessary to accommodate a wide range of user friendly formats.

schedule observer

if possible, allow user to schedule the observer to execute a task... preferably using a keyword (like "observer") instead of making a new primative

time:go creates NullPointerException error

My code:

extensions [
  time
]

to setup
  ca
  create-turtles 5
  time:schedule-event turtles (task fd) 10
  time:schedule-event (turtle 1) (task fd) 5
end

The error that appears both in NetLogo 5.0.4 and 5.2:

error (NullPointerException)
 while observer running TIME:GO
  called by procedure GO
  called by Button 'go'

NetLogo is unable to supply you with more details about this error.  Please report the problem
at https://github.com/NetLogo/NetLogo/issues, or to [email protected], and paste the
contents of this window into your report.

java.lang.NullPointerException
 at TimeExtension$LogoSchedule.performScheduledTasks(TimeExtension.java:593)
 at TimeExtension$LogoSchedule.performScheduledTasks(TimeExtension.java:578)
 at TimeExtension$Go.perform(TimeExtension.java:1655)
 at org.nlogo.prim._extern.perform(_extern.java:54)
 at org.nlogo.nvm.Context.stepConcurrent(Context.java:91)
 at org.nlogo.nvm.ConcurrentJob.step(ConcurrentJob.java:82)
 at org.nlogo.job.JobThread.org$nlogo$job$JobThread$$runPrimaryJobs(JobThread.scala:143)
 at org.nlogo.job.JobThread$$anonfun$run$1.apply$mcV$sp(JobThread.scala:78)
 at org.nlogo.job.JobThread$$anonfun$run$1.apply(JobThread.scala:76)
 at org.nlogo.job.JobThread$$anonfun$run$1.apply(JobThread.scala:76)
 at scala.util.control.Exception$Catch.apply(Exception.scala:88)
 at org.nlogo.util.Exceptions$.handling(Exceptions.scala:41)
 at org.nlogo.job.JobThread.run(JobThread.scala:75)

NetLogo 5.0.4
main: org.nlogo.app.AppFrame
thread: JobThread
Java HotSpot(TM) 64-Bit Server VM 1.6.0_65 (Apple Inc.; 1.6.0_65-b14-466.1-11M4716)
operating system: Mac OS X 10.10.5 (x86_64 processor)
Scala version 2.9.2
JOGL: (3D View not initialized)
OpenGL Graphics: (3D View not initialized)
model: DES test 5.0.4

04:14:41.545 SwitchedTabsEvent (org.nlogo.app.Tabs) AWT-EventQueue-0
04:14:41.542 RuntimeErrorEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
04:14:41.542 PeriodicUpdateEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
04:14:41.542 AddJobEvent (org.nlogo.window.ButtonWidget) AWT-EventQueue-0
04:14:41.399 InputBoxLoseFocusEvent (org.nlogo.window.ButtonWidget) AWT-EventQueue-0
04:14:41.374 PeriodicUpdateEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
04:14:41.174 PeriodicUpdateEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
04:14:40.973 PeriodicUpdateEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
04:14:40.745 JobRemovedEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) JobThread
04:14:40.701 PeriodicUpdateEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0

folder name of time extension

hello,

just started using your time extension - really great job!

not really a bug and you might have decided to do it this way but when you unzip the folder it is named with the revision number of the release. this means when you add the time extension you either include the release number or change the folder name.

...the error netlogo gives might be confusing for some as it just says time extension needs to be downloaded.

cheers, howard

time:schedule-event-shuffled is useless when using with non-agentsets

Hello!
First of all: Thank you for this great extension!

I am scheduling a task for several turtles to be executed at the same tick like so: time:schedule-event-shuffled turtle turtle-id task task-name ticks + 1
Unfortunately the tasks get executed in the order they have been added to the schedule and not in a shuffled order as intended.

Any solutions for this?

Unable to load csv files for unsaved models

The primitives ts-load and ts-load-with-format will not work unless the model has been saved. They report a root of NULL for the csv file. Running the primitive set-current-directory does not help.
This limits the use of this extension if running NetLogo through R (RNetLogo package).

to load-ts
set-current-directory "D:\Temp"
set ts time:ts-load-with-format "zczoodaily.csv" "yyyy/MM/dd HH:mm"
end

generates a Popup window:

Extension exception: null\zczoodaily.csv (The system cannot find the path specified)
error while observer running TIME:TS-LOAD-WITH-FORMAT
called by procedure LOAD-TS
called by Command Center

Change date format to match Excel's?

time extension seems to require dates in format YYYY-m-d, whereas Excel (at least the American versions) translates all date codes into format m/d/yyyy. So if you open a .csv time-series input file in Excel, edit and save it, it will not work in NetLogo unless you remember to reformat the dates before saving it. This is annoying.

Is it feasible to change the date format used by time?

task:go-shuffled for randomized order of executing tasks at a given time tick

Let's assume I have two agentsets A and B. A should execute a task at ticks = 0 and B at ticks = 3.
As I found out by trying the order of adding the agentsets to the schedule list is critical and there is no option to shuffle the list after adding both agentsets.

to setup-schedule
  time:schedule-event-shuffled agentsetA (task go) 0
  time:schedule-event-shuffled agentsetB (task go) 3
end

When the simulation starts I want to add individual turtles to the schedule list for a certain tick. Since adding them and shuffling the schedule list is not possible they get executed in the order they've been added to the schedule list.

task:go-shuffled or alternativeley making task:schedule-event-shuffled work for individual turtles would solve this problem (see #45).

Can't stop execution when there's a repeating event

I scheduled this:
; Schedule graphics updates once per tick, starting at tick 1.
; A check to keep the updates from happening eternally is in update-output
time:schedule-repeating-event "observer" task [ update-output ] 1.0 1.0

Then try to stop the schedule this way:

to update-output ; An Observer procedure scheduled once per tick
; First, stop the schedule if no more balls are in the air.
; In that case, the schedule contains only one event: the output update.
if time:size-of-schedule <= 1 [ time:clear-schedule ]

But the schedule keeps going forever. (even if I use <= 2, etc.)

Error message with "import-world"

Hello,

With the time extension, I obtain an error message when I import the state of the model with "import-world" in Netlogo:

NetLogo is unable to supply you with more details about this error. Please report the problem
at https://github.com/NetLogo/NetLogo/issues, or to [email protected], and paste the
contents of this window into your report.

java.lang.reflect.InvocationTargetException
at java.awt.EventQueue.invokeAndWait(Unknown Source)
at java.awt.EventQueue.invokeAndWait(Unknown Source)
at org.nlogo.awt.EventQueue$.invokeAndWait(EventQueue.scala:19)
at org.nlogo.swing.ModalProgressTask$Boss.run(ModalProgressTask.scala:50)
Caused by: java.lang.IllegalStateException: readExtensionObject not implemented for TimeExtension@dc45b95
at org.nlogo.api.DefaultClassManager.readExtensionObject(DefaultClassManager.scala:46)
at org.nlogo.workspace.ExtensionManager.readExtensionObject(ExtensionManager.java:513)

Thanks very much for your help.

Using time:go-until with LogoTime

Hi Colin,

Thanks for resolving the last issue that quickly!

Could you also have a look into this question: http://stackoverflow.com/questions/25060039/using-timego-until-in-netlogo-time-extension ?

Here's a copy of the question:

Using the NetLogo time extension on NetLogo 5.1.0 and Windows 8.1, I would like a simulation to stop either at a specific date, or after a specific period of time.

time:go-until should work for this according to the documentation on https://github.com/colinsheppard/time/#discrete-event-scheduler, but I can't figure out how to use it correctly. Here's what I have so far:

extensions [time]

globals[
start-time
current-time
]

to setup
clear-all
reset-ticks

set start-time time:create "2011-01-01"
set current-time time:anchor-to-ticks start-time 1.0 "days"
time:anchor-schedule start-time 1.0 "days"

create-turtles 2
time:schedule-repeating-event-with-period turtles task [fd 1] 1 1.0 "days"
end

to go-until
time:go-until 40
;time:go-until time:create "2011-03-01"
;time:go-until time:plus start-time 33.0 "days"
end

Like this, the sim runs for 40 ticks and then ends as expected. However, when I replace time:go-until 40 with either time:go-until time:create "2011-03-01" or time:go-until time:plus start-time 33.0 "days", I get this error at the start of the simulation:

Extension exception: time: was expecting a number as argument 1, found this instead: {{time:logotime 2011-03-01}}
error while observer running TIME:GO-UNTIL
called by procedure GO-UNTIL
called by Button 'go'

Here's an example from the documentation which should work correctly:

time:go-until time:plus t-datetime 1.0 "hour"
;; Execute events within the next hour; t-datetime is the current time.
What am I missing?

Daily and monthly tasks

Hi Colin,

I asked this question at Stackoverflow (http://stackoverflow.com/questions/25082203/discrete-event-scheduling-in-netlogo-daily-and-monthly-tasks) and it was suggested to report the issue here.
Here's the content of the question:

Using the NetLogo time extension on NetLogo 5.1.0 and Windows 8.1, I would like my simulation to

  • represent one day as one netlogo tick,
  • do some daily tasks,
  • do some monthly task on the first day of each month,
  • (do some yearly and decadal tasks, but that's not relevant for this question).

According to the time documentation, this should be possible:
"So if you use the time:plus primitive to add 1 month to the date "2012-02-02", you will get "2012- 03-02"; and if you add another month you get "2012-04-02" even though February and March have different numbers of days."

However, in my minimal working example below, the output of the print command in the console is 2011 January 2, 2011 February 2, 2011 March 5 and 2011 April 5.

So, how can I schedule a task on the some day each month?
Bonus question: How can I schedule the task in the first of each month (instead of the second)?

Here's the working example:

extensions [time]

globals[
start-time
current-time
]

to setup
clear-all
reset-ticks

set start-time time:create "2011-01-01"
set current-time time:anchor-to-ticks start-time 1.0 "days"
time:anchor-schedule start-time 1.0 "days"

;time:schedule-repeating-event-with-period "observer" task do-daily 1 1.0 "days"
time:schedule-repeating-event-with-period "observer" task do-monthly 1 1 "months"
go-until
end

to do-daily
; here are the daily tasks
end

to do-monthly
; here are the monthly tasks
print time:show current-time "yyyy MMMM d"
end

to go-until
time:go-until 100
end

Update ticks when events are scheduled at < 1 tick apart

Running the mousetrap model, I see that NetLogo's "ticks" (and the LogoTime variable to which ticks are anchored) are not being updated as events are executed. This problem occurs when events are scheduled at a fraction of a tick, not when each event takes > 1 tick. The tick counter seems to be updated fine when trap snaps are scheduled at random 20 seconds from now, but not when they are scheduled at random 0.2 seconds from now. (Vary the input mean-flight-time.) (You are familiar with the primitive "tick-advance"?)

Need a way to get just the times from a time-series

We do not currently seem to have a way to get just the times (col. 0) out of a time-series. (E.g., to histogram the times at which traps triggered.) Could it be as simple as defining a built-in name for col. 0 ("logotime" or something)?

[question ] compiling against 5.1.0 M2

Hello again,
I'd like to try to compile the time extension to work with the latest release of NetLogo (5.1.0 M2) ... because I would like to use the Model Runs extension too.

I think I should do this by following the instructions here: https://github.com/colinsheppard/time/#building but there's no NetLogoLite.jar in this release as far as I can see. Can you give me some instructions on how to try to compile the latest time code for M2?

Sorry to bother you again!

Howard

There are internal error!!!

NetLogo is unable to supply you with more details about this error. Please report the problem
at https://github.com/NetLogo/NetLogo/issues, or to [email protected], and paste the
contents of this window into your report.

java.lang.NoClassDefFoundError: org/joda/time/ReadablePartial
at TimeExtension$Plus.report(TimeExtension.java:1526)
at org.nlogo.prim._externreport.report(_externreport.java:50)
at org.nlogo.nvm.Argument.get(Argument.java:27)
at TimeExtension.getTimeFromArgument(TimeExtension.java:1326)
at TimeExtension.access$500(TimeExtension.java:40)
at TimeExtension$Show.report(TimeExtension.java:1480)
at org.nlogo.prim._externreport.report(_externreport.java:50)
at org.nlogo.prim.etc._monitorprecision.report(_monitorprecision.java:21)
at org.nlogo.prim.gui._updatemonitor.perform(_updatemonitor.scala:15)
at org.nlogo.nvm.Context.stepConcurrent(Context.java:91)
at org.nlogo.nvm.ConcurrentJob.step(ConcurrentJob.java:82)
at org.nlogo.job.JobThread.runSecondaryJobs(JobThread.scala:178)
at org.nlogo.job.JobThread.maybeRunSecondaryJobs(JobThread.scala:101)
at org.nlogo.job.JobThread$$anonfun$run$1.apply$mcV$sp(JobThread.scala:79)
at org.nlogo.job.JobThread$$anonfun$run$1.apply(JobThread.scala:76)
at org.nlogo.job.JobThread$$anonfun$run$1.apply(JobThread.scala:76)
at scala.util.control.Exception$Catch.apply(Exception.scala:88)
at org.nlogo.util.Exceptions$.handling(Exceptions.scala:41)
at org.nlogo.job.JobThread.run(JobThread.scala:75)
Caused by: java.lang.ClassNotFoundException: org.joda.time.ReadablePartial
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:814)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 19 more

NetLogo 5.3.1
main: org.nlogo.app.AppFrame
thread: AWT-EventQueue-0
Java HotSpot(TM) 64-Bit Server VM 1.8.0_74 (Oracle Corporation; 1.8.0_74-b02)
operating system: Windows 10 10.0 (amd64 processor)
Scala version 2.9.2
JOGL: (3D View not initialized)
OpenGL Graphics: (3D View not initialized)
model: EONOERS

01:36:03.780 JobRemovedEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) JobThread
01:36:03.780 JobRemovedEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) JobThread
01:36:03.780 JobRemovedEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) JobThread
01:36:03.780 JobRemovedEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) JobThread
01:36:03.780 JobRemovedEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) JobThread
01:36:03.621 AddSliderConstraintEvent (org.nlogo.app.InterfacePanel$2 (org.nlogo.window.SliderWidget)) AWT-EventQueue-0
01:36:03.621 AddBooleanConstraintEvent (org.nlogo.widget.SwitchWidget) AWT-EventQueue-0
01:36:03.610 AddSliderConstraintEvent (org.nlogo.app.InterfacePanel$2 (org.nlogo.window.SliderWidget)) AWT-EventQueue-0
01:36:03.610 AddSliderConstraintEvent (org.nlogo.app.InterfacePanel$2 (org.nlogo.window.SliderWidget)) AWT-EventQueue-0
01:36:03.610 AddSliderConstraintEvent (org.nlogo.app.InterfacePanel$2 (org.nlogo.window.SliderWidget)) AWT-EventQueue-0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.