Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 8 additions & 6 deletions src/core/MOM_PressureForce.F90
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
use MOM_self_attr_load, only : SAL_CS
use MOM_tidal_forcing, only : tidal_forcing_CS
use MOM_unit_scaling, only : unit_scale_type
use MOM_variables, only : thermo_var_ptrs
use MOM_variables, only : thermo_var_ptrs, accel_diag_ptrs
use MOM_verticalGrid, only : verticalGrid_type
use MOM_ALE, only: ALE_CS
implicit none ; private
Expand All @@ -38,7 +38,7 @@
contains

!> A thin layer between the model and the Boussinesq and non-Boussinesq pressure force routines.
subroutine PressureForce(h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta)
subroutine PressureForce(h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, ADp, p_atm, pbce, eta)
type(ocean_grid_type), intent(in) :: G !< The ocean's grid structure
type(verticalGrid_type), intent(in) :: GV !< The ocean's vertical grid structure
type(unit_scale_type), intent(in) :: US !< A dimensional unit scaling type
Expand All @@ -51,6 +51,7 @@
intent(out) :: PFv !< Meridional pressure force acceleration [L T-2 ~> m s-2]
type(PressureForce_CS), intent(inout) :: CS !< Pressure force control structure
type(ALE_CS), pointer :: ALE_CSp !< ALE control structure
type(accel_diag_ptrs), pointer :: ADp !< Acceleration diagnostic pointers
real, dimension(:,:), pointer :: p_atm !< The pressure at the ice-ocean or
!! atmosphere-ocean interface [R L2 T-2 ~> Pa].
real, dimension(SZI_(G),SZJ_(G),SZK_(GV)), &
Expand All @@ -63,10 +64,10 @@
if (CS%Analytic_FV_PGF) then
if (GV%Boussinesq) then
call PressureForce_FV_Bouss(h, tv, PFu, PFv, G, GV, US, CS%PressureForce_FV, &
ALE_CSp, p_atm, pbce, eta)
ALE_CSp, ADp, p_atm, pbce, eta)
else
call PressureForce_FV_nonBouss(h, tv, PFu, PFv, G, GV, US, CS%PressureForce_FV, &
ALE_CSp, p_atm, pbce, eta)
ALE_CSp, ADp, p_atm, pbce, eta)

Check warning on line 70 in src/core/MOM_PressureForce.F90

View check run for this annotation

Codecov / codecov/patch

src/core/MOM_PressureForce.F90#L70

Added line #L70 was not covered by tests
endif
else
if (GV%Boussinesq) then
Expand All @@ -81,14 +82,15 @@
end subroutine Pressureforce

!> Initialize the pressure force control structure
subroutine PressureForce_init(Time, G, GV, US, param_file, diag, CS, SAL_CSp, tides_CSp)
subroutine PressureForce_init(Time, G, GV, US, param_file, diag, CS, ADp, SAL_CSp, tides_CSp)
type(time_type), target, intent(in) :: Time !< Current model time
type(ocean_grid_type), intent(in) :: G !< Ocean grid structure
type(verticalGrid_type), intent(in) :: GV !< Vertical grid structure
type(unit_scale_type), intent(in) :: US !< A dimensional unit scaling type
type(param_file_type), intent(in) :: param_file !< Parameter file handles
type(diag_ctrl), target, intent(inout) :: diag !< Diagnostics control structure
type(PressureForce_CS), intent(inout) :: CS !< Pressure force control structure
type(accel_diag_ptrs), pointer :: ADp !< Acceleration diagnostic pointers
type(SAL_CS), intent(in), optional :: SAL_CSp !< SAL control structure
type(tidal_forcing_CS), intent(in), optional :: tides_CSp !< Tide control structure
#include "version_variable.h"
Expand All @@ -105,7 +107,7 @@

if (CS%Analytic_FV_PGF) then
call PressureForce_FV_init(Time, G, GV, US, param_file, diag, &
CS%PressureForce_FV, SAL_CSp, tides_CSp)
CS%PressureForce_FV, ADp, SAL_CSp, tides_CSp)
else
call PressureForce_Mont_init(Time, G, GV, US, param_file, diag, &
CS%PressureForce_Mont, SAL_CSp, tides_CSp)
Expand Down
143 changes: 125 additions & 18 deletions src/core/MOM_PressureForce_FV.F90

