Skip to content

Commit 81ea4b6

Browse files
Hallberg-NOAAmarshallward
authored andcommitted
Corrected the rescaling of 5 KPP diagnostics
Added missing factors to the conversion arguments in the register_diag_field calls for the diagnostics of the KPP non-local transport tendency and the net surface tracer fluxes, and corrected the dimensional scaling that is being applied to the KPP_Vt2 diagnostic as calculated in KPP_compute_BLD. All solutions are bitwise identical, but now output files with these 3 sets of KPP diagnostics are invariant to dimensional rescaling. This can be verified with the visc.nc file generated by the single_column/KPP test case in MOM6-examples. Whereas previously the diagnostics KPP_Vt2, KPP_QminusSW, KPP_netSalt, KPP_NLT_dTdt and KPP_NLT_dSdt in that file would change when dimensional rescaling was applied, now they do not. No output is changed unless dimensional rescaling is used.
1 parent fcf5fff commit 81ea4b6

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

src/parameterizations/vertical/MOM_CVMix_KPP.F90

+1-1
Original file line numberDiff line numberDiff line change
@@ -1296,7 +1296,7 @@ subroutine KPP_compute_BLD(CS, G, GV, US, h, Temp, Salt, u, v, tv, uStar, buoyFl
12961296
bfsfc=surfBuoyFlux, & ! surface buoyancy flux [m2 s-3]
12971297
uStar=surfFricVel, & ! surface friction velocity [m s-1]
12981298
CVmix_kpp_params_user=CS%KPP_params ) ! KPP parameters
1299-
CS%Vt2(i,j,:) = US%m_to_Z*US%T_to_s * Vt2_1d(:)
1299+
CS%Vt2(i,j,:) = US%m_to_Z**2*US%T_to_s**2 * Vt2_1d(:)
13001300
endif
13011301

13021302
! recompute wscale for diagnostics, now that we in fact know boundary layer depth

src/tracer/MOM_tracer_registry.F90

+2-2
Original file line numberDiff line numberDiff line change
@@ -586,11 +586,11 @@ subroutine register_tracer_diagnostics(Reg, h, Time, diag, G, GV, US, use_ALE, u
586586
! KPP nonlocal term diagnostics
587587
if (use_KPP) then
588588
Tr%id_net_surfflux = register_diag_field('ocean_model', Tr%net_surfflux_name, diag%axesT1, Time, &
589-
Tr%net_surfflux_longname, trim(units)//' m s-1', conversion=GV%H_to_m*US%s_to_T)
589+
Tr%net_surfflux_longname, trim(units)//' m s-1', conversion=Tr%conc_scale*GV%H_to_m*US%s_to_T)
590590
Tr%id_NLT_tendency = register_diag_field('ocean_model', "KPP_NLT_d"//trim(shortnm)//"dt", &
591591
diag%axesTL, Time, &
592592
trim(longname)//' tendency due to non-local transport of '//trim(lowercase(flux_longname))//&
593-
', as calculated by [CVMix] KPP', trim(units)//' s-1', conversion=US%s_to_T)
593+
', as calculated by [CVMix] KPP', trim(units)//' s-1', conversion=Tr%conc_scale*US%s_to_T)
594594
if (Tr%conv_scale == 0.001*GV%H_to_kg_m2) then
595595
conversion = GV%H_to_kg_m2
596596
else

0 commit comments

Comments
 (0)