McIDAS in script mode

Post any questions, ideas, or topics related to Jython and Python scripting.
Post Reply
User avatar
henryb
Posts: 41
Joined: Mon Oct 29, 2012 3:16 pm

McIDAS in script mode

Post by henryb »

Hi There,
we are having trouble running McIDAS in script mode on our Linux Server.
The following command runs fine in foreground:
runMcV -userpath /opt/surftweeter/mcv -bundle /opt/surftweeter/bundles/testNOAA.mcv

But when we load the bundle using jython script (in background with the following command)

runMcV -userpath /opt/surftweeter/mcv -nogui -debug -script /opt/surftweeter/bundles/makemovie.py

It takes about 20mins to load the bundle - and a few minutess to out put the images. In the log file theres loads of stuff about threads getting locked ?
Please see below: ( nb have also uploaded the full log)
I've tried everything ?

13:21:48.252 [MainThread] WARN ucar.unidata.idv.IdvManager - log: Error waiting for to be done:"Thread-135" ID:477 BLOCKED on java.lang.Object@ef1cdeb held by 368ActionThread-4 id:368
visad.ActionImpl.setEnabled(ActionImpl.java:337)
ucar.visad.display.DisplayMaster.setActive(DisplayMaster.java:2045)
ucar.visad.display.DisplayMaster.setDisplayInactive(DisplayMaster.java:1963)
ucar.visad.display.DisplayMaster.setDisplayables(DisplayMaster.java:735)
ucar.visad.display.DisplayMaster.addDisplayable(DisplayMaster.java:720)
ucar.unidata.idv.ViewManager.updateDisplayList(ViewManager.java:2797)
ucar.unidata.idv.ViewManager.fillLegendsInner(ViewManager.java:4319)
ucar.unidata.idv.ViewManager.fillLegendsLater(ViewManager.java:4305)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
ucar.unidata.util.Misc$2.run(Misc.java:1223)
ucar.unidata.util.Misc$3.run(Misc.java:1251)


"TimerQueue" ID:438 WAITING on javax.swing.TimerQueue@11c757a1
java.lang.Object.wait(Native Method)
javax.swing.TimerQueue.run(Unknown Source)
java.lang.Thread.run(Unknown Source)


"J3D-InputDeviceScheduler-1" ID:377 WAITING on javax.media.j3d.InputDeviceScheduler@3970a4fb
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
javax.media.j3d.J3dThread.runMonitor(J3dThread.java:291)
javax.media.j3d.J3dThread.run(J3dThread.java:273)


"J3D-SoundSchedulerUpdateThread-1" ID:376 WAITING on javax.media.j3d.StructureUpdateThread@39cc65b1
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
javax.media.j3d.J3dThread.runMonitor(J3dThread.java:307)
javax.media.j3d.J3dThread.run(J3dThread.java:276)


"J3D-RenderStructureUpdateThread-1" ID:375 WAITING on javax.media.j3d.StructureUpdateThread@52061eae
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
javax.media.j3d.J3dThread.runMonitor(J3dThread.java:307)
javax.media.j3d.J3dThread.run(J3dThread.java:276)


"J3D-BehaviorScheduler-1" ID:374 WAITING on javax.media.j3d.BehaviorScheduler@2af459a4
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
javax.media.j3d.J3dThread.runMonitor(J3dThread.java:307)
javax.media.j3d.J3dThread.run(J3dThread.java:276)


"J3D-TransformStructureUpdateThread-1" ID:373 WAITING on javax.media.j3d.StructureUpdateThread@115fae6
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
javax.media.j3d.J3dThread.runMonitor(J3dThread.java:307)
javax.media.j3d.J3dThread.run(J3dThread.java:276)


"J3D-RenderingEnvironmentStructureUpdateThread-1" ID:372 WAITING on javax.media.j3d.StructureUpdateThread@1cf1df22
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
javax.media.j3d.J3dThread.runMonitor(J3dThread.java:307)
javax.media.j3d.J3dThread.run(J3dThread.java:276)