Large diffs are not rendered by default.

112 changes: 90 additions & 22 deletions src/core/MOM_barotropic.F90
Original file line number Diff line number Diff line change
Expand Up @@ -325,6 +325,7 @@

!>@{ Diagnostic IDs
integer :: id_PFu_bt = -1, id_PFv_bt = -1, id_Coru_bt = -1, id_Corv_bt = -1
integer :: id_LDu_bt = -1, id_LDv_bt = -1
integer :: id_ubtforce = -1, id_vbtforce = -1, id_uaccel = -1, id_vaccel = -1
integer :: id_visc_rem_u = -1, id_visc_rem_v = -1, id_eta_cor = -1
integer :: id_ubt = -1, id_vbt = -1, id_eta_bt = -1, id_ubtav = -1, id_vbtav = -1
Expand Down Expand Up @@ -531,16 +532,16 @@
ubt_wtd, & ! A weighted sum used to find the filtered final ubt [L T-1 ~> m s-1].
PFu_avg, & ! The average zonal barotropic pressure gradient force [L T-2 ~> m s-2].
Coru_avg, & ! The average zonal barotropic Coriolis acceleration [L T-2 ~> m s-2].
LDu_avg, & ! The average zonal barotropic linear wave drag acceleration [L T-2 ~> m s-2].
ubt_dt ! The zonal barotropic velocity tendency [L T-2 ~> m s-2].
real, dimension(SZI_(G),SZJB_(G)) :: &
av_rem_v, & ! The weighted average of visc_rem_v [nondim]
tmp_v, & ! A temporary array at v points [L T-2 ~> m s-2] or [nondim]
vbt_st, & ! The meridional barotropic velocity at the start of timestep [L T-1 ~> m s-1].
vbt_wtd, & ! A weighted sum used to find the filtered final vbt [L T-1 ~> m s-1].
PFv_avg, & ! The average meridional barotropic pressure gradient force,
! [L T-2 ~> m s-2].
Corv_avg, & ! The summed meridional barotropic Coriolis acceleration,
! [L T-2 ~> m s-2].
PFv_avg, & ! The average meridional barotropic pressure gradient force [L T-2 ~> m s-2].
Corv_avg, & ! The average meridional barotropic Coriolis acceleration [L T-2 ~> m s-2].
LDv_avg, & ! The average meridional barotropic linear wave drag acceleration [L T-2 ~> m s-2].
vbt_dt ! The meridional barotropic velocity tendency [L T-2 ~> m s-2].
real, dimension(SZI_(G),SZJ_(G)) :: &
tmp_h, & ! A temporary array at h points [nondim]
Expand Down Expand Up @@ -1763,9 +1764,9 @@
f_4_u, f_4_v, bt_rem_u, bt_rem_v, &
BT_force_u, BT_force_v, Cor_ref_u, Cor_ref_v, Rayleigh_u, Rayleigh_v, &
eta_PF, gtot_E, gtot_W, gtot_N, gtot_S, SpV_col_avg, dgeo_de, &
eta_sum, eta_wtd, ubt_wtd, vbt_wtd, Coru_avg, PFu_avg, Corv_avg, PFv_avg, &
use_BT_cont, interp_eta_PF, find_etaav, dt, dtbt, nstep, nfilter, &
wt_vel, wt_eta, wt_accel, wt_trans, wt_accel2, OBC, CS%BT_OBC, CS, G, MS, GV, US)
eta_sum, eta_wtd, ubt_wtd, vbt_wtd, Coru_avg, PFu_avg, LDu_avg, Corv_avg, PFv_avg, &
LDv_avg, use_BT_cont, interp_eta_PF, find_etaav, dt, dtbt, nstep, nfilter, &
wt_vel, wt_eta, wt_accel, wt_trans, wt_accel2, ADp, OBC, CS%BT_OBC, CS, G, MS, GV, US)


if (id_clock_calc > 0) call cpu_clock_end(id_clock_calc)
Expand Down Expand Up @@ -1863,8 +1864,14 @@
do J=js-1,je ; do i=is,ie
v_accel_bt(i,J) = v_accel_bt(i,J) - Drag_v(i,J)
enddo ; enddo
endif

