Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add parameters for case 2 (coastal) waters #57

Merged
merged 3 commits into from
May 17, 2024
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
4 changes: 4 additions & 0 deletions generic_tracers/cobalt_types.F90
Original file line number Diff line number Diff line change
Expand Up @@ -429,6 +429,7 @@ module cobalt_types

logical :: &
init, & ! If tracers should be initializated
do_case2_mod, & ! Flag to include augmented opacity in shallow/river-influenced systems
force_update_fluxes,& ! If OCMIP2 tracers fluxes should be updated every coupling timesteps
! when update_from_source is not called every coupling timesteps
! as is the case with MOM6 THERMO_SPANS_COUPLING option
Expand Down Expand Up @@ -461,6 +462,9 @@ module cobalt_types
zmld_ref, &
densdiff_mld, &
irrad_day_thresh, &
case2_depth, & ! depth threshold for case 2 (coastal) waters
case2_salt, & ! salt threshold for case 2 (coastal) waters
case2_opac_add, & ! added opacity for case 2 (coastal) waters
min_daylength, &
gamma_irr_mem_dp, &
gamma_mu_mem, &
Expand Down
14 changes: 12 additions & 2 deletions generic_tracers/generic_COBALT.F90
Original file line number Diff line number Diff line change
Expand Up @@ -385,6 +385,7 @@ subroutine user_add_params

call g_tracer_start_param_list(package_name)
call g_tracer_add_param('init', cobalt%init, .false. )
call g_tracer_add_param('do_case2_mod',cobalt%do_case2_mod, .true. )

call g_tracer_add_param('htotal_scale_lo', cobalt%htotal_scale_lo, 0.01)
call g_tracer_add_param('htotal_scale_hi', cobalt%htotal_scale_hi, 100.0)
Expand Down Expand Up @@ -586,6 +587,15 @@ subroutine user_add_params
call g_tracer_add_param('zmld_ref', cobalt%zmld_ref, 10.0) ! m
call g_tracer_add_param('densdiff_mld', cobalt%densdiff_mld, 0.03) ! kg m-3
call g_tracer_add_param('irrad_day_thresh', cobalt%irrad_day_thresh, 1.0 ) ! watts m-2
if (cobalt%do_case2_mod) then
call g_tracer_add_param('case2_depth', cobalt%case2_depth, 30.0 ) ! m
call g_tracer_add_param('case2_salt', cobalt%case2_salt, 30.0 ) ! PSU
call g_tracer_add_param('case2_opac_add', cobalt%case2_opac_add, 0.05 ) ! m-1
else
cobalt%case2_depth = 0.0 ! m
cobalt%case2_salt = 0.0 ! PSU
cobalt%case2_opac_add = 0.0 ! m-1
endif
call g_tracer_add_param('min_daylength', cobalt%min_daylength, 6.0 ) ! hours
call g_tracer_add_param('refuge_conc', cobalt%refuge_conc, 1.0e-10) ! moles N kg-1
!
Expand Down Expand Up @@ -2688,8 +2698,8 @@ subroutine generic_COBALT_update_from_source(tracer_list,Temp,Salt,rho_dzt,dzt,h
! Issue: This code currently includes an option to increase opacity in shallow/fresh
! water. This should be moved to a namelist (and eventually replaced with a more
! robust coastal optics model with full feedbacks to the physics)
if ((zmid(i,j,nk).le.30.0).or.(Salt(i,j,k).le.30.0)) then
tmp_opacity = opacity_band(nb,i,j,k) + 0.05
if ((zmid(i,j,nk).le.cobalt%case2_depth).or.(Salt(i,j,k).le.cobalt%case2_salt)) then
tmp_opacity = opacity_band(nb,i,j,k) + cobalt%case2_opac_add
else
tmp_opacity = opacity_band(nb,i,j,k)
endif
Expand Down
Loading