fixed boundary issues in rhs_ph#1336
Conversation
|
@matzegoebel
the new statement will be |
|
@matzegoebel Are you saying that jtf is originally jde-1, but then we reduce it further? So effectively jtf=jde-3? |
Yes correct. I tried to make this a bit more clear in the commit message now. |
…1336) TYPE: bug fix KEYWORDS: geopotential, index, horizontal advection, open, specified SOURCE: Matthias Göbel (University of Innsbruck) DESCRIPTION OF CHANGES: When using advection order < 5 (h_sca_adv_order) and open or specified boundary conditions, the upper limits in the horizontal advection loops of geopotential are one too small. Let's look at the y-advection with advection order = 2, for instance and assume jte=jde. For open and specified BC the lower limit is increased by 1 from jds to jds+1, but the upper limit is decreased by 2 from jde-1 to jtf=jde-1-2=jde-3. It should be jtf=jde-2, however. Starting at line 2092 the jde-1 point is set, but the jde-2 point is not handled anywhere. The issue is analogous for x-advection and advection order = 4 (jtf=jde-4 instead of jtf=jde-3). For advection order >= 5, the limits are set correctly, because a different notation is used: jtf = min(jtf,jde-4) LIST OF MODIFIED FILES: dyn_em/module_big_step_utilities_em.F TESTING CONDUCTED: An LES case is used to test this change, with periodic y-boundaries and open x-boundaries, mean x-wind of 10 m/s, h_sca_adv_order=3, and north-south oriented cosine ridge in the center of the domain. Here is the perturbation geopotential after 1 minute integration at k=2:  and here the difference plot:  One can clearly see the higher geopotential in the new formulation at i=ide-3. This is the point where the horizontal advection is not carried out by the current algorithm. After 10 minutes it looks like this:   It passes all Jenkins tests too. RELEASE NOTES: When using advection order < 5 (namelist h_sca_adv_order), and either open or specified boundary conditions, the upper limit of the indexing in the horizontal advection loops of geopotential was previously incorrect. For horizontal advection order >= 5 (which is the default), the index limits are correct.




TYPE: bug fix
KEYWORDS: geopotential, index, horizontal advection, open, specified
SOURCE: Matthias Göbel (University of Innsbruck)
DESCRIPTION OF CHANGES:
When using advection order < 5 and open or specified boundary conditions, the upper limits in the horizontal advection loops of geopotential are one too small.
Let's look at the y-advection with advection order = 2, for instance and assume jte=jde. For open and specified BC the
lower limit is increased by 1 from jds to jds+1, but the upper limit is decreased by 2 from jde-1 to jtf=jde-1-2=jde-3. It should be jtf=jde-2, however. Starting at line 2092 the jde-1 point is set, but the jde-2 point is not handled anywhere.
The issue is analogous for x-advection and advection order = 4 (jtf=jde-4 instead of jtf=jde-3).
For advection order >= 5, the limits are set correctly, because a different notation is used: jtf = min(jtf,jde-4)
LIST OF MODIFIED FILES:
dyn_em/module_big_step_utilities_em.F
TESTING CONDUCTED:


I did an LES test case simulation, with periodic y-boundaries and open x-boundaries, mean x-wind of 10 m/s, h_sca_adv_order=3, and north-south oriented cosine ridge in the center of the domain.
Here is the perturbation geopotential after 1 minute integration at k=2:
and here the difference plot:
You can clearly see the higher geopotential in the new formulation at i=ide-3. This is the point where the horizontal advection is not carried out by the current algorithm.
After 10 minutes it looks like this:


RELEASE NOTES: When using advection order < 5, and either open or specified boundary conditions, the upper limit of the indexing in the horizontal advection loops of geopotential was previously incorrect. For horizontal advection order >= 5, the index limits were not incorrect.