CEMPD / VERDI

This is the repo for the VERDI project, written in java.
GNU General Public License v3.0
17 stars 13 forks source link

Domain Edit Me and Metadata under the dataset panel not working for MPAS file #27

Open lizadams opened 9 years ago

lizadams commented 9 years ago

This feature was de-activated and removed in VERDI when we removed the Edit Domain Pane on the Dataset Panel. Figure 6.9 in the user manual shows what should be displayed.

lizadams commented 8 years ago

9.3 Specify Domain Range Describes how the users were able to select a Domain Range prior to the VERDI 1.6.0 alpha release

lizadams commented 6 years ago

This appears to be working in for this version: VERDI_2.0_beta_mac_20181028.tar.gz There is a window re-sizing issue. You can expand the outer Dataset Metadata window, but the window that displays the text doesn't resize. This isn't a huge problem, as there are scroll bars within the interior window, so the user can find all of the data, but it would be preferable if the inner window expanded to the same extent as the outer window.

screen shot 2018-10-30 at 2 32 02 pm
lizadams commented 5 years ago

Using this version: VERDI_2.0_beta_linux64_20181112.tar.gz

Getting a null pointer exception if I try and edit the Domain Region prior to first creating a tile plot. [lizadams@killdevil-login1 VERDI_2.0_beta]$ ./verdi.sh -f /proj/ie/proj/CMAS/AMET/AMET_v14b/model_data/AQ/aqExample/COMBINE_DEP_CMAQv521_AMET_201607.nc Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: java.lang.NullPointerException at anl.verdi.gui.DomainPanel.addMapBackground(DomainPanel.java:259) at anl.verdi.gui.DomainPanel.editDomain(DomainPanel.java:455) at anl.verdi.gui.DomainPanel$1.actionPerformed(DomainPanel.java:148) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) The Domain > Edit Me button works fine and doesn't throw this error if a tile plot has first been created.

lizadams commented 5 years ago

I am getting an error when I try to use the "Metadata Me" button for the following dataset: t2m_only.nc (py36) Elizabeths-MacBook-Pro:VERDI_2.0_beta lizadams$ ./verdi.command

Error output: in netcdfdataset.java openDataset 1 arguments in netcdfdataset.java openDataset 3 arguments in netcdfdataset.java ready to return openDataset 5 arguments Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(ArrayList.java:635) at java.util.ArrayList.get(ArrayList.java:411) at anl.verdi.gui.DomainPanel.printInfo(DomainPanel.java:569) at anl.verdi.gui.DomainPanel.access$1(DomainPanel.java:563) at anl.verdi.gui.DomainPanel$2.actionPerformed(DomainPanel.java:169) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)

Note: I do not get this error for other datasets such as CCTM46_P16.baseO2a.36k.O3MAX For the CCTM dataset, the Metadata Me button on the Domain Panel works correctly and produces the following window that contains the metadata for the file.

screen shot 2018-12-12 at 2 11 17 pm
lizadams commented 5 years ago

using VERDI_2.0_beta_linux64_20190623.tar.gz testing with following script, confirmed metadata button isn't working for mpas file.

#!/bin/csh -f

#script for testing command line options

echo 'running verdi_script_mpas.csh'

foreach species ( t2m )
./verdi.sh \
         -f $cwd/data/model/t2m_only.nc \
         -s "${species}[1]" \
         -g tile \
 end

[lizadams@longleaf-login1 VERDI_2.0_beta]$ ./verdi_script_mpas.csh running verdi_script_mpas.csh in netcdfdataset.java openDataset 1 arguments in netcdfdataset.java openDataset 3 arguments in netcdfdataset.java ready to return openDataset 5 arguments Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(ArrayList.java:635) at java.util.ArrayList.get(ArrayList.java:411) at anl.verdi.gui.DomainPanel.printInfo(DomainPanel.java:569) at anl.verdi.gui.DomainPanel.access$1(DomainPanel.java:563) at anl.verdi.gui.DomainPanel$2.actionPerformed(DomainPanel.java:169) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6516) at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) at java.awt.Component.processEvent(Component.java:6281) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4872) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4698) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) at java.awt.Container.dispatchEventImpl(Container.java:2273) at java.awt.Window.dispatchEventImpl(Window.java:2719) at java.awt.Component.dispatchEvent(Component.java:4698) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:747) at java.awt.EventQueue.access$300(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:706) at java.awt.EventQueue$3.run(EventQueue.java:704) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87) at java.awt.EventQueue$4.run(EventQueue.java:720) at java.awt.EventQueue$4.run(EventQueue.java:718) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:717) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.run(EventDispatchThread.java:91) Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(ArrayList.java:635) at java.util.ArrayList.get(ArrayList.java:411) at anl.verdi.gui.DomainPanel.printInfo(DomainPanel.java:569) at anl.verdi.gui.DomainPanel.access$1(DomainPanel.java:563) at anl.verdi.gui.DomainPanel$2.actionPerformed(DomainPanel.java:169) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6516) at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) at java.awt.Component.processEvent(Component.java:6281) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4872) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4698) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) at java.awt.Container.dispatchEventImpl(Container.java:2273) at java.awt.Window.dispatchEventImpl(Window.java:2719) at java.awt.Component.dispatchEvent(Component.java:4698) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:747) at java.awt.EventQueue.access$300(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:706) at java.awt.EventQueue$3.run(EventQueue.java:704) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87) at java.awt.EventQueue$4.run(EventQueue.java:720) at java.awt.EventQueue$4.run(EventQueue.java:718) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:717) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

