<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><br></div>Hi Micheal et al.,<div><br></div><div>Moving this to the namelist makes sense. Also, Qingshan has a manuscript in review that I think is a significant improvement to the APVM scheme (link is here: <a href="http://public.lanl.gov/ringler/files/apvm.pdf">http://public.lanl.gov/ringler/files/apvm.pdf</a> ). He will be implementing this into the shallow-water and ocean models. If there is interest, we can consider putting this into the frameworks to allow the different cores to have access to this scale-aware version of APVM.</div><div><br></div><div>Cheers,</div><div>Todd</div><div><br><div><div>On Nov 4, 2010, at 5:35 PM, <a href="mailto:mpas-developers@ucar.edu">mpas-developers@ucar.edu</a> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><p><b>duda</b> 2010-11-04 17:35:55 -0600 (Thu, 04 Nov 2010)</p><p>BRANCH COMMIT<br> <br> Allow pv upwinding to be controlled by a namelist parameter,<br> config_apvm_upwinding, which defaults to 0.5.<br> <br> <br> M src/core_hyd_atmos/Registry<br> M src/core_hyd_atmos/module_time_integration.F<br> M src/core_nhyd_atmos/Registry<br> M src/core_nhyd_atmos/module_time_integration.F<br> </p><hr noshade=""><pre><font color="gray">Modified: branches/atmos_nonhydrostatic/src/core_hyd_atmos/Registry
===================================================================
--- branches/atmos_nonhydrostatic/src/core_hyd_atmos/Registry        2010-11-04 00:19:10 UTC (rev 593)
+++ branches/atmos_nonhydrostatic/src/core_hyd_atmos/Registry        2010-11-04 23:35:55 UTC (rev 594)
@@ -18,6 +18,7 @@
namelist logical sw_model config_positive_definite false
namelist logical sw_model config_monotonic true
namelist integer sw_model config_mp_physics 0
+namelist real sw_model config_apvm_upwinding 0.5
namelist integer dimensions config_nvertlevels 26
namelist character io config_input_name grid.nc
namelist character io config_output_name output.nc
Modified: branches/atmos_nonhydrostatic/src/core_hyd_atmos/module_time_integration.F
===================================================================
--- branches/atmos_nonhydrostatic/src/core_hyd_atmos/module_time_integration.F        2010-11-04 00:19:10 UTC (rev 593)
+++ branches/atmos_nonhydrostatic/src/core_hyd_atmos/module_time_integration.F        2010-11-04 23:35:55 UTC (rev 594)
@@ -1988,7 +1988,7 @@
!
do iEdge = 1,nEdges
do k = 1,nVertLevels
- pv_edge(k,iEdge) = pv_edge(k,iEdge) - 0.5 * v(k,iEdge) * dt * gradPVt(k,iEdge)
+ pv_edge(k,iEdge) = pv_edge(k,iEdge) - config_apvm_upwinding * v(k,iEdge) * dt * gradPVt(k,iEdge)
end do
end do
@@ -2027,7 +2027,7 @@
!
do iEdge = 1,nEdges
do k = 1,nVertLevels
- pv_edge(k,iEdge) = pv_edge(k,iEdge) - 0.5 * u(k,iEdge) * dt * gradPVn(k,iEdge)
+ pv_edge(k,iEdge) = pv_edge(k,iEdge) - config_apvm_upwinding * u(k,iEdge) * dt * gradPVn(k,iEdge)
end do
end do
Modified: branches/atmos_nonhydrostatic/src/core_nhyd_atmos/Registry
===================================================================
--- branches/atmos_nonhydrostatic/src/core_nhyd_atmos/Registry        2010-11-04 00:19:10 UTC (rev 593)
+++ branches/atmos_nonhydrostatic/src/core_nhyd_atmos/Registry        2010-11-04 23:35:55 UTC (rev 594)
@@ -30,6 +30,7 @@
namelist integer nhyd_model config_mp_physics 0.
namelist real nhyd_model config_epssm 0.1
namelist real nhyd_model config_smdiv 0.1
+namelist real nhyd_model config_apvm_upwinding 0.5
namelist integer dimensions config_nvertlevels 26
namelist character io config_input_name grid.nc
namelist character io config_output_name output.nc
Modified: branches/atmos_nonhydrostatic/src/core_nhyd_atmos/module_time_integration.F
===================================================================
--- branches/atmos_nonhydrostatic/src/core_nhyd_atmos/module_time_integration.F        2010-11-04 00:19:10 UTC (rev 593)
+++ branches/atmos_nonhydrostatic/src/core_nhyd_atmos/module_time_integration.F        2010-11-04 23:35:55 UTC (rev 594)
@@ -3176,7 +3176,7 @@
!
do iEdge = 1,nEdges
do k = 1,nVertLevels
- pv_edge(k,iEdge) = pv_edge(k,iEdge) - 0.5 * v(k,iEdge) * dt * gradPVt(k,iEdge)
+ pv_edge(k,iEdge) = pv_edge(k,iEdge) - config_apvm_upwinding * v(k,iEdge) * dt * gradPVt(k,iEdge)
end do
end do
@@ -3217,11 +3217,11 @@
! Modify PV edge with upstream bias.
!
-! do iEdge = 1,nEdges
-! do k = 1,nVertLevels
-! pv_edge(k,iEdge) = pv_edge(k,iEdge) - 0.5 * u(k,iEdge) *dt * gradPVn(k,iEdge)
-! end do
-! end do
+ do iEdge = 1,nEdges
+ do k = 1,nVertLevels
+ pv_edge(k,iEdge) = pv_edge(k,iEdge) - config_apvm_upwinding * u(k,iEdge) *dt * gradPVn(k,iEdge)
+ end do
+ end do
end subroutine compute_solve_diagnostics
</font>
</pre> _______________________________________________<br>mpas-developers mailing list<br><a href="mailto:mpas-developers@mailman.ucar.edu">mpas-developers@mailman.ucar.edu</a><br>http://mailman.ucar.edu/mailman/listinfo/mpas-developers<br></blockquote></div><br></div></body></html>