The code that advances um and vm when l_predict_upwp_vpwp is turned off (as found in advance_windm_edsclrm) was accessing the ghost point in one spot. I rewrote it in the exact way the code in the clubb_ghost_exorcism branch is written so that it makes the same calculation without referencing the ghost point.
I also rewrote a couple stats by outputting a value of 0 at the ghost point to maintain stat consistency between the master and the ghost exorcism branch.
This commit is BIT_CHANGING, but only when the l_predict_upwp_vpwp flag is set to false (which is not the case by default).
It was discovered that the location where the ghost point values of um and vm were set equal to their respective values at the first thermodynamic level above the surface was not ideal. Their assignment occurred before the love nudge (l_uv_nudge). Then, the love nudge came along and altered their values so that um(1) no longer equaled um(2) -- and analogous for vm(1) and vm(2) -- for a half dozen cases. In addition to making the code inconsistent, it also caused bit-for-bitness differences between the master and clubb_ghost_exorcism branches. For those reasons, this BIT_CHANGING commit is being made.
It was discovered that the location where the ghost point values of um and vm were set equal to their respective values at the first thermodynamic level above the surface was not ideal. Their assignment occurred before the love nudge (l_uv_nudge). Then, the love nudge came along and altered their values so that um(1) no longer equaled um(2) -- and analogous for vm(1) and vm(2) -- for a half dozen cases. In addition to making the code inconsistent, it also caused bit-for-bitness differences between the master and clubb_ghost_exorcism branches. For those reasons, this BIT_CHANGING commit is being made.