It should produce something like the output from ncdump -h ncdump -h t2m_only.nc lizadams@longleaf-login1 model]$ ncdump -h t2m_only.nc

netcdf t2m_only {
dimensions:
    nCells = 163842 ;
    nVertices = 327680 ;
    Time = UNLIMITED ; // (24 currently)
    maxEdges = 10 ;
    StrLen = 64 ;
variables:
    int indexToCellID(nCells) ;
    int indexToVertexID(nVertices) ;
    float latCell(nCells) ;
    float latVertex(nVertices) ;
    float lonCell(nCells) ;
    float lonVertex(nVertices) ;
    int nEdgesOnCell(nCells) ;
    float t2m(Time, nCells) ;
    int verticesOnCell(nCells, maxEdges) ;
    char xtime(Time, StrLen) ;

// global attributes:
        :model_name = "mpas" ;
        :core_name = "atmosphere" ;
        :source = "MPAS" ;
        :Conventions = "MPAS" ;
        :git_version = "unknown" ;
        :on_a_sphere = "YES" ;
        :sphere_radius = 6371229. ;
        :history = "mpirun -n 64 ./atmosphere_model" ;
        :parent_id = "" ;
        :mesh_spec = "" ;
        :config_time_integration = "SRK3" ;
        :config_dt = 150. ;
        :config_calendar_type = "gregorian" ;
        :config_start_time = "2013-07-01_00:00:00" ;
        :config_stop_time = "none" ;
        :config_run_duration = "31_00:00:00" ;
        :config_split_dynamics_transport = "YES" ;
        :config_number_of_sub_steps = 2 ;
        :config_dynamics_split_steps = 3 ;
        :config_h_mom_eddy_visc2 = 0. ;
        :config_h_mom_eddy_visc4 = 0. ;
        :config_v_mom_eddy_visc2 = 0. ;
        :config_h_theta_eddy_visc2 = 0. ;
        :config_h_theta_eddy_visc4 = 0. ;
        :config_v_theta_eddy_visc2 = 0. ;
        :config_horiz_mixing = "2d_smagorinsky" ;
        :config_len_disp = 25000. ;
        :config_visc4_2dsmag = 0.05 ;
        :config_del4u_div_factor = 1. ;
        :config_w_adv_order = 3 ;
        :config_theta_adv_order = 3 ;
        :config_scalar_adv_order = 3 ;
        :config_u_vadv_order = 3 ;
        :config_w_vadv_order = 3 ;
        :config_theta_vadv_order = 3 ;
        :config_scalar_vadv_order = 3 ;
        :config_scalar_advection = "YES" ;
        :config_positive_definite = "NO" ;
        :config_monotonic = "YES" ;
        :config_coef_3rd_order = 0.25 ;
        :config_mix_full = "YES" ;
        :config_epssm = 0.1 ;
        :config_smdiv = 0.1 ;
        :config_newpx = "NO" ;
        :config_apvm_upwinding = 0.5 ;
        :config_h_ScaleWithMesh = "YES" ;
        :config_num_halos = 2 ;
        :config_zd = 27000. ;
        :config_xnutr = 0.2 ;
        :config_restart_timestamp_name = "restart_timestamp" ;
        :config_pio_num_iotasks = 0 ;
        :config_pio_stride = 1 ;
        :config_block_decomp_file_prefix = "x4.163842.graph.info.part." ;
        :config_number_of_blocks = 0 ;
        :config_explicit_proc_decomp = "NO" ;
        :config_proc_decomp_file_prefix = "graph.info.part." ;
        :config_do_restart = "NO" ;
        :config_do_DAcycling = "NO" ;
        :config_print_global_minmax_vel = "YES" ;
        :config_print_global_minmax_sca = "NO" ;
        :input_soil_data = "STAS" ;
        :input_soil_temperature_lag = 140 ;
        :num_soil_layers = 4 ;
        :months = 12 ;
        :noznlev = 59 ;
        :naerlev = 29 ;
        :camdim1 = 4 ;
        :config_frac_seaice = "NO" ;
        :config_sfc_albedo = "YES" ;
        :config_sfc_snowalbedo = "YES" ;
        :config_sst_update = "YES" ;
        :config_sstdiurn_update = "NO" ;
        :config_deepsoiltemp_update = "NO" ;
        :config_o3climatology = "NO" ;
        :config_n_microp = 1 ;
        :config_radtlw_interval = "00:10:00" ;
        :config_radtsw_interval = "00:10:00" ;
        :config_conv_interval = "none" ;
        :config_pbl_interval = "none" ;
        :config_camrad_abs_update = "06:00:00" ;
        :config_greeness_update = "24:00:00" ;
        :config_bucket_update = "none" ;
        :config_physics_suite = "mesoscale_reference" ;
        :config_microp_scheme = "wsm6" ;
        :config_convection_scheme = "kain_fritsch" ;
        :config_fdda_scheme = "no_scaling" ;
        :config_fdda_t = "YES" ;
        :config_fdda_t_coef = 0.0003 ;
        :config_fdda_t_in_pbl = "NO" ;
        :config_fdda_t_min_layer = 0 ;
        :config_fdda_q = "YES" ;
        :config_fdda_q_coef = 3.e-05 ;
        :config_fdda_q_in_pbl = "NO" ;
        :config_fdda_q_min_layer = 0 ;
        :config_fdda_uv = "YES" ;
        :config_fdda_uv_coef = 0.0003 ;
        :config_fdda_uv_in_pbl = "NO" ;
        :config_fdda_uv_min_layer = 0 ;
        :config_lsm_scheme = "noah" ;
        :config_pbl_scheme = "ysu" ;
        :config_gwdo_scheme = "off" ;
        :config_radt_cld_scheme = "cld_fraction" ;
        :config_radt_lw_scheme = "rrtmg_lw" ;
        :config_radt_sw_scheme = "rrtmg_sw" ;
        :config_sfclayer_scheme = "monin_obukhov" ;
        :config_bucket_radt = 1000000000. ;
        :config_bucket_rainc = 100. ;
        :config_bucket_rainnc = 100. ;
        :file_id = "23qs2ldj3w" ;
}
lizadams commented 2 years ago

