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_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/MEDUSA – NEMO

source: branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcnam_medusa.F90 @ 8074

Last change on this file since 8074 was 8074, checked in by jpalmier, 7 years ago

JPALM -- reverse MEDUSA cleaning and update MOCSY

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