Opened 7 months ago

Last modified 6 months ago

#2071 new Enhancement

Allowing more flexibility with the sea surface restoring subroutine

Reported by:yruprich Component: SBC
Version: release-3.6 Severity: minor
Keywords: surface restoring Cc:
Management
Owned by: Milestone:
Priority: low

Description

Context

The default sbcssr subroutine does not allow to perform sea surface restoring over a sub-region and it performs sea surface restoring both over regions cover and not covered by sea-ice. Adding the possibility to choose to perform sub-regional surface restoring and to not restore under sea-iced region will facilitate the realization of coupled simulations scheduled for CMIP6 (e.g., Component-C of DCPP).

Proposal

I modifyied the sea surface restoring sbcssr.F90 subroutine of NEMO3.6 in order to:
1) perform sea surface restoring only over a sub-region of the globe (versus the whole globe in the current version) by reading a mask as an input (in namelist_sbcssr, cf. new variable "sn_msk" and new parameter "nn_msk") and,
2) give the possibility to the user to perform or not sea surface restoring where there is sea-ice (by adding a namelsit parameter "nn_icer").

I tried to stay as close as possible of the original namelist and code, but I eventually created two new parameters in the namelist: "nn_msk" and "nn_icer", and one optional input file "mask_restore". I am explaining in the following how they work:
1) For subregional restoring, if the user wants to use a regional mask, it has to set up the "nn_msk" parameter to 1 and he has to provide a file named "mask_restore.nc" containing the variable "mask_ssr" in the runtime directory. If the user does not want to use this feature (i.e., if the user wants to use the original configuration), the user has to set up the "nn_msk" parameter to 0 and he can leave blank the sn_msk filename (the model will not read any mask but will use the default land-sea mask in the case where nn_msk = 0).
2) For sea-ice, if the user does not want to restore sea surface field where there is sea-ice, the user has to set up "nn_icer" to 0. In case the user wants to restore sea surface even where there is sea-ice (i.e., as it is done in the original version), the user has to set up "nn_icer" to 1.

Please let me know whether these features may be of interest for the community, and if so where should I download my namelist (namsbc_ssr) and my fortran subroutine (sbcssr.F90).

Thank you,
Yohan

Commit History (0)

(No commits)

Attachments (3)

sbcssr_YRR_v2.F90 (15.2 KB) - added by yruprich 7 months ago.
namsbc_ssr_YRR_v2.f (2.3 KB) - added by nemo 6 months ago.
gitdiff_sbcssr.F90 (12.2 KB) - added by yruprich 6 months ago.
git diff between the current and modified sbcssr.F90 routine

Download all attachments as: .zip

Change History (5)

Changed 7 months ago by yruprich

comment:1 Changed 6 months ago by nicolasmartin

Thanks Yohan for your proposal and your patch.
Unfortunately I do not have the expertise to review it but I just want to add a remark on your attached files.

If you manage your NEMO working copy with SVN, the best way to offer your patch is to give as a file the output of a svn diff or any diffing tool.
Thus a user/developer could merge it easily with his own working thanks to svn patch.

Last edited 6 months ago by nicolasmartin (previous) (diff)

Changed 6 months ago by nemo

comment:2 Changed 6 months ago by yruprich

Thanks Nicolas for your advice!

You can find attached the results from a git diff between the current sbcssr.F90 and the changed sbcssr.F90 I am proposing.

Yohan

Changed 6 months ago by yruprich

git diff between the current and modified sbcssr.F90 routine

Note: See TracTickets for help on using tickets.