Back to home page

MITgcm

 
 

    


Warning, /pkg/bbl/README.md is written in an unsupported language. File is not indexed.

view on githubraw file Latest commit 12381654 on 2022-08-11 21:44:30 UTC
1238165489 Mart*0001 Package `BBL` is a simple bottom boundary layer scheme.  The initial
53b68b7823 Dimi*0002 motivation is to allow dense water that forms on the continental shelf around
                0003 Antarctica (High Salinity Shelf Water) in the CS510 configuration to sink to
                0004 the bottom of the model domain and to become a source of Antarctic Bottom
5f5cc705f4 Dimi*0005 Water.  The bbl package aims to address the following two limitations of
53b68b7823 Dimi*0006 package down_slope:
                0007 
1238165489 Mart*0008 (i) In `pkg/down_slope`, dense water cannot flow down-slope unless there is a
53b68b7823 Dimi*0009 step, i.e., a change of vertical level in the bathymetry.  In pkg/bbl, dense
5f5cc705f4 Dimi*0010 water can flow even on a slight incline or flat bottom.
53b68b7823 Dimi*0011 
1238165489 Mart*0012 (ii) In `pkg/down_slope`, dense water is diluted as it flows into grid cells
5f5cc705f4 Dimi*0013 whose thickness depends on model configuration, typically much thicker than a
                0014 bottom boundary layer.  In pkg/bbl, dense water is contained in a thin
                0015 sub-layer and hence able to preserve its tracer properties.
53b68b7823 Dimi*0016 
                0017 Specifically, the bottommost wet grid cell of thickness
                0018 
5f5cc705f4 Dimi*0019     thk = hFacC(kBot) * drF(kBot),
53b68b7823 Dimi*0020 
1238165489 Mart*0021 with properties `tracer`, and density `rho` is divided in two sub-levels:
53b68b7823 Dimi*0022 
1238165489 Mart*0023 1. A bottom boundary layer with T/S tracer properties `bbl_tracer`,
                0024 density `bbl_rho`, and thickness `bbl_eta`.
53b68b7823 Dimi*0025 
1238165489 Mart*0026 2. A residual thickness `resThk = thk - bbl_eta` with tracer properties
53b68b7823 Dimi*0027 
5f5cc705f4 Dimi*0028     resTracer = ( tracer * thk - bbl_tracer * bbl_eta ) / resThk
53b68b7823 Dimi*0029 
1238165489 Mart*0030 such that the volume integral of `bbl_tracer` and `resTracer` is consistent with
53b68b7823 Dimi*0031 the Tracer properties of bottommost wet grid cell.
                0032 
1238165489 Mart*0033 The bottom boundary layer properties `bbl_tracer` evolve as follows:
53b68b7823 Dimi*0034 
1238165489 Mart*0035 I. Vertical detrainment between BBL and residual volume of bottommost wet cell:
53b68b7823 Dimi*0036 
1238165489 Mart*0037 (i) If `bbl_rho > rho` , the T/S properties of the BBL are detrained into
                0038 the residual volume with a vertical velocity `bbl_wvel` such that:
53b68b7823 Dimi*0039 
5f5cc705f4 Dimi*0040     bbl_eta(T+deltaT) = max( 0, bbl_eta(T) - bbl_wvel * deltaT )
53b68b7823 Dimi*0041 
1238165489 Mart*0042 (ii) If `rho >= bbl_rho` or `bbl_eta(T) = 0` then set `bbl_tracer = Tracer`
53b68b7823 Dimi*0043 
5f5cc705f4 Dimi*0044 Above operations do not change tracer properties of bottommost wet cell.
53b68b7823 Dimi*0045 
5f5cc705f4 Dimi*0046 II. Horizontal exchange between adjacent bottom boundary layer cells when
                0047 heavy BBL water is above or at the same level as lighter BBL water.  The
