[mpas-developers] /home/subversion/mpas/model revision 2505
Michael Duda
duda at ucar.edu
Thu Feb 21 17:42:53 MST 2013
Hi, Sara.
Given our eventual transition to the non-hydrostatic MPAS-A in CAM,
this is probably a moot point, but I'm not sure it's really good
practice to overload the existing config_h_mom_eddy_visc2 to control the
sponge layer. The registry makes it very easy to add a new namelist
option, and I'd be glad to provide more information on how to do that if
you'd be interested.
Michael
On Thu, Feb 21, 2013 at 05:11:49PM -0700, mpas-developers at ucar.edu wrote:
<p><b>rauscher at lanl.gov</b> 2013-02-21 17:11:49 -0700 (Thu, 21 Feb 2013)</p><p>Added LD's sponge layer to top three layers (with strongest damping on
+the top level), with coefficients that are independent of resolution. Turned on in namelist.input by setting config_h_mom_eddy_visc2 = 1.0<br>
</p><hr noshade><pre><font color="gray">Modified: branches/mpas_cam_coupling/src/core_hyd_atmos/module_time_integration.F
===================================================================
--- branches/mpas_cam_coupling/src/core_hyd_atmos/module_time_integration.F 2013-02-22 00:11:33 UTC (rev 2504)
+++ branches/mpas_cam_coupling/src/core_hyd_atmos/module_time_integration.F 2013-02-22 00:11:49 UTC (rev 2505)
@@ -537,6 +537,11 @@
integer :: iEdge, iCell, iVertex, k, cell1, cell2, vertex1, vertex2, eoe, i, j
real (kind=RKIND) :: flux, vorticity_abs, h_vertex, workpv, q, upstream_bias
+! CSR
+! LDC !!!!!!!!!!!!!!!!!!!!!!!!!
+ real (kind=8) :: nu_top
+! LDC !!!!!!!!!!!!!!!!!!!!!!!!!
+! CSR
integer :: nCells, nEdges, nVertices, nVertLevels
real (kind=RKIND) :: h_mom_eddy_visc2, v_mom_eddy_visc2, h_mom_eddy_visc4
@@ -704,6 +709,14 @@
! horizontal mixing for u
!
if ( h_mom_eddy_visc2 > 0.0 ) then
+
+!CSR sponge layer
+! LDC(07/19/2012)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! write(0,*) ' ****** nu_top=0.5e5 ********'
+ nu_top=0.5e5
+! end of LDC !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!CSR
+
do iEdge=1,grid % nEdgesSolve
cell1 = cellsOnEdge(1,iEdge)
cell2 = cellsOnEdge(2,iEdge)
@@ -718,8 +731,22 @@
!
u_diffusion = ( divergence(k,cell2) - divergence(k,cell1) ) / dcEdge(iEdge) &
-( vorticity(k,vertex2) - vorticity(k,vertex1) ) / dvEdge(iEdge)
- u_diffusion = meshScalingDel2(iEdge) * h_mom_eddy_visc2 * u_diffusion
+!CSR u_diffusion = meshScalingDel2(iEdge) * h_mom_eddy_visc2 * u_diffusion
+! LDC (07/18/2012)!!!!!!!!!!!!!!!!!!!!
+! remove "meshScalingDel2" to ensure uniform sponge layer across all
+! resolution!
+
+ if (k>=nVertLevels-2) then
+ if (k==nVertLevels-2) u_diffusion =h_mom_eddy_visc2*nu_top*u_diffusion
+ if (k==nVertLevels-1) u_diffusion =h_mom_eddy_visc2*nu_top*2*u_diffusion
+ if (k==nVertLevels) u_diffusion =h_mom_eddy_visc2*nu_top*4*u_diffusion
+ else
+ u_diffusion = 0
+ end if
+! end of LDC !!!!!!!!!!!!!!!!!
+! CSR
+
! tdr
if(doEuler) then
if(rk_step.eq.1) euler_tend_u(k,iEdge) = euler_tend_u(k,iEdge) + u_diffusion
</font>
</pre>
> _______________________________________________
> mpas-developers mailing list
> mpas-developers at mailman.ucar.edu
> http://mailman.ucar.edu/mailman/listinfo/mpas-developers
More information about the mpas-developers
mailing list