if ((CS%id_LDu_bt > 0) .or. (associated(ADp%bt_lwd_u))) then ; do j=js,je ; do I=is-1,ie
LDu_avg(I,j) = LDu_avg(I,j) - Drag_u(I,j)

Check warning on line 1869 in src/core/MOM_barotropic.F90

View check run for this annotation

Codecov / codecov/patch

src/core/MOM_barotropic.F90#L1869

Added line #L1869 was not covered by tests
enddo ; enddo ; endif
if ((CS%id_LDv_bt > 0) .or. (associated(ADp%bt_lwd_v))) then ; do J=js-1,je ; do i=is,ie
LDv_avg(i,J) = LDv_avg(i,J) - Drag_v(i,J)

Check warning on line 1872 in src/core/MOM_barotropic.F90

View check run for this annotation

Codecov / codecov/patch

src/core/MOM_barotropic.F90#L1872

Added line #L1872 was not covered by tests
enddo ; enddo ; endif
endif

if (id_clock_calc_post > 0) call cpu_clock_end(id_clock_calc_post)
if (id_clock_pass_post > 0) call cpu_clock_begin(id_clock_pass_post)
Expand Down Expand Up @@ -1915,6 +1922,8 @@
if (CS%id_PFv_bt > 0) call post_data(CS%id_PFv_bt, PFv_avg, CS%diag)
if (CS%id_Coru_bt > 0) call post_data(CS%id_Coru_bt, Coru_avg, CS%diag)
if (CS%id_Corv_bt > 0) call post_data(CS%id_Corv_bt, Corv_avg, CS%diag)
if (CS%id_LDu_bt > 0) call post_data(CS%id_LDu_bt, LDu_avg, CS%diag)
if (CS%id_LDv_bt > 0) call post_data(CS%id_LDv_bt, LDv_avg, CS%diag)
else ! if (CS%answer_date < 20190101) then
if (CS%id_PFu_bt > 0) then
do j=js,je ; do I=is-1,ie
Expand All @@ -1941,6 +1950,8 @@
call post_data(CS%id_Corv_bt, Corv_avg, CS%diag)
endif
endif

! Diagnostics for time tendency
if (CS%id_ubtdt > 0) then
do j=js,je ; do I=is-1,ie
ubt_dt(I,j) = (ubt_wtd(I,j) - ubt_st(I,j))*Idt
Expand All @@ -1954,6 +1965,32 @@
call post_data(CS%id_vbtdt, vbt_dt(isd:ied,JsdB:JedB), CS%diag)
endif

! Copy decomposed barotropic accelerations to ADp
if (associated(ADp%bt_pgf_u)) then ; do k=1,nz ; do j=js,je ; do I=is-1,ie
ADp%bt_pgf_u(I,j,k) = PFu_avg(I,j) - &
(((pbce(i+1,j,k) - gtot_W(i+1,j)) * e_anom(i+1,j)) - &
((pbce(i,j,k) - gtot_E(i,j)) * e_anom(i,j))) * CS%IdxCu(I,j)
enddo ; enddo ; enddo ; endif
if (associated(ADp%bt_pgf_v)) then ; do k=1,nz ; do J=js-1,je ; do i=is,ie
ADp%bt_pgf_v(i,J,k) = PFv_avg(i,J) - &
(((pbce(i,j+1,k) - gtot_S(i,j+1)) * e_anom(i,j+1)) - &
((pbce(i,j,k) - gtot_N(i,j)) * e_anom(i,j))) * CS%IdyCv(i,J)
enddo ; enddo ; enddo ; endif

if (associated(ADp%bt_cor_u)) then ; do j=js,je ; do I=is-1,ie
ADp%bt_cor_u(I,j) = Coru_avg(I,j)
enddo ; enddo ; endif
if (associated(ADp%bt_cor_v)) then ; do J=js-1,je ; do i=is,ie
ADp%bt_cor_v(i,J) = Corv_avg(i,J)
enddo ; enddo ; endif

if (associated(ADp%bt_lwd_u)) then ; do j=js,je ; do I=is-1,ie
ADp%bt_lwd_u(I,j) = LDu_avg(I,j)
enddo ; enddo ; endif
if (associated(ADp%bt_lwd_v)) then ; do J=js-1,je ; do i=is,ie
ADp%bt_lwd_v(i,J) = LDv_avg(i,J)
enddo ; enddo ; endif

