/[MITgcm]/MITgcm_contrib/atnguyen/code_21Dec2012_saltplume/SALT_PLUME.h
ViewVC logotype

Contents of /MITgcm_contrib/atnguyen/code_21Dec2012_saltplume/SALT_PLUME.h

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


Revision 1.5 - (show annotations) (download)
Thu May 1 08:09:29 2014 UTC (11 years, 2 months ago) by atn
Branch: MAIN
Changes since 1.4: +11 -8 lines
File MIME type: text/plain
in progress: sorting out salplume within kpp

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

  ViewVC Help
Powered by ViewVC 1.1.22