Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
111 commits
Select commit Hold shift + click to select a range
1016be3
+Pass timestep arguments to vertvisc in [T]
Hallberg-NOAA Sep 11, 2019
3704a66
+Add density rescaling factors in unit_scale_type
Hallberg-NOAA Sep 11, 2019
5274403
+Add H_to_RZ and RZ_to_H to the verticalGrid_type
Hallberg-NOAA Sep 12, 2019
8eaa01c
Rescaled density units in MOM_bulk_mixedlayer
Hallberg-NOAA Sep 13, 2019
74cc9bb
+Add optional scale argument to calculate_density
Hallberg-NOAA Sep 26, 2019
d4c2dfb
+Rescale BML densities via calculate_density calls
Hallberg-NOAA Sep 26, 2019
535950c
Merge branch 'dev/gfdl' into density_rescale
Hallberg-NOAA Sep 26, 2019
4156851
Rescaled density units in MOM_entrain_diffusive
Hallberg-NOAA Sep 26, 2019
57794ad
+Changed units of GV%Rlay to [R]
Hallberg-NOAA Sep 27, 2019
bc378e3
+Move rescaling of Rlay into set_coord routines
Hallberg-NOAA Sep 27, 2019
ee6baaa
+Changed units of GV%Rho0 to [R]
Hallberg-NOAA Sep 27, 2019
f7b4b77
Rescaled density units in MOM_regularize_layers
Hallberg-NOAA Sep 28, 2019
297ffe5
Rescaled density units in MOM_set_viscosity
Hallberg-NOAA Sep 28, 2019
ac329db
Rescaled density units in MOM_set_diffusivity
Hallberg-NOAA Sep 28, 2019
7f8b55b
Rescaled density units in MOM_kappa_shear
Hallberg-NOAA Sep 28, 2019
af57dab
Rescaled density units in MOM_internal_tide_input
Hallberg-NOAA Sep 28, 2019
3fe1c7b
Rescaled density units in diagnoseMLDbyDensityDiff
Hallberg-NOAA Sep 28, 2019
87a2c4d
Rescaled density units in MOM_tidal_mixing
Hallberg-NOAA Sep 28, 2019
4808e3a
+Rescaled density units in MOM_geothermal
Hallberg-NOAA Sep 28, 2019
727199a
Corrected dimensions in comments
Hallberg-NOAA Sep 28, 2019
80b2d99
+Partially rescaled the units of TKE_itidal_input
Hallberg-NOAA Sep 28, 2019
68e322b
Rescaled density units in MOM_energetic_PBL
Hallberg-NOAA Sep 29, 2019
5122e33
+Rescaled density units of cTKE arguments
Hallberg-NOAA Sep 29, 2019
2d1f647
+Rescaled specific volume units of dSV_dT args
Hallberg-NOAA Sep 29, 2019
08231ca
Used GV%H_to_RZ to simplify rescalings
Hallberg-NOAA Sep 29, 2019
8e231df
+Pass mixed layer densities to sponges in [R]
Hallberg-NOAA Sep 29, 2019
e5ca06e
Rescaled units of dRhodT in applyBoundaryFluxesInOut
Hallberg-NOAA Sep 29, 2019
2e3f9c4
Rescaled density units in MOM_thickness_diffuse
Hallberg-NOAA Sep 30, 2019
3fb51fd
Rescaled units of FrictWork in MOM_hor_visc.F90
Hallberg-NOAA Sep 30, 2019
04901cd
Rescaled density units in MOM_mixed_layer_restrat
Hallberg-NOAA Sep 30, 2019
3567989
+Rescaled units of set_int_tide_input variables
Hallberg-NOAA Sep 30, 2019
ef1080b
+Rescaled energy units in MOM_internal_tides
Hallberg-NOAA Sep 30, 2019
1865f4f
(*)+Rescaled MEKE source element units in MEKE_type
Hallberg-NOAA Sep 30, 2019
401ea2b
Rescaled density units in MOM_MEKE.F90
Hallberg-NOAA Oct 1, 2019
58cb2d4
Removed a commented out statement
Hallberg-NOAA Oct 1, 2019
36fef34
Rescaled density units in initialize_temp_salt_fit
Hallberg-NOAA Oct 1, 2019
f03495f
+Rescaled density units in MOM_T_S_init_from_Z
Hallberg-NOAA Oct 1, 2019
235d3b6
Rescaled density units in calc_isoneutral_slopes
Hallberg-NOAA Oct 1, 2019
e4fea0a
(*)Simplified convert_thickness with no eqn of state
Hallberg-NOAA Oct 1, 2019
34f2c39
Rescaled density units in find_eta
Hallberg-NOAA Oct 2, 2019
7a65682
+Rescaled density units in MOM_PressureForce_Mont
Hallberg-NOAA Oct 2, 2019
fa02d85
Rescaled density units in MOM_PressureForce_AFV
Hallberg-NOAA Oct 2, 2019
27a9edd
Rescaled density units in adjust_ssh_for_p_atm
Hallberg-NOAA Oct 2, 2019
594300e
Rescaled density units in calc_diagnostic_fields
Hallberg-NOAA Oct 2, 2019
8efd5ae
Rescaled density units in MOM_wave_speed.F90
Hallberg-NOAA Oct 2, 2019
d072db2
Rescaled density units in wave_structure
Hallberg-NOAA Oct 2, 2019
45de704
Rescaled density units in MOM_tracer_hor_diff.F90
Hallberg-NOAA Oct 2, 2019
e137451
Rescaled density units in DOME_initialization.F90
Hallberg-NOAA Oct 2, 2019
a14bca0
Rescaled density units in ISOMIP_initialization.F90
Hallberg-NOAA Oct 2, 2019
fbed637
Rescaled density units in Rossby_front_2d_init.F90
Hallberg-NOAA Oct 2, 2019
0a8e67f
Rescaled density units in benchmark_init.F90
Hallberg-NOAA Oct 2, 2019
15a5cb5
Rescaled density units in adjustment_init.F90
Hallberg-NOAA Oct 2, 2019
08980a7
Merge branch 'dev/gfdl' into density_rescale
Hallberg-NOAA Oct 2, 2019
e2e4bcb
+Rescaled taux_bot and tauy_bot
Hallberg-NOAA Oct 2, 2019
a669294
+Rescaled density units in coord_rho.F90
Hallberg-NOAA Oct 3, 2019
1cbf498
+Rescaled units of forces%taux to [R Z L T-2]
Hallberg-NOAA Oct 3, 2019
79d004b
Rescaled gustiness in MOM_surface_forcing files
Hallberg-NOAA Oct 3, 2019
fb47d7b
+Changed set_derived_forcing_fields Rho0 arg units
Hallberg-NOAA Oct 3, 2019
dfd5278
+Changed units of fluxes%TKE_tidal to [R Z3 T-3]
Hallberg-NOAA Oct 4, 2019
d7f08f5
+Rescaled density units in coord_hycom.F90
Hallberg-NOAA Oct 4, 2019
e9b36cc
+Rescaled density units in coord_slight.F90
Hallberg-NOAA Oct 4, 2019
1175786
Rescaled density units in MOM_regridding.F90
Hallberg-NOAA Oct 4, 2019
3b4ea9c
+Turned heat budget pointers into arrays
Hallberg-NOAA Oct 4, 2019
fa35255
+Rescaled the units of taux_shelf and tauy_shelf
Hallberg-NOAA Oct 4, 2019
34193e9
+Added scale arguments in MOM_spatial_means
Hallberg-NOAA Oct 4, 2019
dbad998
+Rescaled the units of surface mass fluxes
Hallberg-NOAA Oct 4, 2019
76172d4
Simplified scaling factors in MOM_forcing_type
Hallberg-NOAA Oct 5, 2019
965c2c2
+Rescaled _rate variables from extractFluxes1d
Hallberg-NOAA Oct 5, 2019
37d5405
Combined scaling factors in MOM_forcing_type
Hallberg-NOAA Oct 5, 2019
be8e18c
+Rescaled the units of surface salt fluxes
Hallberg-NOAA Oct 5, 2019
cbe3996
Refactored solo_driver/MOM_surface_forcing.F90
Hallberg-NOAA Oct 5, 2019
8f3c126
Rescaled FLUXCONST to [Z T-1] in eight modules
Hallberg-NOAA Oct 6, 2019
3b6ccd8
Rescaled RHO0 to [R] in four modules
Hallberg-NOAA Oct 6, 2019
838bc41
Removed unused code in MOM_barotropic.F90
Hallberg-NOAA Oct 6, 2019
1d3e21e
Merge branch 'dev/gfdl' into density_rescale
Hallberg-NOAA Oct 6, 2019
35b884d
Fixed a recently added bug in insert_brine
Hallberg-NOAA Oct 6, 2019
5484ab0
+Pass timestep to insert_brine in units of [T]
Hallberg-NOAA Oct 7, 2019
3f69350
+Pass timestep to extractFluxes1d in units of [T]
Hallberg-NOAA Oct 7, 2019
ecf5813
+Pass timestep to thickness_diffuse in units of [T]
Hallberg-NOAA Oct 7, 2019
d5ee19a
Store timestep in [T} in sum_output_CS
Hallberg-NOAA Oct 7, 2019
a4da592
+Rescaled the units of fluxes%heat_content_... vars
Hallberg-NOAA Oct 8, 2019
5312d99
Cleaned up code in insert_brine
Hallberg-NOAA Oct 8, 2019
e55ad23
+Pass timestep to step_forward_MEKE in units of [T]
Hallberg-NOAA Oct 8, 2019
55a0484
Fixed a rescaling factor in entrainment_diffusive
Hallberg-NOAA Oct 8, 2019
59b18f0
+Pass timestep to btstep in units of [T]
Hallberg-NOAA Oct 8, 2019
f1b9c66
+Pass timestep to btstep in units of [T]
Hallberg-NOAA Oct 8, 2019
8ade6de
+Pass MLDdensityDifference in units of [R]
Hallberg-NOAA Oct 8, 2019
0d43bc3
Corrected units in parameterization code comments
Hallberg-NOAA Oct 8, 2019
d518449
Corrected units in MOM_hor_visc code comments
Hallberg-NOAA Oct 8, 2019
629416b
+Rescaled the units of tv%salt_deficit
Hallberg-NOAA Oct 8, 2019
12d3aac
T scaling and OpenMP fixes
marshallward Oct 10, 2019
b3e4b3c
Merge pull request #1 from marshallward/pr_1019_fix
Hallberg-NOAA Oct 10, 2019
3367d0e
Merge branch 'density_rescale' of https://github.com/Hallberg-NOAA/MO…
Hallberg-NOAA Oct 25, 2019
241f3ba
Renamed internal vars dt to dt_in_s in MOM_dynamics
Hallberg-NOAA Oct 31, 2019
0be3f0e
+Pass timesteps to sponge code in [T]
Hallberg-NOAA Oct 31, 2019
7e0e505
Renamed internal variables dt_in_T to dt
Hallberg-NOAA Oct 31, 2019
41c860a
+Rescaled advective and diffusive tracer diags
Hallberg-NOAA Oct 31, 2019
2cd8276
Clarified comments in MOM_tracer_diabatic
Hallberg-NOAA Oct 31, 2019
88fcb8a
+Rescaled timestep arguments to several routines
Hallberg-NOAA Oct 31, 2019
3c71c13
+Corrected restart registration for US%m_to_L
Hallberg-NOAA Oct 31, 2019
34e612f
Pass dt in [T] to tracer_vertdiff for temperature
Hallberg-NOAA Oct 31, 2019
5af42c6
Merge branch 'dev/gfdl' into density_rescale
Hallberg-NOAA Nov 8, 2019
1a4903e
Corrected the dimensional rescaling in MOM_MEKE.F90
Hallberg-NOAA Nov 9, 2019
1b5d722
+Added enable_averages
Hallberg-NOAA Nov 9, 2019
2da48dc
Use enable_averages in MOM_dynamics modules
Hallberg-NOAA Nov 9, 2019
0fab529
Merge branch 'dev/gfdl' into density_rescale
Hallberg-NOAA Nov 9, 2019
148fcf2
Rescaled timesteps in MOM.F90
Hallberg-NOAA Nov 10, 2019
a919f23
+Fixed unit conversion factors for 7 diagnostics
Hallberg-NOAA Nov 12, 2019
e2815d2
Merge branch 'dev/gfdl' into density_rescale
Hallberg-NOAA Nov 12, 2019
186beda
+Pass timesteps to diagnostic routines in [T]
Hallberg-NOAA Nov 13, 2019
ef462a8
Removed the accidental 2 in a comment
Hallberg-NOAA Nov 13, 2019
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
181 changes: 100 additions & 81 deletions config_src/coupled_driver/MOM_surface_forcing_gfdl.F90

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions config_src/coupled_driver/ocean_model_MOM.F90
Original file line number Diff line number Diff line change
Expand Up @@ -520,7 +520,7 @@ subroutine update_ocean_model(Ice_ocean_boundary, OS, Ocean_sfc, time_start_upda
if (OS%use_ice_shelf) &
call shelf_calc_flux(OS%sfc_state, OS%fluxes, OS%Time, dt_coupling, OS%Ice_shelf_CSp)
if (OS%icebergs_alter_ocean) &
call iceberg_fluxes(OS%grid, OS%fluxes, OS%use_ice_shelf, &
call iceberg_fluxes(OS%grid, OS%US, OS%fluxes, OS%use_ice_shelf, &
OS%sfc_state, dt_coupling, OS%marine_ice_CSp)

#ifdef _USE_GENERIC_TRACER
Expand All @@ -541,7 +541,7 @@ subroutine update_ocean_model(Ice_ocean_boundary, OS, Ocean_sfc, time_start_upda
if (OS%use_ice_shelf) &
call shelf_calc_flux(OS%sfc_state, OS%flux_tmp, OS%Time, dt_coupling, OS%Ice_shelf_CSp)
if (OS%icebergs_alter_ocean) &
call iceberg_fluxes(OS%grid, OS%flux_tmp, OS%use_ice_shelf, &
call iceberg_fluxes(OS%grid, OS%US, OS%flux_tmp, OS%use_ice_shelf, &
OS%sfc_state, dt_coupling, OS%marine_ice_CSp)

call fluxes_accumulate(OS%flux_tmp, OS%fluxes, dt_coupling, OS%grid, weight)
Expand All @@ -554,7 +554,7 @@ subroutine update_ocean_model(Ice_ocean_boundary, OS, Ocean_sfc, time_start_upda

! The net mass forcing is not currently used in the MOM6 dynamics solvers, so this is may be unnecessary.
if (do_dyn .and. associated(OS%forces%net_mass_src) .and. .not.OS%forces%net_mass_src_set) &
call get_net_mass_forcing(OS%fluxes, OS%grid, OS%forces%net_mass_src)
call get_net_mass_forcing(OS%fluxes, OS%grid, OS%US, OS%forces%net_mass_src)

if (OS%use_waves .and. do_thermo) then
! For now, the waves are only updated on the thermodynamics steps, because that is where
Expand Down Expand Up @@ -654,7 +654,7 @@ subroutine update_ocean_model(Ice_ocean_boundary, OS, Ocean_sfc, time_start_upda
if (OS%fluxes%fluxes_used .and. do_thermo) then
call enable_averaging(OS%fluxes%dt_buoy_accum, OS%Time, OS%diag)
call forcing_diagnostics(OS%fluxes, OS%sfc_state, OS%fluxes%dt_buoy_accum, &
OS%grid, OS%diag, OS%forcing_CSp%handles)
OS%grid, OS%US, OS%diag, OS%forcing_CSp%handles)
call disable_averaging(OS%diag)
endif

Expand Down
104 changes: 55 additions & 49 deletions config_src/ice_solo_driver/MOM_surface_forcing.F90

Large diffs are not rendered by default.

45 changes: 22 additions & 23 deletions config_src/ice_solo_driver/user_surface_forcing.F90
Original file line number Diff line number Diff line change
Expand Up @@ -78,20 +78,19 @@ module user_surface_forcing
logical :: use_temperature ! If true, temperature and salinity are used as
! state variables.
logical :: restorebuoy ! If true, use restoring surface buoyancy forcing.
real :: Rho0 ! The density used in the Boussinesq
! approximation [kg m-3].
real :: Rho0 ! The density used in the Boussinesq approximation [R ~> kg m-3].
real :: G_Earth ! The gravitational acceleration [L2 Z-1 T-2 ~> m s-2].
real :: Flux_const ! The restoring rate at the surface [m s-1].
real :: Flux_const ! The restoring rate at the surface [Z T-1 ~> m s-1].
real :: gust_const ! A constant unresolved background gustiness
! that contributes to ustar [Pa].
! that contributes to ustar [R Z L T-1 ~> Pa].

type(diag_ctrl), pointer :: diag ! A structure that is used to regulate the
! timing of diagnostic output.
end type user_surface_forcing_CS

contains

!> This subroutine sets the surface wind stresses, forces%taux and forces%tauy, in [Pa].
!> This subroutine sets the surface wind stresses, forces%taux and forces%tauy, in [R Z L T-2 ~> Pa].
!! These are the stresses in the direction of the model grid (i.e. the same
!! direction as the u- and v- velocities).
subroutine USER_wind_forcing(sfc_state, forces, day, G, US, CS)
Expand All @@ -104,7 +103,7 @@ subroutine USER_wind_forcing(sfc_state, forces, day, G, US, CS)
type(user_surface_forcing_CS), pointer :: CS !< A pointer to the control structure returned
!! by a previous call to user_surface_forcing_init

! This subroutine sets the surface wind stresses, forces%taux and forces%tauy [Pa].
! This subroutine sets the surface wind stresses, forces%taux and forces%tauy [R Z L T-2 ~> Pa].
! In addition, this subroutine can be used to set the surface friction velocity,
! forces%ustar [Z T-1 ~> m s-1], which is needed with a bulk mixed layer.

Expand All @@ -130,7 +129,8 @@ subroutine USER_wind_forcing(sfc_state, forces, day, G, US, CS)
! The i-loop extends to is-1 so that taux can be used later in the
! calculation of ustar - otherwise the lower bound would be Isq.
do j=js,je ; do I=is-1,Ieq
forces%taux(I,j) = G%mask2dCu(I,j) * 0.0 ! Change this to the desired expression.
! Change this to the desired expression.
forces%taux(I,j) = G%mask2dCu(I,j) * 0.0*US%kg_m3_to_R*US%m_s_to_L_T**2*US%L_to_Z
enddo ; enddo
do J=js-1,Jeq ; do i=is,ie
forces%tauy(i,J) = G%mask2dCv(i,J) * 0.0 ! Change this to the desired expression.
Expand All @@ -139,9 +139,9 @@ subroutine USER_wind_forcing(sfc_state, forces, day, G, US, CS)
! Set the surface friction velocity [Z s-1 ~> m s-1]. ustar is always positive.
if (associated(forces%ustar)) then ; do j=js,je ; do i=is,ie
! This expression can be changed if desired, but need not be.
forces%ustar(i,j) = US%m_to_Z*US%T_to_s * G%mask2dT(i,j) * sqrt(CS%gust_const/CS%Rho0 + &
sqrt(0.5*(forces%taux(I-1,j)**2 + forces%taux(I,j)**2) + &
0.5*(forces%tauy(i,J-1)**2 + forces%tauy(i,J)**2))/CS%Rho0)
forces%ustar(i,j) = G%mask2dT(i,j) * sqrt(US%L_to_Z * (CS%gust_const/CS%Rho0 + &
sqrt(0.5*(forces%taux(I-1,j)**2 + forces%taux(I,j)**2) + &
0.5*(forces%tauy(i,J-1)**2 + forces%tauy(i,J)**2))/CS%Rho0))
enddo ; enddo ; endif

end subroutine USER_wind_forcing
Expand Down Expand Up @@ -173,15 +173,15 @@ subroutine USER_buoyancy_forcing(sfc_state, fluxes, day, dt, G, US, CS)
! (fprec, lrunoff and frunoff) left as arrays full of zeros.
! Evap is usually negative and precip is usually positive. All heat fluxes
! are in W m-2 and positive for heat going into the ocean. All fresh water
! fluxes are in kg m-2 s-1 and positive for water moving into the ocean.
! fluxes are in [R Z T-1 ~> kg m-2 s-1] and positive for water moving into the ocean.

real :: Temp_restore ! The temperature that is being restored toward [C].
real :: Salin_restore ! The salinity that is being restored toward [ppt]
real :: density_restore ! The potential density that is being restored
! toward [kg m-3].
real :: rhoXcp ! The mean density times the heat capacity [J m-3 degC-1].
real :: buoy_rest_const ! A constant relating density anomalies to the
! restoring buoyancy flux [L2 m3 T-3 kg-1 ~> m5 s-3 kg-1].
! restoring buoyancy flux [L2 T-3 R-1 ~> m5 s-3 kg-1].

integer :: i, j, is, ie, js, je
integer :: isd, ied, jsd, jed
Expand Down Expand Up @@ -249,18 +249,17 @@ subroutine USER_buoyancy_forcing(sfc_state, fluxes, day, dt, G, US, CS)
call MOM_error(FATAL, "User_buoyancy_surface_forcing: " // &
"Temperature and salinity restoring used without modification." )

rhoXcp = CS%Rho0 * fluxes%C_p
rhoXcp = US%R_to_kg_m3*CS%Rho0 * fluxes%C_p
do j=js,je ; do i=is,ie
! Set Temp_restore and Salin_restore to the temperature (in degC) and
! salinity (in ppt or PSU) that are being restored toward.
Temp_restore = 0.0
Salin_restore = 0.0

fluxes%heat_added(i,j) = (G%mask2dT(i,j) * (rhoXcp * CS%Flux_const)) * &
fluxes%heat_added(i,j) = (G%mask2dT(i,j) * (rhoXcp * US%Z_to_m*US%s_to_T*CS%Flux_const)) * &
(Temp_restore - sfc_state%SST(i,j))
fluxes%vprec(i,j) = - (G%mask2dT(i,j) * (CS%Rho0*CS%Flux_const)) * &
((Salin_restore - sfc_state%SSS(i,j)) / &
(0.5 * (Salin_restore + sfc_state%SSS(i,j))))
((Salin_restore - sfc_state%SSS(i,j)) / (0.5 * (Salin_restore + sfc_state%SSS(i,j))))
enddo ; enddo
else
! When modifying the code, comment out this error message. It is here
Expand All @@ -269,14 +268,14 @@ subroutine USER_buoyancy_forcing(sfc_state, fluxes, day, dt, G, US, CS)
"Buoyancy restoring used without modification." )

! The -1 is because density has the opposite sign to buoyancy.
buoy_rest_const = -1.0 * (CS%G_Earth * US%m_to_Z*US%T_to_s*CS%Flux_const) / CS%Rho0
buoy_rest_const = -1.0 * (CS%G_Earth * CS%Flux_const) / CS%Rho0
do j=js,je ; do i=is,ie
! Set density_restore to an expression for the surface potential
! density [kg m-3] that is being restored toward.
density_restore = 1030.0

fluxes%buoy(i,j) = G%mask2dT(i,j) * buoy_rest_const * &
(density_restore - sfc_state%sfc_density(i,j))
US%kg_m3_to_R*(density_restore - sfc_state%sfc_density(i,j))
enddo ; enddo
endif
endif ! end RESTOREBUOY
Expand Down Expand Up @@ -319,10 +318,10 @@ subroutine USER_surface_forcing_init(Time, G, US, param_file, diag, CS)
"calculate accelerations and the mass for conservation "//&
"properties, or with BOUSSINSEQ false to convert some "//&
"parameters from vertical units of m to kg m-2.", &
units="kg m-3", default=1035.0)
units="kg m-3", default=1035.0, scale=US%R_to_kg_m3)
call get_param(param_file, mdl, "GUST_CONST", CS%gust_const, &
"The background gustiness in the winds.", units="Pa", &
default=0.02)
"The background gustiness in the winds.", &
units="Pa", default=0.02, scale=US%kg_m3_to_R*US%m_s_to_L_T**2*US%L_to_Z)

call get_param(param_file, mdl, "RESTOREBUOY", CS%restorebuoy, &
"If true, the buoyancy fluxes drive the model back "//&
Expand All @@ -332,8 +331,8 @@ subroutine USER_surface_forcing_init(Time, G, US, param_file, diag, CS)
call get_param(param_file, mdl, "FLUXCONST", CS%Flux_const, &
"The constant that relates the restoring surface fluxes "//&
"to the relative surface anomalies (akin to a piston "//&
"velocity). Note the non-MKS units.", units="m day-1", &
fail_if_missing=.true.)
"velocity). Note the non-MKS units.", &
units="m day-1", scale=US%m_to_Z*US%T_to_s, fail_if_missing=.true.)
! Convert CS%Flux_const from m day-1 to m s-1.
CS%Flux_const = CS%Flux_const / 86400.0
endif
Expand Down
8 changes: 4 additions & 4 deletions config_src/mct_driver/mom_ocean_model_mct.F90
Original file line number Diff line number Diff line change
Expand Up @@ -528,10 +528,10 @@ subroutine update_ocean_model(Ice_ocean_boundary, OS, Ocean_sfc, &
endif
if (OS%icebergs_alter_ocean) then
if (do_dyn) &
call iceberg_forces(OS%grid, OS%forces, OS%use_ice_shelf, &
call iceberg_forces(OS%grid, OS%US, OS%forces, OS%use_ice_shelf, &
OS%sfc_state, dt_coupling, OS%marine_ice_CSp)
if (do_thermo) &
call iceberg_fluxes(OS%grid, OS%fluxes, OS%use_ice_shelf, &
call iceberg_fluxes(OS%grid, OS%US, OS%fluxes, OS%use_ice_shelf, &
OS%sfc_state, dt_coupling, OS%marine_ice_CSp)
endif

Expand Down Expand Up @@ -582,7 +582,7 @@ subroutine update_ocean_model(Ice_ocean_boundary, OS, Ocean_sfc, &
endif

call set_derived_forcing_fields(OS%forces, OS%fluxes, OS%grid, OS%US, OS%GV%Rho0)
call set_net_mass_forcing(OS%fluxes, OS%forces, OS%grid)
call set_net_mass_forcing(OS%fluxes, OS%forces, OS%grid, OS%US)

if (OS%use_waves) then
call Update_Surface_Waves(OS%grid, OS%GV, OS%US, OS%time, ocean_coupling_time_step, OS%waves)
Expand Down Expand Up @@ -676,7 +676,7 @@ subroutine update_ocean_model(Ice_ocean_boundary, OS, Ocean_sfc, &
if (OS%fluxes%fluxes_used) then
call enable_averaging(OS%fluxes%dt_buoy_accum, OS%Time, OS%diag)
call forcing_diagnostics(OS%fluxes, OS%sfc_state, OS%fluxes%dt_buoy_accum, &
OS%grid, OS%diag, OS%forcing_CSp%handles)
OS%grid, OS%US, OS%diag, OS%forcing_CSp%handles)
call disable_averaging(OS%diag)
endif

Expand Down
Loading