[MITgcm-support] spatially variable bottom drag
Martin Losch
Martin.Losch at awi.de
Tue Apr 12 10:39:40 EDT 2022
Hi Mike,
With your “SIZE.h” (nSx=nSy=1), the bi/bj can only be one, so that shouldn’t worry you. There’s a PR https://github.com/MITgcm/MITgcm/pull/574 <https://github.com/MITgcm/MITgcm/pull/574> where I added 2D quadratic drag coefficient fields, maybe you can use that as a template, but I think you are already on the right track.
Martin
> On 12. Apr 2022, at 16:21, Michael A Spall <mspall at whoi.edu> wrote:
>
> I am interested in making my linear bottom drag coefficient a function of space. I tried to do this
> by defining a 2-D array between 0 and 1 and multiplying the rhs of uDragTerms in mom_u_bottomdrag.F
> by this scaling array (same for vDragTerms in mom_v_bottomdrag.F). I added common blocks to those
> subroutines with the array so it is seen there. However, it looks like bi and bj are both 1 for all tiles in those
> subtroutines, so it always takes the values of my scaling array from the first tile. Also in dynamics.F, which
> calls them. I found some text online that says these are done in dynamics.F by a single loop, but I don't know
> what that means. Any advice on how to make bottom drag a function of location?
>
> I am using MITgcm_c65l, the SIZE.h file is below.
>
> Thanks,
> Mike
>
> C $Header: /u/gcmpack/MITgcm/model/inc/SIZE.h,v 1.28 2009/05/17 21:15:07 jmc Exp $
> C $Name: $
> C
> CBOP
> C !ROUTINE: SIZE.h
> C !INTERFACE:
> C include SIZE.h
> C !DESCRIPTION: \bv
> C *==========================================================*
> C | SIZE.h Declare size of underlying computational grid.
> C *==========================================================*
> C | The design here support a three-dimensional model grid
> C | with indices I,J and K. The three-dimensional domain
> C | is comprised of nPx*nSx blocks of size sNx along one axis
> C | nPy*nSy blocks of size sNy along another axis and one
> C | block of size Nz along the final axis.
> C | Blocks have overlap regions of size OLx and OLy along the
> C | dimensions that are subdivided.
> C *==========================================================*
> C \ev
> CEOP
> C Voodoo numbers controlling data layout.
> C sNx :: No. X points in sub-grid.
> C sNy :: No. Y points in sub-grid.
> C OLx :: Overlap extent in X.
> C OLy :: Overlat extent in Y.
> C nSx :: No. sub-grids in X.
> C nSy :: No. sub-grids in Y.
> C nPx :: No. of processes to use in X.
> C nPy :: No. of processes to use in Y.
> C Nx :: No. points in X for the total domain.
> C Ny :: No. points in Y for the total domain.
> C Nr :: No. points in Z for full process domain.
> INTEGER sNx
> INTEGER sNy
> INTEGER OLx
> INTEGER OLy
> INTEGER nSx
> INTEGER nSy
> INTEGER nPx
> INTEGER nPy
> INTEGER Nx
> INTEGER Ny
> INTEGER Nr
> PARAMETER (
> & sNx = 35,
> & sNy = 35,
> & OLx = 4,
> & OLy = 4,
> & nSx = 1,
> & nSy = 1,
> & nPx = 12,
> & nPy = 12,
> & Nx = sNx*nSx*nPx,
> & Ny = sNy*nSy*nPy,
> & Nr = 60)
>
> C MAX_OLX :: Set to the maximum overlap region size of any array
> C MAX_OLY that will be exchanged. Controls the sizing of exch
> C routine buffers.
> INTEGER MAX_OLX
> INTEGER MAX_OLY
> PARAMETER ( MAX_OLX = OLx,
> & MAX_OLY = OLy )
>
>
>
> ==================================================================
>
> Michael A. Spall
> Senior Scientist
> Clark 323A
> Department of Physical Oceanography
> Woods Hole Oceanographic Institution
> 360 Woods Hole Road MS #21
> Woods Hole, MA 02543
>
> 508-289-3342
> mspall at whoi.edu
> https://www2.whoi.edu/staff/mspall
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.mitgcm.org/pipermail/mitgcm-support/attachments/20220412/8b0fd85b/attachment.html>
More information about the MITgcm-support
mailing list