Skip to content

+Add RHO_OCEAN_SAL - #1172

Open
Hallberg-NOAA wants to merge 1 commit into
NOAA-GFDL:dev/gfdlfrom
Hallberg-NOAA:add_RHO_OCEAN_SAL
Open

+Add RHO_OCEAN_SAL#1172
Hallberg-NOAA wants to merge 1 commit into
NOAA-GFDL:dev/gfdlfrom
Hallberg-NOAA:add_RHO_OCEAN_SAL

Conversation

@Hallberg-NOAA

Copy link
Copy Markdown
Member

Added the new runtime parameter RHO_OCEAN_SAL to set the mean ocean density used for the tidal self-attraction and loading calculations when SAL_USE_BPA or SAL_HARMONICS is true. The Boussinesq reference density had previously been used for these purposes, and it provides the default value for this new parameter. By default, all answers are bitwise identical but there is a new runtime parameter in cases that use certain types of tidal self-attraction and loading.

  Added the new runtime parameter RHO_OCEAN_SAL to set the mean ocean density
used for the tidal self-attraction and loading calculations when SAL_USE_BPA or
SAL_HARMONICS is true.  The Boussinesq reference density had previously been
used for these purposes, and it provides the default value for this new
parameter.  By default, all answers are bitwise identical but there is a new
runtime parameter in cases that use certain types of tidal self-attraction and
loading.
@Hallberg-NOAA Hallberg-NOAA added the Parameter change Input parameter changes (addition, removal, or description) label Aug 25, 2026
@herrwang0

Copy link
Copy Markdown

Thanks for looking into this. I agree a standalone density RHO_OCEAN_SAL gives more flexibility. It also makes me think we should probably clarify where this density is used.

RHO_OCEAN_SAL would be used in two scenarios: (1) Scalar SAL + bottom pressure anomaly (BPA) (2) Spherical Harmonic SAL + SSH. And neither scenario is strictly correct.

  • For single-layer and shallow water configurations, RHO_0 is also dubbed as the reference density. So for both scenarios, RHO_OCEAN_SAL is required to be RHO_0.

  • For multi-layer configurations, scalar SAL + BPA is probably never used in the literature; And spherical harmonic SAL + SSH is incorrect. SoRHO_OCEAN_SAL essentially provides a "fallback" for two at best unconventional configurations, used to scale between BPA and SSH.

@Hallberg-NOAA

Copy link
Copy Markdown
Member Author

@herrwang0, could you please clarify whether you think that we should go ahead with this PR or not? I am OK with either answer, but your previous comment was vague on this important point.

@herrwang0 herrwang0 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the ambiguity — yes, I think we should go ahead with this PR.

My suggestion is to document when and where RHO_OCEAN_SAL is used and only log this parameter when it is actually used (see comment above).

"The mean ocean density used for calculating the self-attraction and loading.", &
units="kg m-3", default=US%R_to_kg_m3*GV%Rho0, scale=US%kg_m3_to_R, &
do_not_log=.not.(CS%use_sal_sht.or.CS%use_bpa))

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is an extra blank line.

"self-attraction and loading term.", &
units="kg m-3", default=5517.0, scale=US%kg_m3_to_R, &
do_not_log=(.not. CS%use_sal_sht))
call get_param(param_file, mdl, "RHO_OCEAN_SAL", rho_ocean_SAL, &

@herrwang0 herrwang0 Sep 5, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about this?

! rho_ocean_SAL is only used to (neither case is recommended)
! (1) convert SSH to BPA with the scalar approximation when SAL_USE_BPA is true.
! (2) convert BPA to SSH with the spherical harmonics when SAL_USE_BPA is false.
use_rho_ocean_SAL = (((CS%use_sal_scalar .or. CS%use_tidal_sal_prev) .and. CS%use_bpa) .or. &
                     (CS%use_sal_sht .and. (.not.CS%use_bpa)))
call get_param(param_file, mdl, "RHO_OCEAN_SAL", rho_ocean_SAL, &
               "The mean ocean density used to convert between bottom pressure anomalies "//&
               "and the equivalent sea surface height anomalies in the self-attraction and "//&
               "loading calculations.  This is only used with the scalar approximation when "//&
               "SAL_USE_BPA is true, or with SAL_HARMONICS when SAL_USE_BPA is false.", &
               units="kg m-3", default=US%R_to_kg_m3*GV%Rho0, scale=US%kg_m3_to_R, &
               do_not_log=.not.use_rho_ocean_SAL)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Parameter change Input parameter changes (addition, removal, or description)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants