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

Annotation 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.3 - (hide annotations) (download)
Tue Apr 22 10:32:25 2014 UTC (11 years, 2 months ago) by atn
Branch: MAIN
Changes since 1.2: +18 -15 lines
File MIME type: text/plain
in progress: bug fix

1 atn 1.3 C $Header: /u/gcmpack/MITgcm_contrib/atnguyen/code_21Dec2012_saltplume/SALT_PLUME.h,v 1.2 2014/04/22 04:32:26 atn Exp $
2 atn 1.1 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    
45     _RL SPsalFRAC, SaltPlumeCriterion, SPovershoot
46     #ifdef SALT_PLUME_IN_LEADS
47 atn 1.3 & , SPinflectionPoint
48     #endif
49     #ifdef SALT_PLUME_VOLUME
50     & , SPalpha, SPbrineSaltmax
51 atn 1.1 #endif
52     COMMON /SALT_PLUME_PARAMS_R/
53     & SPsalFRAC, SaltPlumeCriterion, SPovershoot
54     #ifdef SALT_PLUME_IN_LEADS
55     & , SPinflectionPoint
56     #endif
57     #ifdef SALT_PLUME_VOLUME
58 atn 1.3 & , SPalpha, SPbrineSaltmax
59 atn 1.1 #endif
60     C-- SALT_PLUME 2-dim. fields
61     C SaltPlumeDepth :: depth of penetration of salt plumes
62     C rejected during sea ice growth
63     C saltPlumeFlux :: Net downward salt flux in psu.kg/m^2/s
64     C Note: a) only used when salty sea-ice forms.
65     C b) units: when salinity (unit= psu) is expressed
66     C in g/kg, saltPlumeFlux unit becomes g/m^2/s.
67     C > 0 for increasing in SSS.
68     C Southwest C-grid tracer point
69 atn 1.3 C dSPvolSurf2kLev :: downward volume frac from klev=1 associated w/ saltPlumeFlux
70     C dSPvolBelow2kLev:: upward volume frac from grid below
71     C dSPvolkLev2Above:: upward volume frac to grid above
72     C SPbrineSalt :: salinity of brine, read in or a function of SPalpha
73     C SPkBottom :: bottom kLev associated with SaltPlumeDepth
74 atn 1.1
75     _RL SaltPlumeDepth (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
76     _RL saltPlumeFlux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
77     #ifdef SALT_PLUME_VOLUME
78 atn 1.3 _RL SPbrineSalt (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
79     & ,SPkBottom (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
80     _RL dSPvolSurf2kLev (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
81     & ,dSPvolBelow2kLev(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
82     & ,dSPvolkLev2Above(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr+1,nSx,nSy)
83     & ,SPplumek (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr+1,nSx,nSy)
84 atn 1.2 #endif /* SALT_PLUME_VOLUME */
85 atn 1.1 COMMON /DYNVARS_SALT_PLUME/ SaltPlumeDepth
86 atn 1.2 #ifdef SALT_PLUME_VOLUME
87     & ,SPbrineSalt,SPkBottom
88     COMMON /FFIELDS_SaltPlumeVol/
89 atn 1.3 & dSPvolSurf2kLev,dSPvolBelow2kLev,dSPvolkLev2Above,SPplumek
90 atn 1.2 #endif /* SALT_PLUME_VOLUME */
91 atn 1.1 COMMON /FFIELDS_saltPlumeFlux/ saltPlumeFlux
92     #endif /* ALLOW_SALT_PLUME */

  ViewVC Help
Powered by ViewVC 1.1.22