"J3D-SoundStructureUpdateThread-1" ID:371 WAITING on javax.media.j3d.StructureUpdateThread@367b709b
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
javax.media.j3d.J3dThread.runMonitor(J3dThread.java:307)
javax.media.j3d.J3dThread.run(J3dThread.java:276)


"J3D-GeometryStructureUpdateThread-1" ID:370 WAITING on javax.media.j3d.StructureUpdateThread@1a74bd75
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
javax.media.j3d.J3dThread.runMonitor(J3dThread.java:307)
javax.media.j3d.J3dThread.run(J3dThread.java:276)


"J3D-BehaviorStructureUpdateThread-1" ID:369 WAITING on javax.media.j3d.StructureUpdateThread@e1bbc2f
java.lang.Object.wait(Native Method)
Attachments
mc.log
log file mcidas.log
(19.36 KiB) Downloaded 372 times
User avatar
Jon
Posts: 192
Joined: Fri Jan 09, 2009 8:44 pm
Location: Madison, WI

Re: McIDAS in script mode

Post by Jon »

Hello, Henry. I'm sorry to hear about the problem! Would it be possible for you to upload copies of your script and bundle? If that won't work, could you describe the general "workflow" of both?
User avatar
henryb
Posts: 41
Joined: Mon Oct 29, 2012 3:16 pm

Re: McIDAS in script mode

Post by henryb »

Hi Jon,
attached are both:
Many thanks
...
Attachments
mc.log
(19.36 KiB) Downloaded 379 times
makemovie.py
loads a bundle then outputs images
(2.87 KiB) Downloaded 388 times
testNOAA.mcv
simple bundle with view of HTSGW
(117.33 KiB) Downloaded 528 times
User avatar
mug_admin
Site Admin
Posts: 87
Joined: Thu Dec 18, 2008 9:31 pm

Re: McIDAS in script mode

Post by mug_admin »

Hi henryb,

Just a note that we moved this topic from the General Questions forum to the Scripting forum.
(You can find a listing of all the forums on the McIDAS-V Support Forums home page - http://mcidas.ssec.wisc.edu/forums/.)
User avatar
Jon
Posts: 192
Joined: Fri Jan 09, 2009 8:44 pm
Location: Madison, WI

Re: McIDAS in script mode

Post by Jon »

Hi Henry,

I apologize for the delayed reply. I was trying to replicate this over the weekend and didn't have much luck. :( I will keep trying, but in the meantime you may want to try the attached file (I just added a few "pause()" calls).

I tried using my own netcdf and shape files, but I was wondering if I could get copies of the following files if possible:

Code: Select all

/opt/surftweeter/ncdata/00000000/multi_1.glo_30mext00000000_00z.fill.nc
/opt/surftweeter/shoreline/GSHHS_f_L1.shp
Attachments
makemovie-modified.py
(2.88 KiB) Downloaded 385 times
User avatar
henryb
Posts: 41
Joined: Mon Oct 29, 2012 3:16 pm

Re: McIDAS in script mode

Post by henryb »

HI Jon,
I pretty sure the problem is with the graphics drivers.
We have the "nouveau" NVIDIA driver installed.
Which according to the manual is only 2D.

I loaded up the nouveau driver on my local machine and the 3D controls on the main display window were absent but I was still able to view 2D contour/wind plots. Is this expected behaviour ?
... Henry
User avatar
Jon
Posts: 192
Joined: Fri Jan 09, 2009 8:44 pm
Location: Madison, WI

Re: McIDAS in script mode

Post by Jon »

Interesting! I have to admit that I have not tested with the Nouveau driver before (but I will add it to my list)…but at first glance this behavior seems reasonable, given the lack of 3D support. Is there any particular reason you opted for Nouveau rather than NVIDIA's proprietary driver?

You may already be doing this, but one thing to try is using a "Java 2D" map display rather than a "Java 3D" map display. This can be done by simply opening the File > New Display Window > Misc > 2D Map Display or File > New Display Tab > Misc > 2D Map Display and seeing if that works for you.
Post Reply