-
Notifications
You must be signed in to change notification settings - Fork 13
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
Tile plot for 3D grid data with layer mean or sum quantities shown in 2D space #345
Comments
I've tested on the mac for the dataset and cell that Yadong tested in Florida, and am observing the same issue with layer_mean using VERDI_2.1.5_mac_20240717.tar.gz.
I tried taking the layer sum at all of the cells next to cell, row (123, 43), and I can't find a mean that matches the reported value by VERDI. I was thinking that perhaps it was reporting the value for (124,44), but that doesn't seem to be the case. https://docs.google.com/spreadsheets/d/1-SSRXkJAY2tSXYQjCocoa8u-DPhPqp2mTz6PgEcqNl8/edit?gid=0#gid=0 |
I added the lightning dataset as a compressed file to help with future testing. CCTM_LTNGEMIS3D_WWLLNs_20160701.nc.gz |
In addition, the layer_mean seems no change over time steps, while the layer_sum changes with time steps. When the layer_mean and layer_sum functions are chosen, the Layer: option box at the top of the plot should be disabled. Please also test the values with different layer options (say from Layer 10 to Layer 15). |
Actually, it is the layer_mean option changes over time steps, but the layer_sum doesn't. |
Also noticed that when starting the 20240717 build, the following message is generated: |
Tested with VERDI_2.1.5_linux64_20240725.tar.gz on Atmos, found that this issue has partially resolved. Found that the "layer_mean" calculated values matched with the spot-checked values and "Layer" spinner was grayed-out when the "Stats" is selected at "layer_mean" and "layer_sum". But the following issues have not resolved: |
Just quickly tested the 20240731 build, the layersum stat is partially resolved with changing timesteps. However, when the Use Layer Range is selected, the values don't seem to change by changing different layers, for instance, set Min: 10 and Max: 20. The layer_sum and layer_mean values should respond to different selections of layer range. In addition, the title should change from "Layer 1 NO[1]" to Layer_mean or Layer_sum NO[layerX-layerY]. As I'm pondering with the plot, another feature would be to add the layer_sum and layer_mean as variables in the variables list such as NO_layer_sum_Lx-Ly. With this, if there is another file that contains the column values, the difference plots between the calculated stats (sum or mean) and the values from another file can be created. We can discuss more on our next meeting for clarification. In addition, the SLF4J problem is still there as before. |
Tested with VERDI_2.1.5_mac_20240824.tar.gz When I choose select layer range from 34-35, the top two layers in the model, and then select layer_sum or layer_mean, VERDI throws an error that I think is related to the off-by-one index issue. 2024.08.28 14:14:08.973 [AWT-EventQueue-0] ERROR anl.verdi.plot.gui.FastTilePlot - Error occurred during computing statistics It is looking for layer 33 instead of layer 34. Created a plot of NO, and then used Controls > Set Rows and Columns to a subdomain region: I can successfully use the statistics menu options of layer_mean and layer_sum if I create a tile plot without restricting the number of layers. I also noted that when you change the columns and rows to create a subdomain, the min and max on the legend do not change, to use a min and max over this subdomain region, so I changed the min, max values using configure plot. Note that the index of the cell value when not using statistics menu is correct. I then changed statistics to none, and recorded the value of NO in the grid cell for each layer (probing the grid cell after changing the layer) https://docs.google.com/spreadsheets/d/1en5RTdqVo228ENhsIJoqUghZ8OMNmP8AvDpXE7b7pg8/edit?usp=sharing However, due to problem with the grid cell indexing, the statistics don't work for a restricted number of layers. |
The 20240904 build partially solved the problem. When calculate the layer stats, some occasions work, some others don't. For example, if all the layers and when the min layer between 1-13, it works. As long as the min layer is selected above 14, the layer stats values become all 0s (both layer_sum and layer_mean). Without going through the layers, it is difficult to find out and the errors seem odd. |
Further check the "Use Layer Range", it seems even more weird: Here is the table the stats work (w) or not (x) To generalize the relationship, it holds: 2n - 1, that is for Min layer n, when the max layer is >= 2n - 1 the layer stats start to work, if the max layer is less than 2n - 1, it failed. For min layer = 1, it works for all layers, but for n = 2, it only fails when max layer is also 2, works all other layers. For n =5, it works when max is larger than 8. |
Yes, I got the same error message. Without doing any further, at the first step with the title plot, when layer_sum or layer_mean is selected, the error message occurs as Yadong reported. |
Tested the 20240925 build on Atmos with selections of different layer ranges, the layer_sum and layer_mean functions seem work correctly. I also did the probing test, and the values and grid cells matched with those shown at the bottom of plot panel. Though I haven't gone into the specific numbers with the layer stats, I think, in general, the issue is resolved. Waiting for more detailed tests and on other platforms and I'm confident that we are close to solving this issue. |
I just had a brief test for the 20240929 test on Atmos. For the Layer_Sum and Layer_Mean functions, the results still don't seem right (this time, I probe the numbers). For example, for Col 55 and Row 111, at timestep 1, the layer ranges from 20-25, when I added all the individual layer numbers, it gives me layer_sum of 59.697, while the plot shows 179.089 |
In addition, when going through the timesteps from 1-24 in the animation mode, if the values are probed, it changes every loop; the values are increasing incrementally. I guess that the calculation isn't done properly by separating the timesteps. |
Tested with VERDI_2.1.5_linux64_20240929.tar.gz on Atmos, found that this issue has not resolved. the "layer_sum" and "layer_mean" displayed incorrect values for user's layer range settings, the "layer_sum" and "layer_mean" values are even higher than those in 20240925 builds, thus they are far away from the correct values calculated from individual values at the probed grid-cell. |
Just tested the 20241007 build on Atmos, and it seems to me that the miscalculation of Layer_Sum and Layer_Mean has been corrected. The test was done only at one grid cell and one layer range, it should be tested further on other platforms and additional data points. It should work for other situations 👍 |
Tested the 20241009 build. It worked as expected and the title change looks great. Thank Tony for the quick turn-around. |
While using the newest build for my application, just found a minor issue with the color scale bar. The range of scales seem only calculated based on the first timestep for Layer_mean and Layer_sum values. When stepping forward in time, the scale bar doesn't change, but the max values can exceed the max value indicated by the scale bar. See the following screen shots: The scale should be based on the values across all the timesteps instead of just the first timestep as any other multiple timestep title plots. |
Tested the 20241011 build, the issue with the scale bar mentioned in the previous post has been resolved. |
But I noticed a minor issue in these builds, the probed time step and layer (displayed in the left corner) should start from 0, so they should always be -1 compared with the ones displayed at the top of the tile plot. This issue only occurs for "Statics" set at "None", other statics (like 'layer_sum', 'layer_mean' shown as above) are correct. |
Is your feature request related to a problem? Please describe.
Yes. When VERDI is used to visualized 3D tile plots, sometimes it is useful to be able to show the statistics (mean or sum) of the vertical layers (all or a number of layers).
For example, when shown the 3D lightning NO emissions in the following plot:
Right now, it can display the tile plots for any individual layer by changing the Layer number. However, it would be useful, if it can compute the mean or total of all or some of the layers for each grid cell and display it as a tile plot.
Describe the solution you'd like
The "Use Layer Range" panel can be used to choose all or some of the layers, and the "Stats" box can provide the function option of either "mean" or "sum", but in this case, it would generate the mean or sum of the vertical layers as chosen from the "Use Layer Range" panel for each grid cell and generate a tile plot for that stat.
Describe alternatives you've considered
None
Additional context
Refer to the screenshot image from VERDI.
The text was updated successfully, but these errors were encountered: