Skip to content

Commit deef8e7

Browse files
committed
commented print statement and added a Doc file.
1 parent 503d173 commit deef8e7

File tree

2 files changed

+120
-1
lines changed

2 files changed

+120
-1
lines changed
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
===================
2+
REVISIONS: (Jan 2022)
3+
===================
4+
5+
(1) Ability to change the REFINEMENT map resolution: (Gen_REFMAP.ncl)
6+
====================================================
7+
* The editor has a default resoultion (720,360) which gives
8+
a good balance between responsiveness and grid editing for
9+
less powerful compute/graphics environments. For some grids,
10+
this resolution is not adequate and a higher resoultion makes
11+
the process easier.
12+
When the VRM_Edior reads in a refinement map via the actions
13+
menu, the program adapts to the resolution of the map. This
14+
provides a means for changing from (720,360) to an alternate
15+
resolution.
16+
The NCL program Gen_REFMAP.ncl was added to make is easyier for
17+
users to change the resoution:
18+
19+
(1) Edit the NCL script to set the desired resolution and set
20+
the name of the default REFMAP file to be created.
21+
(2) Run the script. It generates a REFMAP with values all set to 0.
22+
(3) In VRM_Editor, Read in the new Refinememt Map via the actions
23+
menu.
24+
(4) Edit the higher resolution map just as for the default resolution.
25+
26+
27+
(2) Ability to save the Refinement Grid for manual editing
28+
==========================================================
29+
* When SquadGen is run, it creates a text file containing the refinement levels
30+
for each cube face. This file can be edited to tailor the grid refinements
31+
to the users needs and to fix blemishes in the grid.
32+
Once edited, the revised file is passed back as an argument to SQuadGen to
33+
create the EXODUS file. The VRM_Editor/Create_VRMgrid programs did not
34+
provide this functinality.
35+
36+
The Create_VRMgrid program, is equivalent to the SQuadGen but it is compatable
37+
with the VRM_Editoer program. Unlide SquadGen, it uses netCDF refinement maps
38+
instead of a PNG image and the grid rotations occur before refinement rather
39+
than after refinement.
40+
41+
To add the ability for users to manually edit grid cube values using
42+
VRM_Editor/Create_VRMgrid, an ability to write the text files was added
43+
to VRM_Editor and to read the text files was added to Create_VRMgrid.
44+
45+
Once a grid has been generated, A new option in the Action menu allows the
46+
user to save the text file containing the refinement levels on the
47+
base-resolution cube grid. The user can then edit the file as desired and pass
48+
it as an argument (along with the exact settings from the VRM_Editor) to
49+
Create_VRMgrid to generate the final EXODUS file.
50+
51+
52+
(3) Additional FILL options for Polygon Editor
53+
==========================================================
54+
* The Polygon editor now has 3 fill options:
55+
"Fill All" - The entire selected region is filled with the
56+
given Value.
57+
"Fill MaxVal" - Within the selected region The values are
58+
set to the Maximum of the given value and the
59+
current value in the refinement map.
60+
"Fill MinVal" - Within the selected region The values are
61+
set to the Minimum of the given value and the
62+
current value in the refinement map.
63+
64+
With these options, the user can make fine adjustments to the
65+
refinement map to remove blemishes in the grid and to clean up
66+
transition regions so they a uniform around the refinement region.
67+
68+
69+
(4) Additional FILL options for Rectangle Editor
70+
==========================================================
71+
* To be consistent with the Polygon editor, the same FILL
72+
options were added for the Rectangle editor.
73+
74+
75+
76+
77+
78+
===================
79+
KNOWN ISSUES:
80+
===================
81+
82+
(1) VRM_Editor crashes ~randomly~
83+
===================================
84+
* The pattern of failure is consistent with a memory leak
85+
problem. SQuagGen was not originally developed for interactive
86+
use, so it may not be releasing memory cleanly.
87+
But: the origin of the problem is unknown.
88+
89+
Update: Found that the user interface was too sensitive and, depending
90+
on the cursor input, generated a surious event to change the
91+
Grid_Type to Icosahedral just as the Generate_VarMesh button
92+
is clicked. Since that Grid_Type is not fully functional in
93+
SQuadGen, this caused a failure.
94+
95+
The interface was made less sensitive and the VRM_Editor is
96+
less prone to crashing.
97+
98+
* STILL FAILS: Though the program is more stable, the fix did not
99+
eliminate the failures completely. The SPRING smoothing
100+
code fails for certain (rare) combinations of grid rotations
101+
smoothing options.
102+
As the code processes grid line segements, each segment should have
103+
only two faces associated with it. At failure, it ends up with a
104+
segement with more than 2 faces associated with it.
105+
106+
107+
(2) Polar Grids are Cumbersome to edit
108+
=======================================
109+
* The Cylindrical view makes editing a bit cumbersome. Adding alternalte
110+
views (e.g. polar) for editing would be helpful.
111+
112+
113+
(3) Rotations Before and After Refinement
114+
=========================================
115+
* The grid rotations in VRM_Editor are done BEFORE refinement while the
116+
rotations in SQuadGen are done AFTER refinement. Being able to rotate
117+
the grid after the refinement in VRM_Editor may be useful for some
118+
applications.
119+

VRM_tools/VRM_Editor/src/vrmgrid.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ void VrmGrid::SetPolyVal(QPolygonF *I_poly, double I_val, const QString &I_FillM
349349
if(Lon < 0 ) {Lon += refineMapEdit.nRefLon; }
350350
if(Lon > (refineMapEdit.nRefLon-1)) {Lon -= refineMapEdit.nRefLon; }
351351

352-
std::cout << " SetPolyVal: I_FillMode = " << I_FillMode.toStdString() << std::endl;
352+
//DIAG std::cout << " SetPolyVal: I_FillMode = " << I_FillMode.toStdString() << std::endl;
353353
if(I_FillMode == "Fill All") {
354354
refineMapEdit.val[Lon][Lat] = I_val;
355355
} else if(I_FillMode == "Fill MaxVal") {

0 commit comments

Comments
 (0)