/[MITgcm]/MITgcm/pkg/salt_plume/SALT_PLUME.h
ViewVC logotype

Contents of /MITgcm/pkg/salt_plume/SALT_PLUME.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.10 - (show annotations) (download)
Wed May 21 10:46:03 2014 UTC (10 years ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint65, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, HEAD
Changes since 1.9: +59 -7 lines
File MIME type: text/plain
An Nguyen's extensions to salt_plume package
(carry corresponding heat flux along with salt redistribution)

1 C $Header: /u/gcmpack/MITgcm_contrib/atnguyen/code_21Dec2012_saltplume/SALT_PLUME.h,v 1.7 2014/05/02 06:11:46 atn Exp $
2 C $Name: $
3
4 #ifdef ALLOW_SALT_PLUME
5
6 C-- SALT_PLUME parameters
7 C Find surface where the potential density (ref.lev=surface) is
8 C larger than surface density plus SaltPlumeCriterion.
9
10 C SaltPlumeSouthernOcean: TRUE = apply salt plume globally
11 C FALSE = apply salt plume in Arctic Ocean only
12 LOGICAL SaltPlumeSouthernOcean
13 #ifdef SALT_PLUME_SPLIT_BASIN
14 LOGICAL SaltPlumeSplitBasin
15 #endif
16 COMMON /SALT_PLUME_PARAMS_L/ SaltPlumeSouthernOcean
17 #ifdef SALT_PLUME_SPLIT_BASIN
18 & , SaltPlumeSplitBasin
19 #endif
20
21 C CriterionType: 1=delta_rho, 2=drhodz, default is 1
22 C PlumeMethod: method of distributing salt plume vertically
23 C 1=power, 2=exp, 3=overshoot, 5=dump_at_top, 6=reverse of 1
24 C default is 1
25 C Npower: choices of distributing salt uniformly (0), linear (1),
26 C or higher power (Npower>1); default is 0 when PlumeMethod = 1
27 INTEGER CriterionType, PlumeMethod
28 #ifdef SALT_PLUME_SPLIT_BASIN
29 & , Npower(2)
30 #else
31 & , Npower
32 #endif
33 COMMON /SALT_PLUME_PARAMS_I/ CriterionType, PlumeMethod, Npower
34
35 C SaltPlumeCriterion
36 C for CriterionType=1, default is 0.4 kg/m^3 of Duffy et al 1999
37 C for CriterionType=2, default is 0.005 kg/m^3/m
38 C SPovershoot: overshooting depth of penetrating salt plume,
39 C so that 1.0 = no-overshoot, 1.2 = 20% overshoot.
40 C default is 1.0
41 C SPsalFRAC: fraction of the salt by-product of seaice growth (not melt) that
42 C will be re-distributed vertically according to the salt_plume_frac.F
43 C Its default is 1. (for 100% effect), and its range is [0. 1.]
44 C SPinflectionPoint: the inflection point of a nonlinear function
45 C f(AREA) controlling saltPlumeFlux. f(AREA) is a logistic curve
46 C (sigmoid) with range [0. 1.] and f(SPinflectionPoint) == 0.5.
47 C Usage: pkg/salt_plume activates when AREA>=SPinflectionPoint.
48 C To assure only narrow leads generate plumes:
49 C set SPinflectionPoint >= 0.8.
50 C SPalpha :: fraction of grid volume designated to be brine, [0. 1.]
51 C If grid cell 18km x 18km x 10m, take SPalpha=0.001 gives
52 C volume of 0.001*drF(1)*[dx*dy] of brine. Thus SPbrineSalt
53 C can be calc as adding SaltPlumeFlux into this fractional vol.
54 C Default: 0.008 -> SPbrineSalt ~37 if SSS is ~32.
55 C SPbrineSconst :: salinity of brine pocket [psu]
56
57 _RL SaltPlumeCriterion, SPovershoot
58 #ifdef SALT_PLUME_SPLIT_BASIN
59 & , SPsalFRAC(2)
60 #else /* SALT_PLUME_SPLIT_BASIN */
61 & , SPsalFRAC
62 #endif /* SALT_PLUME_SPLIT_BASIN */
63 #ifdef SALT_PLUME_VOLUME
64 & , SPbrineSconst, SPbrineSaltmax
65 #endif /* SALT_PLUME_VOLUME */
66 #ifdef SALT_PLUME_IN_LEADS
67 & , SPinflectionPoint
68 #endif /* SALT_PLUME_IN_LEADS */
69 COMMON /SALT_PLUME_PARAMS_R/
70 & SPsalFRAC, SaltPlumeCriterion, SPovershoot
71 #ifdef SALT_PLUME_VOLUME
72 & , SPbrineSconst, SPbrineSaltmax
73 #endif /* SALT_PLUME_VOLUME */
74 #ifdef SALT_PLUME_IN_LEADS
75 & , SPinflectionPoint
76 #endif
77 C-- SALT_PLUME 2-dim. fields
78 C SaltPlumeDepth :: depth of penetration of salt plumes
79 C rejected during sea ice growth
80 C saltPlumeFlux :: Net downward salt flux in psu.kg/m^2/s
81 C Note: a) only used when salty sea-ice forms.
82 C b) units: when salinity (unit= psu) is expressed
83 C in g/kg, saltPlumeFlux unit becomes g/m^2/s.
84 C > 0 for increasing in SSS.
85 C Southwest C-grid tracer point
86 C dSPvolSurf2kLev :: downward volume frac from klev=1 associated w/ saltPlumeFlux
87 C dSPvolBelow2kLev:: upward volume frac from grid below (RETIRED)
88 C dSPvolkLev2Above:: upward volume frac to grid above
89 C SPbrineVolFlux :: brine Vol associated w/ SPbrineSconst & saltPlumeFlux
90 C SPforcingS :: 3D forcingS associated w/ saltPlumeFlux [g/m2/s]
91 C SPforcingT :: 3D forcingT associated w/ saltPlumeFlux [W/m2]
92 C SPkBottom :: bottom kLev associated with SaltPlumeDepth
93
94 _RL SaltPlumeDepth (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
95 _RL saltPlumeFlux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
96 #ifdef SALT_PLUME_VOLUME
97 _RL SPbrineVolFlux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
98 _RL SPforcS1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
99 _RL SPforcT1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
100 _RL dSPvolSurf2kLev (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
101 & ,dSPvolkLev2Above(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr+1,nSx,nSy)
102 & ,SPforcingS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
103 & ,SPforcingT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
104 & ,SPplumek (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr+1,nSx,nSy)
105 #endif
106 COMMON /DYNVARS_SALT_PLUME/ SaltPlumeDepth
107 #ifdef SALT_PLUME_VOLUME
108 & ,SPbrineVolFlux,SPforcS1,SPforcT1
109 COMMON /FFIELDS_SaltPlumeVol/
110 & dSPvolSurf2kLev,dSPvolkLev2Above
111 & ,SPforcingS,SPforcingT
112 & ,SPplumek
113 #endif
114 COMMON /FFIELDS_saltPlumeFlux/ saltPlumeFlux
115 #endif /* ALLOW_SALT_PLUME */

  ViewVC Help
Powered by ViewVC 1.1.22