<p><b>dwj07@fsu.edu</b> 2012-01-26 12:42:12 -0700 (Thu, 26 Jan 2012)</p><p><br>
        -- BRANCH COMMIT --<br>
<br>
        Adding namelist section debug with options to turn off tendency terms.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/advection_routines/namelist.input.ocean
===================================================================
--- branches/ocean_projects/advection_routines/namelist.input.ocean        2012-01-26 03:08:30 UTC (rev 1425)
+++ branches/ocean_projects/advection_routines/namelist.input.ocean        2012-01-26 19:42:12 UTC (rev 1426)
@@ -90,3 +90,5 @@
config_restoreT_timescale = 90.0
config_restoreS_timescale = 90.0
/
+&debug
+/
Modified: branches/ocean_projects/advection_routines/src/core_ocean/Registry
===================================================================
--- branches/ocean_projects/advection_routines/src/core_ocean/Registry        2012-01-26 03:08:30 UTC (rev 1425)
+++ branches/ocean_projects/advection_routines/src/core_ocean/Registry        2012-01-26 19:42:12 UTC (rev 1426)
@@ -3,14 +3,16 @@
%
namelist integer sw_model config_test_case 5
namelist character sw_model config_time_integration RK4
-namelist logical sw_model config_rk_filter_btr_mode false
+namelist logical sw_model config_rk_filter_btr_mode .false.
namelist real sw_model config_dt 172.8
namelist integer sw_model config_calendar_type MPAS_360DAY
namelist character sw_model config_start_time 0000-01-01_00:00:00
namelist character sw_model config_stop_time none
namelist character sw_model config_run_duration none
namelist integer sw_model config_stats_interval 100
-namelist logical sw_model config_initial_stats false
+namelist logical sw_model config_initial_stats .false.
+namelist logical sw_model config_prescribe_velocities .false.
+namelist logical sw_model config_prescribe_thickness .false.
namelist character io config_input_name grid.nc
namelist character io config_output_name output.nc
namelist character io config_restart_name restart.nc
@@ -77,6 +79,23 @@
namelist logical restore config_restoreTS false
namelist real restore config_restoreT_timescale 90.0
namelist real restore config_restoreS_timescale 90.0
+namelist logical debug config_thick_hadv_off                .false.
+namelist logical debug config_thick_vadv_off                .false.
+namelist logical debug config_tracer_hadv_off .false.
+namelist logical debug config_tracer_vadv_off .false.
+namelist logical debug config_tracer_hmix2_off .false.
+namelist logical debug config_tracer_hmix4_off .false.
+namelist logical debug config_tracer_vmix_off                .false.
+namelist logical debug config_vel_coriolis_off        .false.
+namelist logical debug config_vel_bottomdrag_off        .false.
+namelist logical debug config_vel_windstress_off        .false.
+namelist logical debug config_vel_rayleigh_off        .false.
+namelist logical debug config_vel_hmix2_off                .false.
+namelist logical debug config_vel_hmix4_off                .false.
+namelist logical debug config_vel_pressuregrad_off .false.
+namelist logical debug config_vel_vadv_off                .false.
+namelist logical debug config_vel_vmix_off                .false.
+namelist logical debug config_restoring_off                .false.
%
% dim type name_in_file name_in_code
@@ -195,7 +214,7 @@
var persistent real salinityRestore ( nCells ) 0 ir salinityRestore mesh - -
% Prognostic variables: read from input, saved in restart, and written to output
-var persistent real u ( nVertLevels nEdges Time ) 2 ir u state - -
+var persistent real u ( nVertLevels nEdges Time ) 2 iro u state - -
var persistent real h ( nVertLevels nCells Time ) 2 ir h state - -
var persistent real rho ( nVertLevels nCells Time ) 2 iro rho state - -
var persistent real temperature ( nVertLevels nCells Time ) 2 iro temperature state tracers dynamics
Modified: branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_restoring.F
===================================================================
--- branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_restoring.F        2012-01-26 03:08:30 UTC (rev 1425)
+++ branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_restoring.F        2012-01-26 19:42:12 UTC (rev 1426)
@@ -168,6 +168,10 @@
salinityTimeScale = config_restoreS_timescale
endif
+ if(config_restoring_off) then
+ restoringOn = .false.
+ end if
+
!--------------------------------------------------------------------
end subroutine ocn_restoring_init!}}}
Modified: branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_tendency.F
===================================================================
--- branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_tendency.F        2012-01-26 03:08:30 UTC (rev 1425)
+++ branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_tendency.F        2012-01-26 19:42:12 UTC (rev 1426)
@@ -357,21 +357,21 @@
! and then change maxLevelEdgeTop to maxLevelEdgeBot in the following section.
! tracer_edge at the boundary will also need to be defined for flux boundaries.
- call mpas_timer_start("adv", .false., tracerHadvTimer)
- call mpas_tracer_advection_tend(tracers, uh, wTop, hMeanTopZLevel, hRatioZLevelKm1, hRatioZLevelK, grid, tend_tr)
- call mpas_timer_stop("adv", tracerHadvTimer)
-! call mpas_timer_start("hadv", .false., tracerHadvTimer)
-! call ocn_tracer_hadv_tend(grid, u, h_edge, tracers, tend_tr, err)
-! call mpas_timer_stop("hadv", tracerHadvTimer)
+! call mpas_timer_start("adv", .false., tracerHadvTimer)
+! call mpas_tracer_advection_tend(tracers, uh, wTop, hMeanTopZLevel, hRatioZLevelKm1, hRatioZLevelK, grid, tend_tr)
+! call mpas_timer_stop("adv", tracerHadvTimer)
+ call mpas_timer_start("hadv", .false., tracerHadvTimer)
+ call ocn_tracer_hadv_tend(grid, u, h_edge, tracers, tend_tr, err)
+ call mpas_timer_stop("hadv", tracerHadvTimer)
!
! tracer tendency: vertical advection term -d/dz( h \phi w)
!
-! call mpas_timer_start("vadv", .false., tracerVadvTimer)
-! call ocn_tracer_vadv_tend(grid, wtop, tracers, tend_tr, err)
-! call mpas_timer_stop("vadv", tracerVadvTimer)
+ call mpas_timer_start("vadv", .false., tracerVadvTimer)
+ call ocn_tracer_vadv_tend(grid, wtop, tracers, tend_tr, err)
+ call mpas_timer_stop("vadv", tracerVadvTimer)
!
! tracer tendency: del2 horizontal tracer diffusion, div(h \kappa_2 </font>
<font color="gray">abla \phi)
@@ -534,6 +534,8 @@
! mrp 110516 efficiency note: For z-level, only do this on level 1. h_edge for all
! lower levels is defined by hZlevel.
+ h_edge = -1e34
+
! coef_3rd_order = 0.
! if (config_thickness_adv_order == 3) coef_3rd_order = 1.0
! if (config_thickness_adv_order == 3 .and. config_monotonic) coef_3rd_order = 0.25
Modified: branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_thick_hadv.F
===================================================================
--- branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_thick_hadv.F        2012-01-26 03:08:30 UTC (rev 1425)
+++ branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_thick_hadv.F        2012-01-26 19:42:12 UTC (rev 1426)
@@ -42,7 +42,9 @@
!
!--------------------------------------------------------------------
+ logical :: thickHadvOn
+
!***********************************************************************
contains
@@ -120,6 +122,8 @@
err = 0
+ if(.not.thickHadvOn) return
+
nEdges = grid % nEdges
nCells = grid % nCells
nVertLevels = grid % nVertLevels
@@ -197,6 +201,12 @@
err = 0
+ thickHadvOn = .true.
+
+ if(config_thick_hadv_off) then
+ thickHadvOn = .false.
+ end if
+
!--------------------------------------------------------------------
end subroutine ocn_thick_hadv_init!}}}
Modified: branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_thick_vadv.F
===================================================================
--- branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_thick_vadv.F        2012-01-26 03:08:30 UTC (rev 1425)
+++ branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_thick_vadv.F        2012-01-26 19:42:12 UTC (rev 1426)
@@ -42,7 +42,9 @@
!
!--------------------------------------------------------------------
+ logical :: thickVadvOn
+
!***********************************************************************
contains
@@ -110,6 +112,8 @@
err = 0
+ if(.not.thickVadvOn) return
+
nCells = grid % nCells
! dwj 10/25/2011 - Need to explore isopycnal vs zlevel flags
@@ -152,6 +156,12 @@
err = 0
+ thickVadvOn = .true.
+
+ if(config_thick_vadv_off) then
+ thickVadvOn = .false.
+ end if
+
!--------------------------------------------------------------------
end subroutine ocn_thick_vadv_init!}}}
Modified: branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_time_integration_rk4.F
===================================================================
--- branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_time_integration_rk4.F        2012-01-26 03:08:30 UTC (rev 1425)
+++ branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_time_integration_rk4.F        2012-01-26 19:42:12 UTC (rev 1426)
@@ -224,10 +224,15 @@
end do
end do
- if (config_test_case == 1) then ! For case 1, wind field should be fixed
+
+ if (config_prescribe_velocities) then
provis % u % array(:,:) = block % state % time_levs(1) % state % u % array(:,:)
end if
+ if (config_prescribe_thickness) then
+ provis % h % array(:,:) = block % state % time_levs(1) % state % h % array(:,:)
+ end if
+
call ocn_diagnostic_solve(dt, provis, block % mesh)
block => block % next
@@ -320,10 +325,14 @@
call mpas_timer_stop("RK4-implicit vert mix")
end if
- if (config_test_case == 1) then ! For case 1, wind field should be fixed
+ if (config_prescribe_velocities) then
block % state % time_levs(2) % state % u % array(:,:) = block % state % time_levs(1) % state % u % array(:,:)
end if
+ if (config_prescribe_thickness) then
+ block % state % time_levs(2) % state % h % array(:,:) = block % state % time_levs(1) % state % h % array(:,:)
+ end if
+
call ocn_diagnostic_solve(dt, block % state % time_levs(2) % state, block % mesh)
call mpas_reconstruct(block % mesh, block % state % time_levs(2) % state % u % array, &
Modified: branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_time_integration_split.F
===================================================================
--- branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_time_integration_split.F        2012-01-26 03:08:30 UTC (rev 1425)
+++ branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_time_integration_split.F        2012-01-26 19:42:12 UTC (rev 1426)
@@ -1013,10 +1013,14 @@
call ocn_tracer_vmix_tend_implicit(block % mesh, dt, vertdifftopofcell, h, tracers, err)
end if
- if (config_test_case == 1) then ! For case 1, wind field should be fixed
+ if (config_prescribe_velocities) then
block % state % time_levs(2) % state % u % array(:,:) = block % state % time_levs(1) % state % u % array(:,:)
end if
+ if(config_prescribe_thickness) then
+ block % state % time_levs(2) % state % h % array(:,:) = block % state % time_levs(1) % state % h % array(:,:)
+ end if
+
call ocn_diagnostic_solve(dt, block % state % time_levs(2) % state, block % mesh)
call mpas_reconstruct(block % mesh, block % state % time_levs(2) % state % u % array, &
Modified: branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_tracer_hadv.F
===================================================================
--- branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_tracer_hadv.F        2012-01-26 03:08:30 UTC (rev 1425)
+++ branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_tracer_hadv.F        2012-01-26 19:42:12 UTC (rev 1426)
@@ -47,6 +47,7 @@
!
!--------------------------------------------------------------------
+ logical :: tracerHadvOn
type (timer_node), pointer :: hadv2Timer, hadv3Timer, hadv4Timer
@@ -125,6 +126,10 @@
!
!-----------------------------------------------------------------
+ err = 0
+
+ if(.not.tracerHadvOn) return
+
call mpas_timer_start("hadv2", .false., hadv2Timer);
call ocn_tracer_hadv2_tend(grid, u, h_edge, tracers, tend, err1)
call mpas_timer_stop("hadv2", hadv2Timer);
@@ -177,6 +182,12 @@
err = ior(err1, ior(err2, err3))
+ tracerHadvOn = .true.
+
+ if(config_tracer_hadv_off) then
+ tracerHadvOn = .false.
+ end if
+
!--------------------------------------------------------------------
end subroutine ocn_tracer_hadv_init!}}}
Modified: branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_tracer_hadv2.F
===================================================================
--- branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_tracer_hadv2.F        2012-01-26 03:08:30 UTC (rev 1425)
+++ branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_tracer_hadv2.F        2012-01-26 19:42:12 UTC (rev 1426)
@@ -144,6 +144,7 @@
do iTracer=1,num_tracers
tracer_edge = 0.5 * (tracers(iTracer,k,cell1) + tracers(iTracer,k,cell2))
flux = r_tmp * tracer_edge
+
tend(iTracer,k,cell1) = tend(iTracer,k,cell1) - flux * invAreaCell1
tend(iTracer,k,cell2) = tend(iTracer,k,cell2) + flux * invAreaCell2
end do
Modified: branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_tracer_hadv4.F
===================================================================
--- branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_tracer_hadv4.F        2012-01-26 03:08:30 UTC (rev 1425)
+++ branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_tracer_hadv4.F        2012-01-26 19:42:12 UTC (rev 1426)
@@ -109,7 +109,7 @@
boundaryMask
integer, dimension(:), pointer :: maxLevelEdgeTop, nEdgesOnCell
- integer, dimension(:,:), pointer :: cellsOnEdge, cellsOnCell, cellMask
+ integer, dimension(:,:), pointer :: cellsOnEdge, cellsOnCell, cellMask, edgeMask
real (kind=RKIND) :: flux, tracer_edge, d2fdx2_cell1, d2fdx2_cell2, invAreaCell1, invAreaCell2
@@ -131,8 +131,9 @@
nEdges = grid % nEdges
num_tracers = size(tracers, dim=1)
maxLevelEdgeTop => grid % maxLevelEdgeTop % array
- nEdgesOnCell = grid % nEdgesOnCell % array
+ nEdgesOnCell => grid % nEdgesOnCell % array
cellMask => grid % cellMask % array
+ edgeMask => grid % edgeMask % array
cellsOnEdge => grid % cellsOnEdge % array
cellsOnCell => grid % cellsOnCell % array
dvEdge => grid % dvEdge % array
@@ -153,6 +154,7 @@
d2fdx2_cell2 = 0.0
boundaryMask = abs(transfer(cellMask(k,cell1) == 1 .and. cellMask(k, cell2) == 1, boundaryMask))
+! boundaryMask = edgeMask(k, iEdge)
do iTracer=1,num_tracers
d2fdx2_cell1 = deriv_two(1,1,iEdge) * tracers(iTracer,k,cell1) * boundaryMask
Modified: branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_tracer_hmix_del2.F
===================================================================
--- branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_tracer_hmix_del2.F        2012-01-26 03:08:30 UTC (rev 1425)
+++ branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_tracer_hmix_del2.F        2012-01-26 19:42:12 UTC (rev 1426)
@@ -209,6 +209,10 @@
eddyDiff2 = config_h_tracer_eddy_diff2
endif
+ if(config_tracer_hmix2_off) then
+ del2On = .false.
+ end if
+
!--------------------------------------------------------------------
end subroutine ocn_tracer_hmix_del2_init!}}}
Modified: branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_tracer_hmix_del4.F
===================================================================
--- branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_tracer_hmix_del4.F        2012-01-26 03:08:30 UTC (rev 1425)
+++ branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_tracer_hmix_del4.F        2012-01-26 19:42:12 UTC (rev 1426)
@@ -239,6 +239,10 @@
eddyDiff4 = config_h_tracer_eddy_diff4
endif
+ if(config_tracer_hmix4_off) then
+ del4On = .false.
+ end if
+
!--------------------------------------------------------------------
end subroutine ocn_tracer_hmix_del4_init!}}}
Modified: branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_tracer_vadv.F
===================================================================
--- branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_tracer_vadv.F        2012-01-26 03:08:30 UTC (rev 1425)
+++ branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_tracer_vadv.F        2012-01-26 19:42:12 UTC (rev 1426)
@@ -174,6 +174,10 @@
err = ior(err1, err2)
endif
+ if(config_tracer_vadv_off) then
+ vadvOn = .false.
+ endif
+
!--------------------------------------------------------------------
end subroutine ocn_tracer_vadv_init!}}}
Modified: branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_coriolis.F
===================================================================
--- branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_coriolis.F        2012-01-26 03:08:30 UTC (rev 1425)
+++ branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_coriolis.F        2012-01-26 19:42:12 UTC (rev 1426)
@@ -43,7 +43,9 @@
!
!--------------------------------------------------------------------
+ logical :: coriolisOn
+
!***********************************************************************
contains
@@ -116,6 +118,8 @@
err = 0
+ if(.not.coriolisOn) return
+
maxLevelEdgeTop => grid % maxLevelEdgeTop % array
nEdgesOnEdge => grid % nEdgesOnEdge % array
cellsOnEdge => grid % cellsOnEdge % array
@@ -181,6 +185,12 @@
err = 0
+ coriolisOn = .true.
+
+ if(config_vel_coriolis_off) then
+ coriolisOn = .false.
+ endif
+
!--------------------------------------------------------------------
end subroutine ocn_vel_coriolis_init!}}}
Modified: branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_forcing_bottomdrag.F
===================================================================
--- branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_forcing_bottomdrag.F        2012-01-26 03:08:30 UTC (rev 1425)
+++ branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_forcing_bottomdrag.F        2012-01-26 19:42:12 UTC (rev 1426)
@@ -181,6 +181,10 @@
bottomDragCoef = config_bottom_drag_coeff
endif
+ if(config_vel_bottomdrag_off) then
+ bottomDragOn = .false.
+ end if
+
!--------------------------------------------------------------------
end subroutine ocn_vel_forcing_bottomdrag_init!}}}
Modified: branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_forcing_rayleigh.F
===================================================================
--- branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_forcing_rayleigh.F        2012-01-26 03:08:30 UTC (rev 1425)
+++ branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_forcing_rayleigh.F        2012-01-26 19:42:12 UTC (rev 1426)
@@ -161,6 +161,7 @@
err = 0
+ rayleighFrictionOn = .false.
rayleighDampingCoef = 0.0
if (config_rayleigh_friction) then
@@ -168,6 +169,10 @@
rayleighDampingCoef = config_rayleigh_damping_coeff
endif
+ if(config_vel_rayleigh_off) then
+ rayleighFrictionOn = .false.
+ endif
+
!--------------------------------------------------------------------
end subroutine ocn_vel_forcing_rayleigh_init!}}}
Modified: branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_forcing_windstress.F
===================================================================
--- branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_forcing_windstress.F        2012-01-26 03:08:30 UTC (rev 1425)
+++ branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_forcing_windstress.F        2012-01-26 19:42:12 UTC (rev 1426)
@@ -172,6 +172,10 @@
windStressOn = .true.
rho_ref = 1000.0
+ if(config_vel_windstress_off) then
+ windStressOn = .false.
+ end if
+
err = 0
!--------------------------------------------------------------------
Modified: branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_hmix_del2.F
===================================================================
--- branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_hmix_del2.F        2012-01-26 03:08:30 UTC (rev 1425)
+++ branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_hmix_del2.F        2012-01-26 19:42:12 UTC (rev 1426)
@@ -210,7 +210,11 @@
endif
endif
+ if(config_vel_hmix2_off) then
+ hmixDel2On = .false.
+ endif
+
!--------------------------------------------------------------------
end subroutine ocn_vel_hmix_del2_init!}}}
Modified: branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_hmix_del4.F
===================================================================
--- branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_hmix_del4.F        2012-01-26 03:08:30 UTC (rev 1425)
+++ branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_hmix_del4.F        2012-01-26 19:42:12 UTC (rev 1426)
@@ -252,9 +252,12 @@
else
viscVortCoef = 0.0
endif
-
endif
+ if(config_vel_hmix4_off) then
+ hmixDel4On = .false.
+ end if
+
!--------------------------------------------------------------------
end subroutine ocn_vel_hmix_del4_init!}}}
Modified: branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_pressure_grad.F
===================================================================
--- branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_pressure_grad.F        2012-01-26 03:08:30 UTC (rev 1425)
+++ branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_pressure_grad.F        2012-01-26 19:42:12 UTC (rev 1426)
@@ -43,6 +43,7 @@
!
!--------------------------------------------------------------------
+ logical :: pressureGradOn
real (kind=RKIND) :: rho0Inv
@@ -110,6 +111,8 @@
err = 0
+ if(.not.pressureGradOn) return
+
nEdgesSolve = grid % nEdgesSolve
maxLevelEdgeTop => grid % maxLevelEdgeTop % array
cellsOnEdge => grid % cellsOnEdge % array
@@ -170,12 +173,18 @@
err = 0
+ pressureGradOn = .true.
+
if (config_vert_grid_type.eq.'isopycnal') then
rho0Inv = 1.0
elseif (config_vert_grid_type.eq.'zlevel') then
rho0Inv = 1.0/config_rho0
end if
+ if(config_vel_pressuregrad_off) then
+ pressureGradOn = .false.
+ end if
+
!--------------------------------------------------------------------
end subroutine ocn_vel_pressure_grad_init!}}}
Modified: branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_vadv.F
===================================================================
--- branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_vadv.F        2012-01-26 03:08:30 UTC (rev 1425)
+++ branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vel_vadv.F        2012-01-26 19:42:12 UTC (rev 1426)
@@ -183,6 +183,10 @@
velVadvOn = .true.
end if
+ if(config_vel_vadv_off) then
+ velVadvOn = .false.
+ end if
+
!--------------------------------------------------------------------
end subroutine ocn_vel_vadv_init!}}}
Modified: branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vmix.F
===================================================================
--- branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vmix.F        2012-01-26 03:08:30 UTC (rev 1425)
+++ branches/ocean_projects/advection_routines/src/core_ocean/mpas_ocn_vmix.F        2012-01-26 19:42:12 UTC (rev 1426)
@@ -56,6 +56,7 @@
!--------------------------------------------------------------------
logical :: explicitOn, implicitOn
+ logical :: tracerVmixOn, velVmixOn
!***********************************************************************
@@ -199,6 +200,7 @@
err = 0
if(implicitOn) return
+ if(.not.velVmixOn) return
nEdgessolve = grid % nEdgesSolve
nVertLevels = grid % nVertLevels
@@ -300,6 +302,7 @@
err = 0
if(explicitOn) return
+ if(.not.velVmixOn) return
nEdges = grid % nEdges
nVertLevels = grid % nVertLevels
@@ -415,6 +418,7 @@
err = 0
if(implicitOn) return
+ if(.not.tracerVmixOn) return
nCellsSolve = grid % nCellsSolve
nVertLevels = grid % nVertLevels
@@ -521,6 +525,7 @@
err = 0
if(explicitOn) return
+ if(.not.tracerVmixOn) return
nCells = grid % nCells
nVertLevels = grid % nVertLevels
@@ -573,7 +578,6 @@
!
!-----------------------------------------------------------------------
-
subroutine ocn_vmix_init(err)!{{{
!--------------------------------------------------------------------
@@ -592,12 +596,22 @@
explicitOn = .true.
implicitOn = .false.
+ velVmixOn = .true.
+ tracerVmixOn = .true.
if(config_implicit_vertical_mix) then
explicitOn = .false.
implicitOn = .true.
end if
+ if(config_vel_vmix_off) then
+ velVmixOn = .false.
+ end if
+
+ if(config_tracer_vmix_off) then
+ tracerVmixOn = .false.
+ end if
+
call ocn_vmix_coefs_const_init(err1)
call ocn_vmix_coefs_tanh_init(err2)
call ocn_vmix_coefs_rich_init(err3)
</font>
</pre>