1238165489 Mart*0048 strength of horizontal exchange is controlled by velocity parameter `bbl_hvel`.
53b68b7823 Dimi*0049 
1238165489 Mart*0050 (i) Replenish thickness of donor cell, `bbl_eta(d)`, if needed:
53b68b7823 Dimi*0051 
5f5cc705f4 Dimi*0052     IF bbl_tracer(d) .EQ. Tracer(d) .AND. bbl_eta(d) .LT. bbl_initEta THEN
                0053        bbl_eta(d) = min ( bbl_initEta, Thk(d) )
                0054     ENDIF
53b68b7823 Dimi*0055 
1238165489 Mart*0056 (ii) Heavy water flowing out of a cell lowers `bbl_eta(d)` in donor cell and
                0057 increases `bbl_eta(r)` in receiving cell.  The volume transport `dVol` out
5f5cc705f4 Dimi*0058 of the donor cell is:
53b68b7823 Dimi*0059 
5f5cc705f4 Dimi*0060     dVol = min( bbl_eta(d) * rA(d) / 2,
                0061                 (thk(r) - bbl_eta(r)) * rA(r) / 2,
                0062                 d(x/y)G * bbl_eta(d) * bbl_hvel * deltaT )
53b68b7823 Dimi*0063 
5f5cc705f4 Dimi*0064 (iii) Compute and accumulate tracer tendencies for donor and receiving cell.
1238165489 Mart*0065 These will be applied to the model's tracer quantities by `bbl_tendency_apply`.
53b68b7823 Dimi*0066 
5f5cc705f4 Dimi*0067     bbl_tend = dVol * (bbl_tracer(d) - resTracer(r)) / deltaT
53b68b7823 Dimi*0068 
5f5cc705f4 Dimi*0069     bbl_tendTracer(d) = bbl_tendTracer(d) - bbl_tend / rA(d) / thk(d)
53b68b7823 Dimi*0070 
5f5cc705f4 Dimi*0071     bbl_tendTracer(r) = bbl_tendTracer(r) + bbl_tend / rA(r) / thk(r)
                0072 
1238165489 Mart*0073 (iv) Adjust bbl thickness and tracer properties.
                0074 
5f5cc705f4 Dimi*0075     bbl_eta(d,T+deltaT) = bbl_eta(d,T) - dVol / rA(d)
                0076     IF bbl_eta(d) .LT. 0.0001 THEN
                0077        bbl_eta(d) = 0.0
                0078        bbl_tracer(d) = tracer(d)
                0079     ENDIF
                0080 
                0081     bbl_eta(r,T+deltaT) = bbl_eta(r,T) + dVol / rA(r)
                0082 
                0083     bbl_tracer(r,T+deltaT) = ( dVol * bbl_tracer(d,T) +
1238165489 Mart*0084                                bbl_eta(r,T) * rA(r) * bbl_tracer(r,T) ) /
                0085                              ( bbl_eta(r,T+deltaT) * rA(r) )
5f5cc705f4 Dimi*0086 
                0087 Note that horizontal exchange is carried out in following order:
1238165489 Mart*0088 
5f5cc705f4 Dimi*0089 1. Meridional bbl exchange at northern edge.
                0090 2. Meridional bbl exchange inside tile.
                0091 3. Zonal bbl exchange at eastern edge.
                0092 4. Zonal bbl exchange inside tile.
1238165489 Mart*0093 
5f5cc705f4 Dimi*0094 The northern and eastern edge computations need to be done before
                0095 computations inside the tile in order to avoid edge artifacts.
                0096 Note that different tiling will produce slightly different results
                0097 as order of computations does matters.
1238165489 Mart*0098 
                0099 Some key limitations of package as it stands:
                0100 
                0101 - Detrainment and horizontal transport velocities (`bbl_wvel` and `bbl_hvvel`) are
                0102   prescribed rather than computed.
                0103 - There is no provision for entrainment (negative `bbl_wvel`).
                0104 - bbl depth (`bbl_eta`) cannot be thicker than thickness of bottommost wet grid cell.