if (CS%id_ubtforce > 0) call post_data(CS%id_ubtforce, BT_force_u(IsdB:IedB,jsd:jed), CS%diag)
if (CS%id_vbtforce > 0) call post_data(CS%id_vbtforce, BT_force_v(isd:ied,JsdB:JedB), CS%diag)
if (CS%id_uaccel > 0) call post_data(CS%id_uaccel, u_accel_bt(IsdB:IedB,jsd:jed), CS%diag)
Expand Down Expand Up @@ -2103,9 +2140,9 @@
f_4_u, f_4_v, bt_rem_u, bt_rem_v, &
BT_force_u, BT_force_v, Cor_ref_u, Cor_ref_v, Rayleigh_u, Rayleigh_v, &
eta_PF, gtot_E, gtot_W, gtot_N, gtot_S, SpV_col_avg, dgeo_de, &
eta_sum, eta_wtd, ubt_wtd, vbt_wtd, Coru_avg, PFu_avg, Corv_avg, PFv_avg, &
use_BT_cont, interp_eta_PF, find_etaav, dt, dtbt, nstep, nfilter, &
wt_vel, wt_eta, wt_accel, wt_trans, wt_accel2, OBC, BT_OBC, CS, G, MS, GV, US)
eta_sum, eta_wtd, ubt_wtd, vbt_wtd, Coru_avg, PFu_avg, LDu_avg, Corv_avg, PFv_avg, &
LDv_avg, use_BT_cont, interp_eta_PF, find_etaav, dt, dtbt, nstep, nfilter, &
wt_vel, wt_eta, wt_accel, wt_trans, wt_accel2, ADp, OBC, BT_OBC, CS, G, MS, GV, US)

type(barotropic_CS), intent(inout) :: CS !< Barotropic control structure
type(ocean_grid_type), intent(inout) :: G !< The ocean's grid structure (inout to allow for halo updates)
Expand Down Expand Up @@ -2232,11 +2269,15 @@
real, dimension(SZIB_(G),SZJ_(G)), intent(out) :: &
Coru_avg !< The average zonal barotropic Coriolis acceleration [L T-2 ~> m s-2]
real, dimension(SZIB_(G),SZJ_(G)), intent(out) :: &
PFu_avg !< The summed zonal barotropic pressure gradient force [L T-2 ~> m s-2]
PFu_avg !< The average zonal barotropic pressure gradient force [L T-2 ~> m s-2]
real, dimension(SZIB_(G),SZJ_(G)), intent(out) :: &
LDu_avg !< The average zonal barotropic linear wave drag acceleration [L T-2 ~> m s-2]
real, dimension(SZI_(G),SZJB_(G)), intent(out) :: &
Corv_avg !< The average meridional barotropic Coriolis acceleration [L T-2 ~> m s-2]
real, dimension(SZI_(G),SZJB_(G)), intent(out) :: &
PFv_avg !< The average meridional barotropic pressure gradient force [L T-2 ~> m s-2]
real, dimension(SZI_(G),SZJB_(G)), intent(out) :: &
LDv_avg !< The average meridional barotropic linear wave drag acceleration [L T-2 ~> m s-2]
logical, intent(in) :: use_BT_cont !< If true, use the information in the bt_cont_types to
!! calculate the mass transports
logical, intent(in) :: interp_eta_PF !< If true, interpolate the reference value of eta used
Expand All @@ -2261,6 +2302,7 @@
real, dimension(nstep+nfilter+1), intent(in) :: &
wt_accel2 !< Potentially un-normalized relative weights of each of the
!! barotropic timesteps in determining the average accelerations [nondim]
type(accel_diag_ptrs), pointer :: ADp !< Acceleration diagnostic pointers
type(ocean_OBC_type), pointer :: OBC !< An associated pointer to an OBC type
type(BT_OBC_type), intent(in) :: BT_OBC !< A structure with the private barotropic arrays
!! related to the open boundary conditions,
Expand Down Expand Up @@ -2351,7 +2393,10 @@

