1 | MODULE sms_medusa |
---|
2 | !!---------------------------------------------------------------------- |
---|
3 | !! *** sms_medusa.F90 *** |
---|
4 | !! TOP : MEDUSA Source Minus Sink variables |
---|
5 | !!---------------------------------------------------------------------- |
---|
6 | !! History : - ! 1999-09 (M. Levy) original code |
---|
7 | !! - ! 2000-12 (O. Aumont, E. Kestenare) add sediment |
---|
8 | !! 1.0 ! 2005-10 (C. Ethe) F90 |
---|
9 | !! 1.0 ! 2005-03 (A-S Kremeur) add fphylab, fzoolab, fdetlab, fdbod |
---|
10 | !! - ! 2005-06 (A-S Kremeur) add sedpocb, sedpocn, sedpoca |
---|
11 | !! 2.0 ! 2007-04 (C. Deltel, G. Madec) Free form and modules |
---|
12 | !! - ! 2008-08 (K. Popova) adaptation for MEDUSA |
---|
13 | !! - ! 2008-11 (A. Yool) continuing adaptation for MEDUSA |
---|
14 | !! - ! 2010-03 (A. Yool) updated for branch inclusion |
---|
15 | !! - ! 2011-04 (A. Yool) updated for ROAM project |
---|
16 | !!---------------------------------------------------------------------- |
---|
17 | |
---|
18 | #if defined key_medusa |
---|
19 | !!---------------------------------------------------------------------- |
---|
20 | !! 'key_medusa' MEDUSA model |
---|
21 | !!---------------------------------------------------------------------- |
---|
22 | USE par_oce |
---|
23 | USE par_trc |
---|
24 | |
---|
25 | IMPLICIT NONE |
---|
26 | PUBLIC |
---|
27 | |
---|
28 | !!---------------------------------------------------------------------- |
---|
29 | !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005) |
---|
30 | !! $Id$ |
---|
31 | !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) |
---|
32 | !!---------------------------------------------------------------------- |
---|
33 | |
---|
34 | INTEGER :: numnatp_ref = -1 !! Logical units for namelist medusa |
---|
35 | INTEGER :: numnatp_cfg = -1 !! Logical units for namelist medusa |
---|
36 | INTEGER :: numonp = -1 !! Logical unit for namelist medusa output |
---|
37 | |
---|
38 | !!---------------------------------------------------------------------- |
---|
39 | !! Biological parameters |
---|
40 | !!---------------------------------------------------------------------- |
---|
41 | !! |
---|
42 | !! Primary production and chl related quantities |
---|
43 | REAL(wp) :: xxi !: conversion factor from gC to mmolN |
---|
44 | REAL(wp) :: xaln !: Chl-a specific initial slope of P-I curve for non-diatoms |
---|
45 | REAL(wp) :: xald !: Chl-a specific initial slope of P-I curve for diatoms |
---|
46 | INTEGER :: jphy !: phytoplankton T-dependent growth switch |
---|
47 | REAL(wp) :: xvpn !: maximum growth rate for non-diatoms |
---|
48 | REAL(wp) :: xvpd !: maximum growth rate for diatoms |
---|
49 | REAL(wp) :: xthetam !: maximum Chl to C ratio for non-diatoms |
---|
50 | REAL(wp) :: xthetamd !: maximum Chl to C ratio for diatoms |
---|
51 | REAL(wp) :: jq10 !: specific Q10 value (jphy==2) |
---|
52 | !! |
---|
53 | !! Diatom silicon parameters |
---|
54 | REAL(wp) :: xsin0 !: minimum diatom Si:N ratio |
---|
55 | REAL(wp) :: xnsi0 !: minimum diatom N:Si ratio |
---|
56 | REAL(wp) :: xuif !: hypothetical growth ratio at infinite Si:N ratio |
---|
57 | !! |
---|
58 | !! Nutrient limitation |
---|
59 | INTEGER :: jliebig !: Liebig nutrient uptake switch |
---|
60 | REAL(wp) :: xnln !: half-sat constant for DIN uptake by non-diatoms |
---|
61 | REAL(wp) :: xnld !: half-sat constant for DIN uptake by diatoms |
---|
62 | REAL(wp) :: xsld !: half-sat constant for Si uptake by diatoms |
---|
63 | REAL(wp) :: xfln !: half-sat constant for Fe uptake by non-diatoms |
---|
64 | REAL(wp) :: xfld !: half-sat constant for Fe uptake by diatoms |
---|
65 | !! |
---|
66 | !! Grazing |
---|
67 | REAL(wp) :: xgmi !: microzoo maximum growth rate |
---|
68 | REAL(wp) :: xgme !: mesozoo maximum growth rate |
---|
69 | REAL(wp) :: xkmi !: microzoo grazing half-sat parameter |
---|
70 | REAL(wp) :: xkme !: mesozoo grazing half-sat parameter |
---|
71 | REAL(wp) :: xphi !: micro/mesozoo grazing inefficiency |
---|
72 | REAL(wp) :: xbetan !: micro/mesozoo N assimilation efficiency |
---|
73 | REAL(wp) :: xbetac !: micro/mesozoo C assimilation efficiency |
---|
74 | REAL(wp) :: xkc !: micro/mesozoo net C growth efficiency |
---|
75 | REAL(wp) :: xpmipn !: grazing preference of microzoo for non-diatoms |
---|
76 | REAL(wp) :: xpmid !: grazing preference of microzoo for diatoms |
---|
77 | REAL(wp) :: xpmepn !: grazing preference of mesozoo for non-diatoms |
---|
78 | REAL(wp) :: xpmepd !: grazing preference of mesozoo for diatoms |
---|
79 | REAL(wp) :: xpmezmi !: grazing preference of mesozoo for microzoo |
---|
80 | REAL(wp) :: xpmed !: grazing preference of mesozoo for detritus |
---|
81 | !! |
---|
82 | !! Metabolic losses |
---|
83 | REAL(wp) :: xmetapn !: non-diatom metabolic loss rate |
---|
84 | REAL(wp) :: xmetapd !: diatom metabolic loss rate |
---|
85 | REAL(wp) :: xmetazmi !: microzoo metabolic loss rate |
---|
86 | REAL(wp) :: xmetazme !: mesozoo metabolic loss rate |
---|
87 | !! |
---|
88 | !! Mortality losses |
---|
89 | INTEGER :: jmpn !: non-diatom mortality functional form |
---|
90 | REAL(wp) :: xmpn !: non-diatom mortality rate |
---|
91 | REAL(wp) :: xkphn !: non-diatom mortality half-sat constant |
---|
92 | INTEGER :: jmpd !: diatom mortality functional form |
---|
93 | REAL(wp) :: xmpd !: diatom mortality rate |
---|
94 | REAL(wp) :: xkphd !: diatom mortality half-sat constant |
---|
95 | INTEGER :: jmzmi !: microzoo mortality functional form |
---|
96 | REAL(wp) :: xmzmi !: microzoo mortality rate |
---|
97 | REAL(wp) :: xkzmi !: microzoo mortality half-sat constant |
---|
98 | INTEGER :: jmzme !: mesozoo mortality functional form |
---|
99 | REAL(wp) :: xmzme !: mesozoo mortality rate |
---|
100 | REAL(wp) :: xkzme !: mesozoo mortality half-sat constant |
---|
101 | !! |
---|
102 | !! Remineralisation |
---|
103 | INTEGER :: jmd !: detritus T-dependent remineralisation switch |
---|
104 | INTEGER :: jsfd !: accelerate seafloor detritus remin. switch |
---|
105 | REAL(wp) :: xmd !: detrital nitrogen remineralisation rate |
---|
106 | REAL(wp) :: xmdc !: detrital carbon remineralisation rate |
---|
107 | !! |
---|
108 | !! Stochiometric ratios |
---|
109 | REAL(wp) :: xthetapn !: non-diatom C:N ratio |
---|
110 | REAL(wp) :: xthetapd !: diatom C:N ratio |
---|
111 | REAL(wp) :: xthetazmi !: microzoo C:N ratio |
---|
112 | REAL(wp) :: xthetazme !: mesozoo C:N ratio |
---|
113 | REAL(wp) :: xthetad !: detritus C:N ratio |
---|
114 | REAL(wp) :: xrfn !: phytoplankton Fe:N ratio |
---|
115 | REAL(wp) :: xrsn !: diatom Si:N ratio (NOT USED HERE; RETAINED FOR LOBSTER) |
---|
116 | !! |
---|
117 | !! Iron parameters |
---|
118 | INTEGER :: jiron !: iron scavenging submodel switch |
---|
119 | REAL(wp) :: xfe_mass !: iron atomic mass |
---|
120 | REAL(wp) :: xfe_sol !: aeolian iron solubility |
---|
121 | REAL(wp) :: xfe_sed !: sediment iron input |
---|
122 | REAL(wp) :: xLgT !: total ligand concentration (umol/m3) |
---|
123 | REAL(wp) :: xk_FeL !: dissociation constant for (Fe + L) |
---|
124 | REAL(wp) :: xk_sc_Fe !: scavenging rate of "free" iron |
---|
125 | !! |
---|
126 | !! Gravitational sinking |
---|
127 | REAL(wp) :: vsed !: detritus gravitational sinking rate |
---|
128 | REAL(wp) :: xhr !: coefficient for Martin et al. (1987) remineralisation |
---|
129 | !! |
---|
130 | !! Fast-sinking detritus parameters |
---|
131 | INTEGER :: jexport !: fast detritus remineralisation switch |
---|
132 | INTEGER :: jfdfate !: fate of fast detritus at seafloor switch |
---|
133 | INTEGER :: jrratio !: rain ratio switch |
---|
134 | INTEGER :: jocalccd !: CCD switch |
---|
135 | REAL(wp) :: xridg_r0 !: Ridgwell rain ratio coefficient |
---|
136 | REAL(wp) :: xfdfrac1 !: fast-sinking fraction of diatom nat. mort. losses |
---|
137 | REAL(wp) :: xfdfrac2 !: fast-sinking fraction of mesozooplankton mort. losses |
---|
138 | REAL(wp) :: xfdfrac3 !: fast-sinking fraction of diatom silicon grazing losses |
---|
139 | REAL(wp) :: xcaco3a !: polar (high latitude) CaCO3 fraction |
---|
140 | REAL(wp) :: xcaco3b !: equatorial (low latitude) CaCO3 fraction |
---|
141 | REAL(wp) :: xmassc !: organic C mass:mole ratio, C106 H175 O40 N16 P1 |
---|
142 | REAL(wp) :: xmassca !: calcium carbonate mass:mole ratio, CaCO3 |
---|
143 | REAL(wp) :: xmasssi !: biogenic silicon mass:mole ratio, (H2SiO3)n |
---|
144 | REAL(wp) :: xprotca !: calcium carbonate protection ratio |
---|
145 | REAL(wp) :: xprotsi !: biogenic silicon protection ratio |
---|
146 | REAL(wp) :: xfastc !: organic C remineralisation length scale |
---|
147 | REAL(wp) :: xfastca !: calcium carbonate dissolution length scale |
---|
148 | REAL(wp) :: xfastsi !: biogenic silicon dissolution length scale |
---|
149 | !! |
---|
150 | !! Benthos parameters |
---|
151 | INTEGER :: jorgben !: does organic detritus go to the benthos? |
---|
152 | INTEGER :: jinorgben !: does inorganic detritus go to the benthos? |
---|
153 | !! |
---|
154 | REAL(wp) :: xsedn !: organic nitrogen sediment remineralisation rate |
---|
155 | REAL(wp) :: xsedfe !: organic iron sediment remineralisation rate |
---|
156 | REAL(wp) :: xsedsi !: inorganic silicon sediment dissolution rate |
---|
157 | REAL(wp) :: xsedc !: organic carbon sediment remineralisation rate |
---|
158 | REAL(wp) :: xsedca !: inorganic carbon sediment dissolution rate |
---|
159 | REAL(wp) :: xburial !: burial rate of seafloor detritus |
---|
160 | !! |
---|
161 | !! River parameters |
---|
162 | INTEGER :: jriver_n !: riverine nitrogen? 0 = no, 1 = conc, 2 = flux |
---|
163 | INTEGER :: jriver_si !: riverine silicon? 0 = no, 1 = conc, 2 = flux |
---|
164 | INTEGER :: jriver_c !: riverine carbon? 0 = no, 1 = conc, 2 = flux |
---|
165 | INTEGER :: jriver_alk!: riverine alkalinity? 0 = no, 1 = conc, 2 = flux |
---|
166 | INTEGER :: jriver_dep!: depth river input added to? 1 = surface, >1 possible |
---|
167 | !! |
---|
168 | !! Miscellaneous |
---|
169 | REAL(wp) :: xsdiss !: diatom frustule dissolution rate |
---|
170 | !! |
---|
171 | !! Additional parameters |
---|
172 | INTEGER :: jpkb !: vertical layer for diagnostic of the vertical flux |
---|
173 | !! |
---|
174 | !! UKESM diagnostics |
---|
175 | INTEGER :: jdms !: include DMS diagnostics ? Jpalm (27-08-2014) |
---|
176 | INTEGER :: jdms_input !: use instant (0) or diel-average (1) inputs (AXY, 08/07/2015) |
---|
177 | INTEGER :: jdms_model !: choice of DMS model passed to atmosphere |
---|
178 | !! 1 = ANDR, 2 = SIMO, 3 = ARAN, 4 = HALL |
---|
179 | !! FOR UKESM |
---|
180 | REAL(wp) :: scl_chl !: scaling factor for tuned Chl passed to the UM |
---|
181 | INTEGER :: chl_out !: select Chl field exported and scaled for UM: |
---|
182 | !: 1- Surface Chl ; 2- MLD Chl |
---|
183 | !! |
---|
184 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: remdmp !: depth dependent damping coefficient of passive tracers |
---|
185 | !! |
---|
186 | !! AXY (27/07/10): add in indices for depth horizons (for sinking flux |
---|
187 | !! and seafloor iron inputs) |
---|
188 | INTEGER :: i0100, i0150, i0200, i0500, i1000, i1100 |
---|
189 | #if defined key_roam |
---|
190 | !! |
---|
191 | !! ROAM carbon, alkalinity and oxygen cycle parameters |
---|
192 | REAL(wp) :: xthetaphy !: oxygen evolution/consumption by phytoplankton |
---|
193 | REAL(wp) :: xthetazoo !: oxygen consumption by zooplankton |
---|
194 | REAL(wp) :: xthetanit !: oxygen consumption by nitrogen remineralisation |
---|
195 | REAL(wp) :: xthetarem !: oxygen consumption by carbon remineralisation |
---|
196 | REAL(wp) :: xo2min !: oxygen minimum concentration |
---|
197 | !! |
---|
198 | !! 3D fields of carbonate system parameters |
---|
199 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: f3_pH !: 3D pH |
---|
200 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: f3_h2co3 !: 3D carbonic acid |
---|
201 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: f3_hco3 !: 3D bicarbonate |
---|
202 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: f3_co3 !: 3D carbonate |
---|
203 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: f3_omcal !: 3D omega calcite |
---|
204 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: f3_omarg !: 3D omega aragonite |
---|
205 | !! |
---|
206 | !! 2D fields of calcium carbonate compensation depth |
---|
207 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: f2_ccd_cal !: 2D calcite CCD depth |
---|
208 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: f2_ccd_arg !: 2D aragonite CCD depth |
---|
209 | !! |
---|
210 | !! 2D fields of organic and inorganic material sedimented on the seafloor |
---|
211 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zb_sed_n !: 2D organic nitrogen (before) |
---|
212 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zn_sed_n !: 2D organic nitrogen (now) |
---|
213 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: za_sed_n !: 2D organic nitrogen (after) |
---|
214 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zb_sed_fe !: 2D organic iron (before) |
---|
215 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zn_sed_fe !: 2D organic iron (now) |
---|
216 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: za_sed_fe !: 2D organic iron (after) |
---|
217 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zb_sed_si !: 2D inorganic silicon (before) |
---|
218 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zn_sed_si !: 2D inorganic silicon (now) |
---|
219 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: za_sed_si !: 2D inorganic silicon (after) |
---|
220 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zb_sed_c !: 2D organic carbon (before) |
---|
221 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zn_sed_c !: 2D organic carbon (now) |
---|
222 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: za_sed_c !: 2D organic carbon (after) |
---|
223 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zb_sed_ca !: 2D inorganic carbon (before) |
---|
224 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zn_sed_ca !: 2D inorganic carbon (now) |
---|
225 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: za_sed_ca !: 2D inorganic carbon (after) |
---|
226 | !! |
---|
227 | !! 2D fields of temporally averaged properties for DMS calculations (AXY, 07/07/15) |
---|
228 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zb_dms_chn !: 2D avg CHN (before) |
---|
229 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zn_dms_chn !: 2D avg CHN (now) |
---|
230 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: za_dms_chn !: 2D avg CHN (after) |
---|
231 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zb_dms_chd !: 2D avg CHD (before) |
---|
232 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zn_dms_chd !: 2D avg CHD (now) |
---|
233 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: za_dms_chd !: 2D avg CHD (after) |
---|
234 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zb_dms_mld !: 2D avg MLD (before) |
---|
235 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zn_dms_mld !: 2D avg MLD (now) |
---|
236 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: za_dms_mld !: 2D avg MLD (after) |
---|
237 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zb_dms_qsr !: 2D avg QSR (before) |
---|
238 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zn_dms_qsr !: 2D avg QSR (now) |
---|
239 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: za_dms_qsr !: 2D avg QSR (after) |
---|
240 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zb_dms_din !: 2D avg DIN (before) |
---|
241 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zn_dms_din !: 2D avg DIN (now) |
---|
242 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: za_dms_din !: 2D avg DIN (after) |
---|
243 | !! |
---|
244 | !! 2D fields needing to be knows at first tstp for coupling with atm - UKEMS(Jpalm,14-06-2016) |
---|
245 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zb_co2_flx !: 2D avg fx co2 (before) |
---|
246 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zn_co2_flx !: 2D avg fx co2 (now) |
---|
247 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: za_co2_flx !: 2D avg fx co2 (after) |
---|
248 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zb_dms_srf !: 2D avg sfr dms (before) |
---|
249 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zn_dms_srf !: 2D avg sfr dms (now) |
---|
250 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: za_dms_srf !: 2D avg srf dms (after) |
---|
251 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zn_chl_srf !: 2D avg srf chl (now) |
---|
252 | |
---|
253 | #endif |
---|
254 | |
---|
255 | !!---------------------------------------------------------------------- |
---|
256 | !! CCD parameter |
---|
257 | !!---------------------------------------------------------------------- |
---|
258 | !! |
---|
259 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ocal_ccd !: CCD depth |
---|
260 | |
---|
261 | !!---------------------------------------------------------------------- |
---|
262 | !! Dust parameters |
---|
263 | !!---------------------------------------------------------------------- |
---|
264 | !! |
---|
265 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: dust !: dust parameter 1 |
---|
266 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: zirondep !! Fe deposition |
---|
267 | |
---|
268 | !!---------------------------------------------------------------------- |
---|
269 | !! River parameters |
---|
270 | !!---------------------------------------------------------------------- |
---|
271 | !! |
---|
272 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: riv_n !: riverine N |
---|
273 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: riv_si !: riverine Si |
---|
274 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: riv_c !: riverine C |
---|
275 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: riv_alk !: riverine alkalinity |
---|
276 | !! AXY (19/07/12): add this to permit river fluxes to be added below top box |
---|
277 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: friver_dep !: where river fluxes added |
---|
278 | |
---|
279 | #if defined key_roam |
---|
280 | !!---------------------------------------------------------------------- |
---|
281 | !! Atmospheric pCO2 data (1859 to 2100 inclusive) |
---|
282 | !!---------------------------------------------------------------------- |
---|
283 | !! |
---|
284 | REAL(wp), DIMENSION(242) :: hist_pco2 !: pCO2 |
---|
285 | |
---|
286 | # if defined key_rcp26 |
---|
287 | !! UKMO, run AJKKH + KAAEC, RCP 2.6, pCO2 time evolution |
---|
288 | DATA hist_pco2 / 286.0230, 286.1730, 286.3230, 286.4480, 286.5730, & |
---|
289 | & 286.7230, 286.8480, 286.9480, 287.0480, 287.1730, & |
---|
290 | & 287.3230, 287.4730, 287.6480, 287.8480, 288.0730, & |
---|
291 | & 288.3480, 288.6480, 288.9730, 289.3470, 289.7470, & |
---|
292 | & 290.1730, 290.6470, 291.1470, 291.6220, 292.0720, & |
---|
293 | & 292.5220, 292.9220, 293.2470, 293.5220, 293.7470, & |
---|
294 | & 293.9470, 294.1220, 294.2720, 294.4220, 294.5470, & |
---|
295 | & 294.6470, 294.7470, 294.8470, 294.9710, 295.1710, & |
---|
296 | & 295.4460, 295.7470, 296.0720, 296.4210, 296.7710, & |
---|
297 | & 297.1460, 297.5710, 298.0210, 298.4460, 298.8460, & |
---|
298 | & 299.2460, 299.6450, 300.0210, 300.3710, 300.7200, & |
---|
299 | & 301.0450, 301.3460, 301.6710, 302.0200, 302.3450, & |
---|
300 | & 302.6450, 302.9700, 303.3450, 303.7200, 304.0700, & |
---|
301 | & 304.4700, 304.9200, 305.3440, 305.7700, 306.2450, & |
---|
302 | & 306.7190, 307.1700, 307.6440, 308.1190, 308.5440, & |
---|
303 | & 308.9440, 309.3440, 309.6940, 309.9440, 310.1190, & |
---|
304 | & 310.2440, 310.3190, 310.3190, 310.2440, 310.1440, & |
---|
305 | & 310.0690, 310.0440, 310.0690, 310.1440, 310.2690, & |
---|
306 | & 310.4440, 310.6940, 311.0430, 311.4440, 311.8690, & |
---|
307 | & 312.3680, 312.9430, 313.5430, 314.1680, 314.7900, & |
---|
308 | & 315.4430, 316.2150, 317.0170, 317.7370, 318.3400, & |
---|
309 | & 318.8680, 319.5900, 320.5890, 321.5470, 322.5770, & |
---|
310 | & 323.8440, 324.9260, 325.7960, 327.0810, 328.6180, & |
---|
311 | & 329.6830, 330.5250, 331.6880, 333.2120, 334.7870, & |
---|
312 | & 336.4640, 338.2990, 339.6660, 340.7310, 342.1360, & |
---|
313 | & 343.7200, 345.2200, 346.7350, 348.5820, 350.6740, & |
---|
314 | & 352.4230, 353.7910, 354.9530, 355.8210, 356.7130, & |
---|
315 | & 358.0630, 359.7720, 361.3970, 363.0900, 365.2560, & |
---|
316 | & 367.2810, 368.7980, 370.4000, 372.4550, 374.6920, & |
---|
317 | & 376.7440, 378.7440, 380.7580, 382.7080, 384.7300, & |
---|
318 | & 386.9310, 389.2150, 391.4910, 393.7710, 396.0460, & |
---|
319 | & 398.3240, 400.6080, 402.8950, 405.1780, 407.4550, & |
---|
320 | & 409.7260, 411.9930, 414.2500, 416.4410, 418.5280, & |
---|
321 | & 420.5250, 422.4390, 424.2720, 426.0200, 427.6750, & |
---|
322 | & 429.2360, 430.7050, 432.0850, 433.3580, 434.5140, & |
---|
323 | & 435.5740, 436.5490, 437.4420, 438.2550, 438.9810, & |
---|
324 | & 439.6110, 440.1430, 440.5770, 440.9450, 441.2660, & |
---|
325 | & 441.5410, 441.7840, 442.0050, 442.2040, 442.3780, & |
---|
326 | & 442.5210, 442.6200, 442.6720, 442.6810, 442.6540, & |
---|
327 | & 442.5830, 442.4670, 442.3270, 442.1680, 441.9960, & |
---|
328 | & 441.8060, 441.5930, 441.3440, 441.0540, 440.7230, & |
---|
329 | & 440.3510, 439.9300, 439.4650, 438.9730, 438.4630, & |
---|
330 | & 437.9400, 437.4020, 436.8400, 436.2640, 435.6850, & |
---|
331 | & 435.1030, 434.5160, 433.9170, 433.3060, 432.7010, & |
---|
332 | & 432.1110, 431.5380, 430.9810, 430.4320, 429.8860, & |
---|
333 | & 429.3370, 428.7810, 428.2220, 427.6490, 427.0660, & |
---|
334 | & 426.4890, 425.9270, 425.3840, 424.8610, 424.3540, & |
---|
335 | & 423.8540, 423.3540, 422.8530, 422.3510, 421.8410, & |
---|
336 | & 421.3250, 420.8190 / |
---|
337 | # else |
---|
338 | !! UKMO, run AJKKH + KAAEF, RCP 8.5, pCO2 time evolution |
---|
339 | DATA hist_pco2 / 286.0230, 286.1730, 286.3230, 286.4480, 286.5730, & |
---|
340 | & 286.7230, 286.8480, 286.9480, 287.0480, 287.1730, & |
---|
341 | & 287.3230, 287.4730, 287.6480, 287.8480, 288.0730, & |
---|
342 | & 288.3480, 288.6480, 288.9730, 289.3470, 289.7470, & |
---|
343 | & 290.1730, 290.6470, 291.1470, 291.6220, 292.0720, & |
---|
344 | & 292.5220, 292.9220, 293.2470, 293.5220, 293.7470, & |
---|
345 | & 293.9470, 294.1220, 294.2720, 294.4220, 294.5470, & |
---|
346 | & 294.6470, 294.7470, 294.8470, 294.9710, 295.1710, & |
---|
347 | & 295.4460, 295.7470, 296.0720, 296.4210, 296.7710, & |
---|
348 | & 297.1460, 297.5710, 298.0210, 298.4460, 298.8460, & |
---|
349 | & 299.2460, 299.6450, 300.0210, 300.3710, 300.7200, & |
---|
350 | & 301.0450, 301.3460, 301.6710, 302.0200, 302.3450, & |
---|
351 | & 302.6450, 302.9700, 303.3450, 303.7200, 304.0700, & |
---|
352 | & 304.4700, 304.9200, 305.3440, 305.7700, 306.2450, & |
---|
353 | & 306.7190, 307.1700, 307.6440, 308.1190, 308.5440, & |
---|
354 | & 308.9440, 309.3440, 309.6940, 309.9440, 310.1190, & |
---|
355 | & 310.2440, 310.3190, 310.3190, 310.2440, 310.1440, & |
---|
356 | & 310.0690, 310.0440, 310.0690, 310.1440, 310.2690, & |
---|
357 | & 310.4440, 310.6940, 311.0430, 311.4440, 311.8690, & |
---|
358 | & 312.3680, 312.9430, 313.5430, 314.1680, 314.7900, & |
---|
359 | & 315.4430, 316.2150, 317.0170, 317.7370, 318.3400, & |
---|
360 | & 318.8680, 319.5900, 320.5890, 321.5470, 322.5770, & |
---|
361 | & 323.8440, 324.9260, 325.7960, 327.0810, 328.6180, & |
---|
362 | & 329.6830, 330.5250, 331.6880, 333.2120, 334.7870, & |
---|
363 | & 336.4640, 338.2990, 339.6660, 340.7310, 342.1360, & |
---|
364 | & 343.7200, 345.2200, 346.7350, 348.5820, 350.6740, & |
---|
365 | & 352.4230, 353.7910, 354.9530, 355.8210, 356.7130, & |
---|
366 | & 358.0630, 359.7720, 361.3970, 363.0900, 365.2560, & |
---|
367 | & 367.2810, 368.7980, 370.4000, 372.4550, 374.6920, & |
---|
368 | & 376.7440, 378.7440, 380.7580, 382.7080, 384.7300, & |
---|
369 | & 386.9420, 389.2540, 391.5670, 393.9370, 396.3920, & |
---|
370 | & 398.9320, 401.5550, 404.2550, 407.0220, 409.8530, & |
---|
371 | & 412.7470, 415.7050, 418.7210, 421.7880, 424.9180, & |
---|
372 | & 428.1200, 431.3970, 434.7470, 438.1650, 441.6410, & |
---|
373 | & 445.1700, 448.7530, 452.3920, 456.0950, 459.8810, & |
---|
374 | & 463.7680, 467.7660, 471.8750, 476.0960, 480.4210, & |
---|
375 | & 484.8390, 489.3470, 493.9430, 498.6400, 503.4380, & |
---|
376 | & 508.3410, 513.3630, 518.5160, 523.8050, 529.2290, & |
---|
377 | & 534.7780, 540.4450, 546.2230, 552.1120, 558.1110, & |
---|
378 | & 564.2110, 570.4130, 576.7390, 583.1990, 589.7980, & |
---|
379 | & 596.5390, 603.4110, 610.4060, 617.4940, 624.6500, & |
---|
380 | & 631.8800, 639.1750, 646.5360, 653.9800, 661.5230, & |
---|
381 | & 669.1840, 676.9570, 684.8290, 692.7790, 700.7690, & |
---|
382 | & 708.8050, 716.8870, 725.0020, 733.1770, 741.3900, & |
---|
383 | & 749.6700, 758.0480, 766.5050, 775.0350, 783.6110, & |
---|
384 | & 792.2200, 800.8740, 809.5680, 818.2760, 827.0090, & |
---|
385 | & 835.8020, 844.6550, 853.5730, 862.5690, 871.6190, & |
---|
386 | & 880.7020, 889.8240, 898.9590, 908.1270, 917.3080, & |
---|
387 | & 926.4960, 935.7040 / |
---|
388 | # endif |
---|
389 | #endif |
---|
390 | |
---|
391 | !!---------------------------------------------------------------------- |
---|
392 | !! Optical parameters |
---|
393 | !!---------------------------------------------------------------------- |
---|
394 | !! |
---|
395 | REAL(wp) :: xkr0 !: water coefficient absorption in red (NAMELIST) |
---|
396 | REAL(wp) :: xkg0 !: water coefficient absorption in green (NAMELIST) |
---|
397 | REAL(wp) :: xkrp !: pigment coefficient absorption in red (NAMELIST) |
---|
398 | REAL(wp) :: xkgp !: pigment coefficient absorption in green (NAMELIST) |
---|
399 | REAL(wp) :: xlr !: exposant for pigment absorption in red (NAMELIST) |
---|
400 | REAL(wp) :: xlg !: exposant for pigment absorption in green (NAMELIST) |
---|
401 | REAL(wp) :: rpig !: chla/chla+phea ratio (NAMELIST) |
---|
402 | |
---|
403 | INTEGER , ALLOCATABLE, SAVE, DIMENSION(:,:) :: neln !: number of levels in the euphotic layer |
---|
404 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: xze !: euphotic layer depth |
---|
405 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xpar !: par (photosynthetic available radiation) |
---|
406 | |
---|
407 | !!---------------------------------------------------------------------- |
---|
408 | !! Sediment parameters |
---|
409 | !! |
---|
410 | !! AXY (16/01/12): these parameters were originally part of the pre- |
---|
411 | !! cursor model on which MEDUSA's code was grounded; |
---|
412 | !! they do not relate to the sediment/benthos submodel |
---|
413 | !! added as part of the ROAM project; they have only |
---|
414 | !! been retained because they are distributed through |
---|
415 | !! MEDUSA and require a proper clean-up to purge |
---|
416 | !!---------------------------------------------------------------------- |
---|
417 | !! |
---|
418 | REAL(wp) :: sedlam !: time coefficient of POC remineralization in sediments |
---|
419 | REAL(wp) :: sedlostpoc !: ??? |
---|
420 | REAL(wp) :: areacot !: ??? |
---|
421 | |
---|
422 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: dminl !: fraction of sinking POC released in sediments |
---|
423 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: dmin3 !: fraction of sinking POC released at each level |
---|
424 | |
---|
425 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: sedpocb !: mass of POC in sediments |
---|
426 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: sedpocn !: mass of POC in sediments |
---|
427 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: sedpoca !: mass of POC in sediments |
---|
428 | |
---|
429 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: fbodf !: rapid sinking particles |
---|
430 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: fbods !: rapid sinking particles |
---|
431 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: fbodn !: rapid sinking particles |
---|
432 | |
---|
433 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: ffln !: |
---|
434 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: fflf !: |
---|
435 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: ffls !: |
---|
436 | |
---|
437 | REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: cmask !: ??? |
---|
438 | |
---|
439 | !!---------------------------------------------------------------------- |
---|
440 | !! NEMO/TOP 3.3 , NEMO Consortium (2010) |
---|
441 | !! $Id$ |
---|
442 | !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) |
---|
443 | !!---------------------------------------------------------------------- |
---|
444 | CONTAINS |
---|
445 | |
---|
446 | INTEGER FUNCTION sms_medusa_alloc() |
---|
447 | !!---------------------------------------------------------------------- |
---|
448 | !! *** ROUTINE sms_medusa_alloc *** |
---|
449 | !!---------------------------------------------------------------------- |
---|
450 | USE lib_mpp , ONLY: ctl_warn |
---|
451 | INTEGER :: ierr(8) ! Local variables |
---|
452 | !!---------------------------------------------------------------------- |
---|
453 | ierr(:) = 0 |
---|
454 | ! |
---|
455 | #if defined key_medusa |
---|
456 | !* depth-dependent damping coefficient |
---|
457 | ALLOCATE( remdmp(jpk,jp_medusa), STAT=ierr(1) ) |
---|
458 | # if defined key_roam |
---|
459 | !* 2D and 3D fields of carbonate system parameters |
---|
460 | ALLOCATE( f2_ccd_cal(jpi,jpj) , f2_ccd_arg(jpi,jpj) , & |
---|
461 | & f3_pH(jpi,jpj,jpk) , f3_h2co3(jpi,jpj,jpk), & |
---|
462 | & f3_hco3(jpi,jpj,jpk) , f3_co3(jpi,jpj,jpk) , & |
---|
463 | & f3_omcal(jpi,jpj,jpk), f3_omarg(jpi,jpj,jpk), STAT=ierr(2) ) |
---|
464 | !* 2D fields of organic and inorganic material sedimented on the seafloor |
---|
465 | ALLOCATE( zb_sed_n(jpi,jpj) , zn_sed_n(jpi,jpj) , & |
---|
466 | & za_sed_n(jpi,jpj) , & |
---|
467 | & zb_sed_fe(jpi,jpj) , zn_sed_fe(jpi,jpj) , & |
---|
468 | & za_sed_fe(jpi,jpj) , & |
---|
469 | & zb_sed_si(jpi,jpj) , zn_sed_si(jpi,jpj) , & |
---|
470 | & za_sed_si(jpi,jpj) , & |
---|
471 | & zb_sed_c(jpi,jpj) , zn_sed_c(jpi,jpj) , & |
---|
472 | & za_sed_c(jpi,jpj) , & |
---|
473 | & zb_sed_ca(jpi,jpj) , zn_sed_ca(jpi,jpj) , & |
---|
474 | & za_sed_ca(jpi,jpj) , STAT=ierr(3) ) |
---|
475 | !* 2D fields of temporally averaged properties for DMS calculations (AXY, 07/07/15) |
---|
476 | ALLOCATE( zb_dms_chn(jpi,jpj) , zn_dms_chn(jpi,jpj) , & |
---|
477 | & za_dms_chn(jpi,jpj) , & |
---|
478 | & zb_dms_chd(jpi,jpj) , zn_dms_chd(jpi,jpj) , & |
---|
479 | & za_dms_chd(jpi,jpj) , & |
---|
480 | & zb_dms_mld(jpi,jpj) , zn_dms_mld(jpi,jpj) , & |
---|
481 | & za_dms_mld(jpi,jpj) , & |
---|
482 | & zb_dms_qsr(jpi,jpj) , zn_dms_qsr(jpi,jpj) , & |
---|
483 | & za_dms_qsr(jpi,jpj) , & |
---|
484 | & zb_dms_din(jpi,jpj) , zn_dms_din(jpi,jpj) , & |
---|
485 | & za_dms_din(jpi,jpj) , STAT=ierr(4) ) |
---|
486 | !* 2D fields needing to be knows at first tstp for coupling with atm - |
---|
487 | !UKEMSi (Jpalm,14-06-2016) |
---|
488 | ALLOCATE( zb_co2_flx(jpi,jpj) , zn_co2_flx(jpi,jpj) , & |
---|
489 | & za_co2_flx(jpi,jpj) , & |
---|
490 | & zb_dms_srf(jpi,jpj) , zn_dms_srf(jpi,jpj) , & |
---|
491 | & za_dms_srf(jpi,jpj) , zn_chl_srf(jpi,jpj) , STAT=ierr(5) ) |
---|
492 | # endif |
---|
493 | !* 2D fields of miscellaneous parameters |
---|
494 | ALLOCATE( ocal_ccd(jpi,jpj) , dust(jpi,jpj) , & |
---|
495 | & zirondep(jpi,jpj) , & |
---|
496 | & riv_n(jpi,jpj) , & |
---|
497 | & riv_si(jpi,jpj) , riv_c(jpi,jpj) , & |
---|
498 | & riv_alk(jpi,jpj) , friver_dep(jpk,jpk) , STAT=ierr(6) ) |
---|
499 | !* 2D and 3D fields of light parameters |
---|
500 | ALLOCATE( neln(jpi,jpj) , xze(jpi,jpj) , & |
---|
501 | & xpar(jpi,jpj,jpk) , STAT=ierr(7) ) |
---|
502 | !* 2D and 3D fields of sediment-associated parameters |
---|
503 | ALLOCATE( dminl(jpi,jpj) , dmin3(jpi,jpj,jpk) , & |
---|
504 | & sedpocb(jpi,jpj) , sedpocn(jpi,jpj) , & |
---|
505 | & sedpoca(jpi,jpj) , fbodn(jpi,jpj) , & |
---|
506 | & fbodf(jpi,jpj) , fbods(jpi,jpj) , & |
---|
507 | & ffln(jpi,jpj,jpk) , fflf(jpi,jpj,jpk) , & |
---|
508 | & ffls(jpi,jpj,jpk) , cmask(jpi,jpj) , STAT=ierr(8) ) |
---|
509 | #endif |
---|
510 | ! |
---|
511 | sms_medusa_alloc = MAXVAL( ierr ) |
---|
512 | ! |
---|
513 | IF( sms_medusa_alloc /= 0 ) CALL ctl_warn('sms_medusa_alloc: failed to allocate arrays') |
---|
514 | ! |
---|
515 | END FUNCTION sms_medusa_alloc |
---|
516 | |
---|
517 | #else |
---|
518 | !!---------------------------------------------------------------------- |
---|
519 | !! Empty module : NO MEDUSA model |
---|
520 | !!---------------------------------------------------------------------- |
---|
521 | #endif |
---|
522 | |
---|
523 | !!====================================================================== |
---|
524 | END MODULE sms_medusa |
---|