New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
trcnam_medusa.F90 in branches/NERC/dev_r5518_GO6_Carb_Fail_from_GO6_8356/NEMOGCM/NEMO/TOP_SRC/MEDUSA – NEMO

source: branches/NERC/dev_r5518_GO6_Carb_Fail_from_GO6_8356/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcnam_medusa.F90 @ 9070

Last change on this file since 9070 was 9070, checked in by jpalmier, 6 years ago

merge with GO6 8356:8447

File size: 85.6 KB
RevLine 
[5726]1MODULE trcnam_medusa
2   !!======================================================================
3   !!                      ***  MODULE trcnam_medusa  ***
4   !! TOP :   initialisation of some run parameters for MEDUSA bio-model
5   !!======================================================================
6   !! History :   2.0  !  2007-12  (C. Ethe, G. Madec) Original code
7   !!              -   !  2008-08  (K. Popova) adaptation for MEDUSA
8   !!              -   !  2008-11  (A. Yool) continuing adaptation for MEDUSA
9   !!              -   !  2010-03  (A. Yool) updated for branch inclusion
10   !!              -   !  2011-04  (A. Yool) updated for ROAM project
11   !!              -   !  2013-05  (A. Yool) renamed (from trclsm) for v3.5
[7224]12   !!              -   !  2015-11  (J. Palmieri) added iom_use for diags
13   !!              -   !  2016-11  (A. Yool) updated diags for CMIP6
[5726]14   !!----------------------------------------------------------------------
15#if defined key_medusa
16   !!----------------------------------------------------------------------
17   !!   'key_medusa'   :                                       MEDUSA model
18   !!----------------------------------------------------------------------
19   !! trc_nam_medusa      : MEDUSA model initialisation
20   !!----------------------------------------------------------------------
21   USE oce_trc         ! Ocean variables
22   USE par_trc         ! TOP parameters
23   USE trc             ! TOP variables
24   USE sms_medusa      ! sms trends
25   USE iom             ! I/O manager
[5937]26   !!USE trc_nam_dia     ! JPALM 13-11-2015 -- if iom_use for diag
[5726]27
28   !! AXY (04/02/14): necessary to find NaNs on HECTOR
29   USE, INTRINSIC :: ieee_arithmetic 
30
31   IMPLICIT NONE
32   PRIVATE
33
[5937]34   PUBLIC   trc_nam_medusa       ! called by trcnam.F90 module
35   PUBLIC   trc_nam_iom_medusa   ! called by trcnam.F90 module
[5726]36
37   !!* Substitution
38#  include "domzgr_substitute.h90"
39   !!----------------------------------------------------------------------
40   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)
41   !! $Id$
42   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
43   !!----------------------------------------------------------------------
44
45CONTAINS
46
47   SUBROUTINE trc_nam_medusa
48      !!----------------------------------------------------------------------
49      !!                     ***  trc_nam_medusa  *** 
50      !!
51      !! ** Purpose :   read MEDUSA namelist
52      !!
53      !! ** input   :   file 'namelist.trc.sms' containing the following
54      !!             namelist: natbio, natopt, and natdbi ("key_trc_diabio")
55      !!
56      !! ekp: namelist nabio contains ALL parameters of the ecosystem
57      !!      point sourses and sinks PLUS sediment exchange
58      !!      dia_bio - used by Lobster to output all point terms
59      !!                (sourses and sinks of bio)
60      !!      dia_add - additional diagnostics for biology such as
61      !!                primary production (2d depth integrated field or 3d)
62      !!----------------------------------------------------------------------
63      !!
64      INTEGER            :: ji,jj,jk
65      REAL(wp)           :: fthk, fdep, fdep1
66      REAL(wp)           :: q1, q2, q3
67      !
68      NAMELIST/natbio/ xxi,xaln,xald,jphy,xvpn,xvpd,          &
[8074]69      &    xsin0,xnsi0,xuif,jliebig, jq10,                    &
[5726]70      &    xthetam,xthetamd,xnln,xnld,xsld,xfln,xfld,         &
71      &  xgmi,xgme,xkmi,xkme,xphi,xbetan,xbetac,xkc,          &
72      &    xpmipn,xpmid,xpmepn,xpmepd,xpmezmi,xpmed,          &
73      &  xmetapn,xmetapd,xmetazmi,xmetazme,                   &
74      &  jmpn,xmpn,xkphn,jmpd,xmpd,xkphd,jmzmi,xmzmi,xkzmi,   &
75      &    jmzme,xmzme,xkzme,jmd,jsfd,xmd,xmdc,               &
76      &  xthetapn,xthetapd,xthetazmi,xthetazme,xthetad,       &
77      &    xrfn,xrsn,vsed,xhr,                                &
78      &  jiron,xfe_mass,xfe_sol,xfe_sed,xLgT,xk_FeL,xk_sc_Fe, &
79      &  jexport,jfdfate,jrratio,jocalccd,xridg_r0,           &
80      &    xfdfrac1,xfdfrac2,xfdfrac3,                        &
81      &    xcaco3a,xcaco3b,xmassc,xmassca,xmasssi,xprotca,    &
82      &    xprotsi,xfastc,xfastca,xfastsi,                    &
83      &  jorgben,jinorgben,xsedn,xsedfe,xsedsi,xsedc,xsedca,  &
84      &    xburial,                                           &
85      &  jriver_n,jriver_si,jriver_c,jriver_alk,jriver_dep,   &
86      &  xsdiss,                                              &
[5841]87      &  sedlam,sedlostpoc,jpkb,jdms,jdms_input,jdms_model
[5726]88#if defined key_roam
89      NAMELIST/natroam/ xthetaphy,xthetazoo,xthetanit,        &
[7766]90      &    xthetarem,xo2min 
[5726]91#endif
92      NAMELIST/natopt/xkg0,xkr0,xkgp,xkrp,xlg,xlr,rpig
93      INTEGER :: jl, jn
94      INTEGER :: ios                 ! Local integer output status for namelist read
95      CHARACTER(LEN=32)   ::   clname
96      !!
97      !!----------------------------------------------------------------------
98
99      IF(lwp) WRITE(numout,*)
100      clname = 'namelist_medusa'
101      IF(lwp) WRITE(numout,*) ' trc_nam_medusa: read MEDUSA namelist'
102      IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~'
103# if defined key_debug_medusa
104      CALL flush(numout)
105# endif
106
107
108      CALL ctl_opn( numnatp_ref, TRIM( clname )//'_ref', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )
109      CALL ctl_opn( numnatp_cfg, TRIM( clname )//'_cfg', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )
110      IF(lwm) CALL ctl_opn( numonp     , 'output.namelist.pis' , 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )
111
112# if defined key_debug_medusa
113      CALL flush(numout)
114      IF (lwp) write (numout,*) '------------------------------'
115      IF (lwp) write (numout,*) 'Jpalm - debug'
116      IF (lwp) write (numout,*) 'open namelist_medusa -- OK'
117      IF (lwp) write (numout,*) 'Now, read namilists inside :'
118      IF (lwp) write (numout,*) ' '
119# endif
120      !
121# if defined key_debug_medusa
122      CALL flush(numout)
123# endif
124
125      ! 1.4 namelist natbio : biological parameters
126      ! -------------------------------------------
127     
[8074]128      xxi         = 0.
129      xaln        = 0.
130      xald        = 0.
131      jphy        = 0
132      xvpn        = 0.
133      xvpd        = 0.
134      xthetam     = 0.
135      xthetamd    = 0.
136!!
137      xsin0       = 0.
138      xnsi0       = 0.
139      xuif        = 0.
140!!
141      jliebig     = 0
142      jq10        = 0.
143      xnln        = 0.
144      xnld        = 0.
145      xsld        = 0.
146      xfln        = 0.
147      xfld        = 0.
148!!
149      xgmi        = 0.
150      xgme        = 0.
151      xkmi        = 0.
152      xkme        = 0.
153      xphi    = 0.
154      xbetan      = 0.
155      xbetac      = 0.
156      xkc         = 0.
157      xpmipn      = 0.
158      xpmid       = 0.
159      xpmepn      = 0.
160      xpmepd      = 0.
161      xpmezmi     = 0.
162      xpmed       = 0.
163!!
164      xmetapn     = 0.
165      xmetapd     = 0.
166      xmetazmi    = 0.
167      xmetazme    = 0.
168!!
169      jmpn        = 0
170      xmpn        = 0.
171      xkphn       = 0.
172      jmpd        = 0
173      xmpd        = 0.
174      xkphd       = 0.
175      jmzmi       = 0
176      xmzmi       = 0.
177      xkzmi       = 0.
178      jmzme       = 0
179      xmzme       = 0.
180      xkzme       = 0.
181!!
182      jmd         = 0
183      jsfd        = 0
184      xmd         = 0.
185      xmdc        = 0.
186!!
187      xthetapn    = 0.
188      xthetapd    = 0.
189      xthetazmi   = 0.
190      xthetazme   = 0.
191      xthetad     = 0.
192      xrfn        = 0.
193      xrsn        = 0.  !: (NOT USED HERE; RETAINED FOR LOBSTER)
194!!
195      jiron       = 0
196      xfe_mass    = 0.
197      xfe_sol     = 0.
198      xfe_sed     = 0.
199      xLgT        = 0.
200      xk_FeL     = 0.
201      xk_sc_Fe    = 0.
202!!
203      jexport     = 0
204      jfdfate     = 0
205      jrratio     = 0
206      jocalccd    = 0
207      xridg_r0    = 0.
208      xfdfrac1   = 0.
209      xfdfrac2   = 0.
210      xfdfrac3   = 0.
211      xcaco3a    = 0.
212      xcaco3b    = 0.
213      xmassc     = 0.
214      xmassca    = 0.
215      xmasssi    = 0.
216      xprotca    = 0.
217      xprotsi    = 0.
218      xfastc     = 0.
219      xfastca    = 0.
220      xfastsi    = 0.
221!!
222      jorgben     = 0
223      jinorgben   = 0
224      xsedn       = 0.
225      xsedfe      = 0.
226      xsedsi      = 0.
227      xsedc       = 0.
228      xsedca      = 0.
229      xburial     = 0.
230!!
231      jriver_n    = 0
232      jriver_si   = 0
233      jriver_c    = 0
234      jriver_alk  = 0
235      jriver_dep  = 1
236!!
237      xsdiss     = 0.
238!!
239      vsed        = 0.
240      xhr         = 0.
241!!
242      sedlam     = 0.
243      sedlostpoc  = 0.
244      jpkb    = 0.
245      jdms        = 0
246      jdms_input  = 0
247      jdms_model  = 0
248           
249      !REWIND(numnatm)
250      !READ(numnatm,natbio)
251         ! Namelist natbio
252         ! -------------------
253         REWIND( numnatp_ref )              ! Namelist natbio in reference namelist : MEDUSA diagnostics
254         READ  ( numnatp_ref, natbio, IOSTAT = ios, ERR = 903)
255903      IF( ios /= 0 ) CALL ctl_nam ( ios , 'natbio in reference namelist', lwp )
256
257         REWIND( numnatp_cfg )              ! Namelist natbio in configuration namelist : MEDUSA diagnostics
258         READ  ( numnatp_cfg, natbio, IOSTAT = ios, ERR = 904 )
259904      IF( ios /= 0 ) CALL ctl_nam ( ios , 'natbio in configuration namelist', lwp )
260         IF(lwm) WRITE ( numonp, natbio )
261
[5726]262!! Primary production and chl related quantities
[8074]263!!       xxi         :  conversion factor from gC to mmolN
264!!       xaln        :  Chl-a specific initial slope of P-I curve for non-diatoms
265!!       xald        :  Chl-a specific initial slope of P-I curve for diatoms
266!!       jphy        :  phytoplankton T-dependent growth switch
267!!       xvpn        :  maximum growth rate for non-diatoms
268!!       xvpd        :  maximum growth rate for diatoms
269!!       xthetam     :  maximum Chl to C ratio for non-diatoms     
270!!       xthetamd    :  maximum Chl to C ratio for diatoms     
[5726]271!!
272!! Diatom silicon parameters
[8074]273!!       xsin0       :  minimum diatom Si:N ratio
274!!       xnsi0       :  minimum diatom N:Si ratio
275!!       xuif        :  hypothetical growth ratio at infinite Si:N ratio
[5726]276!!
277!! Nutrient limitation
[8074]278!!       jliebig     :  Liebig nutrient uptake switch
279!!       xnln        :  half-sat constant for DIN uptake by non-diatoms
280!!       xnld        :  half-sat constant for DIN uptake by diatoms
281!!       xsl         :  half-sat constant for Si uptake by diatoms
282!!       xfld        :  half-sat constant for Fe uptake by diatoms 
283!!       xfln        :  half-sat constant for Fe uptake by non-datoms
[5726]284!!
285!! Grazing
[8074]286!!       xgmi        :  microzoo maximum growth rate
287!!       xgme        :  mesozoo maximum growth rate
288!!       xkmi        :  microzoo grazing half-sat parameter
289!!       xkme        :  mesozoo grazing half-sat parameter
290!!       xphi        :  micro/mesozoo grazing inefficiency
291!!       xbetan      :  micro/mesozoo N assimilation efficiency
292!!       xbetac      :  micro/mesozoo C assimilation efficiency
293!!       xkc         :  micro/mesozoo net C growth efficiency
294!!       xpmipn      :  grazing preference of microzoo for non-diatoms
295!!       xpmid       :  grazing preference of microzoo for diatoms
296!!       xpmepn      :  grazing preference of mesozoo for non-diatoms
297!!       xpmepd      :  grazing preference of mesozoo for diatoms
298!!       xpmezmi     :  grazing preference of mesozoo for microzoo
299!!       xpmed       :  grazing preference of mesozoo for detritus
[5726]300!!
301!! Metabolic losses
[8074]302!!       xmetapn     :  non-diatom metabolic loss rate
303!!       xmetapd     :  diatom     metabolic loss rate
304!!       xmetazmi    :  microzoo   metabolic loss rate
305!!       xmetazme    :  mesozoo    metabolic loss rate
[5726]306!!
307!! Mortality/Remineralisation
[8074]308!!       jmpn        :  non-diatom mortality functional form
309!!       xmpn        :  non-diatom mortality rate
310!!       xkphn       :  non-diatom mortality half-sat constant
311!!       jmpd        :  diatom     mortality functional form
312!!       xmpd        :  diatom mortality rate
313!!       xkphd       :  diatom mortality half-sat constant
314!!       jmzmi       :  microzoo   mortality functional form
315!!       xmzmi       :  microzoo mortality rate
316!!       xkzmi       :  microzoo mortality half-sat constant
317!!       jmzme       :  mesozoo    mortality functional form
318!!       xmzme       :  mesozoo mortality rate
319!!       xkzme       :  mesozoo mortality half-sat constant
[5726]320!!
321!! Remineralisation
[8074]322!!       jmd         :  detritus T-dependent remineralisation switch
323!!       jsfd        :  accelerate seafloor detritus remin. switch
324!!       xmd         :  detrital nitrogen remineralisation rate
325!!       xmdc        :  detrital carbon remineralisation rate
[5726]326!!
327!! Stochiometric ratios
[8074]328!!       xthetapn    :  non-diatom C:N ratio
329!!       xthetapd    :  diatom C:N ratio
330!!       xthetazmi   :  microzoo C:N ratio
331!!       xthetazme   :  mesozoo C:N ratio
332!!       xthetad     :  detritus C:N ratio
333!!       xrfn        :  phytoplankton Fe:N ratio
334!!  xrsn        :  diatom Si:N ratio (*NOT* used)
[5726]335!!
336!! Iron parameters
[8074]337!!       jiron       :  iron scavenging submodel switch
338!!       xfe_mass    :  iron atomic mass
339!!  xfe_sol     :  aeolian iron solubility
340!!  xfe_sed     :  sediment iron input
341!!  xLgT      :  total ligand concentration (umol/m3)
342!!  xk_FeL       :  dissociation constant for (Fe + L)
343!!  xk_sc_Fe    :  scavenging rate of "free" iron
344!! 
[5726]345!! Fast-sinking detritus parameters
[8074]346!!       jexport     :  fast detritus remineralisation switch
347!!       jfdfate     :  fate of fast detritus at seafloor switch
348!!       jrratio     :  rain ratio switch
349!!       jocalccd    :  CCD switch
350!!       xridg_r0    :  Ridgwell rain ratio coefficient
351!!       xfdfrac1    :  fast-sinking fraction of diatom nat. mort. losses
352!!       xfdfrac2    :  fast-sinking fraction of meszooplankton mort. losses
353!!       xfdfrac3    :  fast-sinking fraction of diatom silicon grazing losses
354!!       xcaco3a     :  polar (high latitude) CaCO3 fraction
355!!       xcaco3b     :  equatorial (low latitude) CaCO3 fraction
356!!       xmassc      :  organic C mass:mole ratio, C106 H175 O40 N16 P1
357!!       xmassca     :  calcium carbonate mass:mole ratio, CaCO3
358!!       xmasssi     :  biogenic silicon mass:mole ratio, (H2SiO3)n
359!!       xprotca     :  calcium carbonate protection ratio
360!!       xprotsi     :  biogenic silicon protection ratio
361!!       xfastc      :  organic C remineralisation length scale
362!!       xfastca     :  calcium carbonate dissolution length scale
363!!       xfastsi     :  biogenic silicon dissolution length scale
[5726]364!!
[8074]365!! Benthic
366!!       jorgben     :  does   organic detritus go to the benthos?
367!!       jinorgben   :  does inorganic detritus go to the benthos?
368!!       xsedn       :  organic   nitrogen sediment remineralisation rate
369!!       xsedfe      :  organic   iron     sediment remineralisation rate
370!!       xsedsi      :  inorganic silicon  sediment dissolution      rate
371!!       xsedc       :  organic   carbon   sediment remineralisation rate
372!!       xsedca      :  inorganic carbon   sediment dissolution      rate
373!!       xburial     :  burial rate of seafloor detritus
[5726]374!!
375!! Riverine inputs
[8074]376!!       jriver_n    :  riverine N          input?
377!!       jriver_si   :  riverine Si         input?
378!!       jriver_c    :  riverine C          input?
379!!       jriver_alk  :  riverine alkalinity input?
380!!       jriver_dep  :  depth of riverine   input?
[5726]381!!
382!! Miscellaneous
[8074]383!!       xsdiss      :  diatom frustule dissolution rate
[5726]384!!
[8074]385!! Gravitational sinking     
386!!       vsed        :  detritus gravitational sinking rate
387!!       xhr         :  coeff for Martin's remineralisation profile
[5726]388!!
389!! Additional parameters
[8074]390!!       sedlam      :  time coeff of POC in sediments
391!!      sedlostpoc   :  sediment geol loss for POC
392!!       jpkb        :  vertical layer for diagnostic of the vertical flux
393!!                      NOTE that in LOBSTER it is a first vertical layers where
394!!                      biology is active 
[5726]395!!
[8074]396!! UKESM1 - new diagnostics  !! Jpalm
397!!       jdms        :  include dms diagnostics
398!!  jdms_input  :  use instant (0) or diel-avg (1) inputs
399!!       jdms_model  :  choice of DMS model passed to atmosphere
[8131]400!!                      1 = ANDR, 2 = SIMO, 3 = ARAN, 4 = HALL, 5 = ANDM
[8074]401!!
[5726]402      IF(lwp) THEN
[8074]403!!
[5726]404!! AXY (08/11/13): compilation key notification
405         WRITE(numout,*) '=== Compilation keys'
406#if defined key_roam
407         WRITE(numout,*)     &
408         &   ' key_roam                                                               = ACTIVE'
409#else
410         WRITE(numout,*)     &
411         &   ' key_roam                                                               = INACTIVE'
412#endif       
413#if defined key_axy_carbchem
414         WRITE(numout,*)     &
415         &   ' key_axy_carbchem                                                       = ACTIVE'
416#else
417         WRITE(numout,*)     &
418         &   ' key_axy_carbchem                                                       = INACTIVE'
419#endif       
[8074]420#if defined key_mocsy
421         WRITE(numout,*)     &
422         &   ' key_mocsy                                                              = ACTIVE'
423#else
424         WRITE(numout,*)     &
425         &   ' key_mocsy                                                              = INACTIVE'
426#endif       
[5841]427#if defined key_avgqsr_medusa
428         WRITE(numout,*)     &
429         &   ' key_avgqsr_medusa                                                      = ACTIVE'
430#else
431         WRITE(numout,*)     &
432         &   ' key_avgqsr_medusa                                                      = INACTIVE'
433#endif       
[5726]434#if defined key_bs_axy_zforce
435         WRITE(numout,*)     &
436         &   ' key_bs_axy_zforce                                                      = ACTIVE'
437#else
438         WRITE(numout,*)     &
439         &   ' key_bs_axy_zforce                                                      = INACTIVE'
440#endif       
441#if defined key_bs_axy_yrlen
442         WRITE(numout,*)     &
443         &   ' key_bs_axy_yrlen                                                       = ACTIVE'
444#else
445         WRITE(numout,*)     &
446         &   ' key_bs_axy_yrlen                                                       = INACTIVE'
447#endif       
448#if defined key_deep_fe_fix
449         WRITE(numout,*)     &
450         &   ' key_deep_fe_fix                                                        = ACTIVE'
451#else
452         WRITE(numout,*)     &
453         &   ' key_deep_fe_fix                                                        = INACTIVE'
454#endif       
455#if defined key_axy_nancheck
456         WRITE(numout,*)     &
457         &   ' key_axy_nancheck                                                       = ACTIVE'
458#else
459         WRITE(numout,*)     &
460         &   ' key_axy_nancheck                                                       = INACTIVE'
461#endif       
462# if defined key_axy_pi_co2
463         WRITE(numout,*)     &
464         &   ' key_axy_pi_co2                                                         = ACTIVE'
465#else
466         WRITE(numout,*)     &
467         &   ' key_axy_pi_co2                                                         = INACTIVE'
468# endif
[5841]469# if defined key_debug_medusa
470         WRITE(numout,*)     &
471         &   ' key_debug_medusa                                                       = ACTIVE'
472#else
473         WRITE(numout,*)     &
474         &   ' key_debug_medusa                                                       = INACTIVE'
475# endif
[5726]476         WRITE(numout,*) ' '
477
478         WRITE(numout,*) 'natbio'
479         WRITE(numout,*) ' '
480!!
481!! Primary production and chl related quantities
482         WRITE(numout,*) '=== Primary production'
483         WRITE(numout,*)     &
484         &   ' conversion factor from gC to mmolN,                        xxi         =', xxi
485         WRITE(numout,*)     &
486         &   ' Chl-a specific initial slope of P-I curve for non-diatoms, xaln        = ', xaln
487         WRITE(numout,*)     &
488         &   ' Chl-a specific initial slope of P-I curve for diatoms,     xald        = ', xald
489         if (jphy.eq.1) then
490            WRITE(numout,*) &
491            &   ' phytoplankton growth is *temperature-dependent*            jphy        = ', jphy
[6715]492         elseif (jphy.eq.2) then
493            WRITE(numout,*) &
494            &   ' phytoplankton growth is *temperature-dependent(Q10)*       jphy        = ', jphy
[5726]495         elseif (jphy.eq.0) then
496            WRITE(numout,*) &
497            &   ' phytoplankton growth is *temperature-independent*          jphy        = ', jphy
498         endif
499         WRITE(numout,*)     &
500         &   ' maximum growth rate for non-diatoms,                       xvpn        = ', xvpn
501         WRITE(numout,*)     &
502         &   ' maximum growth rate for diatoms,                           xvpn        = ', xvpd
503         WRITE(numout,*)     &
504         &   ' maximum Chl to C ratio for non-diatoms,                    xthetam     = ', xthetam
505         WRITE(numout,*)     &
506         &   ' maximum Chl to C ratio for diatoms,                        xthetamd    = ', xthetamd
[6715]507         WRITE(numout,*)     &
[8074]508         &   ' specific Q10 value (jphy==2),                                  jq10    = ', jq10
[5726]509!!
510!! Diatom silicon parameters
511         WRITE(numout,*) '=== Diatom silicon parameters'
512         WRITE(numout,*)     &
513         &   ' minimum diatom Si:N ratio,                                 xsin0       = ', xsin0
514         WRITE(numout,*)     &
515         &   ' minimum diatom N:Si ratio,                                 xnsi0       = ', xnsi0
516         WRITE(numout,*)     &
517         &   ' hypothetical growth ratio at infinite Si:N ratio,          xuif        = ', xuif
518!!
519!! Nutrient limitation
520         WRITE(numout,*) '=== Nutrient limitation'
521         if (jliebig.eq.1) then
522            WRITE(numout,*) &
523            &   ' nutrient uptake is a Liebig Law (= most limiting) function jliebig     = ', jliebig
524         elseif (jliebig.eq.0) then
525            WRITE(numout,*) &
526            &   ' nutrient uptake is a multiplicative function               jliebig     = ', jliebig
527         endif
528         WRITE(numout,*)     &
529         &   ' half-sat constant for DIN uptake by non-diatoms,           xnln        = ', xnln
530         WRITE(numout,*)     &
531         &   ' half-sat constant for DIN uptake by diatoms,               xnld        = ', xnld
532         WRITE(numout,*)     &
533         &   ' half-sat constant for Si uptake by diatoms,                xsld        = ', xsld
534         WRITE(numout,*)     &
535         &   ' half-sat constant for Fe uptake by non-diatoms,            xfln        = ', xfln
536         WRITE(numout,*)     &
537         &   ' half-sat constant for Fe uptake by diatoms,                xfld        = ', xfld
538!!
539!! Grazing
540         WRITE(numout,*) '=== Zooplankton grazing'
541         WRITE(numout,*)     &
542         &   ' microzoo maximum growth rate,                              xgmi        = ', xgmi
543         WRITE(numout,*)     &
544         &   ' mesozoo maximum growth rate,                               xgme        = ', xgme
545         WRITE(numout,*)     &
546         &   ' microzoo grazing half-sat parameter,                       xkmi        = ', xkmi
547         WRITE(numout,*)     &
548         &   ' mesozoo grazing half-sat parameter,                        xkme        = ', xkme
549         WRITE(numout,*)     &
550         &   ' micro/mesozoo grazing inefficiency,                        xphi        = ', xphi
551         WRITE(numout,*)     &
552         &   ' micro/mesozoo N assimilation efficiency,                   xbetan      = ', xbetan
553         WRITE(numout,*)     &
554         &   ' micro/mesozoo C assimilation efficiency,                   xbetac      = ', xbetan
555         WRITE(numout,*)     &
556         &   ' micro/mesozoo net C growth efficiency,                     xkc         = ', xkc
557         WRITE(numout,*)     &
558         &   ' grazing preference of microzoo for non-diatoms,            xpmipn      = ', xpmipn
559         WRITE(numout,*)     &
560         &   ' grazing preference of microzoo for detritus,               xpmid       = ', xpmid
561         WRITE(numout,*)     &
562         &   ' grazing preference of mesozoo for non-diatoms,             xpmepn      = ', xpmepn
563         WRITE(numout,*)     &
564         &   ' grazing preference of mesozoo for diatoms,                 xpmepd      = ', xpmepd
565         WRITE(numout,*)     &
566         &   ' grazing preference of mesozoo for microzoo,                xpmezmi     = ', xpmezmi
567         WRITE(numout,*)     &
568         &   ' grazing preference of mesozoo for detritus,                xpmed       = ', xpmed
569!!
570!! Metabolic losses
571         WRITE(numout,*) '=== Metabolic losses'
572         WRITE(numout,*)     &
573         &   ' non-diatom metabolic loss rate,                            xmetapn     = ', xmetapn
574         WRITE(numout,*)     &
575         &   ' diatom     metabolic loss rate,                            xmetapd     = ', xmetapd
576         WRITE(numout,*)     &
577         &   ' microzoo   metabolic loss rate,                            xmetazmi    = ', xmetazmi
578         WRITE(numout,*)     &
579         &   ' mesozoo    metabolic loss rate,                            xmetazme    = ', xmetazme
580!!
581!! Mortality losses
582         WRITE(numout,*) '=== Mortality losses'
583         if (jmpn.eq.1) then
584            WRITE(numout,*)     &
585            &   ' non-diatom mortality functional form,            LINEAR    jmpn        = ', jmpn
586         elseif (jmpn.eq.2) then
587            WRITE(numout,*)     &
588            &   ' non-diatom mortality functional form,         QUADRATIC    jmpn        = ', jmpn
589         elseif (jmpn.eq.3) then
590            WRITE(numout,*)     &
591            &   ' non-diatom mortality functional form,        HYPERBOLIC    jmpn        = ', jmpn
592         elseif (jmpn.eq.4) then
593            WRITE(numout,*)     &
594            &   ' non-diatom mortality functional form,           SIGMOID    jmpn        = ', jmpn
595         endif
596         WRITE(numout,*)     &
597         &   ' non-diatom mortality rate,                                 xmpn        = ', xmpn
598         WRITE(numout,*)     &
599         &   ' non-diatom mortality half-sat constant                     xkphn       = ', xkphn
600         if (jmpd.eq.1) then
601            WRITE(numout,*)     &
602            &   ' diatom mortality functional form,                LINEAR    jmpd        = ', jmpd
603         elseif (jmpd.eq.2) then
604            WRITE(numout,*)     &
605            &   ' diatom mortality functional form,             QUADRATIC    jmpd        = ', jmpd
606         elseif (jmpd.eq.3) then
607            WRITE(numout,*)     &
608            &   ' diatom mortality functional form,            HYPERBOLIC    jmpd        = ', jmpd
609         elseif (jmpd.eq.4) then
610            WRITE(numout,*)     &
611            &   ' diatom mortality functional form,               SIGMOID    jmpd        = ', jmpd
612         endif
613         WRITE(numout,*)     &
614         &   ' diatom mortality rate,                                     xmpd        = ', xmpd
615         WRITE(numout,*)     &
616         &   ' diatom mortality half-sat constant                         xkphd       = ', xkphd
617         if (jmzmi.eq.1) then
618            WRITE(numout,*)     &
619            &   ' microzoo mortality functional form,              LINEAR    jmzmi       = ', jmzmi
620         elseif (jmzmi.eq.2) then
621            WRITE(numout,*)     &
622            &   ' microzoo mortality functional form,           QUADRATIC    jmzmi       = ', jmzmi
623         elseif (jmzmi.eq.3) then
624            WRITE(numout,*)     &
625            &   ' microzoo mortality functional form,          HYPERBOLIC    jmzmi       = ', jmzmi
626         elseif (jmzmi.eq.4) then
627            WRITE(numout,*)     &
628            &   ' microzoo mortality functional form,             SIGMOID    jmzmi       = ', jmzmi
629         endif
630         WRITE(numout,*)     &
631         &   ' microzoo mortality rate,                                   xmzmi       = ', xmzmi
632         WRITE(numout,*)     &
633         &   ' mesozoo mortality half-sat constant,                       xkzmi       = ', xkzmi
634         if (jmzme.eq.1) then
635            WRITE(numout,*)     &
636            &   ' mesozoo mortality functional form,               LINEAR    jmzme       = ', jmzme
637         elseif (jmzme.eq.2) then
638            WRITE(numout,*)     &
639            &   ' mesozoo mortality functional form,            QUADRATIC    jmzme       = ', jmzme
640         elseif (jmzme.eq.3) then
641            WRITE(numout,*)     &
642            &   ' mesozoo mortality functional form,           HYPERBOLIC    jmzme       = ', jmzme
643         elseif (jmzme.eq.4) then
644            WRITE(numout,*)     &
645            &   ' mesozoo mortality functional form,              SIGMOID    jmzme       = ', jmzme
646         endif
647         WRITE(numout,*)     &
648         &   ' mesozoo mortality rate,                                    xmzme       = ', xmzme
649         WRITE(numout,*)     &
650         &   ' mesozoo mortality half-sat constant,                       xkzme       = ', xkzme
651!!
652!! Remineralisation
653         WRITE(numout,*) '=== Remineralisation'
654         if (jmd.eq.1) then
655            WRITE(numout,*) &
656            &   ' detritus remineralisation is *temperature-dependent*       jmd         = ', jmd
[6715]657         elseif (jmd.eq.2) then
658            WRITE(numout,*) &
659            &   ' detritus remineralisation is *temperature-dependent(Q10)*  jmd         = ', jmd
[5726]660         elseif (jmd.eq.0) then
661            WRITE(numout,*) &
662            &   ' detritus remineralisation is *temperature-independent*     jmd         = ', jmd
663         endif
664         if (jsfd.eq.1) then
665            WRITE(numout,*) &
666            &   ' detritus seafloor remineralisation is *accelerated*        jsfd        = ', jsfd
667         else
668            WRITE(numout,*) &
669            &   ' detritus seafloor remineralisation occurs at same rate     jsfd        = ', jsfd
670         endif
671         WRITE(numout,*)     &
672         &   ' detrital nitrogen remineralisation rate,                   xmd         = ', xmd
673         WRITE(numout,*)     &
674         &   ' detrital carbon remineralisation rate,                     xmdc        = ', xmdc
675!!
676!! Stochiometric ratios
677         WRITE(numout,*) '=== Stoichiometric ratios'
678         WRITE(numout,*)     &
679         &   ' non-diatom C:N ratio,                                      xthetapn    = ', xthetapn
680         WRITE(numout,*)     &
681         &   ' diatom C:N ratio,                                          xthetapd    = ', xthetapd
682         WRITE(numout,*)     &
683         &   ' microzoo C:N ratio,                                        xthetazmi   = ', xthetazmi
684         WRITE(numout,*)     &
685         &   ' mesozoo C:N ratio,                                         xthetazme   = ', xthetazme
686         WRITE(numout,*)     &
687         &   ' detritus C:N ratio,                                        xthetad     = ', xthetad
688         WRITE(numout,*)     &
689         &   ' phytoplankton Fe:N ratio,                                  xrfn        = ', xrfn
690         WRITE(numout,*)     &
691         &   ' diatom Si:N ratio,                                         xrsn        = ', xrsn
692!!   
693!! Iron parameters
694         WRITE(numout,*) '=== Iron parameters'
695         if (jiron.eq.1) then
696            WRITE(numout,*)     &
697            &   ' Dutkiewicz et al. (2005) iron scavenging                   jiron       = ', jiron
[8074]698         elseif (jiron.eq.2) then
699            WRITE(numout,*)     &
700            &   ' Moore et al. (2004) iron scavenging                        jiron       = ', jiron
701         elseif (jiron.eq.3) then
702            WRITE(numout,*)     &
703            &   ' Moore et al. (2008) iron scavenging                        jiron       = ', jiron
704         elseif (jiron.eq.4) then
705            WRITE(numout,*)     &
706            &   ' Galbraith et al. (2010) iron scavenging                    jiron       = ', jiron
[5726]707         else
708            WRITE(numout,*)     &
709            &   ' There is **no** iron scavenging                            jiron       = ', jiron
710         endif
711         WRITE(numout,*)     &
712         &   ' iron atomic mass,                                          xfe_mass    = ', xfe_mass
713         WRITE(numout,*)     &
714         &   ' aeolian iron solubility,                                   xfe_sol     = ', xfe_sol
715         WRITE(numout,*)     &
716         &   ' sediment iron input,                                       xfe_sed     = ', xfe_sed
717         WRITE(numout,*)     &
718         &   ' total ligand concentration (umol/m3),                      xLgT        = ', xLgT
719         WRITE(numout,*)     &
720         &   ' dissociation constant for (Fe + L),                        xk_FeL      = ', xk_FeL
721         WRITE(numout,*)     &
722         &   ' scavenging rate for free iron,                             xk_sc_Fe    = ', xk_sc_Fe
723!!
724!! Fast-sinking detritus parameters
725         WRITE(numout,*) '=== Fast-sinking detritus'
726         if (jexport.eq.1) then
727            WRITE(numout,*) &
728            &   ' fast-detritus remin. uses Dunne et al. (2007; ballast)     jexport     = ', jexport
729         elseif (jexport.eq.2) then
730            WRITE(numout,*) &
731            &   ' fast-detritus remin. uses Martin et al. (1987)             jexport     = ', jexport
732         elseif (jexport.eq.2) then
733            WRITE(numout,*) &
734            &   ' fast-detritus remin. uses Henson et al. (2011)             jexport     = ', jexport
735         endif
736         if (jfdfate.eq.1) then
737            WRITE(numout,*) &
738            &   ' fast-detritus reaching seafloor becomes slow-detritus      jfdfate     = ', jfdfate
739         elseif (jfdfate.eq.0) then
740            WRITE(numout,*) &
741            &   ' fast-detritus reaching seafloor instantly remineralised    jfdfate     = ', jfdfate
742         endif
743#if defined key_roam
744         if (jrratio.eq.0) then
745            WRITE(numout,*) &
746            &   ' Dunne et al. (2005) rain ratio submodel                    jrratio     = ', jrratio
747         elseif (jrratio.eq.1) then
748            WRITE(numout,*) &
749            &   ' Ridgwell et al. (2007) rain ratio submodel (surface omega) jrratio     = ', jrratio
750         elseif (jrratio.eq.2) then
751            WRITE(numout,*) &
752            &   ' Ridgwell et al. (2007) rain ratio submodel (3D omega)      jrratio     = ', jrratio
753         endif
754#else         
755         jrratio = 0
756         WRITE(numout,*) &
757         &   ' Dunne et al. (2005) rain ratio submodel                    jrratio     = ', jrratio
758#endif         
759#if defined key_roam
760         if (jocalccd.eq.0) then
761            WRITE(numout,*) &
762            &   ' Default, fixed CCD used                                    jocalccd    = ', jocalccd
763         elseif (jocalccd.eq.1) then
764            WRITE(numout,*) &
765            &   ' Calculated, dynamic CCD used                               jocalccd    = ', jocalccd
766         endif
767#else         
768         jocalccd = 0
769         WRITE(numout,*) &
770         &   ' Default, fixed CCD used                                    jocalccd    = ', jocalccd
771#endif
772         WRITE(numout,*)     &
773         &   ' Ridgwell rain ratio coefficient,                           xridg_r0    = ', xridg_r0
774         WRITE(numout,*)     &
775         &   ' fast-sinking fraction of diatom nat. mort. losses,         xfdfrac1    = ', xfdfrac1
776         WRITE(numout,*)     &
777         &   ' fast-sinking fraction of mesozooplankton mort. losses,     xfdfrac2    = ', xfdfrac2
778         WRITE(numout,*)     &
779         &   ' fast-sinking fraction of diatom silicon grazing losses,    xfdfrac3    = ', xfdfrac3
780         WRITE(numout,*)     &
781         &   ' polar (high latitude) CaCO3 fraction,                      xcaco3a     = ', xcaco3a
782         WRITE(numout,*)     &
783         &   ' equatorial (low latitude) CaCO3 fraction,                  xcaco3b     = ', xcaco3b
784         WRITE(numout,*)     &
785         &   ' organic C mass:mole ratio, C106 H175 O40 N16 P1,           xmassc      = ', xmassc
786         WRITE(numout,*)     &
787         &   ' calcium carbonate mass:mole ratio, CaCO3,                  xmassca     = ', xmassca
788         WRITE(numout,*)     &
789         &   ' biogenic silicon mass:mole ratio, (H2SiO3)n,               xmasssi     = ', xmasssi
790         WRITE(numout,*)     &
791         &   ' calcium carbonate protection ratio,                        xprotca     = ', xprotca
792         WRITE(numout,*)     &
793         &   ' biogenic silicon protection ratio,                         xprotsi     = ', xprotsi
794         WRITE(numout,*)     &
795         &   ' organic C remineralisation length scale,                   xfastc      = ', xfastc
796         WRITE(numout,*)     &
797         &   ' calcium carbonate dissolution length scale,                xfastca     = ', xfastca
798         WRITE(numout,*)     &
799         &   ' biogenic silicon dissolution length scale,                 xfastsi     = ', xfastsi
800!!
801!! Benthos parameters
802         WRITE(numout,*) '=== Benthos parameters'
803         WRITE(numout,*)     &
804         &   ' does   organic detritus go to the benthos?,                jorgben     = ', jorgben
805         WRITE(numout,*)     &
806         &   ' does inorganic detritus go to the benthos?,                jinorgben   = ', jinorgben
807!!
808!! Some checks on parameters related to benthos parameters
809         if (jorgben.eq.1 .and. jsfd.eq.1) then
810            !! slow detritus going to benthos at an accelerated rate
811            WRITE(numout,*) '  === WARNING! ==='
812            WRITE(numout,*) '  jsfd *and* jorgben are active - please check that you wish this'
813            WRITE(numout,*) '  === WARNING! ==='
814         endif
815         if (jorgben.eq.1 .and. jfdfate.eq.1) then
816            !! fast detritus going to benthos but via slow detritus
817            WRITE(numout,*) '  === WARNING! ==='
818            WRITE(numout,*) '  jfdfate *and* jorgben are active - please check that you wish this'
819            WRITE(numout,*) '  === WARNING! ==='
820         endif
821         if (jorgben.eq.0 .and. jinorgben.eq.1) then
822            !! inorganic fast detritus going to benthos but organic fast detritus is not
823            WRITE(numout,*) '  === WARNING! ==='
824            WRITE(numout,*) '  jinorgben is active but jorgben is not - please check that you wish this'
825            WRITE(numout,*) '  === WARNING! ==='
826         endif
827         WRITE(numout,*)     &
828         &   ' organic   nitrogen sediment remineralisation rate,         xsedn       = ', xsedn
829         WRITE(numout,*)     &
830         &   ' organic   iron     sediment remineralisation rate,         xsedfe      = ', xsedfe
831         WRITE(numout,*)     &
832         &   ' inorganic silicon  sediment remineralisation rate,         xsedsi      = ', xsedsi
833         WRITE(numout,*)     &
834         &   ' organic   carbon   sediment remineralisation rate,         xsedc       = ', xsedc
835         WRITE(numout,*)     &
836         &   ' inorganic carbon   sediment remineralisation rate,         xsedca      = ', xsedca
837         WRITE(numout,*)     &
838         &   ' burial rate of seafloor detritus,                          xburial     = ', xburial
839!!
840!! Riverine inputs
841         WRITE(numout,*) '=== Riverine inputs'
842         if (jriver_n.eq.0) then
843            WRITE(numout,*)     &
844            &   ' *no* riverine N input,                                     jriver_n    = ', jriver_n
845         elseif (jriver_n.eq.1) then
846            WRITE(numout,*)     &
847            &   ' riverine N concentrations specified,                       jriver_n    = ', jriver_n
848         elseif (jriver_n.eq.2) then
849            WRITE(numout,*)     &
850            &   ' riverine N inputs specified,                               jriver_n    = ', jriver_n
851         endif
852         if (jriver_si.eq.0) then
853            WRITE(numout,*)     &
854            &   ' *no* riverine Si input,                                    jriver_si   = ', jriver_si
855         elseif (jriver_si.eq.1) then
856            WRITE(numout,*)     &
857            &   ' riverine Si concentrations specified,                      jriver_si   = ', jriver_si
858         elseif (jriver_si.eq.2) then
859            WRITE(numout,*)     &
860            &   ' riverine Si inputs specified,                              jriver_si   = ', jriver_si
861         endif
862         if (jriver_c.eq.0) then
863            WRITE(numout,*)     &
864            &   ' *no* riverine C input,                                     jriver_c    = ', jriver_c
865         elseif (jriver_c.eq.1) then
866            WRITE(numout,*)     &
867            &   ' riverine C concentrations specified,                       jriver_c    = ', jriver_c
868         elseif (jriver_c.eq.2) then
869            WRITE(numout,*)     &
870            &   ' riverine C inputs specified,                               jriver_c    = ', jriver_c
871         endif
872         if (jriver_alk.eq.0) then
873            WRITE(numout,*)     &
874            &   ' *no* riverine alkalinity input,                            jriver_alk  = ', jriver_alk
875         elseif (jriver_alk.eq.1) then
876            WRITE(numout,*)     &
877            &   ' riverine alkalinity concentrations specified,              jriver_alk  = ', jriver_alk
878         elseif (jriver_alk.eq.2) then
879            WRITE(numout,*)     &
880            &   ' riverine alkalinity inputs specified,                      jriver_alk  = ', jriver_alk
881         endif
882         !! AXY (19/07/12): prevent (gross) stupidity on part of user
883         if (jriver_dep.lt.1.or.jriver_dep.ge.jpk) then
884            jriver_dep = 1
885         endif
886         WRITE(numout,*)     &
887         &   ' riverine input applied to down to depth k = ...            jriver_dep  = ', jriver_dep
888!!
889!! Miscellaneous
890         WRITE(numout,*) '=== Miscellaneous'
891         WRITE(numout,*)     &
892         &   ' diatom frustule dissolution rate,                          xsdiss      = ', xsdiss
893!!
894!! Gravitational sinking     
895         WRITE(numout,*) '=== Gravitational sinking'
896         WRITE(numout,*)     &
897         &   ' detritus gravitational sinking rate,                       vsed        = ', vsed
898         WRITE(numout,*)     & 
899         &   ' coefficient for Martin et al. (1987) remineralisation,     xhr         = ', xhr
900!!
901!! Non-Medusa parameters
902         WRITE(numout,*) '=== Non-Medusa parameters'
903         WRITE(numout,*)     & 
904         &   ' time coeff of POC in sediments,                            sedlam      = ', sedlam
905         WRITE(numout,*)     &
906         &   ' Sediment geol loss for POC,                                sedlostpoc  = ', sedlostpoc
907         WRITE(numout,*)     &
908         &   ' Vert layer for diagnostic of vertical flux,                jpkp        = ', jpkb
909!!
[5841]910!! UKESM1 - new diagnostics  !! Jpalm; AXY (08/07/15)
[8074]911         WRITE(numout,*) '=== UKESM1-related parameters'
[5726]912         WRITE(numout,*)     &
913         &   ' include DMS diagnostic?,                                   jdms        = ', jdms
[5841]914         if (jdms_input .eq. 0) then
915            WRITE(numout,*)     &
916            &   ' use instant (0) or diel-avg (1) inputs,                    jdms_input  = instantaneous'
917         else
918            WRITE(numout,*)     &
919            &   ' use instant (0) or diel-avg (1) inputs,                    jdms_input  = diel-average'
920         endif
921    if (jdms_model .eq. 1) then
922            WRITE(numout,*)     &
923            &   ' choice of DMS model passed to atmosphere,                  jdms_model  = Anderson et al. (2001)'
924    elseif (jdms_model .eq. 2) then
925            WRITE(numout,*)     &
926            &   ' choice of DMS model passed to atmosphere,                  jdms_model  = Simo & Dachs (2002)'
927    elseif (jdms_model .eq. 3) then
928            WRITE(numout,*)     &
929            &   ' choice of DMS model passed to atmosphere,                  jdms_model  = Aranami & Tsunogai (2004)'
930    elseif (jdms_model .eq. 4) then
931            WRITE(numout,*)     &
932            &   ' choice of DMS model passed to atmosphere,                  jdms_model  = Halloran et al. (2010)'
[8131]933    elseif (jdms_model .eq. 5) then
934            WRITE(numout,*)     &
935            &   ' choice of DMS model passed to atmosphere,                  jdms_model  = Anderson et al. (2001; modified)'
[5841]936         endif
[5726]937!!
938      ENDIF
939!!
940!! Key depth positions (with thanks to Andrew Coward for bug-fixing this bit)
941      DO jk = 1,jpk
942         !! level thickness
943         fthk  = e3t_1d(jk)
944         !! level depth (top of level)
945         fdep  = gdepw_1d(jk)
946         !! level depth (bottom of level)
947         fdep1 = fdep + fthk
948         !!
949         if (fdep.lt.100.0.AND.fdep1.gt.100.0) then        !  100 m
950            i0100 = jk
951         elseif (fdep.lt.150.0.AND.fdep1.gt.150.0) then    !  150 m (for BASIN)
952            i0150 = jk
953         elseif (fdep.lt.200.0.AND.fdep1.gt.200.0) then    !  200 m
954            i0200 = jk
955         elseif (fdep.lt.500.0.AND.fdep1.gt.500.0) then    !  500 m
956            i0500 = jk
957         elseif (fdep.lt.1000.0.AND.fdep1.gt.1000.0) then  ! 1000 m
958            i1000 = jk
959         elseif (fdep1.lt.1100.0) then                     ! 1100 m (for Moore et al. sedimentary iron)
960            i1100 = jk
961         endif
962      enddo
963      !!
964      IF(lwp) THEN
965          WRITE(numout,*) '=== Position of key depths'
966          WRITE(numout,*)     & 
967          &   ' jk position of  100 m horizon                              i0100       = ', i0100
968          WRITE(numout,*)     &
969          &   ' jk position of  150 m horizon                              i0150       = ', i0150
970          WRITE(numout,*)     & 
971          &   ' jk position of  200 m horizon                              i0200       = ', i0200
972          WRITE(numout,*)     & 
973          &   ' jk position of  500 m horizon                              i0500       = ', i0500
974          WRITE(numout,*)     & 
975          &   ' jk position of 1000 m horizon                              i1000       = ', i1000
976          WRITE(numout,*)     & 
977          &   ' jk position of 1100 m horizon [*]                          i1100       = ', i1100
978          WRITE(numout,*) 'Got here ' , SIZE(friver_dep)
979          CALL flush(numout)
980      ENDIF
981
982#if defined key_roam
983
984      ! 1.4b namelist natroam : ROAM parameters
985      ! ---------------------------------------
986     
987      xthetaphy = 0.
988      xthetazoo = 0.
989      xthetanit = 0.
990      xthetarem = 0.
991      xo2min    = 0.
992
993      !READ(numnatm,natroam)
[8074]994         ! Namelist natroam
995         ! -------------------
996         REWIND( numnatp_ref )              ! Namelist natroam in reference namelist : MEDUSA diagnostics
997         READ  ( numnatp_ref, natroam, IOSTAT = ios, ERR = 905)
998905      IF( ios /= 0 ) CALL ctl_nam ( ios , 'natroam in reference namelist', lwp )
[5726]999
[8074]1000         REWIND( numnatp_cfg )              ! Namelist natroam in configuration namelist : MEDUSA diagnostics
1001         READ  ( numnatp_cfg, natroam, IOSTAT = ios, ERR = 906 )
1002906      IF( ios /= 0 ) CALL ctl_nam ( ios , 'natroam in configuration namelist', lwp )
1003         IF(lwm) WRITE ( numonp, natroam )
[5726]1004
1005!! ROAM carbon, alkalinity and oxygen cycle parameters
1006!!       xthetaphy :  oxygen evolution/consumption by phytoplankton
1007!!       xthetazoo :  oxygen consumption by zooplankton
1008!!       xthetanit :  oxygen consumption by nitrogen remineralisation
1009!!       xthetarem :  oxygen consumption by carbon remineralisation
1010!!       xo2min    :  oxygen minimum concentration
[8074]1011
[5726]1012      IF(lwp) THEN
1013          WRITE(numout,*) 'natroam'
1014          WRITE(numout,*) ' '
[8074]1015!!
1016!! ROAM carbon, alkalinity and oxygen cycle parameters
[5726]1017          WRITE(numout,*) '=== ROAM carbon, alkalinity and oxygen cycle parameters'
1018          WRITE(numout,*)     &
1019          &   ' oxygen evolution/consumption by phytoplankton              xthetaphy   = ', xthetaphy
1020          WRITE(numout,*)     &
1021          &   ' oxygen consumption by zooplankton                          xthetazoo   = ', xthetazoo
1022          WRITE(numout,*)     &
1023          &   ' oxygen consumption by nitrogen remineralisation            xthetanit   = ', xthetanit
1024          WRITE(numout,*)     &
1025          &   ' oxygen consumption by carbon remineralisation              xthetarem   = ', xthetarem
1026          WRITE(numout,*)     &
1027          &   ' oxygen minimum concentration                               xo2min      = ', xo2min
1028       ENDIF
1029
1030#endif
1031
1032      CALL flush(numout)
1033
1034      ! 1.5 namelist natopt : parameters for optic
1035      ! ------------------------------------------
1036
1037      xkg0  = 0.
1038      xkr0  = 0.
1039      xkgp  = 0.
1040      xkrp  = 0.
1041      xlg   = 0.
1042      xlr   = 0.
1043      rpig  = 0.
1044
1045      !READ(numnatm,natopt)
[8074]1046         ! Namelist natopt
1047         ! -------------------
1048         REWIND( numnatp_ref )              ! Namelist natopt in reference namelist : MEDUSA diagnostics
1049         READ  ( numnatp_ref, natopt, IOSTAT = ios, ERR = 907)
1050907      IF( ios /= 0 ) CALL ctl_nam ( ios , 'natopt in reference namelist', lwp )
[5726]1051
[8074]1052         REWIND( numnatp_cfg )              ! Namelist natopt in configuration namelist : MEDUSA diagnostics
1053         READ  ( numnatp_cfg, natopt, IOSTAT = ios, ERR = 908 )
1054908      IF( ios /= 0 ) CALL ctl_nam ( ios , 'natopt in configuration namelist', lwp )
1055         IF(lwm) WRITE ( numonp, natopt )
1056
[5726]1057      IF(lwp) THEN
1058         WRITE(numout,*) 'natopt'
1059         WRITE(numout,*) ' '
1060         WRITE(numout,*) ' green   water absorption coeff  xkg0  = ',xkg0
1061         WRITE(numout,*) ' red water absorption coeff      xkr0  = ',xkr0
1062         WRITE(numout,*) ' pigment red absorption coeff    xkrp  = ',xkrp
1063         WRITE(numout,*) ' pigment green absorption coeff  xkgp  = ',xkgp
1064         WRITE(numout,*) ' green chl exposant              xlg   = ',xlg
1065         WRITE(numout,*) ' red   chl exposant              xlr   = ',xlr
1066         WRITE(numout,*) ' chla/chla+phea ratio            rpig  = ',rpig
1067         WRITE(numout,*) ' '
[8074]1068
[5726]1069      ENDIF
1070
1071      IF(lwp) THEN
1072         WRITE(numout,*) 'NaN check'
1073         WRITE(numout,*) ' '
1074         q1 = -1.
1075         q2 = 0.
1076         q3 = log(q1)
1077         write (numout,*) 'q3 = ', q3
1078         if ( ieee_is_nan( q3 ) ) then
1079            write (numout,*) 'NaN detected'
1080         else
1081            write (numout,*) 'NaN not detected'
1082         endif
1083         WRITE(numout,*) ' '
[8074]1084       ENDIF
[5726]1085
1086   END SUBROUTINE trc_nam_medusa
1087   
[5931]1088   SUBROUTINE trc_nam_iom_medusa
[7224]1089      !!---------------------------------------------------------------------
[5931]1090      !!                     ***  ROUTINE trc_nam_iom_medusa  ***
1091      !!
1092      !! ** Purpose : read all diag requested in iodef file through iom_use
1093      !!              So it is done only once
1094      !!            ** All diagnostic MEDUSA could asked are registered in
1095      !!            the med_diag type with a boolean value
1096      !!            So if required, one diagnostic will be true.
1097      !!
1098      !!---------------------------------------------------------------------
1099      !!
[8074]1100      !!
[5931]1101      !!----------------------------------------------------------------------           
1102      !! Variable conventions
1103      !!----------------------------------------------------------------------
1104      !!
[5937]1105      IF (iom_use("INVTN")) THEN
[8074]1106          med_diag%INVTN%dgsave = .TRUE.
[5931]1107      ELSE
[8074]1108          med_diag%INVTN%dgsave = .FALSE.
[5931]1109      ENDIF
[8074]1110      IF  (iom_use("INVTSI")) THEN
1111          med_diag%INVTSI%dgsave = .TRUE.
[5931]1112      ELSE
[8074]1113          med_diag%INVTSI%dgsave = .FALSE.
[5931]1114      ENDIF
[8074]1115      IF  (iom_use("INVTFE")) THEN
1116          med_diag%INVTFE%dgsave = .TRUE.
[5931]1117      ELSE
[8074]1118          med_diag%INVTFE%dgsave = .FALSE.
[5931]1119      ENDIF
[8074]1120      IF  (iom_use("PRN")) THEN
1121          med_diag%PRN%dgsave = .TRUE.
[5931]1122      ELSE
[8074]1123          med_diag%PRN%dgsave = .FALSE.
[5931]1124      ENDIF
[8074]1125      IF  (iom_use("MPN")) THEN
1126          med_diag%MPN%dgsave = .TRUE.
[5931]1127      ELSE
[8074]1128          med_diag%MPN%dgsave = .FALSE.
[5931]1129      ENDIF
[8074]1130      IF  (iom_use("PRD")) THEN
1131          med_diag%PRD%dgsave = .TRUE.
[5931]1132      ELSE
[8074]1133          med_diag%PRD%dgsave = .FALSE.
[5931]1134      ENDIF
[8074]1135      IF  (iom_use("MPD")) THEN
1136          med_diag%MPD%dgsave = .TRUE.
[5931]1137      ELSE
[8074]1138          med_diag%MPD%dgsave = .FALSE.
[5931]1139      ENDIF
[8074]1140      IF  (iom_use("DSED")) THEN
1141          med_diag%DSED%dgsave = .TRUE.
[5931]1142      ELSE
[8074]1143          med_diag%DSED%dgsave = .FALSE.
[5931]1144      ENDIF
[8074]1145      IF  (iom_use("OPAL")) THEN
1146          med_diag%OPAL%dgsave = .TRUE.
[5931]1147      ELSE
[8074]1148          med_diag%OPAL%dgsave = .FALSE.
[5931]1149      ENDIF
[8074]1150      IF  (iom_use("OPALDISS")) THEN
1151          med_diag%OPALDISS%dgsave = .TRUE.
[5931]1152      ELSE
[8074]1153          med_diag%OPALDISS%dgsave = .FALSE.
[5931]1154      ENDIF
[8074]1155      IF  (iom_use("GMIPn")) THEN
1156          med_diag%GMIPn%dgsave = .TRUE.
[5931]1157      ELSE
[8074]1158          med_diag%GMIPn%dgsave = .FALSE.
[5931]1159      ENDIF
[8074]1160      IF  (iom_use("GMID")) THEN
1161          med_diag%GMID%dgsave = .TRUE.
[5931]1162      ELSE
[8074]1163          med_diag%GMID%dgsave = .FALSE.
[5931]1164      ENDIF
[8074]1165      IF  (iom_use("MZMI")) THEN
1166          med_diag%MZMI%dgsave = .TRUE.
[5931]1167      ELSE
[8074]1168          med_diag%MZMI%dgsave = .FALSE.
[5931]1169      ENDIF
[8074]1170      IF  (iom_use("GMEPN")) THEN
1171          med_diag%GMEPN%dgsave = .TRUE.
[5931]1172      ELSE
[8074]1173          med_diag%GMEPN%dgsave = .FALSE.
[5931]1174      ENDIF
[8074]1175      IF  (iom_use("GMEPD")) THEN
1176          med_diag%GMEPD%dgsave = .TRUE.
[5931]1177      ELSE
[8074]1178          med_diag%GMEPD%dgsave = .FALSE.
[5931]1179      ENDIF
[8074]1180      IF  (iom_use("GMEZMI")) THEN
1181          med_diag%GMEZMI%dgsave = .TRUE.
[5931]1182      ELSE
[8074]1183          med_diag%GMEZMI%dgsave = .FALSE.
[5931]1184      ENDIF
[8074]1185      IF  (iom_use("GMED")) THEN
1186          med_diag%GMED%dgsave = .TRUE.
[5931]1187      ELSE
[8074]1188          med_diag%GMED%dgsave = .FALSE.
[5931]1189      ENDIF
[8074]1190      IF  (iom_use("MZME")) THEN
1191          med_diag%MZME%dgsave = .TRUE.
[5931]1192      ELSE
[8074]1193          med_diag%MZME%dgsave = .FALSE.
[5931]1194      ENDIF
[8074]1195      IF  (iom_use("DEXP")) THEN
1196          med_diag%DEXP%dgsave = .TRUE.
[5931]1197      ELSE
[8074]1198          med_diag%DEXP%dgsave = .FALSE.
[5931]1199      ENDIF
[8074]1200      IF  (iom_use("DETN")) THEN
1201          med_diag%DETN%dgsave = .TRUE.
[5931]1202      ELSE
[8074]1203          med_diag%DETN%dgsave = .FALSE.
[5931]1204      ENDIF
[8074]1205      IF  (iom_use("MDET")) THEN
1206          med_diag%MDET%dgsave = .TRUE.
[5931]1207      ELSE
[8074]1208          med_diag%MDET%dgsave = .FALSE.
[5931]1209      ENDIF
[8074]1210      IF  (iom_use("AEOLIAN")) THEN
1211          med_diag%AEOLIAN%dgsave = .TRUE.
[5931]1212      ELSE
[8074]1213          med_diag%AEOLIAN%dgsave = .FALSE.
[5931]1214      ENDIF
[8074]1215      IF  (iom_use("BENTHIC")) THEN
1216          med_diag%BENTHIC%dgsave = .TRUE.
[5931]1217      ELSE
[8074]1218          med_diag%BENTHIC%dgsave = .FALSE.
[5931]1219      ENDIF
[8074]1220      IF  (iom_use("SCAVENGE")) THEN
1221          med_diag%SCAVENGE%dgsave = .TRUE.
[5931]1222      ELSE
[8074]1223          med_diag%SCAVENGE%dgsave = .FALSE.
[5931]1224      ENDIF
[8074]1225      IF  (iom_use("PN_JLIM")) THEN
1226          med_diag%PN_JLIM%dgsave = .TRUE.
[5931]1227      ELSE
[8074]1228          med_diag%PN_JLIM%dgsave = .FALSE.
[5931]1229      ENDIF
[8074]1230      IF  (iom_use("PN_NLIM")) THEN
1231          med_diag%PN_NLIM%dgsave = .TRUE.
[5931]1232      ELSE
[8074]1233          med_diag%PN_NLIM%dgsave = .FALSE.
[5931]1234      ENDIF
[8074]1235      IF  (iom_use("PN_FELIM")) THEN
1236          med_diag%PN_FELIM%dgsave = .TRUE.
[5931]1237      ELSE
[8074]1238          med_diag%PN_FELIM%dgsave = .FALSE.
[5931]1239      ENDIF
[8074]1240      IF  (iom_use("PD_JLIM")) THEN
1241          med_diag%PD_JLIM%dgsave = .TRUE.
[5931]1242      ELSE
[8074]1243          med_diag%PD_JLIM%dgsave = .FALSE.
[5931]1244      ENDIF
[8074]1245      IF  (iom_use("PD_NLIM")) THEN
1246          med_diag%PD_NLIM%dgsave = .TRUE.
[5931]1247      ELSE
[8074]1248          med_diag%PD_NLIM%dgsave = .FALSE.
[5931]1249      ENDIF
[8074]1250      IF  (iom_use("PD_FELIM")) THEN
1251          med_diag%PD_FELIM%dgsave = .TRUE.
[5931]1252      ELSE
[8074]1253          med_diag%PD_FELIM%dgsave = .FALSE.
[5931]1254      ENDIF
[8074]1255      IF  (iom_use("PD_SILIM")) THEN
1256          med_diag%PD_SILIM%dgsave = .TRUE.
[5931]1257      ELSE
[8074]1258          med_diag%PD_SILIM%dgsave = .FALSE.
[5931]1259      ENDIF
[8074]1260      IF  (iom_use("PDSILIM2")) THEN
1261          med_diag%PDSILIM2%dgsave = .TRUE.
[5931]1262      ELSE
[8074]1263          med_diag%PDSILIM2%dgsave = .FALSE.
[5931]1264      ENDIF
[8074]1265      IF  (iom_use("SDT__100")) THEN
1266          med_diag%SDT__100%dgsave = .TRUE.
[5931]1267      ELSE
[8074]1268          med_diag%SDT__100%dgsave = .FALSE.
[5931]1269      ENDIF
[8074]1270      IF  (iom_use("SDT__200")) THEN
1271          med_diag%SDT__200%dgsave = .TRUE.
[5931]1272      ELSE
[8074]1273          med_diag%SDT__200%dgsave = .FALSE.
[5931]1274      ENDIF
[8074]1275      IF  (iom_use("SDT__500")) THEN
1276          med_diag%SDT__500%dgsave = .TRUE.
[5931]1277      ELSE
[8074]1278          med_diag%SDT__500%dgsave = .FALSE.
[5931]1279      ENDIF
[8074]1280      IF  (iom_use("SDT_1000")) THEN
1281          med_diag%SDT_1000%dgsave = .TRUE.
[5931]1282      ELSE
[8074]1283          med_diag%SDT_1000%dgsave = .FALSE.
[5931]1284      ENDIF
[8074]1285      IF  (iom_use("TOTREG_N")) THEN
1286          med_diag%TOTREG_N%dgsave = .TRUE.
[5931]1287      ELSE
[8074]1288          med_diag%TOTREG_N%dgsave = .FALSE.
[5931]1289      ENDIF
[8074]1290      IF  (iom_use("TOTRG_SI")) THEN
1291          med_diag%TOTRG_SI%dgsave = .TRUE.
[5931]1292      ELSE
[8074]1293          med_diag%TOTRG_SI%dgsave = .FALSE.
[5931]1294      ENDIF
[8074]1295      IF  (iom_use("REG__100")) THEN
1296          med_diag%REG__100%dgsave = .TRUE.
[5931]1297      ELSE
[8074]1298          med_diag%REG__100%dgsave = .FALSE.
[5931]1299      ENDIF
[8074]1300      IF  (iom_use("REG__200")) THEN
1301          med_diag%REG__200%dgsave = .TRUE.
[5931]1302      ELSE
[8074]1303          med_diag%REG__200%dgsave = .FALSE.
[5931]1304      ENDIF
[8074]1305      IF  (iom_use("REG__500")) THEN
1306          med_diag%REG__500%dgsave = .TRUE.
[5931]1307      ELSE
[8074]1308          med_diag%REG__500%dgsave = .FALSE.
[5931]1309      ENDIF
[8074]1310      IF  (iom_use("REG_1000")) THEN
1311          med_diag%REG_1000%dgsave = .TRUE.
[5931]1312      ELSE
[8074]1313          med_diag%REG_1000%dgsave = .FALSE.
[5931]1314      ENDIF
[8074]1315      IF  (iom_use("FASTN")) THEN
1316          med_diag%FASTN%dgsave = .TRUE.
[5931]1317      ELSE
[8074]1318          med_diag%FASTN%dgsave = .FALSE.
[5931]1319      ENDIF
[8074]1320      IF  (iom_use("FASTSI")) THEN
1321          med_diag%FASTSI%dgsave = .TRUE.
[5931]1322      ELSE
[8074]1323          med_diag%FASTSI%dgsave = .FALSE.
[5931]1324      ENDIF
[8074]1325      IF  (iom_use("FASTFE")) THEN
1326          med_diag%FASTFE%dgsave = .TRUE.
[5931]1327      ELSE
[8074]1328          med_diag%FASTFE%dgsave = .FALSE.
[5931]1329      ENDIF
[8074]1330      IF  (iom_use("FASTC")) THEN
1331          med_diag%FASTC%dgsave = .TRUE.
[5931]1332      ELSE
[8074]1333          med_diag%FASTC%dgsave = .FALSE.
[5931]1334      ENDIF
[8074]1335      IF  (iom_use("FASTCA")) THEN
1336          med_diag%FASTCA%dgsave = .TRUE.
[5931]1337      ELSE
[8074]1338          med_diag%FASTCA%dgsave = .FALSE.
[5931]1339      ENDIF
[8074]1340      IF  (iom_use("FDT__100")) THEN
1341          med_diag%FDT__100%dgsave = .TRUE.
[5931]1342      ELSE
[8074]1343          med_diag%FDT__100%dgsave = .FALSE.
[5931]1344      ENDIF
[8074]1345      IF  (iom_use("FDT__200")) THEN
1346          med_diag%FDT__200%dgsave = .TRUE.
[5931]1347      ELSE
[8074]1348          med_diag%FDT__200%dgsave = .FALSE.
[5931]1349      ENDIF
[8074]1350      IF  (iom_use("FDT__500")) THEN
1351          med_diag%FDT__500%dgsave = .TRUE.
[5931]1352      ELSE
[8074]1353          med_diag%FDT__500%dgsave = .FALSE.
[5931]1354      ENDIF
[8074]1355      IF  (iom_use("FDT_1000")) THEN
1356          med_diag%FDT_1000%dgsave = .TRUE.
[5931]1357      ELSE
[8074]1358          med_diag%FDT_1000%dgsave = .FALSE.
[5931]1359      ENDIF
[8074]1360      IF  (iom_use("RG__100F")) THEN
1361          med_diag%RG__100F%dgsave = .TRUE.
[5931]1362      ELSE
[8074]1363          med_diag%RG__100F%dgsave = .FALSE.
[5931]1364      ENDIF
[8074]1365      IF  (iom_use("RG__200F")) THEN
1366          med_diag%RG__200F%dgsave = .TRUE.
[5931]1367      ELSE
[8074]1368          med_diag%RG__200F%dgsave = .FALSE.
[5931]1369      ENDIF
[8074]1370      IF  (iom_use("RG__500F")) THEN
1371          med_diag%RG__500F%dgsave = .TRUE.
[5931]1372      ELSE
[8074]1373          med_diag%RG__500F%dgsave = .FALSE.
[5931]1374      ENDIF
[8074]1375      IF  (iom_use("RG_1000F")) THEN
1376          med_diag%RG_1000F%dgsave = .TRUE.
[5931]1377      ELSE
[8074]1378          med_diag%RG_1000F%dgsave = .FALSE.
[5931]1379      ENDIF
[8074]1380      IF  (iom_use("FDS__100")) THEN
1381          med_diag%FDS__100%dgsave = .TRUE.
[5931]1382      ELSE
[8074]1383          med_diag%FDS__100%dgsave = .FALSE.
[5931]1384      ENDIF
[8074]1385      IF  (iom_use("FDS__200")) THEN
1386          med_diag%FDS__200%dgsave = .TRUE.
[5931]1387      ELSE
[8074]1388          med_diag%FDS__200%dgsave = .FALSE.
[5931]1389      ENDIF
[8074]1390      IF  (iom_use("FDS__500")) THEN
1391          med_diag%FDS__500%dgsave = .TRUE.
[5931]1392      ELSE
[8074]1393          med_diag%FDS__500%dgsave = .FALSE.
[5931]1394      ENDIF
[8074]1395      IF  (iom_use("FDS_1000")) THEN
1396          med_diag%FDS_1000%dgsave = .TRUE.
[5931]1397      ELSE
[8074]1398          med_diag%FDS_1000%dgsave = .FALSE.
[5931]1399      ENDIF
[8074]1400      IF  (iom_use("RGS_100F")) THEN
1401          med_diag%RGS_100F%dgsave = .TRUE.
[5931]1402      ELSE
[8074]1403          med_diag%RGS_100F%dgsave = .FALSE.
[5931]1404      ENDIF
[8074]1405      IF  (iom_use("RGS_200F")) THEN
1406          med_diag%RGS_200F%dgsave = .TRUE.
[5931]1407      ELSE
[8074]1408          med_diag%RGS_200F%dgsave = .FALSE.
[5931]1409      ENDIF
[8074]1410      IF  (iom_use("RGS_500F")) THEN
1411          med_diag%RGS_500F%dgsave = .TRUE.
[5931]1412      ELSE
[8074]1413          med_diag%RGS_500F%dgsave = .FALSE.
[5931]1414      ENDIF
[8074]1415      IF  (iom_use("RGS1000F")) THEN
1416          med_diag%RGS1000F%dgsave = .TRUE.
[5931]1417      ELSE
[8074]1418          med_diag%RGS1000F%dgsave = .FALSE.
[5931]1419      ENDIF
[8074]1420      IF  (iom_use("REMINN")) THEN
1421          med_diag%REMINN%dgsave = .TRUE.
[5931]1422      ELSE
[8074]1423          med_diag%REMINN%dgsave = .FALSE.
[5931]1424      ENDIF
[8074]1425      IF  (iom_use("REMINSI")) THEN
1426          med_diag%REMINSI%dgsave = .TRUE.
[5931]1427      ELSE
[8074]1428          med_diag%REMINSI%dgsave = .FALSE.
[5931]1429      ENDIF
[8074]1430      IF  (iom_use("REMINFE")) THEN
1431          med_diag%REMINFE%dgsave = .TRUE.
[5931]1432      ELSE
[8074]1433          med_diag%REMINFE%dgsave = .FALSE.
[5931]1434      ENDIF
[8074]1435      IF  (iom_use("REMINC")) THEN
1436          med_diag%REMINC%dgsave = .TRUE.
[5931]1437      ELSE
[8074]1438          med_diag%REMINC%dgsave = .FALSE.
[5931]1439      ENDIF
[8074]1440      IF  (iom_use("REMINCA")) THEN
1441          med_diag%REMINCA%dgsave = .TRUE.
[5931]1442      ELSE
[8074]1443          med_diag%REMINCA%dgsave = .FALSE.
[5931]1444      ENDIF
[8074]1445      IF  (iom_use("SEAFLRN")) THEN
1446          med_diag%SEAFLRN%dgsave = .TRUE.
[5931]1447      ELSE
[8074]1448          med_diag%SEAFLRN%dgsave = .FALSE.
[5931]1449      ENDIF
[8074]1450      IF  (iom_use("SEAFLRSI")) THEN
1451          med_diag%SEAFLRSI%dgsave = .TRUE.
[5931]1452      ELSE
[8074]1453          med_diag%SEAFLRSI%dgsave = .FALSE.
[5931]1454      ENDIF
[8074]1455      IF  (iom_use("SEAFLRFE")) THEN
1456          med_diag%SEAFLRFE%dgsave = .TRUE.
[5931]1457      ELSE
[8074]1458          med_diag%SEAFLRFE%dgsave = .FALSE.
[5931]1459      ENDIF
[8074]1460      IF  (iom_use("SEAFLRC")) THEN
1461          med_diag%SEAFLRC%dgsave = .TRUE.
[5931]1462      ELSE
[8074]1463          med_diag%SEAFLRC%dgsave = .FALSE.
[5931]1464      ENDIF
[8074]1465      IF  (iom_use("SEAFLRCA")) THEN
1466          med_diag%SEAFLRCA%dgsave = .TRUE.
[5931]1467      ELSE
[8074]1468          med_diag%SEAFLRCA%dgsave = .FALSE.
[5931]1469      ENDIF
[8074]1470      IF  (iom_use("MED_QSR")) THEN
1471          med_diag%MED_QSR%dgsave = .TRUE.
[5931]1472      ELSE
[8074]1473          med_diag%MED_QSR%dgsave = .FALSE.
[5931]1474      ENDIF
[8074]1475      IF  (iom_use("MED_XPAR")) THEN
1476          med_diag%MED_XPAR%dgsave = .TRUE.
[5931]1477      ELSE
[8074]1478          med_diag%MED_XPAR%dgsave = .FALSE.
[5931]1479      ENDIF
[8074]1480      IF  (iom_use("INTFLX_N")) THEN
1481          med_diag%INTFLX_N%dgsave = .TRUE.
[5931]1482      ELSE
[8074]1483          med_diag%INTFLX_N%dgsave = .FALSE.
[5931]1484      ENDIF
[8074]1485      IF  (iom_use("INTFLX_SI")) THEN
1486          med_diag%INTFLX_SI%dgsave = .TRUE.
[5931]1487      ELSE
[8074]1488          med_diag%INTFLX_SI%dgsave = .FALSE.
[5931]1489      ENDIF
[8074]1490      IF  (iom_use("INTFLX_FE")) THEN
1491          med_diag%INTFLX_FE%dgsave = .TRUE.
[5931]1492      ELSE
[8074]1493          med_diag%INTFLX_FE%dgsave = .FALSE.
[5931]1494      ENDIF
[8074]1495      IF  (iom_use("INT_PN")) THEN
1496          med_diag%INT_PN%dgsave = .TRUE.
[5931]1497      ELSE
[8074]1498          med_diag%INT_PN%dgsave = .FALSE.
[5931]1499      ENDIF
[8074]1500      IF  (iom_use("INT_PD")) THEN
1501          med_diag%INT_PD%dgsave = .TRUE.
[5931]1502      ELSE
[8074]1503          med_diag%INT_PD%dgsave = .FALSE.
[5931]1504      ENDIF
[8074]1505      IF  (iom_use("ML_PRN")) THEN
1506          med_diag%ML_PRN%dgsave = .TRUE.
[5931]1507      ELSE
[8074]1508          med_diag%ML_PRN%dgsave = .FALSE.
[5931]1509      ENDIF
[8074]1510      IF  (iom_use("ML_PRD")) THEN
1511          med_diag%ML_PRD%dgsave = .TRUE.
[5931]1512      ELSE
[8074]1513          med_diag%ML_PRD%dgsave = .FALSE.
[5931]1514      ENDIF
[8074]1515      IF  (iom_use("OCAL_CCD")) THEN
1516          med_diag%OCAL_CCD%dgsave = .TRUE.
[5931]1517      ELSE
[8074]1518          med_diag%OCAL_CCD%dgsave = .FALSE.
[5931]1519      ENDIF
[8074]1520      IF  (iom_use("OCAL_LVL")) THEN
1521          med_diag%OCAL_LVL%dgsave = .TRUE.
[5931]1522      ELSE
[8074]1523          med_diag%OCAL_LVL%dgsave = .FALSE.
[5931]1524      ENDIF
[8074]1525      IF  (iom_use("FE_0000")) THEN
1526          med_diag%FE_0000%dgsave = .TRUE.
[5931]1527      ELSE
[8074]1528          med_diag%FE_0000%dgsave = .FALSE.
[5931]1529      ENDIF
[8074]1530      IF  (iom_use("FE_0100")) THEN
1531          med_diag%FE_0100%dgsave = .TRUE.
[5931]1532      ELSE
[8074]1533          med_diag%FE_0100%dgsave = .FALSE.
[5931]1534      ENDIF
[8074]1535      IF  (iom_use("FE_0200")) THEN
1536          med_diag%FE_0200%dgsave = .TRUE.
[5931]1537      ELSE
[8074]1538          med_diag%FE_0200%dgsave = .FALSE.
[5931]1539      ENDIF
[8074]1540      IF  (iom_use("FE_0500")) THEN
1541          med_diag%FE_0500%dgsave = .TRUE.
[5931]1542      ELSE
[8074]1543          med_diag%FE_0500%dgsave = .FALSE.
[5931]1544      ENDIF
[8074]1545      IF  (iom_use("FE_1000")) THEN
1546          med_diag%FE_1000%dgsave = .TRUE.
[5931]1547      ELSE
[8074]1548          med_diag%FE_1000%dgsave = .FALSE.
[5931]1549      ENDIF
[8074]1550      IF  (iom_use("MED_XZE")) THEN
1551          med_diag%MED_XZE%dgsave = .TRUE.
[5931]1552      ELSE
[8074]1553          med_diag%MED_XZE%dgsave = .FALSE.
[5931]1554      ENDIF
[8074]1555      IF  (iom_use("WIND")) THEN
1556          med_diag%WIND%dgsave = .TRUE.
[5931]1557      ELSE
[8074]1558          med_diag%WIND%dgsave = .FALSE.
[5931]1559      ENDIF
[8074]1560      IF  (iom_use("ATM_PCO2")) THEN
1561          med_diag%ATM_PCO2%dgsave = .TRUE.
[5931]1562      ELSE
[8074]1563          med_diag%ATM_PCO2%dgsave = .FALSE.
[5931]1564      ENDIF
[8074]1565      IF  (iom_use("OCN_PH")) THEN
1566          med_diag%OCN_PH%dgsave = .TRUE.
[5931]1567      ELSE
[8074]1568          med_diag%OCN_PH%dgsave = .FALSE.
[5931]1569      ENDIF
[8074]1570      IF  (iom_use("OCN_PCO2")) THEN
1571          med_diag%OCN_PCO2%dgsave = .TRUE.
[5931]1572      ELSE
[8074]1573          med_diag%OCN_PCO2%dgsave = .FALSE.
[5931]1574      ENDIF
[8074]1575      IF  (iom_use("OCNH2CO3")) THEN
1576          med_diag%OCNH2CO3%dgsave = .TRUE.
[5931]1577      ELSE
[8074]1578          med_diag%OCNH2CO3%dgsave = .FALSE.
[5931]1579      ENDIF
[8074]1580      IF  (iom_use("OCN_HCO3")) THEN
1581          med_diag%OCN_HCO3%dgsave = .TRUE.
[5931]1582      ELSE
[8074]1583          med_diag%OCN_HCO3%dgsave = .FALSE.
[5931]1584      ENDIF
[8074]1585      IF  (iom_use("OCN_CO3")) THEN
1586          med_diag%OCN_CO3%dgsave = .TRUE.
[5931]1587      ELSE
[8074]1588          med_diag%OCN_CO3%dgsave = .FALSE.
[5931]1589      ENDIF
[8074]1590      IF  (iom_use("CO2FLUX")) THEN
1591          med_diag%CO2FLUX%dgsave = .TRUE.
[5931]1592      ELSE
[8074]1593          med_diag%CO2FLUX%dgsave = .FALSE.
[5931]1594      ENDIF
[8074]1595      IF  (iom_use("OM_CAL")) THEN
1596          med_diag%OM_CAL%dgsave = .TRUE.
[5931]1597      ELSE
[8074]1598          med_diag%OM_CAL%dgsave = .FALSE.
[5931]1599      ENDIF
[8074]1600      IF  (iom_use("OM_ARG")) THEN
1601          med_diag%OM_ARG%dgsave = .TRUE.
[5931]1602      ELSE
[8074]1603          med_diag%OM_ARG%dgsave = .FALSE.
[5931]1604      ENDIF
[8074]1605      IF  (iom_use("TCO2")) THEN
1606          med_diag%TCO2%dgsave = .TRUE.
[5931]1607      ELSE
[8074]1608          med_diag%TCO2%dgsave = .FALSE.
[5931]1609      ENDIF
[8074]1610      IF  (iom_use("TALK")) THEN
1611          med_diag%TALK%dgsave = .TRUE.
[5931]1612      ELSE
[8074]1613          med_diag%TALK%dgsave = .FALSE.
[5931]1614      ENDIF
[8074]1615      IF  (iom_use("KW660")) THEN
1616          med_diag%KW660%dgsave = .TRUE.
[5931]1617      ELSE
[8074]1618          med_diag%KW660%dgsave = .FALSE.
[5931]1619      ENDIF
[8074]1620      IF  (iom_use("ATM_PP0")) THEN
1621          med_diag%ATM_PP0%dgsave = .TRUE.
[5931]1622      ELSE
[8074]1623          med_diag%ATM_PP0%dgsave = .FALSE.
[5931]1624      ENDIF
[8074]1625      IF  (iom_use("O2FLUX")) THEN
1626          med_diag%O2FLUX%dgsave = .TRUE.
[5931]1627      ELSE
[8074]1628          med_diag%O2FLUX%dgsave = .FALSE.
[5931]1629      ENDIF
[8074]1630      IF  (iom_use("O2SAT")) THEN
1631          med_diag%O2SAT%dgsave = .TRUE.
[5931]1632      ELSE
[8074]1633          med_diag%O2SAT%dgsave = .FALSE.
[5931]1634      ENDIF
[8074]1635      IF  (iom_use("CAL_CCD")) THEN
1636          med_diag%CAL_CCD%dgsave = .TRUE.
[5931]1637      ELSE
[8074]1638          med_diag%CAL_CCD%dgsave = .FALSE.
[5931]1639      ENDIF
[8074]1640      IF  (iom_use("ARG_CCD")) THEN
1641          med_diag%ARG_CCD%dgsave = .TRUE.
[5931]1642      ELSE
[8074]1643          med_diag%ARG_CCD%dgsave = .FALSE.
[5931]1644      ENDIF
[8074]1645      IF  (iom_use("SFR_OCAL")) THEN
1646          med_diag%SFR_OCAL%dgsave = .TRUE.
[5931]1647      ELSE
[8074]1648          med_diag%SFR_OCAL%dgsave = .FALSE.
[5931]1649      ENDIF
[8074]1650      IF  (iom_use("SFR_OARG")) THEN
1651          med_diag%SFR_OARG%dgsave = .TRUE.
[5931]1652      ELSE
[8074]1653          med_diag%SFR_OARG%dgsave = .FALSE.
[5931]1654      ENDIF
[8074]1655      IF  (iom_use("N_PROD")) THEN
1656          med_diag%N_PROD%dgsave = .TRUE.
[5931]1657      ELSE
[8074]1658          med_diag%N_PROD%dgsave = .FALSE.
[5931]1659      ENDIF
[8074]1660      IF  (iom_use("N_CONS")) THEN
1661          med_diag%N_CONS%dgsave = .TRUE.
[5931]1662      ELSE
[8074]1663          med_diag%N_CONS%dgsave = .FALSE.
[5931]1664      ENDIF
[8074]1665      IF  (iom_use("C_PROD")) THEN
1666          med_diag%C_PROD%dgsave = .TRUE.
[5931]1667      ELSE
[8074]1668          med_diag%C_PROD%dgsave = .FALSE.
[5931]1669      ENDIF
[8074]1670      IF  (iom_use("C_CONS")) THEN
1671          med_diag%C_CONS%dgsave = .TRUE.
[5931]1672      ELSE
[8074]1673          med_diag%C_CONS%dgsave = .FALSE.
[5931]1674      ENDIF
[8074]1675      IF  (iom_use("O2_PROD")) THEN
1676          med_diag%O2_PROD%dgsave = .TRUE.
[5931]1677      ELSE
[8074]1678          med_diag%O2_PROD%dgsave = .FALSE.
[5931]1679      ENDIF
[8074]1680      IF  (iom_use("O2_CONS")) THEN
1681          med_diag%O2_CONS%dgsave = .TRUE.
[5931]1682      ELSE
[8074]1683          med_diag%O2_CONS%dgsave = .FALSE.
[5931]1684      ENDIF
[8074]1685      IF  (iom_use("O2_ANOX")) THEN
1686          med_diag%O2_ANOX%dgsave = .TRUE.
[5931]1687      ELSE
[8074]1688          med_diag%O2_ANOX%dgsave = .FALSE.
[5931]1689      ENDIF
[8074]1690      IF  (iom_use("RR_0100")) THEN
1691          med_diag%RR_0100%dgsave = .TRUE.
[5931]1692      ELSE
[8074]1693          med_diag%RR_0100%dgsave = .FALSE.
[5931]1694      ENDIF
[8074]1695      IF  (iom_use("RR_0500")) THEN
1696          med_diag%RR_0500%dgsave = .TRUE.
[5931]1697      ELSE
[8074]1698          med_diag%RR_0500%dgsave = .FALSE.
[5931]1699      ENDIF
[8074]1700      IF  (iom_use("RR_1000")) THEN
1701          med_diag%RR_1000%dgsave = .TRUE.
[5931]1702      ELSE
[8074]1703          med_diag%RR_1000%dgsave = .FALSE.
[5931]1704      ENDIF
[8074]1705      IF  (iom_use("IBEN_N")) THEN
1706          med_diag%IBEN_N%dgsave = .TRUE.
[5931]1707      ELSE
[8074]1708          med_diag%IBEN_N%dgsave = .FALSE.
[5931]1709      ENDIF
[8074]1710      IF  (iom_use("IBEN_FE")) THEN
1711          med_diag%IBEN_FE%dgsave = .TRUE.
[5931]1712      ELSE
[8074]1713          med_diag%IBEN_FE%dgsave = .FALSE.
[5931]1714      ENDIF
[8074]1715      IF  (iom_use("IBEN_C")) THEN
1716          med_diag%IBEN_C%dgsave = .TRUE.
[5931]1717      ELSE
[8074]1718          med_diag%IBEN_C%dgsave = .FALSE.
[5931]1719      ENDIF
[8074]1720      IF  (iom_use("IBEN_SI")) THEN
1721          med_diag%IBEN_SI%dgsave = .TRUE.
[5931]1722      ELSE
[8074]1723          med_diag%IBEN_SI%dgsave = .FALSE.
[5931]1724      ENDIF
[8074]1725      IF  (iom_use("IBEN_CA")) THEN
1726          med_diag%IBEN_CA%dgsave = .TRUE.
[5931]1727      ELSE
[8074]1728          med_diag%IBEN_CA%dgsave = .FALSE.
[5931]1729      ENDIF
[8074]1730      IF  (iom_use("OBEN_N")) THEN
1731          med_diag%OBEN_N%dgsave = .TRUE.
[5931]1732      ELSE
[8074]1733          med_diag%OBEN_N%dgsave = .FALSE.
[5931]1734      ENDIF
[8074]1735      IF  (iom_use("OBEN_FE")) THEN
1736          med_diag%OBEN_FE%dgsave = .TRUE.
[5931]1737      ELSE
[8074]1738          med_diag%OBEN_FE%dgsave = .FALSE.
[5931]1739      ENDIF
[8074]1740      IF  (iom_use("OBEN_C")) THEN
1741          med_diag%OBEN_C%dgsave = .TRUE.
[5931]1742      ELSE
[8074]1743          med_diag%OBEN_C%dgsave = .FALSE.
[5931]1744      ENDIF
[8074]1745      IF  (iom_use("OBEN_SI")) THEN
1746          med_diag%OBEN_SI%dgsave = .TRUE.
[5931]1747      ELSE
[8074]1748          med_diag%OBEN_SI%dgsave = .FALSE.
[5931]1749      ENDIF
[8074]1750      IF  (iom_use("OBEN_CA")) THEN
1751          med_diag%OBEN_CA%dgsave = .TRUE.
[5931]1752      ELSE
[8074]1753          med_diag%OBEN_CA%dgsave = .FALSE.
[5931]1754      ENDIF
[8074]1755      IF  (iom_use("BEN_N")) THEN
1756          med_diag%BEN_N%dgsave = .TRUE.
[5931]1757      ELSE
[8074]1758          med_diag%BEN_N%dgsave = .FALSE.
[5931]1759      ENDIF
[8074]1760      IF  (iom_use("BEN_FE")) THEN
1761          med_diag%BEN_FE%dgsave = .TRUE.
[5931]1762      ELSE
[8074]1763          med_diag%BEN_FE%dgsave = .FALSE.
[5931]1764      ENDIF
[8074]1765      IF  (iom_use("BEN_C")) THEN
1766          med_diag%BEN_C%dgsave = .TRUE.
[5931]1767      ELSE
[8074]1768          med_diag%BEN_C%dgsave = .FALSE.
[5931]1769      ENDIF
[8074]1770      IF  (iom_use("BEN_SI")) THEN
1771          med_diag%BEN_SI%dgsave = .TRUE.
[5931]1772      ELSE
[8074]1773          med_diag%BEN_SI%dgsave = .FALSE.
[5931]1774      ENDIF
[8074]1775      IF  (iom_use("BEN_CA")) THEN
1776          med_diag%BEN_CA%dgsave = .TRUE.
[5931]1777      ELSE
[8074]1778          med_diag%BEN_CA%dgsave = .FALSE.
[5931]1779      ENDIF
[8074]1780      IF  (iom_use("RUNOFF")) THEN
1781          med_diag%RUNOFF%dgsave = .TRUE.
[5931]1782      ELSE
[8074]1783          med_diag%RUNOFF%dgsave = .FALSE.
[5931]1784      ENDIF
[8074]1785      IF  (iom_use("RIV_N")) THEN
1786          med_diag%RIV_N%dgsave = .TRUE.
[5931]1787      ELSE
[8074]1788          med_diag%RIV_N%dgsave = .FALSE.
[5931]1789      ENDIF
[8074]1790      IF  (iom_use("RIV_SI")) THEN
1791          med_diag%RIV_SI%dgsave = .TRUE.
[5931]1792      ELSE
[8074]1793          med_diag%RIV_SI%dgsave = .FALSE.
[5931]1794      ENDIF
[8074]1795      IF  (iom_use("RIV_C")) THEN
1796          med_diag%RIV_C%dgsave = .TRUE.
[5931]1797      ELSE
[8074]1798          med_diag%RIV_C%dgsave = .FALSE.
[5931]1799      ENDIF
[8074]1800      IF  (iom_use("RIV_ALK")) THEN
1801          med_diag%RIV_ALK%dgsave = .TRUE.
[5931]1802      ELSE
[8074]1803          med_diag%RIV_ALK%dgsave = .FALSE.
[5931]1804      ENDIF
[8074]1805      IF  (iom_use("DETC")) THEN
1806          med_diag%DETC%dgsave = .TRUE.
[5931]1807      ELSE
[8074]1808          med_diag%DETC%dgsave = .FALSE.
[5931]1809      ENDIF
[8074]1810      IF  (iom_use("SDC__100")) THEN
1811          med_diag%SDC__100%dgsave = .TRUE.
[5931]1812      ELSE
[8074]1813          med_diag%SDC__100%dgsave = .FALSE.
[5931]1814      ENDIF
[8074]1815      IF  (iom_use("SDC__200")) THEN
1816          med_diag%SDC__200%dgsave = .TRUE.
[5931]1817      ELSE
[8074]1818          med_diag%SDC__200%dgsave = .FALSE.
[5931]1819      ENDIF
[8074]1820      IF  (iom_use("SDC__500")) THEN
1821          med_diag%SDC__500%dgsave = .TRUE.
[5931]1822      ELSE
[8074]1823          med_diag%SDC__500%dgsave = .FALSE.
[5931]1824      ENDIF
[8074]1825      IF  (iom_use("SDC_1000")) THEN
1826          med_diag%SDC_1000%dgsave = .TRUE.
[5931]1827      ELSE
[8074]1828          med_diag%SDC_1000%dgsave = .FALSE.
[5931]1829      ENDIF
[8074]1830      IF  (iom_use("INVTC")) THEN
1831          med_diag%INVTC%dgsave = .TRUE.
[5931]1832      ELSE
[8074]1833          med_diag%INVTC%dgsave = .FALSE.
[5931]1834      ENDIF
[8074]1835      IF  (iom_use("INVTALK")) THEN
1836          med_diag%INVTALK%dgsave = .TRUE.
[5931]1837      ELSE
[8074]1838          med_diag%INVTALK%dgsave = .FALSE.
[5931]1839      ENDIF
[8074]1840      IF  (iom_use("INVTO2")) THEN
1841          med_diag%INVTO2%dgsave = .TRUE.
[5931]1842      ELSE
[8074]1843          med_diag%INVTO2%dgsave = .FALSE.
[5931]1844      ENDIF
[8074]1845      IF  (iom_use("LYSO_CA")) THEN
1846          med_diag%LYSO_CA%dgsave = .TRUE.
[5931]1847      ELSE
[8074]1848          med_diag%LYSO_CA%dgsave = .FALSE.
[5931]1849      ENDIF
[8074]1850      IF  (iom_use("COM_RESP")) THEN
1851          med_diag%COM_RESP%dgsave = .TRUE.
[5931]1852      ELSE
[8074]1853          med_diag%COM_RESP%dgsave = .FALSE.
[5931]1854      ENDIF
[8074]1855      IF  (iom_use("PN_LLOSS")) THEN
1856          med_diag%PN_LLOSS%dgsave = .TRUE.
[5931]1857      ELSE
[8074]1858          med_diag%PN_LLOSS%dgsave = .FALSE.
[5931]1859      ENDIF
[8074]1860      IF  (iom_use("PD_LLOSS")) THEN
1861          med_diag%PD_LLOSS%dgsave = .TRUE.
[5931]1862      ELSE
[8074]1863          med_diag%PD_LLOSS%dgsave = .FALSE.
[5931]1864      ENDIF
[8074]1865      IF  (iom_use("ZI_LLOSS")) THEN
1866          med_diag%ZI_LLOSS%dgsave = .TRUE.
[5931]1867      ELSE
[8074]1868          med_diag%ZI_LLOSS%dgsave = .FALSE.
[5931]1869      ENDIF
[8074]1870      IF  (iom_use("ZE_LLOSS")) THEN
1871          med_diag%ZE_LLOSS%dgsave = .TRUE.
[5931]1872      ELSE
[8074]1873          med_diag%ZE_LLOSS%dgsave = .FALSE.
[5931]1874      ENDIF
[8074]1875      IF  (iom_use("ZI_MES_N")) THEN
1876          med_diag%ZI_MES_N%dgsave = .TRUE.
[5931]1877      ELSE
[8074]1878          med_diag%ZI_MES_N%dgsave = .FALSE.
[5931]1879      ENDIF
[8074]1880      IF  (iom_use("ZI_MES_D")) THEN
1881          med_diag%ZI_MES_D%dgsave = .TRUE.
[5931]1882      ELSE
[8074]1883          med_diag%ZI_MES_D%dgsave = .FALSE.
[5931]1884      ENDIF
[8074]1885      IF  (iom_use("ZI_MES_C")) THEN
1886          med_diag%ZI_MES_C%dgsave = .TRUE.
[5931]1887      ELSE
[8074]1888          med_diag%ZI_MES_C%dgsave = .FALSE.
[5931]1889      ENDIF
[8074]1890      IF  (iom_use("ZI_MESDC")) THEN
1891          med_diag%ZI_MESDC%dgsave = .TRUE.
[5931]1892      ELSE
[8074]1893          med_diag%ZI_MESDC%dgsave = .FALSE.
[5931]1894      ENDIF
[8074]1895      IF  (iom_use("ZI_EXCR")) THEN
1896          med_diag%ZI_EXCR%dgsave = .TRUE.
[5931]1897      ELSE
[8074]1898          med_diag%ZI_EXCR%dgsave = .FALSE.
[5931]1899      ENDIF
[8074]1900      IF  (iom_use("ZI_RESP")) THEN
1901          med_diag%ZI_RESP%dgsave = .TRUE.
[5931]1902      ELSE
[8074]1903          med_diag%ZI_RESP%dgsave = .FALSE.
[5931]1904      ENDIF
[8074]1905      IF  (iom_use("ZI_GROW")) THEN
1906          med_diag%ZI_GROW%dgsave = .TRUE.
[5931]1907      ELSE
[8074]1908          med_diag%ZI_GROW%dgsave = .FALSE.
[5931]1909      ENDIF
[8074]1910      IF  (iom_use("ZE_MES_N")) THEN
1911          med_diag%ZE_MES_N%dgsave = .TRUE.
[5931]1912      ELSE
[8074]1913          med_diag%ZE_MES_N%dgsave = .FALSE.
[5931]1914      ENDIF
[8074]1915      IF  (iom_use("ZE_MES_D")) THEN
1916          med_diag%ZE_MES_D%dgsave = .TRUE.
[5931]1917      ELSE
[8074]1918          med_diag%ZE_MES_D%dgsave = .FALSE.
[5931]1919      ENDIF
[8074]1920      IF  (iom_use("ZE_MES_C")) THEN
1921          med_diag%ZE_MES_C%dgsave = .TRUE.
[5931]1922      ELSE
[8074]1923          med_diag%ZE_MES_C%dgsave = .FALSE.
[5931]1924      ENDIF
[8074]1925      IF  (iom_use("ZE_MESDC")) THEN
1926          med_diag%ZE_MESDC%dgsave = .TRUE.
[5931]1927      ELSE
[8074]1928          med_diag%ZE_MESDC%dgsave = .FALSE.
[5931]1929      ENDIF
[8074]1930      IF  (iom_use("ZE_EXCR")) THEN
1931          med_diag%ZE_EXCR%dgsave = .TRUE.
[5931]1932      ELSE
[8074]1933          med_diag%ZE_EXCR%dgsave = .FALSE.
[5931]1934      ENDIF
[8074]1935      IF  (iom_use("ZE_RESP")) THEN
1936          med_diag%ZE_RESP%dgsave = .TRUE.
[5931]1937      ELSE
[8074]1938          med_diag%ZE_RESP%dgsave = .FALSE.
[5931]1939      ENDIF
[8074]1940      IF  (iom_use("ZE_GROW")) THEN
1941          med_diag%ZE_GROW%dgsave = .TRUE.
[5931]1942      ELSE
[8074]1943          med_diag%ZE_GROW%dgsave = .FALSE.
[5931]1944      ENDIF
[8074]1945      IF  (iom_use("MDETC")) THEN
1946          med_diag%MDETC%dgsave = .TRUE.
[5931]1947      ELSE
[8074]1948          med_diag%MDETC%dgsave = .FALSE.
[5931]1949      ENDIF
[8074]1950      IF  (iom_use("GMIDC")) THEN
1951          med_diag%GMIDC%dgsave = .TRUE.
[5931]1952      ELSE
[8074]1953          med_diag%GMIDC%dgsave = .FALSE.
[5931]1954      ENDIF
[8074]1955      IF  (iom_use("GMEDC")) THEN
1956          med_diag%GMEDC%dgsave = .TRUE.
[5931]1957      ELSE
[8074]1958          med_diag%GMEDC%dgsave = .FALSE.
[5931]1959      ENDIF
[8074]1960      IF  (iom_use("INT_ZMI")) THEN
1961          med_diag%INT_ZMI%dgsave = .TRUE.
[5931]1962      ELSE
[8074]1963          med_diag%INT_ZMI%dgsave = .FALSE.
[5931]1964      ENDIF
[8074]1965      IF  (iom_use("INT_ZME")) THEN
1966          med_diag%INT_ZME%dgsave = .TRUE.
[5931]1967      ELSE
[8074]1968          med_diag%INT_ZME%dgsave = .FALSE.
[5931]1969      ENDIF
[8074]1970      IF  (iom_use("INT_DET")) THEN
1971          med_diag%INT_DET%dgsave = .TRUE.
[5931]1972      ELSE
[8074]1973          med_diag%INT_DET%dgsave = .FALSE.
[5931]1974      ENDIF
[8074]1975      IF  (iom_use("INT_DTC")) THEN
1976          med_diag%INT_DTC%dgsave = .TRUE.
[5931]1977      ELSE
[8074]1978          med_diag%INT_DTC%dgsave = .FALSE.
[5931]1979      ENDIF
[8074]1980      IF  (iom_use("DMS_SURF")) THEN
1981          med_diag%DMS_SURF%dgsave = .TRUE.
[5931]1982      ELSE
[8074]1983          med_diag%DMS_SURF%dgsave = .FALSE.
[5931]1984      ENDIF
[8074]1985      IF  (iom_use("DMS_ANDR")) THEN
1986          med_diag%DMS_ANDR%dgsave = .TRUE.
[5931]1987      ELSE
[8074]1988          med_diag%DMS_ANDR%dgsave = .FALSE.
[5931]1989      ENDIF
[8074]1990      IF  (iom_use("DMS_SIMO")) THEN
1991          med_diag%DMS_SIMO%dgsave = .TRUE.
[5931]1992      ELSE
[8074]1993          med_diag%DMS_SIMO%dgsave = .FALSE.
[5931]1994      ENDIF
[8074]1995      IF  (iom_use("DMS_ARAN")) THEN
1996          med_diag%DMS_ARAN%dgsave = .TRUE.
[5931]1997      ELSE
[8074]1998          med_diag%DMS_ARAN%dgsave = .FALSE.
[5931]1999      ENDIF
[8074]2000      IF  (iom_use("DMS_HALL")) THEN
2001          med_diag%DMS_HALL%dgsave = .TRUE.
[5931]2002      ELSE
[8074]2003          med_diag%DMS_HALL%dgsave = .FALSE.
[5931]2004      ENDIF
[8131]2005      IF  (iom_use("DMS_ANDM")) THEN
2006          med_diag%DMS_ANDM%dgsave = .TRUE.
2007      ELSE
2008          med_diag%DMS_ANDM%dgsave = .FALSE.
2009      ENDIF
[8074]2010      IF  (iom_use("ATM_XCO2")) THEN
2011          med_diag%ATM_XCO2%dgsave = .TRUE.
[7331]2012      ELSE
[8074]2013          med_diag%ATM_XCO2%dgsave = .FALSE.
[7331]2014      ENDIF
[8074]2015      IF  (iom_use("OCN_FCO2")) THEN
2016          med_diag%OCN_FCO2%dgsave = .TRUE.
[7331]2017      ELSE
[8074]2018          med_diag%OCN_FCO2%dgsave = .FALSE.
[7331]2019      ENDIF
[8074]2020      IF  (iom_use("ATM_FCO2")) THEN
2021          med_diag%ATM_FCO2%dgsave = .TRUE.
[7331]2022      ELSE
[8074]2023          med_diag%ATM_FCO2%dgsave = .FALSE.
[7331]2024      ENDIF
[8074]2025      IF  (iom_use("OCN_RHOSW")) THEN
2026          med_diag%OCN_RHOSW%dgsave = .TRUE.
[7331]2027      ELSE
[8074]2028          med_diag%OCN_RHOSW%dgsave = .FALSE.
[7331]2029      ENDIF
[8074]2030      IF  (iom_use("OCN_SCHCO2")) THEN
2031          med_diag%OCN_SCHCO2%dgsave = .TRUE.
[7331]2032      ELSE
[8074]2033          med_diag%OCN_SCHCO2%dgsave = .FALSE.
[7331]2034      ENDIF
[8074]2035      IF  (iom_use("OCN_KWCO2")) THEN
2036          med_diag%OCN_KWCO2%dgsave = .TRUE.
[7331]2037      ELSE
[8074]2038          med_diag%OCN_KWCO2%dgsave = .FALSE.
[7331]2039      ENDIF
[8074]2040      IF  (iom_use("OCN_K0")) THEN
2041          med_diag%OCN_K0%dgsave = .TRUE.
[7331]2042      ELSE
[8074]2043          med_diag%OCN_K0%dgsave = .FALSE.
[7331]2044      ENDIF
[8074]2045      IF  (iom_use("CO2STARAIR")) THEN
2046          med_diag%CO2STARAIR%dgsave = .TRUE.
[7331]2047      ELSE
[8074]2048          med_diag%CO2STARAIR%dgsave = .FALSE.
[7331]2049      ENDIF
[8074]2050      IF  (iom_use("OCN_DPCO2")) THEN
2051          med_diag%OCN_DPCO2%dgsave = .TRUE.
[7331]2052      ELSE
[8074]2053          med_diag%OCN_DPCO2%dgsave = .FALSE.
[7331]2054      ENDIF
2055      !!
[8074]2056      IF  (iom_use("TPP3")) THEN
2057          med_diag%TPP3%dgsave = .TRUE.
[5931]2058      ELSE
[8074]2059          med_diag%TPP3%dgsave = .FALSE.
[5931]2060      ENDIF
[8074]2061      IF  (iom_use("DETFLUX3")) THEN
2062          med_diag%DETFLUX3%dgsave = .TRUE.
[5931]2063      ELSE
[8074]2064          med_diag%DETFLUX3%dgsave = .FALSE.
[5931]2065      ENDIF
[8074]2066      IF  (iom_use("REMIN3N")) THEN
2067          med_diag%REMIN3N%dgsave = .TRUE.
[5931]2068      ELSE
[8074]2069          med_diag%REMIN3N%dgsave = .FALSE.
[5931]2070      ENDIF
[8074]2071      IF  (iom_use("PH3")) THEN
2072          med_diag%PH3%dgsave = .TRUE.
[5931]2073      ELSE
[8074]2074          med_diag%PH3%dgsave = .FALSE.
[5931]2075      ENDIF
[8074]2076      IF  (iom_use("OM_CAL3")) THEN
2077          med_diag%OM_CAL3%dgsave = .TRUE.
[5931]2078      ELSE
[8074]2079          med_diag%OM_CAL3%dgsave = .FALSE.
[5931]2080      ENDIF
[7224]2081      !!
2082      !!----------------------------------------------------------------------
2083      !! AXY (03/11/16): add in additional CMIP6 diagnostics
2084      !!----------------------------------------------------------------------
2085      !!
2086      !! 2D fields
[8074]2087      IF  (iom_use("epC100")) THEN
2088          med_diag%epC100%dgsave = .TRUE.
[5931]2089      ELSE
[8074]2090          med_diag%epC100%dgsave = .FALSE.
[5931]2091      ENDIF
[8074]2092      IF  (iom_use("epCALC100")) THEN
2093          med_diag%epCALC100%dgsave = .TRUE.
[5931]2094      ELSE
[8074]2095          med_diag%epCALC100%dgsave = .FALSE.
[5931]2096      ENDIF
[8074]2097      IF  (iom_use("epN100")) THEN
2098          med_diag%epN100%dgsave = .TRUE.
[5931]2099      ELSE
[8074]2100          med_diag%epN100%dgsave = .FALSE.
[5931]2101      ENDIF
[8074]2102      IF  (iom_use("epSI100")) THEN
2103          med_diag%epSI100%dgsave = .TRUE.
[5931]2104      ELSE
[8074]2105          med_diag%epSI100%dgsave = .FALSE.
[5931]2106      ENDIF
[8074]2107      IF  (iom_use("FGCO2")) THEN
2108          med_diag%FGCO2%dgsave = .TRUE.
[5931]2109      ELSE
[8074]2110          med_diag%FGCO2%dgsave = .FALSE.
[5931]2111      ENDIF
[8074]2112      IF  (iom_use("INTDISSIC")) THEN
2113          med_diag%INTDISSIC%dgsave = .TRUE.
[5931]2114      ELSE
[8074]2115          med_diag%INTDISSIC%dgsave = .FALSE.
[5931]2116      ENDIF
[8074]2117      IF  (iom_use("INTDISSIN")) THEN
2118          med_diag%INTDISSIN%dgsave = .TRUE.
[5931]2119      ELSE
[8074]2120          med_diag%INTDISSIN%dgsave = .FALSE.
[5931]2121      ENDIF
[8074]2122      IF  (iom_use("INTDISSISI")) THEN
2123          med_diag%INTDISSISI%dgsave = .TRUE.
[5931]2124      ELSE
[8074]2125          med_diag%INTDISSISI%dgsave = .FALSE.
[5931]2126      ENDIF
[8074]2127      IF  (iom_use("INTTALK")) THEN
2128          med_diag%INTTALK%dgsave = .TRUE.
[5931]2129      ELSE
[8074]2130          med_diag%INTTALK%dgsave = .FALSE.
[5931]2131      ENDIF
[8074]2132      IF  (iom_use("O2min")) THEN
2133          med_diag%O2min%dgsave = .TRUE.
[5931]2134      ELSE
[8074]2135          med_diag%O2min%dgsave = .FALSE.
[5931]2136      ENDIF
[8074]2137      IF  (iom_use("ZO2min")) THEN
2138          med_diag%ZO2min%dgsave = .TRUE.
[5931]2139      ELSE
[8074]2140          med_diag%ZO2min%dgsave = .FALSE.
[5931]2141      ENDIF
[8074]2142      IF  (iom_use("FBDDTALK")) THEN
2143          med_diag%FBDDTALK%dgsave = .TRUE.
[7271]2144      ELSE
[8074]2145          med_diag%FBDDTALK%dgsave = .FALSE.
[7271]2146      ENDIF
[8074]2147      IF  (iom_use("FBDDTDIC")) THEN
2148          med_diag%FBDDTDIC%dgsave = .TRUE.
[7271]2149      ELSE
[8074]2150          med_diag%FBDDTDIC%dgsave = .FALSE.
[7271]2151      ENDIF
[8074]2152      IF  (iom_use("FBDDTDIFE")) THEN
2153          med_diag%FBDDTDIFE%dgsave = .TRUE.
[7271]2154      ELSE
[8074]2155          med_diag%FBDDTDIFE%dgsave = .FALSE.
[7271]2156      ENDIF
[8074]2157      IF  (iom_use("FBDDTDIN")) THEN
2158          med_diag%FBDDTDIN%dgsave = .TRUE.
[7331]2159      ELSE
[8074]2160          med_diag%FBDDTDIN%dgsave = .FALSE.
[7331]2161      ENDIF
[8074]2162      IF  (iom_use("FBDDTDISI")) THEN
2163          med_diag%FBDDTDISI%dgsave = .TRUE.
[7271]2164      ELSE
[8074]2165          med_diag%FBDDTDISI%dgsave = .FALSE.
[7271]2166      ENDIF
[7224]2167      !!
[8074]2168      !! 3D
2169      IF  (iom_use("TPPD3")) THEN
2170          med_diag%TPPD3%dgsave = .TRUE.
[5931]2171      ELSE
[8074]2172          med_diag%TPPD3%dgsave = .FALSE.
[5931]2173      ENDIF
[8074]2174      IF  (iom_use("BDDTALK3")) THEN
2175          med_diag%BDDTALK3%dgsave = .TRUE.
[5931]2176      ELSE
[8074]2177          med_diag%BDDTALK3%dgsave = .FALSE.
[5931]2178      ENDIF
[8074]2179      IF  (iom_use("BDDTDIC3")) THEN
2180          med_diag%BDDTDIC3%dgsave = .TRUE.
[5931]2181      ELSE
[8074]2182          med_diag%BDDTDIC3%dgsave = .FALSE.
[5931]2183      ENDIF
[8074]2184      IF  (iom_use("BDDTDIFE3")) THEN
2185          med_diag%BDDTDIFE3%dgsave = .TRUE.
[5931]2186      ELSE
[8074]2187          med_diag%BDDTDIFE3%dgsave = .FALSE.
[5931]2188      ENDIF
[8074]2189      IF  (iom_use("BDDTDIN3")) THEN
2190          med_diag%BDDTDIN3%dgsave = .TRUE.
[7331]2191      ELSE
[8074]2192          med_diag%BDDTDIN3%dgsave = .FALSE.
[7331]2193      ENDIF
[8074]2194      IF  (iom_use("BDDTDISI3")) THEN
2195          med_diag%BDDTDISI3%dgsave = .TRUE.
[5931]2196      ELSE
[8074]2197          med_diag%BDDTDISI3%dgsave = .FALSE.
[5931]2198      ENDIF
[8074]2199      IF  (iom_use("FD_NIT3")) THEN
2200          med_diag%FD_NIT3%dgsave = .TRUE.
[5931]2201      ELSE
[8074]2202          med_diag%FD_NIT3%dgsave = .FALSE.
[5931]2203      ENDIF
[8074]2204      IF  (iom_use("FD_SIL3")) THEN
2205          med_diag%FD_SIL3%dgsave = .TRUE.
[5931]2206      ELSE
[8074]2207          med_diag%FD_SIL3%dgsave = .FALSE.
[5931]2208      ENDIF
[8074]2209      IF  (iom_use("FD_CAR3")) THEN
2210          med_diag%FD_CAR3%dgsave = .TRUE.
[5931]2211      ELSE
[8074]2212          med_diag%FD_CAR3%dgsave = .FALSE.
[5931]2213      ENDIF
[8074]2214      IF  (iom_use("FD_CAL3")) THEN
2215          med_diag%FD_CAL3%dgsave = .TRUE.
[5931]2216      ELSE
[8074]2217          med_diag%FD_CAL3%dgsave = .FALSE.
[5931]2218      ENDIF
[8074]2219      IF  (iom_use("CO33")) THEN
2220          med_diag%CO33%dgsave = .TRUE.
[5931]2221      ELSE
[8074]2222          med_diag%CO33%dgsave = .FALSE.
[5931]2223      ENDIF
[8074]2224      IF  (iom_use("CO3SATARAG3")) THEN
2225          med_diag%CO3SATARAG3%dgsave = .TRUE.
[5931]2226      ELSE
[8074]2227          med_diag%CO3SATARAG3%dgsave = .FALSE.
[5931]2228      ENDIF
[8074]2229      IF  (iom_use("CO3SATCALC3")) THEN
2230          med_diag%CO3SATCALC3%dgsave = .TRUE.
[5931]2231      ELSE
[8074]2232          med_diag%CO3SATCALC3%dgsave = .FALSE.
[5931]2233      ENDIF
[8074]2234      IF  (iom_use("DCALC3")) THEN
2235          med_diag%DCALC3%dgsave = .TRUE.
[5931]2236      ELSE
[8074]2237          med_diag%DCALC3%dgsave = .FALSE.
[5931]2238      ENDIF
[8074]2239      IF  (iom_use("EXPC3")) THEN
2240          med_diag%EXPC3%dgsave = .TRUE.
[5931]2241      ELSE
[8074]2242          med_diag%EXPC3%dgsave = .FALSE.
[5931]2243      ENDIF
[8074]2244      IF  (iom_use("EXPN3")) THEN
2245          med_diag%EXPN3%dgsave = .TRUE.
[5931]2246      ELSE
[8074]2247          med_diag%EXPN3%dgsave = .FALSE.
[5931]2248      ENDIF
[8074]2249      IF  (iom_use("FEDISS3")) THEN
2250          med_diag%FEDISS3%dgsave = .TRUE.
[5931]2251      ELSE
[8074]2252          med_diag%FEDISS3%dgsave = .FALSE.
[5931]2253      ENDIF
[8074]2254      IF  (iom_use("FESCAV3")) THEN
2255          med_diag%FESCAV3%dgsave = .TRUE.
[5931]2256      ELSE
[8074]2257          med_diag%FESCAV3%dgsave = .FALSE.
[5931]2258      ENDIF
[8074]2259      IF  (iom_use("MIGRAZP3")) THEN
2260          med_diag%MIGRAZP3%dgsave = .TRUE.
[5931]2261      ELSE
[8074]2262          med_diag%MIGRAZP3%dgsave = .FALSE.
[5931]2263      ENDIF
[8074]2264      IF  (iom_use("MIGRAZD3")) THEN
2265          med_diag%MIGRAZD3%dgsave = .TRUE.
[5931]2266      ELSE
[8074]2267          med_diag%MIGRAZD3%dgsave = .FALSE.
[5931]2268      ENDIF
[8074]2269      IF  (iom_use("MEGRAZP3")) THEN
2270          med_diag%MEGRAZP3%dgsave = .TRUE.
[5931]2271      ELSE
[8074]2272          med_diag%MEGRAZP3%dgsave = .FALSE.
[5931]2273      ENDIF
[8074]2274      IF  (iom_use("MEGRAZD3")) THEN
2275          med_diag%MEGRAZD3%dgsave = .TRUE.
[5931]2276      ELSE
[8074]2277          med_diag%MEGRAZD3%dgsave = .FALSE.
[5931]2278      ENDIF
[8074]2279      IF  (iom_use("MEGRAZZ3")) THEN
2280          med_diag%MEGRAZZ3%dgsave = .TRUE.
[5931]2281      ELSE
[8074]2282          med_diag%MEGRAZZ3%dgsave = .FALSE.
[5931]2283      ENDIF
[8074]2284      IF  (iom_use("O2SAT3")) THEN
2285          med_diag%O2SAT3%dgsave = .TRUE.
[5931]2286      ELSE
[8074]2287          med_diag%O2SAT3%dgsave = .FALSE.
[5931]2288      ENDIF
[8074]2289      IF  (iom_use("PBSI3")) THEN
2290          med_diag%PBSI3%dgsave = .TRUE.
[5931]2291      ELSE
[8074]2292          med_diag%PBSI3%dgsave = .FALSE.
[5931]2293      ENDIF
[8074]2294      IF  (iom_use("PCAL3")) THEN
2295          med_diag%PCAL3%dgsave = .TRUE.
[5931]2296      ELSE
[8074]2297          med_diag%PCAL3%dgsave = .FALSE.
[5931]2298      ENDIF
[8074]2299      IF  (iom_use("REMOC3")) THEN
2300          med_diag%REMOC3%dgsave = .TRUE.
[5931]2301      ELSE
[8074]2302          med_diag%REMOC3%dgsave = .FALSE.
[5931]2303      ENDIF
[8074]2304      IF  (iom_use("PNLIMJ3")) THEN
2305          med_diag%PNLIMJ3%dgsave = .TRUE.
[5931]2306      ELSE
[8074]2307          med_diag%PNLIMJ3%dgsave = .FALSE.
[5931]2308      ENDIF
[8074]2309      IF  (iom_use("PNLIMN3")) THEN
2310          med_diag%PNLIMN3%dgsave = .TRUE.
[5931]2311      ELSE
[8074]2312          med_diag%PNLIMN3%dgsave = .FALSE.
[5931]2313      ENDIF
[8074]2314      IF  (iom_use("PNLIMFE3")) THEN
2315          med_diag%PNLIMFE3%dgsave = .TRUE.
[5931]2316      ELSE
[8074]2317          med_diag%PNLIMFE3%dgsave = .FALSE.
[5931]2318      ENDIF
[8074]2319      IF  (iom_use("PDLIMJ3")) THEN
2320          med_diag%PDLIMJ3%dgsave = .TRUE.
[5931]2321      ELSE
[8074]2322          med_diag%PDLIMJ3%dgsave = .FALSE.
[5931]2323      ENDIF
[8074]2324      IF  (iom_use("PDLIMN3")) THEN
2325          med_diag%PDLIMN3%dgsave = .TRUE.
[5931]2326      ELSE
[8074]2327          med_diag%PDLIMN3%dgsave = .FALSE.
[5931]2328      ENDIF
[8074]2329      IF  (iom_use("PDLIMFE3")) THEN
2330          med_diag%PDLIMFE3%dgsave = .TRUE.
[5931]2331      ELSE
[8074]2332          med_diag%PDLIMFE3%dgsave = .FALSE.
[5931]2333      ENDIF
[8074]2334      IF  (iom_use("PDLIMSI3")) THEN
2335          med_diag%PDLIMSI3%dgsave = .TRUE.
[7224]2336      ELSE
[8074]2337          med_diag%PDLIMSI3%dgsave = .FALSE.
[7224]2338      ENDIF
[8074]2339
[5931]2340   END SUBROUTINE   trc_nam_iom_medusa
2341   
[5726]2342#else
2343   !!----------------------------------------------------------------------
2344   !!  Dummy module :                                             No MEDUSA
2345   !!----------------------------------------------------------------------
2346CONTAINS
2347   SUBROUTINE trc_nam_medusa                      ! Empty routine
2348   END  SUBROUTINE  trc_nam_medusa
2349#endif 
2350
2351   !!======================================================================
2352END MODULE trcnam_medusa
Note: See TracBrowser for help on using the repository browser.