<p><b>ringler@lanl.gov</b> 2012-03-02 23:04:08 -0700 (Fri, 02 Mar 2012)</p><p><br>
a working version of the Leith turblence closure.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/leith/src/core_ocean/mpas_ocn_vel_hmix.F
===================================================================
--- branches/ocean_projects/leith/src/core_ocean/mpas_ocn_vel_hmix.F        2012-03-03 04:07:41 UTC (rev 1586)
+++ branches/ocean_projects/leith/src/core_ocean/mpas_ocn_vel_hmix.F        2012-03-03 06:04:08 UTC (rev 1587)
@@ -134,6 +134,7 @@
call mpas_timer_stop("leith", leithTimer)
err = ior(err1, err2)
+ err = ior(err, err3)
!--------------------------------------------------------------------
@@ -167,12 +168,14 @@
integer, intent(out) :: err !< Output: error flag
- integer :: err1, err2
+ integer :: err1, err2, err3
call ocn_vel_hmix_del2_init(err1)
call ocn_vel_hmix_del4_init(err2)
+ call ocn_vel_hmix_leith_init(err3)
err = ior(err1, err2)
+ err = ior(err, err3)
!--------------------------------------------------------------------
Modified: branches/ocean_projects/leith/src/core_ocean/mpas_ocn_vel_hmix_leith.F
===================================================================
--- branches/ocean_projects/leith/src/core_ocean/mpas_ocn_vel_hmix_leith.F        2012-03-03 04:07:41 UTC (rev 1586)
+++ branches/ocean_projects/leith/src/core_ocean/mpas_ocn_vel_hmix_leith.F        2012-03-03 06:04:08 UTC (rev 1587)
@@ -104,14 +104,12 @@
!
!-----------------------------------------------------------------
- integer :: iEdge, nEdgesSolve, vertex1, vertex2, cell1, cell2
- integer :: k
+ integer :: k, iEdge, nEdgesSolve, vertex1, vertex2
integer, dimension(:), pointer :: maxLevelEdgeTop
- integer, dimension(:,:), pointer :: cellsOnEdge, verticesOnEdge, edgeMask
+ integer, dimension(:,:), pointer :: verticesOnEdge, edgeMask
- real (kind=RKIND) :: u_diffusion, invLength1, invLength2
- real (kind=RKIND), dimension(:), pointer :: meshScalingLeith, &
- dcEdge, dvEdge
+ real (kind=RKIND) :: u_diffusion
+ real (kind=RKIND), dimension(:), pointer :: meshScalingLeith
!-----------------------------------------------------------------
!
@@ -125,22 +123,16 @@
nEdgesSolve = grid % nEdgesSolve
maxLevelEdgeTop => grid % maxLevelEdgeTop % array
- cellsOnEdge => grid % cellsOnEdge % array
verticesOnEdge => grid % verticesOnEdge % array
meshScalingLeith => grid % meshScalingLeith % array
edgeMask => grid % edgeMask % array
- dcEdge => grid % dcEdge % array
- dvEdge => grid % dvEdge % array
+ !write(0,*) ' min/max before Leith : ', minval(tend), maxval(tend)
+
do iEdge=1,nEdgesSolve
- cell1 = cellsOnEdge(1,iEdge)
- cell2 = cellsOnEdge(2,iEdge)
vertex1 = verticesOnEdge(1,iEdge)
vertex2 = verticesOnEdge(2,iEdge)
- invLength1 = 1.0 / dcEdge(iEdge)
- invLength2 = 1.0 / dvEdge(iEdge)
-
do k=1,maxLevelEdgeTop(iEdge)
u_diffusion = -leith_parameter**3 * leith_dx * meshScalingLeith(iEdge) * &
@@ -152,6 +144,10 @@
end do
end do
+ !write(0,*) ' min/max after Leith : ', minval(tend), maxval(tend)
+ !write(0,*) leith_parameter, leith_dx
+ !write(0,*) minval(meshScalingLeith), maxval(meshScalingLeith)
+
!--------------------------------------------------------------------
end subroutine ocn_vel_hmix_leith_tend!}}}
@@ -187,6 +183,7 @@
hmixLeithOn = .true.
leith_parameter = config_leith_parameter
leith_dx = config_leith_dx
+ write(0,*) ' Leith ', hmixLeithOn, leith_parameter, leith_dx
endif
</font>
</pre>