I am getting the same error with the VERDI_2.1 build (VERDI_2.1_mac_20211206.tar.gz)

using the script

!/bin/csh -f

script for testing command line options

echo 'running verdi_script_areal.csh' setenv verdi_dir /applications/VERDI_2.1 cd $verdi_dir

foreach species ( qv ) ./verdi.sh \ -f $verdi_dir/data/model/history_qv_only.2016-07-04_00UTC.nc \ -s "${species}[1]" \ -g tile

-quit

end

Run the script, then click on the Metadata Me button, and the following error output is generated, and no metadata is provided to the user. ~
./verdi_script_areal.csh running verdi_script_areal.csh OpenJDK 64-Bit Server VM warning: Option --illegal-access is deprecated and will be removed in a future release. in netcdfdataset.java openDataset 1 arguments in netcdfdataset.java openDataset 3 arguments in netcdfdataset.java ready to return openDataset 5 arguments Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0 at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64) at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70) at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266) at java.base/java.util.Objects.checkIndex(Objects.java:359) at java.base/java.util.ArrayList.get(ArrayList.java:427) at anl.verdi.gui.DomainPanel.printInfo(DomainPanel.java:569) at anl.verdi.gui.DomainPanel.access$1(DomainPanel.java:563) at anl.verdi.gui.DomainPanel$2.actionPerformed(DomainPanel.java:169) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6617) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342) at java.desktop/java.awt.Component.processEvent(Component.java:6382) at java.desktop/java.awt.Container.processEvent(Container.java:2264) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4993) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2322) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4825) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4934) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4563) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4504) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2308) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2773) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4825) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(AccessController.java:391) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743) at java.base/java.security.AccessController.doPrivileged(AccessController.java:391) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)