! Manage diagnostics
do_ave = query_averaging_enabled(CS%diag) .and. &
((CS%id_PFu_bt > 0) .or. (CS%id_PFv_bt > 0) .or. (CS%id_Coru_bt > 0) .or. (CS%id_Corv_bt > 0))
((CS%id_PFu_bt > 0) .or. (CS%id_Coru_bt > 0) .or. (CS%id_LDu_bt > 0) .or. &
(CS%id_PFv_bt > 0) .or. (CS%id_Corv_bt > 0) .or. (CS%id_LDv_bt > 0) .or. &
associated(ADp%bt_pgf_u) .or. associated(ADp%bt_cor_u) .or. associated(ADp%bt_lwd_u) .or. &
associated(ADp%bt_pgf_v) .or. associated(ADp%bt_cor_v) .or. associated(ADp%bt_lwd_v))

do_hifreq_output = .false.
if ((CS%id_ubt_hifreq > 0) .or. (CS%id_vbt_hifreq > 0) .or. &
Expand Down Expand Up @@ -2379,7 +2424,7 @@
do j=js,je ; do I=is-1,ie
CS%ubtav(I,j) = 0.0 ; uhbtav(I,j) = 0.0
PFu_avg(I,j) = 0.0 ; Coru_avg(I,j) = 0.0
ubt_wtd(I,j) = 0.0
LDu_avg(I,j) = 0.0 ; ubt_wtd(I,j) = 0.0
enddo ; enddo
!$OMP do
do j=jsvf-1,jevf+1 ; do I=isvf-1,ievf
Expand All @@ -2389,7 +2434,7 @@
do J=js-1,je ; do i=is,ie
CS%vbtav(i,J) = 0.0 ; vhbtav(i,J) = 0.0
PFv_avg(i,J) = 0.0 ; Corv_avg(i,J) = 0.0
vbt_wtd(i,J) = 0.0
LDv_avg(i,J) = 0.0 ; vbt_wtd(i,J) = 0.0
enddo ; enddo
!$OMP do
do J=jsvf-1,jevf ; do i=isvf-1,ievf+1
Expand Down Expand Up @@ -2644,34 +2689,51 @@

! Accumulate some diagnostics of time-averaged barotropic accelerations.
if (do_ave) then
if (CS%id_PFu_bt > 0) then
if ((CS%id_PFu_bt > 0) .or. associated(ADp%bt_pgf_u)) then
!$OMP do
do j=js,je ; do I=is-1,ie
PFu_avg(I,j) = PFu_avg(I,j) + wt_accel2(n) * PFu(I,j)
enddo ; enddo
!$OMP end do nowait
endif
if (CS%id_PFv_bt > 0) then
if ((CS%id_PFv_bt > 0) .or. associated(ADp%bt_pgf_v)) then
!$OMP do
do J=js-1,je ; do i=is,ie
PFv_avg(i,J) = PFv_avg(i,J) + wt_accel2(n) * PFv(i,J)
enddo ; enddo
!$OMP end do nowait
endif
if (CS%id_Coru_bt > 0) then
if ((CS%id_Coru_bt > 0) .or. associated(ADp%bt_cor_u)) then
!$OMP do
do j=js,je ; do I=is-1,ie
Coru_avg(I,j) = Coru_avg(I,j) + wt_accel2(n) * Cor_u(I,j)
enddo ; enddo
!$OMP end do nowait
endif
if (CS%id_Corv_bt > 0) then
if ((CS%id_Corv_bt > 0) .or. associated(ADp%bt_cor_v)) then
!$OMP do
do J=js-1,je ; do i=is,ie
Corv_avg(i,J) = Corv_avg(i,J) + wt_accel2(n) * Cor_v(i,J)
enddo ; enddo
!$OMP end do nowait
endif

if (CS%linear_wave_drag) then
if ((CS%id_LDu_bt > 0) .or. (associated(ADp%bt_lwd_u))) then
!$OMP do
do j=js,je ; do I=is-1,ie
LDu_avg(I,j) = LDu_avg(I,j) - wt_accel2(n) * (ubt(I,j) * Rayleigh_u(I,j))

Check warning on line 2725 in src/core/MOM_barotropic.F90

View check run for this annotation

Codecov / codecov/patch

src/core/MOM_barotropic.F90#L2724-L2725

Added lines #L2724 - L2725 were not covered by tests
enddo ; enddo
!$OMP end do nowait
endif
if ((CS%id_LDv_bt > 0) .or. (associated(ADp%bt_lwd_v))) then
!$OMP do
do J=js-1,je ; do i=is,ie
LDv_avg(i,J) = LDv_avg(i,J) - wt_accel2(n) * (vbt(i,J) * Rayleigh_v(i,J))

Check warning on line 2732 in src/core/MOM_barotropic.F90

View check run for this annotation

Codecov / codecov/patch

src/core/MOM_barotropic.F90#L2731-L2732

Added lines #L2731 - L2732 were not covered by tests
enddo ; enddo
!$OMP end do nowait
endif
endif
endif

if (do_hifreq_output) then
Expand Down Expand Up @@ -5304,7 +5366,7 @@
call get_param(param_file, mdl, "BT_WAVE_DRAG_FILE", wave_drag_file, &
"The name of the file with the barotropic linear wave drag "//&
"piston velocities.", default="", &
do_not_log=.not.CS%linear_wave_drag.and..not.CS%linear_freq_drag)
do_not_log=(.not.CS%linear_wave_drag) .and. (.not.CS%linear_freq_drag))
call get_param(param_file, mdl, "BT_WAVE_DRAG_VAR", wave_drag_var, &
"The name of the variable in BT_WAVE_DRAG_FILE with the "//&
"barotropic linear wave drag piston velocities at h points. "//&
Expand Down Expand Up @@ -5656,6 +5718,12 @@
'Zonal Anomalous Barotropic Pressure Force Acceleration', 'm s-2', conversion=US%L_T2_to_m_s2)
CS%id_PFv_bt = register_diag_field('ocean_model', 'PFvBT', diag%axesCv1, Time, &
'Meridional Anomalous Barotropic Pressure Force Acceleration', 'm s-2', conversion=US%L_T2_to_m_s2)
if (CS%linear_wave_drag .or. (CS%use_filter .and. CS%linear_freq_drag)) then
CS%id_LDu_bt = register_diag_field('ocean_model', 'WaveDraguBT', diag%axesCu1, Time, &
'Zonal Barotropic Linear Wave Drag Acceleration', 'm s-2', conversion=US%L_T2_to_m_s2)

Check warning on line 5723 in src/core/MOM_barotropic.F90

View check run for this annotation

Codecov / codecov/patch

src/core/MOM_barotropic.F90#L5723

Added line #L5723 was not covered by tests
CS%id_LDv_bt = register_diag_field('ocean_model', 'WaveDragvBT', diag%axesCv1, Time, &
'Meridional Barotropic Linear Wave Drag Acceleration', 'm s-2', conversion=US%L_T2_to_m_s2)

Check warning on line 5725 in src/core/MOM_barotropic.F90

View check run for this annotation

Codecov / codecov/patch

src/core/MOM_barotropic.F90#L5725

Added line #L5725 was not covered by tests
endif
CS%id_Coru_bt = register_diag_field('ocean_model', 'CoruBT', diag%axesCu1, Time, &
'Zonal Barotropic Coriolis Acceleration', 'm s-2', conversion=US%L_T2_to_m_s2)
CS%id_Corv_bt = register_diag_field('ocean_model', 'CorvBT', diag%axesCv1, Time, &
Expand Down Expand Up @@ -5793,7 +5861,7 @@
do J=js-1,je ; do i=is,ie ; CS%vbt_IC(i,J) = CS%vbtav(i,J) ; enddo ; enddo
endif
endif
! Calculate other constants which are used for btstep.
! Calculate other constants which are used for btstep.

if (.not.CS%nonlin_stress) then
Mean_SL = G%Z_ref
Expand Down Expand Up @@ -5829,7 +5897,7 @@
call create_group_pass(pass_bt_hbt_btav, CS%ubtav, CS%vbtav, G%Domain)
call do_group_pass(pass_bt_hbt_btav, G%Domain)

! id_clock_pass = cpu_clock_id('(Ocean BT halo updates)', grain=CLOCK_ROUTINE)
! id_clock_pass = cpu_clock_id('(Ocean BT halo updates)', grain=CLOCK_ROUTINE)
id_clock_calc_pre = cpu_clock_id('(Ocean BT pre-calcs only)', grain=CLOCK_ROUTINE)
id_clock_pass_pre = cpu_clock_id('(Ocean BT pre-step halo updates)', grain=CLOCK_ROUTINE)
id_clock_calc = cpu_clock_id('(Ocean BT stepping calcs only)', grain=CLOCK_ROUTINE)
Expand Down
Loading
Loading