Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The error associated with layer_sum/layer_mean tile plots for unconventional 3D variables #352

Open
dkang2 opened this issue Oct 31, 2024 · 1 comment
Assignees

Comments

@dkang2
Copy link
Collaborator

dkang2 commented Oct 31, 2024

Describe the bug
The layer_sum/mean stats for VERDIv2.1.6 are nice additions, it works well with normal variables (col, row, layer, time), but when they are used for some unconventional variables such as CROPF and TREEF in the following file, it produced an error message when the layers range is selected. It works well with LANDUSEF, another similar variable.

To Reproduce
Steps to reproduce the behavior:

  1. verdi -f /work/MOD3DEV/dkj/Verdi/example_files/beld4_CMAQ12KM_2011.nc
  2. Click on "CROPF (Percent)[3]
  3. Click on "Use Layer Range", and choose any layer range (but if all layers are selected, it works), as show in the plot:
  4. See error
    image

The command line message:

024.10.31 14:19:49.192 [AWT-EventQueue-0] ERROR anl.verdi.core.VerdiApplication - Error while evaluating formula
java.lang.NullPointerException: Cannot invoke "ucar.nc2.dataset.CoordinateAxis.getDimension(int)" because the return value of "ucar.nc2.dataset.NetcdfDataset.findCoordinateAxis(String)" is null
at anl.verdi.loaders.GridNetcdfReader.getValues(GridNetcdfReader.java:68) ~[?:?]
at anl.verdi.loaders.GridNetcdfReader.getValues(GridNetcdfReader.java:1) ~[?:?]
at anl.verdi.formula.FormulaVariable.evaluate(FormulaVariable.java:78) ~[?:?]
at anl.verdi.formula.DefaultFormula.readData(DefaultFormula.java:86) ~[?:?]
at anl.verdi.formula.DefaultFormula.evaluate(DefaultFormula.java:275) ~[?:?]
at anl.verdi.core.VerdiApplication.evaluateFormula(VerdiApplication.java:446) ~[?:?]
at anl.verdi.core.VerdiApplication.evaluateFormula(VerdiApplication.java:396) ~[?:?]
at anl.verdi.plot.gui.action.FastTilePlot.actionPerformed(FastTilePlot.java:42) ~[?:?]
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972) ~[?:?]
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2314) ~[?:?]
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:407) ~[?:?]
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) ~[?:?]
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279) ~[?:?]
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297) ~[?:?]
at java.awt.Component.processMouseEvent(Component.java:6621) ~[?:?]
at javax.swing.JComponent.processMouseEvent(JComponent.java:3398) ~[?:?]
at java.awt.Component.processEvent(Component.java:6386) ~[?:?]
at java.awt.Container.processEvent(Container.java:2266) ~[?:?]
at java.awt.Component.dispatchEventImpl(Component.java:4996) ~[?:?]
at java.awt.Container.dispatchEventImpl(Container.java:2324) ~[?:?]
at java.awt.Component.dispatchEvent(Component.java:4828) ~[?:?]
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) ~[?:?]
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575) ~[?:?]
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) ~[?:?]
at java.awt.Container.dispatchEventImpl(Container.java:2310) ~[?:?]
at java.awt.Window.dispatchEventImpl(Window.java:2780) ~[?:?]
at java.awt.Component.dispatchEvent(Component.java:4828) ~[?:?]
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775) ~[?:?]
at java.awt.EventQueue$4.run(EventQueue.java:720) ~[?:?]
at java.awt.EventQueue$4.run(EventQueue.java:714) ~[?:?]
at java.security.AccessController.doPrivileged(AccessController.java:400) [?:?]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) ~[?:?]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98) ~[?:?]
at java.awt.EventQueue$5.run(EventQueue.java:747) ~[?:?]
at java.awt.EventQueue$5.run(EventQueue.java:745) ~[?:?]
at java.security.AccessController.doPrivileged(AccessController.java:400) [?:?]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) [?:?]
at java.awt.EventQueue.dispatchEvent(EventQueue.java:744) [?:?]
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) [?:?]
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) [?:?]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) [?:?]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) [?:?]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:?]
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) [?:?]

@yadongxuEPA
Copy link
Collaborator

Tested with VERDI_2.1.6_linux64_20241120.tar.gz on Atmos, confirmed that this issue has resolved.

testing_issue_352_build_20241120_1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants