<p><b>mpetersen@lanl.gov</b> 2012-03-27 10:31:27 -0600 (Tue, 27 Mar 2012)</p><p>Remove redundant loops to zero out velocity on land edges. This is accomplished using the edgeMask coefficient. Bit-for-bit match before and after, split exp and unsplit. (p84q,r)<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/gmvar/src/core_ocean/mpas_ocn_time_integration_split.F
===================================================================
--- branches/ocean_projects/gmvar/src/core_ocean/mpas_ocn_time_integration_split.F        2012-03-26 20:54:38 UTC (rev 1724)
+++ branches/ocean_projects/gmvar/src/core_ocean/mpas_ocn_time_integration_split.F        2012-03-27 16:31:27 UTC (rev 1725)
@@ -313,7 +313,7 @@
block % state % time_levs(2) % state % u % array(:,:) = block % state % time_levs(2) % state % uBcl % array(:,:)
do iEdge=1,block % mesh % nEdges
- do k=1,block % mesh % maxLevelEdgeTop % array(iEdge)
+ do k=1,block % mesh % nVertLevels
! uTranport = uBcl + uBolus
! This is u used in advective terms for h and tracers
@@ -324,9 +324,6 @@
+ block % state % time_levs(1) % state % uBolusGM % array(k,iEdge) )
enddo
- do k=block % mesh % maxLevelEdgeTop % array(iEdge)+1,block % mesh % nVertLevels
- block % state % time_levs(2) % state % uTransport % array(k,iEdge) = 0.0
- end do
end do ! iEdge
block => block % next
@@ -699,7 +696,7 @@
uCorr = ucorr_coef*(( block % state % time_levs(1) % state % FBtr % array(iEdge) - uhSum)/hSum)
- do k=1,block % mesh % maxLevelEdgeTop % array(iEdge)
+ do k=1,block % mesh % nVertLevels
! uTranport = uBtr + uBcl + uBolus + uCorrection
! This is u used in advective terms for h and tracers
@@ -712,9 +709,6 @@
+ uCorr )
enddo
- do k=block % mesh % maxLevelEdgeTop % array(iEdge)+1,block % mesh % nVertLevels
- block % state % time_levs(2) % state % uTransport % array(k,iEdge) = 0.0
- end do
end do ! iEdge
@@ -826,7 +820,7 @@
do iEdge=1,block % mesh % nEdges
- do k=1,block % mesh % maxLevelEdgeTop % array(iEdge)
+ do k=1,block % mesh % nVertLevels
! u = uBtr + uBcl
! here uBcl is at time n+1/2
@@ -837,9 +831,6 @@
+ block % state % time_levs(2) % state % uBcl % array(k,iEdge) )
enddo
- do k=block % mesh % maxLevelEdgeTop % array(iEdge)+1,block % mesh % nVertLevels
- block % state % time_levs(2) % state % u % array(k,iEdge) = 0.0
- end do
end do ! iEdge
</font>
</pre>