-
Notifications
You must be signed in to change notification settings - Fork 132
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
Update Icepack to #5999551 including snowbrinebugs #797
Conversation
Update advection description in document Update f_bound setting in ice_history.F90
Please review the changes to the documentation associated with #793. I tried to make an appropriate updates but I'm sure it's not quite right. |
Looking for a review, would be nice to merge before the weekend. Thanks. |
@@ -35,7 +35,7 @@ versions but have not yet been implemented. | |||
|
|||
Two transport schemes are available: upwind and the incremental | |||
remapping scheme of :cite:`Dukowicz00` as modified for sea ice by | |||
:cite:`Lipscomb04`. The upwind scheme is naturally suited for a C grid discretization. As such, the C grid velocity components (i.e. :math:`uvelE=u` at the E point and :math:`vvelN=v` at the N point) are directly passed to the upwind transport scheme. On the other hand, if the B grid is used, :math:`uvel` and :math:`vvel` (respectively :math:`u` and :math:`v` at the U point) are interpolated to the E and N points such that the upwind advection can be performed. Conversely, as the remapping scheme was originally developed for B grid applications, :math:`uvel` and :math:`vvel` are directly used for the advection. If the remapping scheme is used for the C grid, :math:`uvelE` and :math:`vvelN` are first interpolated to the U points before performing the advection. | |||
:cite:`Lipscomb04`. The upwind scheme is naturally suited for a C grid discretization. As such, the C grid velocity components (i.e. :math:`uvelE=u` at the E point and :math:`vvelN=v` at the N point) are directly passed to the upwind transport scheme. On the other hand, if the B grid is used, :math:`uvelU` and :math:`vvelU` (respectively :math:`u` and :math:`v` at the U point) are interpolated to the E and N points such that the upwind advection can be performed. Conversely, as the remapping scheme was originally developed for B grid applications, :math:`uvelU` and :math:`vvelU` are directly used as departure points for the advection. If the remapping scheme is used for the C grid, :math:`uvelE` and :math:`vvelN` are first interpolated to the U points before performing the advection. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@JFLemieux73 @TillRasmussen: do you agree with this statement?
:cite:Lipscomb04
. The upwind scheme is naturally suited for a C grid discretization. As such, the C grid velocity components (i.e. :math:uvelE=u
at the E point and :math:vvelN=v
at the N point) are directly passed to the upwind transport scheme. (Note however that the upwind scheme does not transport all potentially available tracers.) On the other hand, if the B grid is used, :math:uvelU
and :math:vvelU
(respectively :math:u
and :math:v
at the U point) are interpolated to the E and N points such that the upwind advection can be performed. Because the remapping scheme was originally developed for B grid applications, uvelU
and vvelU
are are interpolated to the E and N points internally in the advection code, when running on B grids. If the remapping scheme is used for the C grid, :math:uvelE
and :math:vvelN
are first interpolated to the U points before performing the advection when l_fixed_area
(described below) is false.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Starting from:
Because the remapping scheme was originally developed for B grid applications, uvelU and vvelU are are interpolated to the E and N points internally in the advection code, when running on B grids. If the remapping scheme is used for the C grid, :math:uvelE and :math:vvelN are first interpolated to the U points before performing the advection when l_fixed_area (described below) is false.
I would reformulate the above to
The remapping scheme was originally developed for B grid applications, which means that :math:uvelU and :math:vvelU are needed. If l_fixed_area is true (by default hardcoded to false) then :math:uvelE and :math:vvelN are needed, which requires interpotation. If the remapping scheme is used for the C grid, :math:uvelE and :math:vvelN are first interpolated to the U points before performing the advection when l_fixed_area (described below) is false.
"Not to be included"
The interpolation on B grid from uvelU and vvelN are not needed in the current setting, however it is done anyway.
I significantly updated the advection scheme descriptions after trying to understand all the iterations. Hopefully it's clearer and correct. If not, we should continue to iterate. |
PR checklist
Update Icepack to #5999551 including snowbrinebugs
apcraig
full suite run on cheyenne, all bit-for-bit except snwgrain cases, https://github.com/CICE-Consortium/Test-Results/wiki/cice_by_hash_forks#cb58257857d429c4c2dc4185d16c3f991e379271
Update advection description in document, closes #793
Update f_bound setting in ice_history.F90, closes #796