<p><b>dwj07@fsu.edu</b> 2013-04-01 14:21:51 -0600 (Mon, 01 Apr 2013)</p><p><br>
        -- BRANCH COMMIT --<br>
<br>
        Changing variable names:<br>
        h -> layerThickness<br>
        h_edge -> layerThicknessEdge<br>
        h_vertex -> layerThicknessVertex<br>
<br>
        Validates against trunk (layerThickness vs. h). Input files need variable change of h to layerThickness<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/variable_name_change/src/core_ocean/Registry.xml
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/Registry.xml        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/Registry.xml        2013-04-01 20:21:51 UTC (rev 2690)
@@ -576,7 +576,7 @@
                <var name="u" type="real" dimensions="nVertLevels nEdges Time" streams="ir" units="m s^{-1}"
                 description="horizonal velocity, normal component to an edge"
                />
-                <var name="h" type="real" dimensions="nVertLevels nCells Time" streams="iro" units="m"
+                <var name="layerThickness" type="real" dimensions="nVertLevels nCells Time" streams="iro" units="m"
                 description="layer thickness"
                />
                <var name="rho" type="real" dimensions="nVertLevels nCells Time" streams="iro" units="kg m^{-3}"
@@ -648,10 +648,10 @@
                <var name="Vor_edge" type="real" dimensions="nVertLevels nEdges Time" units="s^{-1}"
                 description="vorticity averaged from vertices to edges"
                />
-                <var name="h_edge" type="real" dimensions="nVertLevels nEdges Time" units="m"
+                <var name="layerThicknessEdge" type="real" dimensions="nVertLevels nEdges Time" units="m"
                 description="layer thickness averaged from cell center to edges"
                />
-                <var name="h_vertex" type="real" dimensions="nVertLevels nVertices Time" units="m"
+                <var name="layerThicknessVertex" type="real" dimensions="nVertLevels nVertices Time" units="m"
                 description="layer thickness averaged from cell center to vertices"
                />
                <var name="ke" type="real" dimensions="nVertLevels nCells Time" streams="o" units="m^2 s^{-2}"
@@ -1047,7 +1047,7 @@
                <var name="tend_u" type="real" dimensions="nVertLevels nEdges Time" units="m s^{-2}" name_in_code="u"
                 description="time tendency of normal component of velocity"
                />
-                <var name="tend_h" type="real" dimensions="nVertLevels nCells Time" units="m s^{-1}" name_in_code="h"
+                <var name="tend_layerThickness" type="real" dimensions="nVertLevels nCells Time" units="m s^{-1}" name_in_code="layerThickness"
                 description="time tendency of layer thickness"
                />
                <var name="tend_ssh" type="real" dimensions="nCells Time" units="m s^{-1}" name_in_code="ssh"
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_diagnostics.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_diagnostics.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_diagnostics.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -92,14 +92,14 @@
verticesOnCell, edgeSignOnVertex, edgeSignOnCell, edgesOnCell
real (kind=RKIND) :: d2fdx2_cell1, d2fdx2_cell2, coef_3rd_order, r_tmp, &
- invAreaCell1, invAreaCell2, invAreaTri1, invAreaTri2, invLength, h_vertex, coef
+ invAreaCell1, invAreaCell2, invAreaTri1, invAreaTri2, invLength, layerThicknessVertex, coef
real (kind=RKIND), dimension(:), allocatable:: pTop, div_hu
real (kind=RKIND), dimension(:), pointer :: &
bottomDepth, fVertex, dvEdge, dcEdge, areaCell, areaTriangle, ssh, seaSurfacePressure
real (kind=RKIND), dimension(:,:), pointer :: &
- weightsOnEdge, kiteAreasOnVertex, h_edge, h, u, v, pressure,&
+ weightsOnEdge, kiteAreasOnVertex, layerThicknessEdge, layerThickness, u, v, pressure,&
circulation, vorticity, ke, ke_edge, MontPot, wTop, zMid, &
Vor_edge, Vor_vertex, Vor_cell, gradVor_n, gradVor_t, divergence, &
rho, rhoDisplaced, temperature, salinity, kev, kevc, uBolusGM, uTransport, &
@@ -107,12 +107,12 @@
real (kind=RKIND), dimension(:,:,:), pointer :: tracers, deriv_two
character :: c1*6
- h => s % h % array
+ layerThickness => s % layerThickness % array
u => s % u % array
uTransport => s % uTransport % array
uBolusGM => s % uBolusGM % array
v => s % v % array
- h_edge => s % h_edge % array
+ layerThicknessEdge => s % layerThicknessEdge % array
circulation => s % circulation % array
vorticity => s % vorticity % array
divergence => s % divergence % array
@@ -174,18 +174,18 @@
!
! Compute height on cell edges at velocity locations
- ! Namelist options control the order of accuracy of the reconstructed h_edge value
+ ! Namelist options control the order of accuracy of the reconstructed layerThicknessEdge value
!
- ! initialize h_edge to avoid divide by zero and NaN problems.
- h_edge = -1.0e34
+ ! initialize layerThicknessEdge to avoid divide by zero and NaN problems.
+ layerThicknessEdge = -1.0e34
coef_3rd_order = config_coef_3rd_order
do iEdge=1,nEdges
cell1 = cellsOnEdge(1,iEdge)
cell2 = cellsOnEdge(2,iEdge)
do k=1,maxLevelEdgeTop(iEdge)
- h_edge(k,iEdge) = 0.5 * (h(k,cell1) + h(k,cell2))
+ layerThicknessEdge(k,iEdge) = 0.5 * (layerThickness(k,cell1) + layerThickness(k,cell2))
end do
end do
@@ -194,7 +194,7 @@
! used -1e34 so error clearly occurs if these values are used.
!
u(:,nEdges+1) = -1e34
- h(:,nCells+1) = -1e34
+ layerThickness(:,nCells+1) = -1e34
tracers(s % index_temperature,:,nCells+1) = -1e34
tracers(s % index_salinity,:,nCells+1) = -1e34
@@ -227,7 +227,7 @@
r_tmp = dvEdge(iEdge) * u(k, iEdge) * invAreaCell1
divergence(k, iCell) = divergence(k, iCell) - edgeSignOnCell(i, iCell) * r_tmp
- div_hu(k) = div_hu(k) - h_edge(k, iEdge) * edgeSignOnCell(i, iCell) * r_tmp
+ div_hu(k) = div_hu(k) - layerThicknessEdge(k, iEdge) * edgeSignOnCell(i, iCell) * r_tmp
ke(k, iCell) = ke(k, iCell) + 0.25 * r_tmp * dcEdge(iEdge) * u(k,iEdge)
end do
end do
@@ -300,13 +300,13 @@
do iVertex = 1,nVertices
invAreaTri1 = 1.0 / areaTriangle(iVertex)
do k=1,maxLevelVertexBot(iVertex)
- h_vertex = 0.0
+ layerThicknessVertex = 0.0
do i=1,vertexDegree
- h_vertex = h_vertex + h(k,cellsOnVertex(i,iVertex)) * kiteAreasOnVertex(i,iVertex)
+ layerThicknessVertex = layerThicknessVertex + layerThickness(k,cellsOnVertex(i,iVertex)) * kiteAreasOnVertex(i,iVertex)
end do
- h_vertex = h_vertex * invAreaTri1
+ layerThicknessVertex = layerThicknessVertex * invAreaTri1
- Vor_vertex(k,iVertex) = (fCoef*fVertex(iVertex) + vorticity(k,iVertex)) / h_vertex
+ Vor_vertex(k,iVertex) = (fCoef*fVertex(iVertex) + vorticity(k,iVertex)) / layerThicknessVertex
end do
end do
@@ -400,10 +400,10 @@
! At top layer it is g*SSH, where SSH may be off by a
! constant (ie, bottomDepth can be relative to top or bottom)
MontPot(1,iCell) = gravity &
- * (bottomDepth(iCell) + sum(h(1:nVertLevels,iCell)))
+ * (bottomDepth(iCell) + sum(layerThickness(1:nVertLevels,iCell)))
do k=2,nVertLevels
- pTop(k) = pTop(k-1) + rho(k-1,iCell)*gravity* h(k-1,iCell)
+ pTop(k) = pTop(k-1) + rho(k-1,iCell)*gravity* layerThickness(k-1,iCell)
! from delta M = p delta / rho
MontPot(k,iCell) = MontPot(k-1,iCell) &
@@ -420,12 +420,12 @@
! Pressure at top surface may be due to atmospheric pressure
! or an ice-shelf depression.
pressure(1,iCell) = seaSurfacePressure(iCell) + rho(1,iCell)*gravity &
- * 0.5*h(1,iCell)
+ * 0.5*layerThickness(1,iCell)
do k=2,maxLevelCell(iCell)
pressure(k,iCell) = pressure(k-1,iCell) &
- + 0.5*gravity*( rho(k-1,iCell)*h(k-1,iCell) &
- + rho(k ,iCell)*h(k ,iCell))
+ + 0.5*gravity*( rho(k-1,iCell)*layerThickness(k-1,iCell) &
+ + rho(k ,iCell)*layerThickness(k ,iCell))
end do
! Compute zMid, the z-coordinate of the middle of the layer.
@@ -433,12 +433,12 @@
! Note the negative sign, since bottomDepth is positive
! and z-coordinates are negative below the surface.
k = maxLevelCell(iCell)
- zMid(k:nVertLevels,iCell) = -bottomDepth(iCell) + 0.5*h(k,iCell)
+ zMid(k:nVertLevels,iCell) = -bottomDepth(iCell) + 0.5*layerThickness(k,iCell)
do k=maxLevelCell(iCell)-1, 1, -1
zMid(k,iCell) = zMid(k+1,iCell) &
- + 0.5*( h(k+1,iCell) &
- + h(k ,iCell))
+ + 0.5*( layerThickness(k+1,iCell) &
+ + layerThickness(k ,iCell))
end do
end do
@@ -466,7 +466,7 @@
! Note the negative sign, since bottomDepth is positive
! and z-coordinates are negative below the surface.
- ssh(iCell) = - bottomDepth(iCell) + sum(h(1:maxLevelCell(iCell),iCell))
+ ssh(iCell) = - bottomDepth(iCell) + sum(layerThickness(1:maxLevelCell(iCell),iCell))
end do
@@ -494,7 +494,7 @@
!> cell.
!
!-----------------------------------------------------------------------
- subroutine ocn_wtop(grid,h,h_edge,u,wTop, err)!{{{
+ subroutine ocn_wtop(grid,layerThickness,layerThicknessEdge,u,wTop, err)!{{{
!-----------------------------------------------------------------
!
@@ -506,10 +506,10 @@
grid !< Input: grid information
real (kind=RKIND), dimension(:,:), intent(in) :: &
- h !< Input: thickness
+ layerThickness !< Input: thickness
real (kind=RKIND), dimension(:,:), intent(in) :: &
- h_edge !< Input: h interpolated to an edge
+ layerThicknessEdge !< Input: layerThickness interpolated to an edge
real (kind=RKIND), dimension(:,:), intent(in) :: &
u !< Input: transport
@@ -532,7 +532,7 @@
!-----------------------------------------------------------------
integer :: iEdge, iCell, iVertex, k, cell1, cell2, vertex1, vertex2, eoe, i, j, cov
- real (kind=RKIND) :: flux, vorticity_abs, h_vertex, workpv, rho0Inv, hSum, invAreaCell
+ real (kind=RKIND) :: flux, vorticity_abs, layerThicknessVertex, workpv, rho0Inv, hSum, invAreaCell
integer :: nCells, nEdges, nVertices, nVertLevels, vertexDegree
@@ -589,15 +589,15 @@
iEdge = edgesOnCell(i, iCell)
do k = 1, maxLevelEdgeBot(iEdge)
- flux = h_edge(k, iEdge) * u(k, iEdge) * dvEdge(iEdge) * edgeSignOnCell(i, iCell) * invAreaCell
+ flux = layerThicknessEdge(k, iEdge) * u(k, iEdge) * dvEdge(iEdge) * edgeSignOnCell(i, iCell) * invAreaCell
div_hu(k) = div_hu(k) - flux
div_hu_btr = div_hu_btr - flux
end do
end do
do k = 1, maxLevelCell(iCell)
- h_tend_col(k) = - vertCoordMovementWeights(k) * h(k, iCell) * div_hu_btr
- hSum = hSum + vertCoordMovementWeights(k) * h(k, iCell)
+ h_tend_col(k) = - vertCoordMovementWeights(k) * layerThickness(k, iCell) * div_hu_btr
+ hSum = hSum + vertCoordMovementWeights(k) * layerThickness(k, iCell)
end do
if(hSum > 0.0) then
@@ -700,13 +700,13 @@
integer :: iEdge, k, nEdges
real (kind=RKIND) :: vertSum, uhSum, hSum
- real (kind=RKIND), dimension(:,:), pointer :: h_edge, u
+ real (kind=RKIND), dimension(:,:), pointer :: layerThicknessEdge, u
integer, dimension(:), pointer :: maxLevelEdgeTop
call mpas_timer_start("ocn_filter_btr_mode_u")
u => s % u % array
- h_edge => s % h_edge % array
+ layerThicknessEdge => s % layerThicknessEdge % array
maxLevelEdgeTop => grid % maxLevelEdgeTop % array
nEdges = grid % nEdges
@@ -715,12 +715,12 @@
! hSum is initialized outside the loop because on land boundaries
! maxLevelEdgeTop=0, but I want to initialize hSum with a
! nonzero value to avoid a NaN.
- uhSum = h_edge(1,iEdge) * u(1,iEdge)
- hSum = h_edge(1,iEdge)
+ uhSum = layerThicknessEdge(1,iEdge) * u(1,iEdge)
+ hSum = layerThicknessEdge(1,iEdge)
do k=2,maxLevelEdgeTop(iEdge)
- uhSum = uhSum + h_edge(k,iEdge) * u(k,iEdge)
- hSum = hSum + h_edge(k,iEdge)
+ uhSum = uhSum + layerThicknessEdge(k,iEdge) * u(k,iEdge)
+ hSum = hSum + layerThicknessEdge(k,iEdge)
enddo
vertSum = uhSum/hSum
@@ -754,14 +754,14 @@
integer :: iEdge, k, nEdges
real (kind=RKIND) :: vertSum, uhSum, hSum
- real (kind=RKIND), dimension(:,:), pointer :: h_edge, tend_u
+ real (kind=RKIND), dimension(:,:), pointer :: layerThicknessEdge, tend_u
integer, dimension(:), pointer :: maxLevelEdgeTop
call mpas_timer_start("ocn_filter_btr_mode_tend_u")
tend_u => tend % u % array
- h_edge => s % h_edge % array
+ layerThicknessEdge => s % layerThicknessEdge % array
maxLevelEdgeTop => grid % maxLevelEdgeTop % array
nEdges = grid % nEdges
@@ -770,12 +770,12 @@
! hSum is initialized outside the loop because on land boundaries
! maxLevelEdgeTop=0, but I want to initialize hSum with a
! nonzero value to avoid a NaN.
- uhSum = h_edge(1,iEdge) * tend_u(1,iEdge)
- hSum = h_edge(1,iEdge)
+ uhSum = layerThicknessEdge(1,iEdge) * tend_u(1,iEdge)
+ hSum = layerThicknessEdge(1,iEdge)
do k=2,maxLevelEdgeTop(iEdge)
- uhSum = uhSum + h_edge(k,iEdge) * tend_u(k,iEdge)
- hSum = hSum + h_edge(k,iEdge)
+ uhSum = uhSum + layerThicknessEdge(k,iEdge) * tend_u(k,iEdge)
+ hSum = hSum + layerThicknessEdge(k,iEdge)
enddo
vertSum = uhSum/hSum
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_global_diagnostics.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_global_diagnostics.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_global_diagnostics.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -24,7 +24,7 @@
! timeIndex is the current time step counter
! dt is the duration of each time step
- ! Sums of variables at vertices are not weighted by thickness (since h is not known at
+ ! Sums of variables at vertices are not weighted by thickness (since layerThickness is not known at
! vertices as it is at cell centers and at edges).
implicit none
@@ -46,7 +46,7 @@
real (kind=RKIND) :: volumeCellGlobal, volumeEdgeGlobal, CFLNumberGlobal, localCFL, localSum, areaCellGlobal, areaEdgeGlobal, areaTriangleGlobal
real (kind=RKIND), dimension(:), pointer :: areaCell, dcEdge, dvEdge, areaTriangle, areaEdge
- real (kind=RKIND), dimension(:,:), pointer :: h, u, v, h_edge, vorticity, ke, Vor_edge, Vor_vertex, &
+ real (kind=RKIND), dimension(:,:), pointer :: layerThickness, u, v, layerThicknessEdge, vorticity, ke, Vor_edge, Vor_vertex, &
Vor_cell, gradVor_n, gradVor_t, pressure, MontPot, wTop, rho, tracerTemp
real (kind=RKIND), dimension(:,:,:), pointer :: tracers
@@ -85,13 +85,13 @@
allocate(areaEdge(1:nEdgesSolve))
areaEdge = dcEdge(1:nEdgesSolve)*dvEdge(1:nEdgesSolve)
- h => state % h % array
+ layerThickness => state % layerThickness % array
u => state % u % array
rho => state % rho % array
tracers => state % tracers % array
v => state % v % array
wTop => state % wTop % array
- h_edge => state % h_edge % array
+ layerThicknessEdge => state % layerThicknessEdge % array
vorticity => state % vorticity % array
ke => state % ke % array
Vor_edge => state % Vor_edge % array
@@ -105,7 +105,7 @@
variableIndex = 0
! h
variableIndex = variableIndex + 1
- call ocn_compute_field_area_weighted_local_stats(dminfo, nVertLevels, nCellsSolve, areaCell(1:nCellsSolve), h(:,1:nCellsSolve), &
+ call ocn_compute_field_area_weighted_local_stats(dminfo, nVertLevels, nCellsSolve, areaCell(1:nCellsSolve), layerThickness(:,1:nCellsSolve), &
sums_tmp(variableIndex), mins_tmp(variableIndex), maxes_tmp(variableIndex), verticalSumMins_tmp(variableIndex), verticalSumMaxes_tmp(variableIndex))
sums(variableIndex) = sums(variableIndex) + sums_tmp(variableIndex)
mins(variableIndex) = min(mins(variableIndex), mins_tmp(variableIndex))
@@ -115,7 +115,7 @@
! u
variableIndex = variableIndex + 1
- call ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels, nEdgesSolve, areaEdge(1:nEdgesSolve), h_edge(:,1:nEdgesSolve), &
+ call ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels, nEdgesSolve, areaEdge(1:nEdgesSolve), layerThicknessEdge(:,1:nEdgesSolve), &
u(:,1:nEdgesSolve), sums_tmp(variableIndex), mins_tmp(variableIndex), maxes_tmp(variableIndex), verticalSumMins_tmp(variableIndex), &
verticalSumMaxes_tmp(variableIndex))
sums(variableIndex) = sums(variableIndex) + sums_tmp(variableIndex)
@@ -126,7 +126,7 @@
! v
variableIndex = variableIndex + 1
- call ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels, nEdgesSolve, areaEdge(1:nEdgesSolve), h_edge(:,1:nEdgesSolve), &
+ call ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels, nEdgesSolve, areaEdge(1:nEdgesSolve), layerThicknessEdge(:,1:nEdgesSolve), &
v(:,1:nEdgesSolve), sums_tmp(variableIndex), mins_tmp(variableIndex), maxes_tmp(variableIndex), verticalSumMins_tmp(variableIndex), &
verticalSumMaxes_tmp(variableIndex))
sums(variableIndex) = sums(variableIndex) + sums_tmp(variableIndex)
@@ -135,9 +135,9 @@
verticalSumMins(variableIndex) = min(verticalSumMins(variableIndex), verticalSumMins_tmp(variableIndex))
verticalSumMaxes(variableIndex) = max(verticalSumMaxes(variableIndex), verticalSumMaxes_tmp(variableIndex))
- ! h_edge
+ ! layerThicknessEdge
variableIndex = variableIndex + 1
- call ocn_compute_field_area_weighted_local_stats(dminfo, nVertLevels, nEdgesSolve, areaEdge(1:nEdgesSolve), h_edge(:,1:nEdgesSolve), &
+ call ocn_compute_field_area_weighted_local_stats(dminfo, nVertLevels, nEdgesSolve, areaEdge(1:nEdgesSolve), layerThicknessEdge(:,1:nEdgesSolve), &
sums_tmp(variableIndex), mins_tmp(variableIndex), maxes_tmp(variableIndex), verticalSumMins_tmp(variableIndex), verticalSumMaxes_tmp(variableIndex))
sums(variableIndex) = sums(variableIndex) + sums_tmp(variableIndex)
mins(variableIndex) = min(mins(variableIndex), mins_tmp(variableIndex))
@@ -171,7 +171,7 @@
! ke
variableIndex = variableIndex + 1
- call ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels, nCellsSolve, areaCell(1:nCellsSolve), h(:,1:nCellsSolve), &
+ call ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels, nCellsSolve, areaCell(1:nCellsSolve), layerThickness(:,1:nCellsSolve), &
ke(:,1:nCellsSolve), sums_tmp(variableIndex), mins_tmp(variableIndex), maxes_tmp(variableIndex), verticalSumMins_tmp(variableIndex), &
verticalSumMaxes_tmp(variableIndex))
sums(variableIndex) = sums(variableIndex) + sums_tmp(variableIndex)
@@ -182,7 +182,7 @@
! Vor_edge
variableIndex = variableIndex + 1
- call ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels, nEdgesSolve, areaEdge(1:nEdgesSolve), h_edge(:,1:nEdgesSolve), &
+ call ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels, nEdgesSolve, areaEdge(1:nEdgesSolve), layerThicknessEdge(:,1:nEdgesSolve), &
Vor_edge(:,1:nEdgesSolve), sums_tmp(variableIndex), mins_tmp(variableIndex), maxes_tmp(variableIndex), verticalSumMins_tmp(variableIndex), &
verticalSumMaxes_tmp(variableIndex))
sums(variableIndex) = sums(variableIndex) + sums_tmp(variableIndex)
@@ -204,7 +204,7 @@
! Vor_cell
variableIndex = variableIndex + 1
- call ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels, nCellsSolve, areaCell(1:nCellsSolve), h(:,1:nCellsSolve), &
+ call ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels, nCellsSolve, areaCell(1:nCellsSolve), layerThickness(:,1:nCellsSolve), &
Vor_cell(:,1:nCellsSolve), sums_tmp(variableIndex), mins_tmp(variableIndex), maxes_tmp(variableIndex), verticalSumMins_tmp(variableIndex), &
verticalSumMaxes_tmp(variableIndex))
sums(variableIndex) = sums(variableIndex) + sums_tmp(variableIndex)
@@ -215,7 +215,7 @@
! gradVor_n
variableIndex = variableIndex + 1
- call ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels, nEdgesSolve, areaEdge(1:nEdgesSolve), h_edge(:,1:nEdgesSolve), &
+ call ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels, nEdgesSolve, areaEdge(1:nEdgesSolve), layerThicknessEdge(:,1:nEdgesSolve), &
gradVor_n(:,1:nEdgesSolve), sums_tmp(variableIndex), mins_tmp(variableIndex), maxes_tmp(variableIndex), verticalSumMins_tmp(variableIndex), &
verticalSumMaxes_tmp(variableIndex))
sums(variableIndex) = sums(variableIndex) + sums_tmp(variableIndex)
@@ -226,7 +226,7 @@
! gradVor_t
variableIndex = variableIndex + 1
- call ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels, nEdgesSolve, areaEdge(1:nEdgesSolve), h_edge(:,1:nEdgesSolve), &
+ call ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels, nEdgesSolve, areaEdge(1:nEdgesSolve), layerThicknessEdge(:,1:nEdgesSolve), &
gradVor_t(:,1:nEdgesSolve), sums_tmp(variableIndex), mins_tmp(variableIndex), maxes_tmp(variableIndex), verticalSumMins_tmp(variableIndex), &
verticalSumMaxes_tmp(variableIndex))
sums(variableIndex) = sums(variableIndex) + sums_tmp(variableIndex)
@@ -237,7 +237,7 @@
! pressure
variableIndex = variableIndex + 1
- call ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels, nCellsSolve, areaCell(1:nCellsSolve), h(:,1:nCellsSolve), &
+ call ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels, nCellsSolve, areaCell(1:nCellsSolve), layerThickness(:,1:nCellsSolve), &
pressure(:,1:nCellsSolve), sums_tmp(variableIndex), mins_tmp(variableIndex), maxes_tmp(variableIndex), verticalSumMins_tmp(variableIndex), &
verticalSumMaxes_tmp(variableIndex))
sums(variableIndex) = sums(variableIndex) + sums_tmp(variableIndex)
@@ -248,7 +248,7 @@
! MontPot
variableIndex = variableIndex + 1
- call ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels, nCellsSolve, areaCell(1:nCellsSolve), h(:,1:nCellsSolve), &
+ call ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels, nCellsSolve, areaCell(1:nCellsSolve), layerThickness(:,1:nCellsSolve), &
MontPot(:,1:nCellsSolve), sums_tmp(variableIndex), mins_tmp(variableIndex), maxes_tmp(variableIndex), verticalSumMins_tmp(variableIndex), &
verticalSumMaxes_tmp(variableIndex))
sums(variableIndex) = sums(variableIndex) + sums_tmp(variableIndex)
@@ -259,7 +259,7 @@
! wTop vertical velocity
variableIndex = variableIndex + 1
- call ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels+1, nCellsSolve, areaCell(1:nCellsSolve), h(:,1:nCellsSolve), &
+ call ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels+1, nCellsSolve, areaCell(1:nCellsSolve), layerThickness(:,1:nCellsSolve), &
wTop(:,1:nCellsSolve), sums_tmp(variableIndex), mins_tmp(variableIndex), maxes_tmp(variableIndex), verticalSumMins_tmp(variableIndex), &
verticalSumMaxes_tmp(variableIndex))
sums(variableIndex) = sums(variableIndex) + sums_tmp(variableIndex)
@@ -273,7 +273,7 @@
do iTracer=1,num_tracers
variableIndex = variableIndex + 1
tracerTemp = Tracers(iTracer,:,1:nCellsSolve)
- call ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels, nCellsSolve, areaCell(1:nCellsSolve), h(:,1:nCellsSolve), &
+ call ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels, nCellsSolve, areaCell(1:nCellsSolve), layerThickness(:,1:nCellsSolve), &
tracerTemp, sums_tmp(variableIndex), mins_tmp(variableIndex), maxes_tmp(variableIndex), verticalSumMins_tmp(variableIndex), &
verticalSumMaxes_tmp(variableIndex))
sums(variableIndex) = sums(variableIndex) + sums_tmp(variableIndex)
@@ -350,7 +350,7 @@
volumeEdgeGlobal = sums(4)
! compute the averages (slightly different depending on how the sum was computed)
variableIndex = 0
- ! h
+ ! layerThickness
variableIndex = variableIndex + 1
averages(variableIndex) = sums(variableIndex)/(areaCellGlobal*nVertLevels)
@@ -362,7 +362,7 @@
variableIndex = variableIndex + 1
averages(variableIndex) = sums(variableIndex)/volumeEdgeGlobal
- ! h_edge
+ ! layerThicknessEdge
variableIndex = variableIndex + 1
averages(variableIndex) = sums(variableIndex)/(areaEdgeGlobal*nVertLevels)
@@ -544,7 +544,7 @@
end subroutine ocn_compute_field_thickness_weighted_local_stats!}}}
- subroutine ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels, nElements, areas, h, field, &!{{{
+ subroutine ocn_compute_field_volume_weighted_local_stats(dminfo, nVertLevels, nElements, areas, layerThickness, field, &!{{{
localSum, localMin, localMax, localVertSumMin, localVertSumMax)
implicit none
@@ -552,7 +552,7 @@
type (dm_info), intent(in) :: dminfo
integer, intent(in) :: nVertLevels, nElements
real (kind=RKIND), dimension(nElements), intent(in) :: areas
- real (kind=RKIND), dimension(nVertLevels, nElements), intent(in) :: h
+ real (kind=RKIND), dimension(nVertLevels, nElements), intent(in) :: layerThickness
real (kind=RKIND), dimension(nVertLevels, nElements), intent(in) :: field
real (kind=RKIND), intent(out) :: localSum, localMin, localMax, localVertSumMin, &
localVertSumMax
@@ -563,13 +563,13 @@
localSum = 0.0
do elementIndex = 1, nElements
- localSum = localSum + areas(elementIndex) * sum(h(:,elementIndex)*field(:,elementIndex))
+ localSum = localSum + areas(elementIndex) * sum(layerThickness(:,elementIndex)*field(:,elementIndex))
end do
localMin = minval(field)
localMax = maxval(field)
- localVertSumMin = minval(sum(h*field,1))
- localVertSumMax = maxval(sum(h*field,1))
+ localVertSumMin = minval(sum(layerThickness*field,1))
+ localVertSumMax = maxval(sum(layerThickness*field,1))
end subroutine ocn_compute_field_volume_weighted_local_stats!}}}
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_gm.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_gm.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_gm.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -35,13 +35,13 @@
type(state_type), intent(inout) :: s
type(mesh_type), intent(in) :: grid
- real(kind=RKIND), dimension(:,:), pointer :: uBolusGM, hEddyFlux, h_edge
+ real(kind=RKIND), dimension(:,:), pointer :: uBolusGM, hEddyFlux, layerThicknessEdge
integer, dimension(:), pointer :: maxLevelEdgeTop
integer :: k, iEdge, nEdges
uBolusGM => s % uBolusGM % array
- h_edge => s % h_edge % array
+ layerThicknessEdge => s % layerThicknessEdge % array
hEddyFlux => s % hEddyFlux % array
maxLevelEdgeTop => grid % maxLevelEdgeTop % array
@@ -54,7 +54,7 @@
do iEdge = 1, nEdges
do k = 1, maxLevelEdgeTop(iEdge)
- uBolusGM(k,iEdge) = hEddyFlux(k,iEdge)/h_edge(k,iEdge)
+ uBolusGM(k,iEdge) = hEddyFlux(k,iEdge)/layerThicknessEdge(k,iEdge)
end do
end do
@@ -72,14 +72,14 @@
type(state_type), intent(inout) :: s
type(mesh_type), intent(in) :: grid
- real(kind=RKIND), dimension(:,:), pointer :: hEddyFlux, h
+ real(kind=RKIND), dimension(:,:), pointer :: hEddyFlux, layerThickness
real(kind=RKIND), dimension(:), pointer :: dcEdge
integer, dimension(:,:), pointer :: cellsOnEdge
integer, dimension(:), pointer :: maxLevelEdgeTop
integer :: k, cell1, cell2, iEdge, nEdges
hEddyFlux => s % hEddyFlux % array
- h => s % h % array
+ layerThickness => s % layerThickness % array
dcEdge => grid % dcEdge % array
cellsOnEdge => grid % cellsOnEdge % array
@@ -94,7 +94,7 @@
cell1 = cellsOnEdge(1,iEdge)
cell2 = cellsOnEdge(2,iEdge)
do k=1,maxLevelEdgeTop(iEdge)
- hEddyFlux(k,iEdge) = -config_h_kappa * (h(k,cell2) - h(k,cell1)) / dcEdge(iEdge)
+ hEddyFlux(k,iEdge) = -config_h_kappa * (layerThickness(k,cell2) - layerThickness(k,cell1)) / dcEdge(iEdge)
end do
end do
else
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_mpas_core.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_mpas_core.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_mpas_core.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -273,7 +273,7 @@
call ocn_diagnostic_solve(dt, block % state % time_levs(1) % state, mesh)
call mpas_timer_stop("diagnostic solve", initDiagSolveTimer)
- ! Compute velocity transport, used in advection terms of h and tracer tendency
+ ! Compute velocity transport, used in advection terms of layerThickness and tracer tendency
block % state % time_levs(1) % state % uTransport % array(:,:) &
= block % state % time_levs(1) % state % u % array(:,:) &
+ block % state % time_levs(1) % state % uBolusGM % array(:,:)
@@ -559,7 +559,7 @@
refBottomDepthTopOfCell, vertCoordMovementWeights, hZLevel, bottomDepth
real (kind=RKIND), dimension(:), allocatable :: minBottomDepth, minBottomDepthMid, zMidZLevel
- real (kind=RKIND), dimension(:,:), pointer :: h
+ real (kind=RKIND), dimension(:,:), pointer :: layerThickness
real (kind=RKIND), dimension(:,:,:), pointer :: tracers
integer :: nVertLevels
logical :: consistentSSH
@@ -568,8 +568,8 @@
block => domain % blocklist
do while (associated(block))
- h => block % state % time_levs(1) % state % h % array
- tracers => block % state % time_levs(1) % state % tracers % array
+ layerThickness => block % state % time_levs(1) % state % layerThickness % array
+ tracers => block % state % time_levs(1) % state % tracers % array
refBottomDepth => block % mesh % refBottomDepth % array
refBottomDepthTopOfCell => block % mesh % refBottomDepthTopOfCell % array
bottomDepth => block % mesh % bottomDepth % array
@@ -620,7 +620,7 @@
if (config_alter_ICs_for_pbcs.eq.'zlevel_pbcs_on') then
write (0,'(a)') ' Altering bottomDepth to avoid very thin cells.'
- write (0,'(a)') ' Altering h and tracer initial conditions to conform with partial bottom cells.'
+ write (0,'(a)') ' Altering layerThickness and tracer initial conditions to conform with partial bottom cells.'
allocate(minBottomDepth(nVertLevels),minBottomDepthMid(nVertLevels),zMidZLevel(nVertLevels))
@@ -650,7 +650,7 @@
k = maxLevelCell(iCell)
! Alter thickness of bottom level to account for PBC
- h(k,iCell) = bottomDepth(iCell) - refBottomDepthTopOfCell(k)
+ layerThickness(k,iCell) = bottomDepth(iCell) - refBottomDepthTopOfCell(k)
! Linearly interpolate the initial T&S for new location of bottom cell for PBCs
zMidPBC = -0.5*(bottomDepth(iCell) + refBottomDepthTopOfCell(k))
@@ -688,19 +688,19 @@
consistentSSH = .true.
do iCell = 1,nCells
! Check if abs(ssh)>2m. If so, print warning.
- if (abs(sum(h(1:maxLevelCell(iCell),iCell))-bottomDepth(iCell))>2.0) then
+ if (abs(sum(layerThickness(1:maxLevelCell(iCell),iCell))-bottomDepth(iCell))>2.0) then
consistentSSH = .false.
#ifdef MPAS_DEBUG
- write (0,'(a)') ' Warning: abs(sum(h)-bottomDepth)>2m. Most likely, initial h does not match bottomDepth.'
+ write (0,'(a)') ' Warning: abs(sum(h)-bottomDepth)>2m. Most likely, initial layerThickness does not match bottomDepth.'
write (0,*) ' iCell, K=maxLevelCell(iCell), bottomDepth(iCell),sum(h),bottomDepth,hZLevel(K),h(K): ', &
- iCell, maxLevelCell(iCell), bottomDepth(iCell),sum(h(1:maxLevelCell(iCell),iCell)),bottomDepth(iCell), &
- hZLevel(maxLevelCell(iCell)), h(maxLevelCell(iCell),iCell)
+ iCell, maxLevelCell(iCell), bottomDepth(iCell),sum(layerThickness(1:maxLevelCell(iCell),iCell)),bottomDepth(iCell), &
+ hZLevel(maxLevelCell(iCell)), layerThickness(maxLevelCell(iCell),iCell)
#endif
endif
enddo
if (.not. consistentSSH) then
- write(0,*) 'Warning: SSH is not consistent. Most likely, initial h does not match bottomDepth.'
+ write(0,*) 'Warning: SSH is not consistent. Most likely, initial layerThickness does not match bottomDepth.'
end if
endif
@@ -739,17 +739,17 @@
type (block_type), pointer :: block
integer :: iTracer, cell, cell1, cell2
- real (kind=RKIND) :: uhSum, hSum, hEdge1
+ real (kind=RKIND) :: uhSum, layerThicknessSum, layerThicknessEdge1
real (kind=RKIND), dimension(:), pointer :: refBottomDepth
- real (kind=RKIND), dimension(:,:), pointer :: h
+ real (kind=RKIND), dimension(:,:), pointer :: layerThickness
integer :: nVertLevels
! Initialize z-level grid variables from h, read in from input file.
block => domain % blocklist
do while (associated(block))
- h => block % state % time_levs(1) % state % h % array
+ layerThickness => block % state % time_levs(1) % state % layerThickness % array
refBottomDepth => block % mesh % refBottomDepth % array
nVertLevels = block % mesh % nVertLevels
@@ -765,7 +765,7 @@
if (config_filter_btr_mode) then
do iCell=1,block % mesh % nCells
- block % state % time_levs(1) % state % h % array(1,iCell) &
+ block % state % time_levs(1) % state % layerThickness % array(1,iCell) &
= block % mesh % refBottomDepth % array(1)
enddo
endif
@@ -781,25 +781,25 @@
! hSum is initialized outside the loop because on land boundaries
! maxLevelEdgeTop=0, but I want to initialize hSum with a
! nonzero value to avoid a NaN.
- hEdge1 = 0.5*( &
- block % state % time_levs(1) % state % h % array(1,cell1) &
- + block % state % time_levs(1) % state % h % array(1,cell2) )
- uhSum = hEdge1*block % state % time_levs(1) % state % u % array(1,iEdge)
- hSum = hEdge1
+ layerThicknessEdge1 = 0.5*( &
+ block % state % time_levs(1) % state % layerThickness % array(1,cell1) &
+ + block % state % time_levs(1) % state % layerThickness % array(1,cell2) )
+ uhSum = layerThicknessEdge1*block % state % time_levs(1) % state % u % array(1,iEdge)
+ layerThicknessSum = layerThicknessEdge1
do k=2,block % mesh % maxLevelEdgeTop % array(iEdge)
! ocn_diagnostic_solve has not yet been called, so compute hEdge
! just for this edge.
- hEdge1 = 0.5*( &
- block % state % time_levs(1) % state % h % array(k,cell1) &
- + block % state % time_levs(1) % state % h % array(k,cell2) )
+ layerThicknessEdge1 = 0.5*( &
+ block % state % time_levs(1) % state % layerThickness % array(k,cell1) &
+ + block % state % time_levs(1) % state % layerThickness % array(k,cell2) )
uhSum = uhSum &
- + hEdge1*block % state % time_levs(1) % state % u % array(k,iEdge)
- hSum = hSum + hEdge1
+ + layerThicknessEdge1*block % state % time_levs(1) % state % u % array(k,iEdge)
+ layerThicknessSum = layerThicknessSum + layerThicknessEdge1
enddo
- block % state % time_levs(1) % state % uBtr % array(iEdge) = uhSum/hsum
+ block % state % time_levs(1) % state % uBtr % array(iEdge) = uhSum/layerThicknessSum
! uBcl(k,iEdge) = u(k,iEdge) - uBtr(iEdge)
do k=1,block % mesh % maxLevelEdgeTop % array(iEdge)
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_restoring.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_restoring.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_restoring.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -65,7 +65,7 @@
!
!-----------------------------------------------------------------------
- subroutine ocn_restoring_tend(grid, h, indexT, indexS, tracers, tend, err)!{{{
+ subroutine ocn_restoring_tend(grid, layerThickness, indexT, indexS, tracers, tend, err)!{{{
!-----------------------------------------------------------------
!
@@ -74,7 +74,7 @@
!-----------------------------------------------------------------
real (kind=RKIND), dimension(:,:), intent(in) :: &
- h !< Input: thickness
+ layerThickness !< Input: thickness
type (mesh_type), intent(in) :: &
grid !< Input: grid information
@@ -127,8 +127,8 @@
k = 1 ! restoring only in top layer
do iCell=1,nCellsSolve
- tend(indexT, k, iCell) = tend(indexT, k, iCell) - h(k,iCell)*(tracers(indexT, k, iCell) - temperatureRestore(iCell)) * invTemp
- tend(indexS, k, iCell) = tend(indexS, k, iCell) - h(k,iCell)*(tracers(indexS, k, iCell) - salinityRestore(iCell)) * invSalinity
+ tend(indexT, k, iCell) = tend(indexT, k, iCell) - layerThickness(k,iCell)*(tracers(indexT, k, iCell) - temperatureRestore(iCell)) * invTemp
+ tend(indexS, k, iCell) = tend(indexS, k, iCell) - layerThickness(k,iCell)*(tracers(indexS, k, iCell) - salinityRestore(iCell)) * invSalinity
! write(6,10) iCell, tracers(indexT, k, iCell), &
! temperatureRestore(iCell), tracers(indexT, k, iCell), &
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tendency.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tendency.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tendency.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -91,7 +91,7 @@
type (state_type), intent(in) :: s !< Input: State information
type (mesh_type), intent(in) :: grid !< Input: Grid information
- real (kind=RKIND), dimension(:,:), pointer :: h_edge, wTop, tend_h, uTransport
+ real (kind=RKIND), dimension(:,:), pointer :: layerThicknessEdge, wTop, tend_layerThickness, uTransport
integer :: err
@@ -99,14 +99,14 @@
uTransport => s % uTransport % array
wTop => s % wTop % array
- h_edge => s % h_edge % array
+ layerThicknessEdge => s % layerThicknessEdge % array
- tend_h => tend % h % array
+ tend_layerThickness => tend % layerThickness % array
!
! height tendency: start accumulating tendency terms
!
- tend_h = 0.0
+ tend_layerThickness = 0.0
if(config_disable_h_all_tend) return
@@ -119,14 +119,14 @@
! QC Comment (3/15/12): need to make sure that uTranport is the right
! transport velocity here.
call mpas_timer_start("hadv", .false., thickHadvTimer)
- call ocn_thick_hadv_tend(grid, uTransport, h_edge, tend_h, err)
+ call ocn_thick_hadv_tend(grid, uTransport, layerThicknessEdge, tend_layerThickness, err)
call mpas_timer_stop("hadv", thickHadvTimer)
!
! height tendency: vertical advection term -d/dz(hw)
!
call mpas_timer_start("vadv", .false., thickVadvTimer)
- call ocn_thick_vadv_tend(grid, wtop, tend_h, err)
+ call ocn_thick_vadv_tend(grid, wtop, tend_layerThickness, err)
call mpas_timer_stop("vadv", thickVadvTimer)
call mpas_timer_stop("ocn_tend_h")
@@ -155,7 +155,7 @@
type (mesh_type), intent(in) :: grid !< Input: Grid information
real (kind=RKIND), dimension(:,:), pointer :: &
- h_edge, h, u, rho, zMid, pressure, &
+ layerThicknessEdge, h, u, rho, zMid, pressure, &
tend_u, circulation, vorticity, viscosity, ke, ke_edge, Vor_edge, &
MontPot, wTop, divergence, vertViscTopOfEdge
@@ -169,7 +169,7 @@
rho => s % rho % array
wTop => s % wTop % array
zMid => s % zMid % array
- h_edge => s % h_edge % array
+ layerThicknessEdge => s % layerThicknessEdge % array
viscosity => s % viscosity % array
vorticity => s % vorticity % array
divergence => s % divergence % array
@@ -196,14 +196,14 @@
!
call mpas_timer_start("coriolis", .false., velCorTimer)
- call ocn_vel_coriolis_tend(grid, Vor_edge, h_edge, u, ke, tend_u, err)
+ call ocn_vel_coriolis_tend(grid, Vor_edge, layerThicknessEdge, u, ke, tend_u, err)
call mpas_timer_stop("coriolis", velCorTimer)
!
! velocity tendency: vertical advection term -w du/dz
!
call mpas_timer_start("vadv", .false., velVadvTimer)
- call ocn_vel_vadv_tend(grid, u, h_edge, wtop, tend_u, err)
+ call ocn_vel_vadv_tend(grid, u, layerThicknessEdge, wtop, tend_u, err)
call mpas_timer_stop("vadv", velVadvTimer)
!
@@ -231,7 +231,7 @@
!
call mpas_timer_start("forcings", .false., velForceTimer)
- call ocn_vel_forcing_tend(grid, u, u_src, ke_edge, h_edge, tend_u, err)
+ call ocn_vel_forcing_tend(grid, u, u_src, ke_edge, layerThicknessEdge, tend_u, err)
call mpas_timer_stop("forcings", velForceTimer)
!
@@ -263,7 +263,7 @@
real (kind=RKIND), intent(in) :: dt !< Input: Time step
real (kind=RKIND), dimension(:,:), pointer :: &
- uTransport, h,wTop, h_edge, vertDiffTopOfCell, tend_h, uh
+ uTransport, layerThickness,wTop, layerThicknessEdge, vertDiffTopOfCell, tend_layerThickness, uh
real (kind=RKIND), dimension(:,:,:), pointer :: &
tracers, tend_tr
@@ -272,14 +272,14 @@
call mpas_timer_start("ocn_tend_tracer")
uTransport => s % uTransport % array
- h => s % h % array
+ layerThickness => s % layerThickness % array
wTop => s % wTop % array
tracers => s % tracers % array
- h_edge => s % h_edge % array
+ layerThicknessEdge => s % layerThicknessEdge % array
vertDiffTopOfCell => d % vertDiffTopOfCell % array
tend_tr => tend % tracers % array
- tend_h => tend % h % array
+ tend_layerThickness => tend % layerThickness % array
!
! initialize tracer tendency (RHS of tracer equation) to zero.
@@ -294,24 +294,24 @@
! transport velocity for the tracer.
do iEdge = 1, grid % nEdges
do k = 1, grid % nVertLevels
- uh(k, iEdge) = uTransport(k, iEdge) * h_edge(k, iEdge)
+ uh(k, iEdge) = uTransport(k, iEdge) * layerThicknessEdge(k, iEdge)
end do
end do
!
- ! tracer tendency: horizontal advection term -div( h \phi u)
+ ! tracer tendency: horizontal advection term -div( layerThickness \phi u)
!
! Monotonoic Advection, or standard advection
call mpas_timer_start("adv", .false., tracerHadvTimer)
- call mpas_ocn_tracer_advection_tend(tracers, uh, wTop, h, h, dt, grid, tend_h, tend_tr)
+ call mpas_ocn_tracer_advection_tend(tracers, uh, wTop, layerThickness, layerThickness, dt, grid, tend_layerThickness, tend_tr)
call mpas_timer_stop("adv", tracerHadvTimer)
!
! tracer tendency: del2 horizontal tracer diffusion, div(h \kappa_2 </font>
<font color="gray">abla \phi)
!
call mpas_timer_start("hmix", .false., tracerHmixTimer)
- call ocn_tracer_hmix_tend(grid, h_edge, tracers, tend_tr, err)
+ call ocn_tracer_hmix_tend(grid, layerThicknessEdge, tracers, tend_tr, err)
call mpas_timer_stop("hmix", tracerHmixTimer)
!
@@ -319,7 +319,7 @@
!
call mpas_timer_start("restoring", .false., tracerRestoringTimer)
- call ocn_restoring_tend(grid, h, s%index_temperature, s%index_salinity, tracers, tend_tr, err)
+ call ocn_restoring_tend(grid, layerThickness, s%index_temperature, s%index_salinity, tracers, tend_tr, err)
call mpas_timer_stop("restoring", tracerRestoringTimer)
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_thick_hadv.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_thick_hadv.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_thick_hadv.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -62,7 +62,7 @@
!
!-----------------------------------------------------------------------
- subroutine ocn_thick_hadv_tend(grid, u, h_edge, tend, err)!{{{
+ subroutine ocn_thick_hadv_tend(grid, u, layerThicknessEdge, tend, err)!{{{
!-----------------------------------------------------------------
!
@@ -74,7 +74,7 @@
u !< Input: velocity
real (kind=RKIND), dimension(:,:), intent(in) :: &
- h_edge !< Input: thickness at edge
+ layerThicknessEdge !< Input: thickness at edge
type (mesh_type), intent(in) :: &
grid !< Input: grid information
@@ -142,7 +142,7 @@
do i = 1, nEdgesOnCell(iCell)
iEdge = edgesOnCell(i, iCell)
do k = 1, maxLevelEdgeBot(iEdge)
- flux = u(k, iEdge) * dvEdge(iEdge) * h_edge(k, iEdge)
+ flux = u(k, iEdge) * dvEdge(iEdge) * layerThicknessEdge(k, iEdge)
tend(k, iCell) = tend(k, iCell) + edgeSignOnCell(i, iCell) * flux * invAreaCell
end do
end do
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_time_integration_rk4.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_time_integration_rk4.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_time_integration_rk4.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -87,7 +87,7 @@
integer :: nCells, nEdges, nVertLevels, num_tracers
real (kind=RKIND) :: coef
real (kind=RKIND), dimension(:,:), pointer :: &
- u, h, h_edge, vertViscTopOfEdge, vertDiffTopOfCell, ke_edge
+ u, layerThickness, layerThicknessEdge, vertViscTopOfEdge, vertDiffTopOfCell, ke_edge
real (kind=RKIND), dimension(:,:,:), pointer :: tracers
integer, dimension(:), pointer :: &
maxLevelCell, maxLevelEdgeTop
@@ -99,17 +99,17 @@
!
! Initialize time_levs(2) with state at current time
! Initialize first RK state
- ! Couple tracers time_levs(2) with h in time-levels
+ ! Couple tracers time_levs(2) with layerThickness in time-levels
! Initialize RK weights
!
block => domain % blocklist
do while (associated(block))
block % state % time_levs(2) % state % u % array(:,:) = block % state % time_levs(1) % state % u % array(:,:)
- block % state % time_levs(2) % state % h % array(:,:) = block % state % time_levs(1) % state % h % array(:,:)
+ block % state % time_levs(2) % state % layerThickness % array(:,:) = block % state % time_levs(1) % state % layerThickness % array(:,:)
do iCell=1,block % mesh % nCells ! couple tracers to h
do k=1,block % mesh % maxLevelCell % array(iCell)
block % state % time_levs(2) % state % tracers % array(:,k,iCell) = block % state % time_levs(1) % state % tracers % array(:,k,iCell) &
- * block % state % time_levs(1) % state % h % array(k,iCell)
+ * block % state % time_levs(1) % state % layerThickness % array(k,iCell)
end do
end do
@@ -149,12 +149,12 @@
call mpas_timer_start("RK4-tendency computations")
block => domain % blocklist
do while (associated(block))
- ! advection of u uses u, while advection of h and tracers use uTransport.
- call ocn_wtop(block % mesh, block % provis % h % array, block % provis % h_edge % array, &
+ ! advection of u uses u, while advection of layerThickness and tracers use uTransport.
+ call ocn_wtop(block % mesh, block % provis % layerThickness % array, block % provis % layerThicknessEdge % array, &
block % provis % u % array, block % provis % wTop % array, err)
call ocn_tend_u(block % tend, block % provis, block % diagnostics, block % mesh)
- call ocn_wtop(block % mesh, block % provis % h % array, block % provis % h_edge % array, &
+ call ocn_wtop(block % mesh, block % provis % layerThickness % array, block % provis % layerThicknessEdge % array, &
block % provis % uTransport % array, block % provis % wTop % array, err)
call ocn_tend_h(block % tend, block % provis, block % mesh)
@@ -171,7 +171,7 @@
call mpas_timer_start("RK4-pronostic halo update")
call mpas_dmpar_exch_halo_field(domain % blocklist % tend % u)
- call mpas_dmpar_exch_halo_field(domain % blocklist % tend % h)
+ call mpas_dmpar_exch_halo_field(domain % blocklist % tend % layerThickness)
call mpas_dmpar_exch_halo_field(domain % blocklist % tend % tracers)
call mpas_timer_stop("RK4-pronostic halo update")
@@ -185,14 +185,14 @@
block % provis % u % array(:,:) = block % state % time_levs(1) % state % u % array(:,:) &
+ rk_substep_weights(rk_step) * block % tend % u % array(:,:)
- block % provis % h % array(:,:) = block % state % time_levs(1) % state % h % array(:,:) &
- + rk_substep_weights(rk_step) * block % tend % h % array(:,:)
+ block % provis % layerThickness % array(:,:) = block % state % time_levs(1) % state % layerThickness % array(:,:) &
+ + rk_substep_weights(rk_step) * block % tend % layerThickness % array(:,:)
do iCell=1,block % mesh % nCells
do k=1,block % mesh % maxLevelCell % array(iCell)
- block % provis % tracers % array(:,k,iCell) = ( block % state % time_levs(1) % state % h % array(k,iCell) * &
+ block % provis % tracers % array(:,k,iCell) = ( block % state % time_levs(1) % state % layerThickness % array(k,iCell) * &
block % state % time_levs(1) % state % tracers % array(:,k,iCell) &
+ rk_substep_weights(rk_step) * block % tend % tracers % array(:,k,iCell) &
- ) / block % provis % h % array(k,iCell)
+ ) / block % provis % layerThickness % array(k,iCell)
end do
end do
@@ -201,12 +201,12 @@
end if
if (config_prescribe_thickness) then
- block % provis % h % array(:,:) = block % state % time_levs(1) % state % h % array(:,:)
+ block % provis % layerThickness % array(:,:) = block % state % time_levs(1) % state % layerThickness % array(:,:)
end if
call ocn_diagnostic_solve(dt, block % provis, block % mesh)
- ! Compute velocity transport, used in advection terms of h and tracer tendency
+ ! Compute velocity transport, used in advection terms of layerThickness and tracer tendency
block % provis % uTransport % array(:,:) &
= block % provis % u % array(:,:) &
+ block % provis % uBolusGM % array(:,:)
@@ -224,8 +224,8 @@
block % state % time_levs(2) % state % u % array(:,:) = block % state % time_levs(2) % state % u % array(:,:) &
+ rk_weights(rk_step) * block % tend % u % array(:,:)
- block % state % time_levs(2) % state % h % array(:,:) = block % state % time_levs(2) % state % h % array(:,:) &
- + rk_weights(rk_step) * block % tend % h % array(:,:)
+ block % state % time_levs(2) % state % layerThickness % array(:,:) = block % state % time_levs(2) % state % layerThickness % array(:,:) &
+ + rk_weights(rk_step) * block % tend % layerThickness % array(:,:)
do iCell=1,block % mesh % nCells
do k=1,block % mesh % maxLevelCell % array(iCell)
@@ -256,7 +256,7 @@
do iCell = 1, block % mesh % nCells
do k = 1, block % mesh % maxLevelCell % array(iCell)
block % state % time_levs(2) % state % tracers % array(:, k, iCell) = block % state % time_levs(2) % state % tracers % array(:, k, iCell) &
- / block % state % time_levs(2) % state % h % array(k, iCell)
+ / block % state % time_levs(2) % state % layerThickness % array(k, iCell)
end do
end do
block => block % next
@@ -268,7 +268,7 @@
! Call ocean diagnostic solve in preparation for vertical mixing. Note
! it is called again after vertical mixing, because u and tracers change.
- ! For Richardson vertical mixing, only rho, h_edge, and ke_edge need to
+ ! For Richardson vertical mixing, only rho, layerThicknessEdge, and ke_edge need to
! be computed. For kpp, more variables may be needed. Either way, this
! could be made more efficient by only computing what is needed for the
! implicit vmix routine that follows.
@@ -296,12 +296,12 @@
end if
if (config_prescribe_thickness) then
- block % state % time_levs(2) % state % h % array(:,:) = block % state % time_levs(1) % state % h % array(:,:)
+ block % state % time_levs(2) % state % layerThickness % array(:,:) = block % state % time_levs(1) % state % layerThickness % array(:,:)
end if
call ocn_diagnostic_solve(dt, block % state % time_levs(2) % state, block % mesh)
- ! Compute velocity transport, used in advection terms of h and tracer tendency
+ ! Compute velocity transport, used in advection terms of layerThickness and tracer tendency
block % state % time_levs(2) % state % uTransport % array(:,:) &
= block % state % time_levs(2) % state % u % array(:,:) &
+ block % state % time_levs(2) % state % uBolusGM % array(:,:)
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_time_integration_split.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_time_integration_split.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_time_integration_split.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -49,7 +49,7 @@
public :: ocn_time_integrator_split
type (timer_node), pointer :: timer_main, timer_prep, timer_bcl_vel, timer_btr_vel, timer_diagnostic_update, timer_implicit_vmix, &
- timer_halo_diagnostic, timer_halo_ubtr, timer_halo_ssh, timer_halo_f, timer_halo_h, &
+ timer_halo_diagnostic, timer_halo_ubtr, timer_halo_ssh, timer_halo_f, timer_halo_thickness, &
timer_halo_tracers, timer_halo_ubcl
contains
@@ -93,7 +93,7 @@
CoriolisTerm, uCorr, temp, temp_h, coef, FBtr_coeff, sshCell1, sshCell2
integer :: num_tracers, ucorr_coef, err
real (kind=RKIND), dimension(:,:), pointer :: &
- u, h, h_edge, ke_edge, vertViscTopOfEdge, vertDiffTopOfCell
+ u, h, layerThicknessEdge, ke_edge, vertViscTopOfEdge, vertDiffTopOfCell
real (kind=RKIND), dimension(:,:,:), pointer :: tracers
integer, dimension(:), pointer :: &
maxLevelCell, maxLevelEdgeTop
@@ -119,7 +119,7 @@
! timestep because the implicit vertical mixing is conducted on the
! total u. We keep uBtr from the previous timestep.
! Note that uBcl may now include a barotropic component, because the
- ! weights h have changed. That is OK, because the GBtrForcing variable
+ ! weights layerThickness have changed. That is OK, because the GBtrForcing variable
! subtracts out the barotropic component from the baroclinic.
block % state % time_levs(1) % state % uBcl % array(k,iEdge) &
= block % state % time_levs(1) % state % u % array(k,iEdge) &
@@ -131,8 +131,8 @@
block % state % time_levs(2) % state % uBcl % array(k,iEdge) &
= block % state % time_levs(1) % state % uBcl % array(k,iEdge)
- block % state % time_levs(2) % state % h_edge % array(k,iEdge) &
- = block % state % time_levs(1) % state % h_edge % array(k,iEdge)
+ block % state % time_levs(2) % state % layerThicknessEdge % array(k,iEdge) &
+ = block % state % time_levs(1) % state % layerThicknessEdge % array(k,iEdge)
end do
end do
@@ -143,8 +143,8 @@
do iCell=1,block % mesh % nCells
do k=1,block % mesh % maxLevelCell % array(iCell)
- block % state % time_levs(2) % state % h % array(k,iCell) &
- = block % state % time_levs(1) % state % h % array(k,iCell)
+ block % state % time_levs(2) % state % layerThickness % array(k,iCell) &
+ = block % state % time_levs(1) % state % layerThickness % array(k,iCell)
block % state % time_levs(2) % state % tracers % array(:,k,iCell) &
= block % state % time_levs(1) % state % tracers % array(:,k,iCell)
@@ -190,8 +190,8 @@
! compute wTop. Use u (rather than uTransport) for momentum advection.
! Use the most recent time level available.
- call ocn_wtop(block % mesh, block % state % time_levs(stage1_tend_time) % state % h % array, &
- block % state % time_levs(stage1_tend_time) % state % h_edge % array, &
+ call ocn_wtop(block % mesh, block % state % time_levs(stage1_tend_time) % state % layerThickness % array, &
+ block % state % time_levs(stage1_tend_time) % state % layerThicknessEdge % array, &
block % state % time_levs(stage1_tend_time) % state % u % array, &
block % state % time_levs(stage1_tend_time) % state % wTop % array, err)
@@ -239,12 +239,12 @@
! hSum is initialized outside the loop because on land boundaries
! maxLevelEdgeTop=0, but I want to initialize hSum with a
! nonzero value to avoid a NaN.
- uhSum = block % state % time_levs(2) % state % h_edge % array(1,iEdge) * uTemp(1)
- hSum = block % state % time_levs(2) % state % h_edge % array(1,iEdge)
+ uhSum = block % state % time_levs(2) % state % layerThicknessEdge % array(1,iEdge) * uTemp(1)
+ hSum = block % state % time_levs(2) % state % layerThicknessEdge % array(1,iEdge)
do k=2,block % mesh % maxLevelEdgeTop % array(iEdge)
- uhSum = uhSum + block % state % time_levs(2) % state % h_edge % array(k,iEdge) * uTemp(k)
- hSum = hSum + block % state % time_levs(2) % state % h_edge % array(k,iEdge)
+ uhSum = uhSum + block % state % time_levs(2) % state % layerThicknessEdge % array(k,iEdge) * uTemp(k)
+ hSum = hSum + block % state % time_levs(2) % state % layerThicknessEdge % array(k,iEdge)
enddo
block % state % time_levs(1) % state % GBtrForcing % array(iEdge) = split*uhSum/hSum/dt
@@ -305,7 +305,7 @@
do k=1,block % mesh % nVertLevels
! uTranport = uBcl + uBolus
- ! This is u used in advective terms for h and tracers
+ ! This is u used in advective terms for layerThickness and tracers
! in tendency calls in stage 3.
block % state % time_levs(2) % state % uTransport % array(k,iEdge) &
= block % mesh % edgeMask % array(k,iEdge) &
@@ -728,12 +728,12 @@
! hSum is initialized outside the loop because on land boundaries
! maxLevelEdgeTop=0, but I want to initialize hSum with a
! nonzero value to avoid a NaN.
- uhSum = block % state % time_levs(2) % state % h_edge % array(1,iEdge) * uTemp(1)
- hSum = block % state % time_levs(2) % state % h_edge % array(1,iEdge)
+ uhSum = block % state % time_levs(2) % state % layerThicknessEdge % array(1,iEdge) * uTemp(1)
+ hSum = block % state % time_levs(2) % state % layerThicknessEdge % array(1,iEdge)
do k=2,block % mesh % maxLevelEdgeTop % array(iEdge)
- uhSum = uhSum + block % state % time_levs(2) % state % h_edge % array(k,iEdge) * uTemp(k)
- hSum = hSum + block % state % time_levs(2) % state % h_edge % array(k,iEdge)
+ uhSum = uhSum + block % state % time_levs(2) % state % layerThicknessEdge % array(k,iEdge) * uTemp(k)
+ hSum = hSum + block % state % time_levs(2) % state % layerThicknessEdge % array(k,iEdge)
enddo
uCorr = ucorr_coef*(( block % state % time_levs(1) % state % FBtr % array(iEdge) - uhSum)/hSum)
@@ -741,7 +741,7 @@
do k=1,block % mesh % nVertLevels
! uTranport = uBtr + uBcl + uBolus + uCorrection
- ! This is u used in advective terms for h and tracers
+ ! This is u used in advective terms for layerThickness and tracers
! in tendency calls in stage 3.
block % state % time_levs(2) % state % uTransport % array(k,iEdge) &
= block % mesh % edgeMask % array(k,iEdge) &
@@ -774,10 +774,10 @@
block => domain % blocklist
do while (associated(block))
- ! compute wTop. Use uTransport for advection of h and tracers.
- ! Use time level 1 values of h and h_edge because h has not yet been computed for time level 2.
- call ocn_wtop(block % mesh, block % state % time_levs(1) % state % h % array, &
- block % state % time_levs(1) % state % h_edge % array, &
+ ! compute wTop. Use uTransport for advection of layerThickness and tracers.
+ ! Use time level 1 values of layerThickness and layerThicknessEdge because layerThickness has not yet been computed for time level 2.
+ call ocn_wtop(block % mesh, block % state % time_levs(1) % state % layerThickness % array, &
+ block % state % time_levs(1) % state % layerThicknessEdge % array, &
block % state % time_levs(2) % state % uTransport % array, &
block % state % time_levs(2) % state % wTop % array, err)
@@ -786,9 +786,9 @@
end do
! update halo for thickness and tracer tendencies
- call mpas_timer_start("se halo h", .false., timer_halo_h)
- call mpas_dmpar_exch_halo_field(domain % blocklist % tend % h)
- call mpas_timer_stop("se halo h", timer_halo_h)
+ call mpas_timer_start("se halo thickness", .false., timer_halo_thickness)
+ call mpas_dmpar_exch_halo_field(domain % blocklist % tend % layerThickness)
+ call mpas_timer_stop("se halo thickness", timer_halo_thickness)
block => domain % blocklist
do while (associated(block))
@@ -820,20 +820,20 @@
! this is h_{n+1}
temp_h &
- = block % state % time_levs(1) % state % h % array(k,iCell) &
- + dt* block % tend % h % array(k,iCell)
+ = block % state % time_levs(1) % state % layerThickness % array(k,iCell) &
+ + dt* block % tend % layerThickness % array(k,iCell)
! this is h_{n+1/2}
- block % state % time_levs(2) % state % h % array(k,iCell) &
+ block % state % time_levs(2) % state % layerThickness % array(k,iCell) &
= 0.5*( &
- block % state % time_levs(1) % state % h % array(k,iCell) &
+ block % state % time_levs(1) % state % layerThickness % array(k,iCell) &
+ temp_h)
do i=1,2
! This is Phi at n+1
temp = ( &
block % state % time_levs(1) % state % tracers % array(i,k,iCell) &
- * block % state % time_levs(1) % state % h % array(k,iCell) &
+ * block % state % time_levs(1) % state % layerThickness % array(k,iCell) &
+ dt * block % tend % tracers % array(i,k,iCell)) &
/ temp_h
@@ -862,7 +862,7 @@
end do ! iEdge
- ! Efficiency note: We really only need this to compute h_edge, density, pressure, and SSH
+ ! Efficiency note: We really only need this to compute layerThicknessEdge, density, pressure, and SSH
! in this diagnostics solve.
call ocn_diagnostic_solve(dt, block % state % time_levs(2) % state, block % mesh)
@@ -877,17 +877,17 @@
do k=1,block % mesh % maxLevelCell % array(iCell)
! this is h_{n+1}
- block % state % time_levs(2) % state % h % array(k,iCell) &
- = block % state % time_levs(1) % state % h % array(k,iCell) &
- + dt* block % tend % h % array(k,iCell)
+ block % state % time_levs(2) % state % layerThickness % array(k,iCell) &
+ = block % state % time_levs(1) % state % layerThickness % array(k,iCell) &
+ + dt* block % tend % layerThickness % array(k,iCell)
! This is Phi at n+1
do i=1,block % state % time_levs(1) % state % num_tracers
block % state % time_levs(2) % state % tracers % array(i,k,iCell) &
= (block % state % time_levs(1) % state % tracers % array(i,k,iCell) &
- * block % state % time_levs(1) % state % h % array(k,iCell) &
+ * block % state % time_levs(1) % state % layerThickness % array(k,iCell) &
+ dt * block % tend % tracers % array(i,k,iCell)) &
- / block % state % time_levs(2) % state % h % array(k,iCell)
+ / block % state % time_levs(2) % state % layerThickness % array(k,iCell)
enddo
end do
@@ -929,7 +929,7 @@
! Call ocean diagnostic solve in preparation for vertical mixing. Note
! it is called again after vertical mixing, because u and tracers change.
- ! For Richardson vertical mixing, only rho, h_edge, and ke_edge need to
+ ! For Richardson vertical mixing, only rho, layerThicknessEdge, and ke_edge need to
! be computed. For kpp, more variables may be needed. Either way, this
! could be made more efficient by only computing what is needed for the
! implicit vmix routine that follows.
@@ -959,12 +959,12 @@
end if
if (config_prescribe_thickness) then
- block % state % time_levs(2) % state % h % array(:,:) = block % state % time_levs(1) % state % h % array(:,:)
+ block % state % time_levs(2) % state % layerThickness % array(:,:) = block % state % time_levs(1) % state % layerThickness % array(:,:)
end if
call ocn_diagnostic_solve(dt, block % state % time_levs(2) % state, block % mesh)
- ! Compute velocity transport, used in advection terms of h and tracer tendency
+ ! Compute velocity transport, used in advection terms of layerThickness and tracer tendency
block % state % time_levs(2) % state % uTransport % array(:,:) &
= block % state % time_levs(2) % state % u % array(:,:) &
+ block % state % time_levs(2) % state % uBolusGM % array(:,:)
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_advection.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_advection.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_advection.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -240,22 +240,22 @@
!> advection of tracers.
!
!-----------------------------------------------------------------------
- subroutine mpas_ocn_tracer_advection_tend(tracers, uh, w, h, verticalCellSize, dt, grid, tend_h, tend)!{{{
+ subroutine mpas_ocn_tracer_advection_tend(tracers, uh, w, layerThickness, verticalCellSize, dt, grid, tend_layerThickness, tend)!{{{
real (kind=RKIND), dimension(:,:,:), intent(inout) :: tend !< Input/Output: tracer tendency
real (kind=RKIND), dimension(:,:,:), intent(in) :: tracers !< Input/Output: tracer values
real (kind=RKIND), dimension(:,:), intent(in) :: uh !< Input: Thickness weighted horizontal velocity
real (kind=RKIND), dimension(:,:), intent(in) :: w !< Input: Vertical velocity
- real (kind=RKIND), dimension(:,:), intent(in) :: h !< Input: Thickness field
+ real (kind=RKIND), dimension(:,:), intent(in) :: layerThickness !< Input: Thickness field
real (kind=RKIND), dimension(:,:), intent(in) :: verticalCellSize !< Input: Distance between vertical interfaces of a cell
real (kind=RKIND), intent(in) :: dt !< Input: Time step
type (mesh_type), intent(in) :: grid !< Input: grid information
- real (kind=RKIND), dimension(:,:), intent(in) :: tend_h !< Input: Thickness tendency information
+ real (kind=RKIND), dimension(:,:), intent(in) :: tend_layerThickness !< Input: Thickness tendency information
if(.not. tracerAdvOn) return
if(monotonicOn) then
- call mpas_ocn_tracer_advection_mono_tend(tracers, uh, w, h, verticalCellSize, dt, grid, tend_h, tend)
+ call mpas_ocn_tracer_advection_mono_tend(tracers, uh, w, layerThickness, verticalCellSize, dt, grid, tend_layerThickness, tend)
else
call mpas_ocn_tracer_advection_std_tend(tracers, uh, w, verticalCellSize, grid, tend)
endif
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_advection_mono.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_advection_mono.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_advection_mono.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -43,7 +43,7 @@
!> Both horizontal and vertical.
!
!-----------------------------------------------------------------------
- subroutine mpas_ocn_tracer_advection_mono_tend(tracers, uh, w, h, verticalCellSize, dt, grid, tend_h, tend)!{{{
+ subroutine mpas_ocn_tracer_advection_mono_tend(tracers, uh, w, layerThickness, verticalCellSize, dt, grid, tend_layerThickness, tend)!{{{
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Input: s - current model state
@@ -54,9 +54,9 @@
real (kind=RKIND), dimension(:,:,:), intent(in) :: tracers !< Input: current tracer values
real (kind=RKIND), dimension(:,:), intent(in) :: uh !< Input: Thichness weighted velocitiy
real (kind=RKIND), dimension(:,:), intent(in) :: w !< Input: Vertical velocitiy
- real (kind=RKIND), dimension(:,:), intent(in) :: h !< Input: Thickness
+ real (kind=RKIND), dimension(:,:), intent(in) :: layerThickness !< Input: Thickness
real (kind=RKIND), dimension(:,:), intent(in) :: verticalCellSize !< Input: Distance between vertical interfaces of a cell
- real (kind=RKIND), dimension(:,:), intent(in) :: tend_h !< Input: Tendency for thickness field
+ real (kind=RKIND), dimension(:,:), intent(in) :: tend_layerThickness !< Input: Tendency for thickness field
real (kind=RKIND), intent(in) :: dt !< Input: Timestep
type (mesh_type), intent(in) :: grid !< Input: Grid information
real (kind=RKIND), dimension(:,:,:), intent(inout) :: tend !< Input/Output: Tracer tendency
@@ -134,7 +134,7 @@
do iCell = 1, nCells
do k=1, maxLevelCell(iCell)
- inv_h_new(k, iCell) = 1.0 / (h(k, iCell) + dt * tend_h(k, iCell))
+ inv_h_new(k, iCell) = 1.0 / (layerThickness(k, iCell) + dt * tend_layerThickness(k, iCell))
end do
end do
@@ -275,9 +275,9 @@
! Factors are placed in the flux_incoming and flux_outgoing arrays
do iCell = 1, nCells
do k = 1, maxLevelCell(iCell)
- tracer_min_new = (tracer_cur(k,iCell)*h(k,iCell) + dt*(upwind_tendency(k,iCell)+flux_outgoing(k,iCell))) * inv_h_new(k,iCell)
- tracer_max_new = (tracer_cur(k,iCell)*h(k,iCell) + dt*(upwind_tendency(k,iCell)+flux_incoming(k,iCell))) * inv_h_new(k,iCell)
- tracer_upwind_new = (tracer_cur(k,iCell)*h(k,iCell) + dt*upwind_tendency(k,iCell)) * inv_h_new(k,iCell)
+ tracer_min_new = (tracer_cur(k,iCell)*layerThickness(k,iCell) + dt*(upwind_tendency(k,iCell)+flux_outgoing(k,iCell))) * inv_h_new(k,iCell)
+ tracer_max_new = (tracer_cur(k,iCell)*layerThickness(k,iCell) + dt*(upwind_tendency(k,iCell)+flux_incoming(k,iCell))) * inv_h_new(k,iCell)
+ tracer_upwind_new = (tracer_cur(k,iCell)*layerThickness(k,iCell) + dt*upwind_tendency(k,iCell)) * inv_h_new(k,iCell)
scale_factor = (tracer_max(k,iCell)-tracer_upwind_new)/(tracer_max_new-tracer_upwind_new+eps)
flux_incoming(k,iCell) = min( 1.0_RKIND, max( 0.0_RKIND, scale_factor) )
@@ -337,7 +337,7 @@
tracer_new(k, iCell) = tracer_new(k, iCell) + (high_order_vert_flux(k+1, iCell) - high_order_vert_flux(k, iCell)) + upwind_tendency(k,iCell)
!tracer_new is now the new state of the tracer. Only for a check on monotonicity
- tracer_new(k, iCell) = (tracer_cur(k, iCell)*h(k, iCell) + dt * tracer_new(k, iCell)) * inv_h_new(k, iCell)
+ tracer_new(k, iCell) = (tracer_cur(k, iCell)*layerThickness(k, iCell) + dt * tracer_new(k, iCell)) * inv_h_new(k, iCell)
end if
end do ! k loop
end do ! iCell loop
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_hadv.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_hadv.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_hadv.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -72,7 +72,7 @@
!
!-----------------------------------------------------------------------
- subroutine ocn_tracer_hadv_tend(grid, u, h_edge, tracers, tend, err)!{{{
+ subroutine ocn_tracer_hadv_tend(grid, u, layerThicknessEdge, tracers, tend, err)!{{{
!-----------------------------------------------------------------
!
@@ -84,7 +84,7 @@
u !< Input: velocity
real (kind=RKIND), dimension(:,:), intent(in) :: &
- h_edge !< Input: thickness at edge
+ layerThicknessEdge !< Input: thickness at edge
real (kind=RKIND), dimension(:,:,:), intent(in) :: &
tracers !< Input: tracers
@@ -126,13 +126,13 @@
!-----------------------------------------------------------------
call mpas_timer_start("hadv2", .false., hadv2Timer);
- call ocn_tracer_hadv2_tend(grid, u, h_edge, tracers, tend, err1)
+ call ocn_tracer_hadv2_tend(grid, u, layerThicknessEdge, tracers, tend, err1)
call mpas_timer_stop("hadv2", hadv2Timer);
call mpas_timer_start("hadv3", .false., hadv3Timer);
- call ocn_tracer_hadv3_tend(grid, u, h_edge, tracers, tend, err2)
+ call ocn_tracer_hadv3_tend(grid, u, layerThicknessEdge, tracers, tend, err2)
call mpas_timer_stop("hadv3", hadv3Timer);
call mpas_timer_start("hadv4", .false., hadv4Timer);
- call ocn_tracer_hadv4_tend(grid, u, h_edge, tracers, tend, err3)
+ call ocn_tracer_hadv4_tend(grid, u, layerThicknessEdge, tracers, tend, err3)
call mpas_timer_stop("hadv4", hadv4Timer);
err = ior(err1, ior(err2, err3))
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_hadv2.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_hadv2.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_hadv2.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -62,7 +62,7 @@
!
!-----------------------------------------------------------------------
- subroutine ocn_tracer_hadv2_tend(grid, u, h_edge, tracers , tend, err)!{{{
+ subroutine ocn_tracer_hadv2_tend(grid, u, layerThicknessEdge, tracers , tend, err)!{{{
!-----------------------------------------------------------------
!
@@ -74,7 +74,7 @@
u !< Input: tracer
real (kind=RKIND), dimension(:,:), intent(in) :: &
- h_edge !< Input: thickness at edge
+ layerThicknessEdge !< Input: thickness at edge
real (kind=RKIND), dimension(:,:,:), intent(in) :: &
tracers !< Input: tracers
@@ -140,7 +140,7 @@
invAreaCell1 = 1.0 / areaCell(cell1)
invAreaCell2 = 1.0 / areaCell(cell2)
do k=1,maxLevelEdgeTop(iEdge)
- r_tmp = u(k,iEdge) * dvEdge(iEdge) * h_edge(k,iEdge)
+ r_tmp = u(k,iEdge) * dvEdge(iEdge) * layerThicknessEdge(k,iEdge)
do iTracer=1,num_tracers
tracer_edge = 0.5 * (tracers(iTracer,k,cell1) + tracers(iTracer,k,cell2))
flux = r_tmp * tracer_edge
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_hadv3.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_hadv3.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_hadv3.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -63,7 +63,7 @@
!
!-----------------------------------------------------------------------
- subroutine ocn_tracer_hadv3_tend(grid, u, h_edge, tracers , tend, err)!{{{
+ subroutine ocn_tracer_hadv3_tend(grid, u, layerThicknessEdge, tracers , tend, err)!{{{
!-----------------------------------------------------------------
!
@@ -75,7 +75,7 @@
u !< Input: tracer
real (kind=RKIND), dimension(:,:), intent(in) :: &
- h_edge !< Input: thickness at edge
+ layerThicknessEdge !< Input: thickness at edge
real (kind=RKIND), dimension(:,:,:), intent(in) :: &
tracers !< Input: tracers
@@ -177,7 +177,7 @@
velMask = 2*(abs(transfer(u(k,iEdge) <= 0, velMask))) - 1
- flux = dvEdge(iEdge) * u(k,iEdge) * h_edge(k,iEdge) * ( &
+ flux = dvEdge(iEdge) * u(k,iEdge) * layerThicknessEdge(k,iEdge) * ( &
0.5*(tracers(iTracer,k,cell1) + tracers(iTracer,k,cell2)) &
-(dcEdge(iEdge) **2) * (d2fdx2_cell1 + d2fdx2_cell2) / 12. &
+velMask*(dcEdge(iEdge) **2) * coef_3rd_order*(d2fdx2_cell1 - d2fdx2_cell2) / 12. )
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_hadv4.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_hadv4.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_hadv4.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -62,7 +62,7 @@
!
!-----------------------------------------------------------------------
- subroutine ocn_tracer_hadv4_tend(grid, u, h_edge, tracers , tend, err)!{{{
+ subroutine ocn_tracer_hadv4_tend(grid, u, layerThicknessEdge, tracers , tend, err)!{{{
!-----------------------------------------------------------------
!
@@ -74,7 +74,7 @@
u !< Input: tracer
real (kind=RKIND), dimension(:,:), intent(in) :: &
- h_edge !< Input: thickness at edge
+ layerThicknessEdge !< Input: thickness at edge
real (kind=RKIND), dimension(:,:,:), intent(in) :: &
tracers !< Input: tracers
@@ -170,7 +170,7 @@
deriv_two(i+1,2,iEdge) * tracers(iTracer,k,cellsOnCell(i,cell2))
end do
- flux = dvEdge(iEdge) * u(k,iEdge) * h_edge(k,iEdge) * ( &
+ flux = dvEdge(iEdge) * u(k,iEdge) * layerThicknessEdge(k,iEdge) * ( &
0.5*(tracers(iTracer,k,cell1) + tracers(iTracer,k,cell2)) &
-(dcEdge(iEdge) **2) * (d2fdx2_cell1 + d2fdx2_cell2) / 12. )
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_hmix.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_hmix.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_hmix.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -73,7 +73,7 @@
!
!-----------------------------------------------------------------------
- subroutine ocn_tracer_hmix_tend(grid, h_edge, tracers, tend, err)!{{{
+ subroutine ocn_tracer_hmix_tend(grid, layerThicknessEdge, tracers, tend, err)!{{{
!-----------------------------------------------------------------
!
@@ -82,7 +82,7 @@
!-----------------------------------------------------------------
real (kind=RKIND), dimension(:,:), intent(in) :: &
- h_edge !< Input: thickness at edge
+ layerThicknessEdge !< Input: thickness at edge
type (mesh_type), intent(in) :: &
grid !< Input: grid information
@@ -126,10 +126,10 @@
if(.not.tracerHmixOn) return
call mpas_timer_start("del2", .false., del2Timer)
- call ocn_tracer_hmix_del2_tend(grid, h_edge, tracers, tend, err1)
+ call ocn_tracer_hmix_del2_tend(grid, layerThicknessEdge, tracers, tend, err1)
call mpas_timer_stop("del2", del2Timer)
call mpas_timer_start("del4", .false., del4Timer)
- call ocn_tracer_hmix_del4_tend(grid, h_edge, tracers, tend, err2)
+ call ocn_tracer_hmix_del4_tend(grid, layerThicknessEdge, tracers, tend, err2)
call mpas_timer_stop("del4", del4Timer)
err = ior(err1, err2)
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_hmix_del2.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_hmix_del2.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_hmix_del2.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -67,7 +67,7 @@
!
!-----------------------------------------------------------------------
- subroutine ocn_tracer_hmix_del2_tend(grid, h_edge, tracers, tend, err)!{{{
+ subroutine ocn_tracer_hmix_del2_tend(grid, layerThicknessEdge, tracers, tend, err)!{{{
!-----------------------------------------------------------------
!
@@ -76,7 +76,7 @@
!-----------------------------------------------------------------
real (kind=RKIND), dimension(:,:), intent(in) :: &
- h_edge !< Input: thickness at edge
+ layerThicknessEdge !< Input: thickness at edge
type (mesh_type), intent(in) :: &
grid !< Input: grid information
@@ -168,7 +168,7 @@
tracer_turb_flux = tracers(iTracer, k, cell2) - tracers(iTracer, k, cell1)
! div(h \kappa_2 </font>
<font color="gray">abla \phi) at cell center
- flux = h_edge(k, iEdge) * tracer_turb_flux * edgeMask(k, iEdge) * r_tmp
+ flux = layerThicknessEdge(k, iEdge) * tracer_turb_flux * edgeMask(k, iEdge) * r_tmp
tend(iTracer, k, iCell) = tend(iTracer, k, iCell) - edgeSignOnCell(i, iCell) * flux * invAreaCell1
end do
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_hmix_del4.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_hmix_del4.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_hmix_del4.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -67,7 +67,7 @@
!
!-----------------------------------------------------------------------
- subroutine ocn_tracer_hmix_del4_tend(grid, h_edge, tracers, tend, err)!{{{
+ subroutine ocn_tracer_hmix_del4_tend(grid, layerThicknessEdge, tracers, tend, err)!{{{
!-----------------------------------------------------------------
!
@@ -76,7 +76,7 @@
!-----------------------------------------------------------------
real (kind=RKIND), dimension(:,:), intent(in) :: &
- h_edge !< Input: thickness at edge
+ layerThicknessEdge !< Input: thickness at edge
type (mesh_type), intent(in) :: &
grid !< Input: grid information
@@ -168,8 +168,8 @@
do k = 1, maxLevelEdgeTop(iEdge)
do iTracer = 1, num_tracers * edgeMask(k, iEdge)
- r_tmp1 = invdcEdge * h_edge(k, iEdge) * tracers(iTracer, k, cell1)
- r_tmp2 = invdcEdge * h_edge(k, iEdge) * tracers(iTracer, k, cell2)
+ r_tmp1 = invdcEdge * layerThicknessEdge(k, iEdge) * tracers(iTracer, k, cell1)
+ r_tmp2 = invdcEdge * layerThicknessEdge(k, iEdge) * tracers(iTracer, k, cell2)
delsq_tracer(iTracer, k, iCell) = delsq_tracer(iTracer, k, iCell) - edgeSignOnCell(i, iCell) * (r_tmp2 - r_tmp1) * invAreaCell1
end do
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_vadv_spline2.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_vadv_spline2.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_vadv_spline2.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -63,7 +63,7 @@
!
!-----------------------------------------------------------------------
- subroutine ocn_tracer_vadv_spline2_tend(grid, h, wTop, tracers, tend, err)!{{{
+ subroutine ocn_tracer_vadv_spline2_tend(grid, layerThickness, wTop, tracers, tend, err)!{{{
!-----------------------------------------------------------------
!
@@ -72,7 +72,7 @@
!-----------------------------------------------------------------
real (kind=RKIND), dimension(:,:), intent(in) :: &
- h, & !< Input: layer thickness
+ layerThickness, & !< Input: layer thickness
wTop !< Input: vertical tracer in top layer
real (kind=RKIND), dimension(:,:,:), intent(in) :: &
@@ -135,12 +135,12 @@
tracerTop(:,1,iCell) = tracers(:,1,iCell)
do k=2,maxLevelCell(iCell)
do iTracer=1,num_tracers
- ! Note h on the k side is multiplied by tracer at k-1
- ! and h on the Km1 (k-1) side is mult. by tracer at k.
+ ! Note layerThickness on the k side is multiplied by tracer at k-1
+ ! and layerThickness on the Km1 (k-1) side is mult. by tracer at k.
tracerTop(iTracer,k,iCell) = &
- ( h(k ,iCell)*tracers(iTracer,k-1,iCell) &
- + h(k-1,iCell)*tracers(iTracer,k ,iCell) ) &
- / (h(k-1,iCell) + h(k,iCell))
+ ( layerThickness(k ,iCell)*tracers(iTracer,k-1,iCell) &
+ + layerThickness(k-1,iCell)*tracers(iTracer,k ,iCell) ) &
+ / (layerThickness(k-1,iCell) + layerThickness(k,iCell))
end do
end do
tracerTop(:,maxLevelCell(iCell)+1,iCell) = tracers(:,maxLevelCell(iCell),iCell)
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_vadv_spline3.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_vadv_spline3.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_vadv_spline3.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -64,7 +64,7 @@
!
!-----------------------------------------------------------------------
- subroutine ocn_tracer_vadv_spline3_tend(grid, h, wTop, tracers, tend, err)!{{{
+ subroutine ocn_tracer_vadv_spline3_tend(grid, layerThickness, wTop, tracers, tend, err)!{{{
!-----------------------------------------------------------------
!
@@ -73,7 +73,7 @@
!-----------------------------------------------------------------
real (kind=RKIND), dimension(:,:), intent(in) :: &
- h, & !< Input: layer thickness
+ layerThickness, & !< Input: layer thickness
wTop !< Input: vertical tracer in top layer
real (kind=RKIND), dimension(:,:,:), intent(in) :: &
@@ -146,8 +146,8 @@
! have true z-coordinate depths because it is just for interpolation.
depthTop(1) = 0.0
do k=1,maxLevelCell(iCell)
- depthMid(k ) = depthTop(k) + 0.5*h(k,iCell)
- depthTop(k+1) = depthTop(k) + h(k,iCell)
+ depthMid(k ) = depthTop(k) + 0.5*layerThickness(k,iCell)
+ depthTop(k+1) = depthTop(k) + layerThickness(k,iCell)
enddo
do iTracer=1,num_tracers
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_vadv_stencil3.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_vadv_stencil3.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_vadv_stencil3.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -63,7 +63,7 @@
!
!-----------------------------------------------------------------------
- subroutine ocn_tracer_vadv_stencil3_tend(grid, h, wTop, tracers, tend, err)!{{{
+ subroutine ocn_tracer_vadv_stencil3_tend(grid, layerThickness, wTop, tracers, tend, err)!{{{
!-----------------------------------------------------------------
!
@@ -72,7 +72,7 @@
!-----------------------------------------------------------------
real (kind=RKIND), dimension(:,:), intent(in) :: &
- h, & !< Input: layer thickness
+ layerThickness, & !< Input: layer thickness
wTop !< Input: vertical tracer in top layer
real (kind=RKIND), dimension(:,:,:), intent(in) :: &
@@ -144,9 +144,9 @@
k=2
do iTracer=1,num_tracers
tracerTop(iTracer,k,iCell) = &
- ( h(k,iCell)*tracers(iTracer,k-1,iCell) &
- + h(k-1,iCell)*tracers(iTracer,k ,iCell) ) &
- / (h(k-1,iCell) + h(k,iCell))
+ ( layerThickness(k,iCell)*tracers(iTracer,k-1,iCell) &
+ + layerThickness(k-1,iCell)*tracers(iTracer,k ,iCell) ) &
+ / (layerThickness(k-1,iCell) + layerThickness(k,iCell))
end do
do k=3,maxLevelCell(iCell)-1
cSignWTop = sign(flux3Coef,wTop(k,iCell))
@@ -162,9 +162,9 @@
k=maxLevelCell(iCell)
do iTracer=1,num_tracers
tracerTop(iTracer,k,iCell) = &
- ( h(k,iCell)*tracers(iTracer,k-1,iCell) &
- + h(k-1,iCell)*tracers(iTracer,k ,iCell) ) &
- / (h(k-1,iCell) + h(k,iCell))
+ ( layerThickness(k,iCell)*tracers(iTracer,k-1,iCell) &
+ + layerThickness(k-1,iCell)*tracers(iTracer,k ,iCell) ) &
+ / (layerThickness(k-1,iCell) + layerThickness(k,iCell))
end do
tracerTop(:,maxLevelCell(iCell)+1,iCell) = tracers(:,maxLevelCell(iCell),iCell)
end do
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_vadv_stencil4.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_vadv_stencil4.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_tracer_vadv_stencil4.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -63,7 +63,7 @@
!
!-----------------------------------------------------------------------
- subroutine ocn_tracer_vadv_stencil4_tend(grid, h, wTop, tracers, tend, err)!{{{
+ subroutine ocn_tracer_vadv_stencil4_tend(grid, layerThickness, wTop, tracers, tend, err)!{{{
!-----------------------------------------------------------------
!
@@ -72,7 +72,7 @@
!-----------------------------------------------------------------
real (kind=RKIND), dimension(:,:), intent(in) :: &
- h, & !< Input: layer thickness
+ layerThickness, & !< Input: layer thickness
wTop !< Input: vertical tracer in top layer
real (kind=RKIND), dimension(:,:,:), intent(in) :: &
@@ -140,9 +140,9 @@
k=2
do iTracer=1,num_tracers
tracerTop(iTracer,k,iCell) = &
- ( h(k ,iCell)*tracers(iTracer,k-1,iCell) &
- + h(k-1,iCell)*tracers(iTracer,k ,iCell) ) &
- / (h(k-1,iCell) + h(k,iCell))
+ ( layerThickness(k ,iCell)*tracers(iTracer,k-1,iCell) &
+ + layerThickness(k-1,iCell)*tracers(iTracer,k ,iCell) ) &
+ / (layerThickness(k-1,iCell) + layerThickness(k,iCell))
end do
do k=3,maxLevelCell(iCell)-1
do iTracer=1,num_tracers
@@ -157,9 +157,9 @@
k=maxLevelCell(iCell)
do iTracer=1,num_tracers
tracerTop(iTracer,k,iCell) = &
- ( h(k ,iCell)*tracers(iTracer,k-1,iCell) &
- + h(k-1,iCell)*tracers(iTracer,k ,iCell) ) &
- / (h(k-1,iCell) + h(k,iCell))
+ ( layerThickness(k ,iCell)*tracers(iTracer,k-1,iCell) &
+ + layerThickness(k-1,iCell)*tracers(iTracer,k ,iCell) ) &
+ / (layerThickness(k-1,iCell) + layerThickness(k,iCell))
end do
tracerTop(:,maxLevelCell(iCell)+1,iCell) = tracers(:,maxLevelCell(iCell),iCell)
end do
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_vel_coriolis.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_vel_coriolis.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_vel_coriolis.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -63,7 +63,7 @@
!
!-----------------------------------------------------------------------
- subroutine ocn_vel_coriolis_tend(grid, Vor_edge, h_edge, u, ke, tend, err)!{{{
+ subroutine ocn_vel_coriolis_tend(grid, Vor_edge, layerThicknessEdge, u, ke, tend, err)!{{{
!-----------------------------------------------------------------
!
@@ -74,7 +74,7 @@
real (kind=RKIND), dimension(:,:), intent(in) :: &
Vor_edge !< Input: Potential vorticity on edge
real (kind=RKIND), dimension(:,:), intent(in) :: &
- h_edge !< Input: Thickness on edge
+ layerThicknessEdge !< Input: Thickness on edge
real (kind=RKIND), dimension(:,:), intent(in) :: &
u !< Input: Horizontal velocity
real (kind=RKIND), dimension(:,:), intent(in) :: &
@@ -142,7 +142,7 @@
do j = 1,nEdgesOnEdge(iEdge)
eoe = edgesOnEdge(j,iEdge)
workpv = 0.5 * (Vor_edge(k,iEdge) + Vor_edge(k,eoe))
- q = q + weightsOnEdge(j,iEdge) * u(k,eoe) * workpv * h_edge(k,eoe)
+ q = q + weightsOnEdge(j,iEdge) * u(k,eoe) * workpv * layerThicknessEdge(k,eoe)
end do
tend(k,iEdge) = tend(k,iEdge) + edgeMask(k, iEdge) * (q - ( ke(k,cell2) - ke(k,cell1) ) * invLength )
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_vel_forcing.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_vel_forcing.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_vel_forcing.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -68,7 +68,7 @@
!
!-----------------------------------------------------------------------
- subroutine ocn_vel_forcing_tend(grid, u, u_src, ke_edge, h_edge, tend, err)!{{{
+ subroutine ocn_vel_forcing_tend(grid, u, u_src, ke_edge, layerThicknessEdge, tend, err)!{{{
!-----------------------------------------------------------------
!
@@ -86,7 +86,7 @@
ke_edge !< Input: kinetic energy at edge
real (kind=RKIND), dimension(:,:), intent(in) :: &
- h_edge !< Input: thickness at edge
+ layerThicknessEdge !< Input: thickness at edge
type (mesh_type), intent(in) :: &
grid !< Input: grid information
@@ -124,7 +124,7 @@
!
!-----------------------------------------------------------------
- call ocn_vel_forcing_windstress_tend(grid, u_src, h_edge, tend, err1)
+ call ocn_vel_forcing_windstress_tend(grid, u_src, layerThicknessEdge, tend, err1)
call ocn_vel_forcing_rayleigh_tend(grid, u, tend, err2)
err = ior(err1, err2)
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_vel_forcing_windstress.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_vel_forcing_windstress.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_vel_forcing_windstress.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -62,7 +62,7 @@
!
!-----------------------------------------------------------------------
- subroutine ocn_vel_forcing_windstress_tend(grid, u_src, h_edge, tend, err)!{{{
+ subroutine ocn_vel_forcing_windstress_tend(grid, u_src, layerThicknessEdge, tend, err)!{{{
!-----------------------------------------------------------------
!
@@ -74,7 +74,7 @@
u_src !< Input: wind stress
real (kind=RKIND), dimension(:,:), intent(in) :: &
- h_edge !< Input: thickness at edge
+ layerThicknessEdge !< Input: thickness at edge
type (mesh_type), intent(in) :: &
grid !< Input: grid information
@@ -130,7 +130,7 @@
do k = 1,min(maxLevelEdgeTop(iEdge),1)
! forcing in top layer only
- tend(k,iEdge) = tend(k,iEdge) + edgeMask(k, iEdge) * (u_src(k,iEdge) / config_rho0 / h_edge(k,iEdge))
+ tend(k,iEdge) = tend(k,iEdge) + edgeMask(k, iEdge) * (u_src(k,iEdge) / config_rho0 / layerThicknessEdge(k,iEdge))
enddo
enddo
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_vel_vadv.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_vel_vadv.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_vel_vadv.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -64,7 +64,7 @@
!
!-----------------------------------------------------------------------
- subroutine ocn_vel_vadv_tend(grid, u, h_edge, wTop, tend, err)!{{{
+ subroutine ocn_vel_vadv_tend(grid, u, layerThicknessEdge, wTop, tend, err)!{{{
!-----------------------------------------------------------------
!
@@ -75,7 +75,7 @@
real (kind=RKIND), dimension(:,:), intent(in) :: &
u !< Input: Horizontal velocity
real (kind=RKIND), dimension(:,:), intent(in) :: &
- h_edge,&!< Input: thickness at edge
+ layerThicknessEdge,&!< Input: thickness at edge
wTop !< Input: Vertical velocity on top layer
type (mesh_type), intent(in) :: &
@@ -134,7 +134,7 @@
! compute dudz at vertical interface with first order derivative.
w_dudzTopEdge(k) = wTopEdge * (u(k-1,iEdge)-u(k,iEdge)) &
- / (0.5*(h_edge(k-1,iEdge) + h_edge(k,iEdge)))
+ / (0.5*(layerThicknessEdge(k-1,iEdge) + layerThicknessEdge(k,iEdge)))
end do
w_dudzTopEdge(maxLevelEdgeTop(iEdge)+1) = 0.0
! Average w*du/dz from vertical interface to vertical middle of cell
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_vmix.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_vmix.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_vmix.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -149,7 +149,7 @@
!
!-----------------------------------------------------------------------
- subroutine ocn_vel_vmix_tend_implicit(grid, dt, ke_edge, vertViscTopOfEdge, h, h_edge, u, err)!{{{
+ subroutine ocn_vel_vmix_tend_implicit(grid, dt, ke_edge, vertViscTopOfEdge, layerThickness, layerThicknessEdge, u, err)!{{{
!-----------------------------------------------------------------
!
@@ -170,7 +170,7 @@
dt !< Input: time step
real (kind=RKIND), dimension(:,:), intent(in) :: &
- h !< Input: thickness at cell center
+ layerThickness !< Input: thickness at cell center
!-----------------------------------------------------------------
!
@@ -182,7 +182,7 @@
u !< Input: velocity
real (kind=RKIND), dimension(:,:), intent(inout) :: &
- h_edge !< Input: thickness at edge
+ layerThicknessEdge !< Input: thickness at edge
!-----------------------------------------------------------------
!
@@ -223,26 +223,26 @@
if (N.gt.0) then
! Compute A(k), B(k), C(k)
- ! h_edge is computed in compute_solve_diag, and is not available yet,
- ! so recompute h_edge here.
+ ! layerThicknessEdge is computed in compute_solve_diag, and is not available yet,
+ ! so recompute layerThicknessEdge here.
cell1 = cellsOnEdge(1,iEdge)
cell2 = cellsOnEdge(2,iEdge)
do k=1,N
- h_edge(k,iEdge) = 0.5 * (h(k,cell1) + h(k,cell2))
+ layerThicknessEdge(k,iEdge) = 0.5 * (layerThickness(k,cell1) + layerThickness(k,cell2))
end do
! A is lower diagonal term
do k=2,N
A(k) = -2.0*dt*vertViscTopOfEdge(k,iEdge) &
- / (h_edge(k-1,iEdge) + h_edge(k,iEdge)) &
- / h_edge(k,iEdge)
+ / (layerThicknessEdge(k-1,iEdge) + layerThicknessEdge(k,iEdge)) &
+ / layerThicknessEdge(k,iEdge)
enddo
! C is upper diagonal term
do k=1,N-1
C(k) = -2.0*dt*vertViscTopOfEdge(k+1,iEdge) &
- / (h_edge(k,iEdge) + h_edge(k+1,iEdge)) &
- / h_edge(k,iEdge)
+ / (layerThicknessEdge(k,iEdge) + layerThicknessEdge(k+1,iEdge)) &
+ / layerThicknessEdge(k,iEdge)
enddo
! B is diagonal term
@@ -253,7 +253,7 @@
! Apply bottom drag boundary condition on the viscous term
B(N) = 1 - A(N) + dt*config_bottom_drag_coeff &
- *sqrt(2.0*ke_edge(k,iEdge))/h_edge(k,iEdge)
+ *sqrt(2.0*ke_edge(k,iEdge))/layerThicknessEdge(k,iEdge)
call tridiagonal_solve(A(2:N),B,C(1:N-1),u(:,iEdge),uTemp,N)
@@ -283,7 +283,7 @@
!
!-----------------------------------------------------------------------
- subroutine ocn_tracer_vmix_tend_implicit(grid, dt, vertDiffTopOfCell, h, tracers, err)!{{{
+ subroutine ocn_tracer_vmix_tend_implicit(grid, dt, vertDiffTopOfCell, layerThickness, tracers, err)!{{{
!-----------------------------------------------------------------
!
@@ -301,7 +301,7 @@
dt !< Input: time step
real (kind=RKIND), dimension(:,:), intent(in) :: &
- h !< Input: thickness at cell center
+ layerThickness !< Input: thickness at cell center
!-----------------------------------------------------------------
!
@@ -352,13 +352,13 @@
A(1)=0
do k=2,N
A(k) = -2.0*dt*vertDiffTopOfCell(k,iCell) &
- / (h(k-1,iCell) + h(k,iCell)) / h(k,iCell)
+ / (layerThickness(k-1,iCell) + layerThickness(k,iCell)) / layerThickness(k,iCell)
enddo
! C is upper diagonal term
do k=1,N-1
C(k) = -2.0*dt*vertDiffTopOfCell(k+1,iCell) &
- / (h(k,iCell) + h(k+1,iCell)) / h(k,iCell)
+ / (layerThickness(k,iCell) + layerThickness(k+1,iCell)) / layerThickness(k,iCell)
enddo
C(N) = 0.0
@@ -403,7 +403,7 @@
integer, intent(out) :: err
integer :: nCells
- real (kind=RKIND), dimension(:,:), pointer :: u, h, h_edge, vertViscTopOfEdge, vertDiffTopOfCell, ke_edge
+ real (kind=RKIND), dimension(:,:), pointer :: u, layerThickness, layerThicknessEdge, vertViscTopOfEdge, vertDiffTopOfCell, ke_edge
real (kind=RKIND), dimension(:,:,:), pointer :: tracers
integer, dimension(:), pointer :: maxLevelCell
@@ -411,8 +411,8 @@
u => state % u % array
tracers => state % tracers % array
- h => state % h % array
- h_edge => state % h_edge % array
+ layerThickness => state % layerThickness % array
+ layerThicknessEdge => state % layerThicknessEdge % array
ke_edge => state % ke_edge % array
vertViscTopOfEdge => diagnostics % vertViscTopOfEdge % array
vertDiffTopOfCell => diagnostics % vertDiffTopOfCell % array
@@ -425,13 +425,13 @@
!
! Implicit vertical solve for momentum
!
- call ocn_vel_vmix_tend_implicit(grid, dt, ke_edge, vertViscTopOfEdge, h, h_edge, u, err)
+ call ocn_vel_vmix_tend_implicit(grid, dt, ke_edge, vertViscTopOfEdge, layerThickness, layerThicknessEdge, u, err)
!
! Implicit vertical solve for tracers
!
- call ocn_tracer_vmix_tend_implicit(grid, dt, vertDiffTopOfCell, h, tracers, err)
+ call ocn_tracer_vmix_tend_implicit(grid, dt, vertDiffTopOfCell, layerThickness, tracers, err)
end subroutine ocn_vmix_implicit!}}}
Modified: branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_vmix_coefs_rich.F
===================================================================
--- branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_vmix_coefs_rich.F        2013-04-01 18:31:22 UTC (rev 2689)
+++ branches/ocean_projects/variable_name_change/src/core_ocean/mpas_ocn_vmix_coefs_rich.F        2013-04-01 20:21:51 UTC (rev 2690)
@@ -109,7 +109,7 @@
integer :: err1, err2, err3, indexT, indexS
real (kind=RKIND), dimension(:,:), pointer :: &
- vertViscTopOfEdge, vertDiffTopOfCell, u, h, h_edge, rho, rhoDisplaced
+ vertViscTopOfEdge, vertDiffTopOfCell, u, layerThickness, layerThicknessEdge, rho, rhoDisplaced
real (kind=RKIND), dimension(:,:), pointer :: RiTopOfEdge, RiTopOfCell
@@ -134,8 +134,8 @@
RiTopOfCell => d % RiTopOfCell % array
u => s % u % array
- h => s % h % array
- h_edge => s % h_edge % array
+ layerThickness => s % layerThickness % array
+ layerThicknessEdge => s % layerThicknessEdge % array
rho => s % rho % array
rhoDisplaced => s % rhoDisplaced % array
tracers => s % tracers % array
@@ -145,11 +145,11 @@
call ocn_equation_of_state_rho(s, grid, 1,'relative', err)
call mpas_timer_stop("eos rich", richEOSTimer)
- call ocn_vmix_get_rich_numbers(grid, indexT, indexS, u, h, h_edge, &
+ call ocn_vmix_get_rich_numbers(grid, indexT, indexS, u, layerThickness, layerThicknessEdge, &
rho, rhoDisplaced, tracers, RiTopOfEdge, RiTopOfCell, err1)
- call ocn_vel_vmix_coefs_rich(grid, RiTopOfEdge, h_edge, vertViscTopOfEdge, err2)
- call ocn_tracer_vmix_coefs_rich(grid, RiTopOfCell, h, vertDiffTopOfCell, err3)
+ call ocn_vel_vmix_coefs_rich(grid, RiTopOfEdge, layerThicknessEdge, vertViscTopOfEdge, err2)
+ call ocn_tracer_vmix_coefs_rich(grid, RiTopOfCell, layerThickness, vertDiffTopOfCell, err3)
err = ior(err1, ior(err2, err3))
@@ -170,7 +170,7 @@
!
!-----------------------------------------------------------------------
- subroutine ocn_vel_vmix_coefs_rich(grid, RiTopOfEdge, h_edge, vertViscTopOfEdge, err)!{{{
+ subroutine ocn_vel_vmix_coefs_rich(grid, RiTopOfEdge, layerThicknessEdge, vertViscTopOfEdge, err)!{{{
!-----------------------------------------------------------------
!
@@ -182,7 +182,7 @@
grid !< Input: grid information
real (kind=RKIND), dimension(:,:), intent(in) :: &
- h_edge !< Input: thickness at edge
+ layerThicknessEdge !< Input: thickness at edge
real (kind=RKIND), dimension(:,:), intent(in) :: &
RiTopOfEdge !< Richardson number at top of edge
@@ -256,7 +256,7 @@
!
!-----------------------------------------------------------------------
- subroutine ocn_tracer_vmix_coefs_rich(grid, RiTopOfCell, h, vertDiffTopOfCell, err)!{{{
+ subroutine ocn_tracer_vmix_coefs_rich(grid, RiTopOfCell, layerThickness, vertDiffTopOfCell, err)!{{{
!-----------------------------------------------------------------
!
@@ -268,7 +268,7 @@
grid !< Input: grid information
real (kind=RKIND), dimension(:,:), intent(in) :: &
- h !< Input: thickness at cell center
+ layerThickness !< Input: thickness at cell center
real (kind=RKIND), dimension(:,:), intent(in) :: &
RiTopOfCell !< Input: Richardson number at top of cell
@@ -348,7 +348,7 @@
!
!-----------------------------------------------------------------------
- subroutine ocn_vmix_get_rich_numbers(grid, indexT, indexS, u, h, h_edge, & !{{{
+ subroutine ocn_vmix_get_rich_numbers(grid, indexT, indexS, u, layerThickness, layerThicknessEdge, & !{{{
rho, rhoDisplaced, tracers, RiTopOfEdge, RiTopOfCell, err)
!-----------------------------------------------------------------
@@ -364,8 +364,8 @@
integer, intent(in) :: indexS !< Input: index for salinity
real (kind=RKIND), dimension(:,:), intent(in) :: u !< Input: horizontal velocity
- real (kind=RKIND), dimension(:,:), intent(in) :: h !< Input: thickness
- real (kind=RKIND), dimension(:,:), intent(in) :: h_edge !< Input: thickness at edge
+ real (kind=RKIND), dimension(:,:), intent(in) :: layerThickness !< Input: thickness
+ real (kind=RKIND), dimension(:,:), intent(in) :: layerThicknessEdge !< Input: thickness at edge
real (kind=RKIND), dimension(:,:,:), intent(in) :: tracers !< Input: tracers
@@ -476,7 +476,7 @@
do iEdge = 1,nEdges
do k = 2,maxLevelEdgeTop(iEdge)
RiTopOfEdge(k,iEdge) = coef*drhoTopOfEdge(k,iEdge) &
- *(h_edge(k-1,iEdge)+h_edge(k,iEdge)) &
+ *(layerThicknessEdge(k-1,iEdge)+layerThicknessEdge(k,iEdge)) &
/ (du2TopOfEdge(k,iEdge) + 1e-20)
end do
end do
@@ -487,7 +487,7 @@
do iCell = 1,nCells
do k = 2,maxLevelCell(iCell)
RiTopOfCell(k,iCell) = coef*drhoTopOfCell(k,iCell) &
- *(h(k-1,iCell)+h(k,iCell)) &
+ *(layerThickness(k-1,iCell)+layerThickness(k,iCell)) &
/ (du2TopOfCell(k,iCell) + 1e-20)
end do
end do
</font>
</pre>