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.
seddsr.F90 in trunk/NEMOGCM/NEMO/TOP_SRC/SED – NEMO

source: trunk/NEMOGCM/NEMO/TOP_SRC/SED/seddsr.F90 @ 2528

Last change on this file since 2528 was 2528, checked in by rblod, 13 years ago

Update NEMOGCM from branch nemo_v3_3_beta

  • Property svn:keywords set to Id
File size: 19.5 KB
Line 
1MODULE seddsr
2#if defined key_sed
3   !!======================================================================
4   !!              ***  MODULE  seddsr  ***
5   !!    Sediment : dissolution and reaction in pore water
6   !!=====================================================================
7   !! * Modules used
8   USE sed     ! sediment global variable
9   USE sedmat  ! linear system of equations
10   USE sedco3  ! carbonate ion and proton concentration
11
12   PUBLIC sed_dsr
13
14   !! * Module variables
15
16   REAL(wp), DIMENSION(:), PUBLIC, ALLOCATABLE :: &
17      cons_o2   , &
18      cons_no3  , &
19      sour_no3  , &
20      sour_c13
21
22    REAL(wp), DIMENSION(jpsol), PUBLIC :: &
23       dens_mol_wgt
24 
25CONTAINS
26   
27   SUBROUTINE sed_dsr( kt ) 
28      !!----------------------------------------------------------------------
29      !!                   ***  ROUTINE sed_dsr  ***
30      !!
31      !!  ** Purpose :  computes pore water dissolution and reaction
32      !!
33      !!  ** Methode :  implicit simultaneous computation of undersaturation
34      !!               resulting from diffusive pore water transport and chemical
35      !!               pore water reactions. Solid material is consumed according
36      !!               to redissolution and remineralisation
37      !!
38      !!  ** Remarks :
39      !!              - undersaturation : deviation from saturation concentration
40      !!              - reaction rate   : sink of undersaturation from dissolution
41      !!                                 of solid material
42      !!
43      !!   History :
44      !!        !  98-08 (E. Maier-Reimer, Christoph Heinze )  Original code
45      !!        !  04-10 (N. Emprin, M. Gehlen ) f90
46      !!        !  06-04 (C. Ethe)  Re-organization
47      !!----------------------------------------------------------------------
48      !! Arguments
49      INTEGER, INTENT(in) ::   kt       ! number of iteration
50      ! --- local variables
51      INTEGER :: &
52         ji, jk, js, jw
53     
54      INTEGER  ::    &
55         nv                        ! number of variables in linear tridiagonal eq
56   
57      REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: &
58         zrearat,  &            ! reaction rate in pore water
59         zundsat                ! undersaturation ; indice jpwatp1 is for calcite   
60     
61      REAL(wp), DIMENSION(:) , ALLOCATABLE :: &    ! temp. variables
62         zmo2_0 , zmo2_1 ,    &          ! mass balance calculation
63         zmno3_0, zmno3_1, zmno3_2,    &
64         zmc13_0, zmc13_1, zmc13_2, zmc13_3
65 
66      REAL(wp), DIMENSION(:,:,:) , ALLOCATABLE :: &    ! temp. variables
67         zvolc
68
69      REAL(wp)  ::  &
70         zsolid1, zsolid2, zsolid3, &
71         zvolw, zreasat
72     
73      !!
74      !!----------------------------------------------------------------------
75
76      IF( kt == nitsed000 ) THEN
77         WRITE(numsed,*) ' sed_dsr : Dissolution reaction '
78         WRITE(numsed,*) ' '
79         dens_mol_wgt(1:jpsol) = dens / mol_wgt(1:jpsol)
80
81         ALLOCATE( cons_o2 (jpoce) ) ;   ALLOCATE( cons_no3(jpoce) ) 
82         ALLOCATE( sour_no3(jpoce) ) ;   ALLOCATE( sour_c13(jpoce) ) 
83   
84      ENDIF
85
86      ! Initialization of data for mass balance calculation
87      !---------------------------------------------------
88
89      tokbot(:,:)  = 0.
90      cons_o2 (:)  = 0. 
91      cons_no3(:)  = 0. 
92      sour_no3(:)  = 0. 
93      sour_c13(:)  = 0.       
94   
95      ! Initializations
96      !----------------------
97      ALLOCATE( zmo2_0 (jpoce) ) ;  ALLOCATE( zmo2_1 (jpoce) ) 
98      ALLOCATE( zmno3_0(jpoce) ) ;  ALLOCATE( zmno3_1(jpoce) )  ;  ALLOCATE( zmno3_2(jpoce) ) 
99      ALLOCATE( zmc13_0(jpoce) ) ;  ALLOCATE( zmc13_1(jpoce) )  ;  ALLOCATE( zmc13_2(jpoce) ) ;  ALLOCATE( zmc13_3(jpoce) ) 
100
101      zmo2_0 (:) = 0.  ; zmo2_1 (:) = 0.
102      zmno3_0(:) = 0.  ; zmno3_1(:) = 0.  ;  zmno3_2(:) = 0.
103      zmc13_0(:) = 0.  ; zmc13_1(:) = 0.  ;  zmc13_2(:) = 0.  ; zmc13_3(:) = 0.
104     
105      ALLOCATE( zrearat(jpoce,jpksed,3) ) ;  ALLOCATE( zundsat(jpoce,jpksed,3) )     
106      zrearat(:,:,:)   = 0.    ;   zundsat(:,:,:) = 0. 
107
108
109      ALLOCATE( zvolc(jpoce,jpksed,jpsol) ) 
110      zvolc(:,:,:)   = 0.
111
112      !--------------------------------------------------------------------
113      ! Temporary accomodation to take account of  particule rain deposition
114      !---------------------------------------------------------------------
115     
116     
117      ! 1. Change of geometry
118      !    Increase of dz3d(2) thickness : dz3d(2) = dz3d(2)+dzdep
119      !    Warning : no change for dz(2)
120      !---------------------------------------------------------
121      dz3d(1:jpoce,2) = dz3d(1:jpoce,2) + dzdep(1:jpoce)
122
123     
124      ! New values for volw3d(:,2) and vols3d(:,2)
125      ! Warning : no change neither for volw(2) nor  vols(2)
126      !------------------------------------------------------
127      volw3d(1:jpoce,2) = dz3d(1:jpoce,2) * por(2)
128      vols3d(1:jpoce,2) = dz3d(1:jpoce,2) * por1(2)
129
130      ! Conversion of volume units
131      !----------------------------
132      DO js = 1, jpsol
133         DO jk = 1, jpksed
134            DO ji = 1, jpoce   
135               zvolc(ji,jk,js) = ( vols3d(ji,jk) * dens_mol_wgt(js) ) /  &
136                  &              ( volw3d(ji,jk) * 1.e-3 )     
137            ENDDO
138         ENDDO
139      ENDDO
140
141      ! 2. Change of previous solid fractions (due to volum changes) for k=2
142      !---------------------------------------------------------------------
143
144      DO js = 1, jpsol
145         DO ji = 1, jpoce
146            solcp(ji,2,js) = solcp(ji,2,js) * dz(2) / dz3d(ji,2)
147         ENDDO
148      END DO
149
150      ! 3. New solid fractions (including solid rain fractions) for k=2 
151      !------------------------------------------------------------------   
152      DO js = 1, jpsol
153         DO ji = 1, jpoce
154            solcp(ji,2,js) = solcp(ji,2,js) + &
155            &           ( rainrg(ji,js) / raintg(ji) ) * ( dzdep(ji) / dz3d(ji,2) )
156            ! rainrm are temporary cancel
157            rainrm(ji,js) = 0.
158         END DO
159      ENDDO
160
161      ! 4.  Adjustment of bottom water concen.(pwcp(1)):
162      !     We impose that pwcp(2) is constant. Including dzdep in dz3d(:,2) we assume
163      !     that dzdep has got a porosity of por(2). So pore water volum of jk=2 increase.
164      !     To keep pwcp(2) cste we must compensate this "increase" by a slight adjusment
165      !     of bottom water concentration.
166      !     This adjustment is compensate at the end of routine
167      !-------------------------------------------------------------
168      DO jw = 1, jpwat
169         DO ji = 1, jpoce
170            pwcp(ji,1,jw) = pwcp(ji,1,jw) - &
171               &            pwcp(ji,2,jw) * dzdep(ji) * por(2) / dzkbot(ji)
172         END DO
173      ENDDO
174
175 
176      !----------------------------------------------------------
177      ! 5.  Beginning of  Pore Water diffusion and solid reaction
178      !---------------------------------------------------------
179     
180      !-----------------------------------------------------------------------------
181      ! For jk=2,jpksed, and for couple
182      !  1 : jwsil/jsopal  ( SI/Opal )
183      !  2 : jsclay/jsclay ( clay/clay )
184      !  3 : jwoxy/jspoc   ( O2/POC )
185      !  reaction rate is a function of solid=concentration in solid reactif in [mol/l]
186      !  and undersaturation in [mol/l].
187      !  Solid weight fractions should be in ie [mol/l])
188      !  second member and solution are in zundsat variable
189      !-------------------------------------------------------------------------
190
191      !number of variables
192      nv  = 3
193     
194      DO jk = 1, jpksed
195         DO ji = 1, jpoce
196            ! For Silicic Acid and clay
197            zundsat(ji,jk,1) = sat_sil   - pwcp(ji,jk,jwsil)
198            zundsat(ji,jk,2) = sat_clay
199            ! For O2
200            zundsat(ji,jk,3) = pwcp(ji,jk,jwoxy) / so2ut 
201         ENDDO
202      ENDDO
203     
204     
205      ! Definition of reaction rates [rearat]=sans dim
206      ! For jk=1 no reaction (pure water without solid) for each solid compo
207      DO ji = 1, jpoce
208         zrearat(ji,1,:) = 0.
209      ENDDO
210
211
212      ! left hand side of coefficient matrix
213      DO jk = 2, jpksed
214         DO ji = 1, jpoce
215            zsolid1 = zvolc(ji,jk,jsopal) * solcp(ji,jk,jsopal)
216            zsolid2 = zvolc(ji,jk,jsclay) * solcp(ji,jk,jsclay)
217            zsolid3 = zvolc(ji,jk,jspoc)  * solcp(ji,jk,jspoc)
218
219            zrearat(ji,jk,1)  = ( reac_sil * dtsed * zsolid1 ) / &
220               &                ( 1. + reac_sil * dtsed * zundsat(ji,jk,1 ) )
221            zrearat(ji,jk,2)  = ( reac_clay * dtsed * zsolid2 ) / &
222               &                ( 1. + reac_clay * dtsed * zundsat(ji,jk,2 ) )
223            zrearat(ji,jk,3)  = ( reac_poc  * dtsed * zsolid3 ) / &
224               &                ( 1. + reac_poc  * dtsed * zundsat(ji,jk,3 ) )
225         ENDDO
226      ENDDO
227
228
229      CALL sed_mat( nv, jpoce, jpksed, zrearat, zundsat )
230
231
232      ! New solid concentration values (jk=2 to jksed) for each couple
233      DO js = 1, nv
234         DO jk = 2, jpksed
235            DO ji = 1, jpoce
236               zreasat = zrearat(ji,jk,js) * zundsat(ji,jk,js) / zvolc(ji,jk,js)
237               solcp(ji,jk,js) = solcp(ji,jk,js) - zreasat
238            ENDDO
239         ENDDO
240      ENDDO
241      ! mass of O2/NO3 before POC remin. for mass balance check
242      ! det. of o2 consomation/NO3 production Mc13
243      DO jk = 1, jpksed
244         DO ji = 1, jpoce
245            zvolw = volw3d(ji,jk) * 1.e-3
246            zmo2_0 (ji)  = zmo2_0 (ji) + pwcp(ji,jk,jwoxy) * zvolw
247            zmno3_0(ji)  = zmno3_0(ji) + pwcp(ji,jk,jwno3) * zvolw
248            zmc13_0(ji)  = zmc13_0(ji) + pwcp(ji,jk,jwc13) * zvolw
249         ENDDO
250      ENDDO
251
252      ! New pore water concentrations   
253      DO jk = 1, jpksed
254         DO ji = 1, jpoce
255            ! Acid Silicic
256            pwcp(ji,jk,jwsil)  = sat_sil - zundsat(ji,jk,1)           
257            ! For O2 (in mol/l)
258            pwcp(ji,jk,jwoxy)  = zundsat(ji,jk,3) * so2ut 
259            zreasat = zrearat(ji,jk,3) * zundsat(ji,jk,3)    ! oxygen         
260            ! For DIC
261            pwcp(ji,jk,jwdic)  = pwcp(ji,jk,jwdic) + zreasat
262            ! For nitrates
263            pwcp(ji,jk,jwno3)  = pwcp(ji,jk,jwno3) + zreasat * srno3           
264            ! For Phosphate (in mol/l)
265            pwcp(ji,jk,jwpo4)  = pwcp(ji,jk,jwpo4) + zreasat * spo4r           
266            ! For alkalinity
267            pwcp(ji,jk,jwalk)  = pwcp(ji,jk,jwalk) - zreasat * ( srno3 + 2.* spo4r )           
268            ! For DIC13
269            pwcp(ji,jk,jwc13)  = pwcp(ji,jk,jwc13) + zreasat * rc13P * pdb
270         ENDDO
271      ENDDO
272
273
274      ! Mass of O2 for mass balance check and det. of o2 consomation
275      DO jk = 1, jpksed
276         DO ji = 1, jpoce
277            zvolw = volw3d(ji,jk) * 1.e-3
278            zmo2_1 (ji) = zmo2_1 (ji) + pwcp(ji,jk,jwoxy) * zvolw
279            zmno3_1(ji) = zmno3_1(ji) + pwcp(ji,jk,jwno3) * zvolw
280            zmc13_1(ji) = zmc13_1(ji) + pwcp(ji,jk,jwc13) * zvolw
281         ENDDO
282      ENDDO
283
284      DO ji = 1, jpoce
285         cons_o2 (ji) = zmo2_0 (ji) - zmo2_1 (ji)
286         sour_no3(ji) = zmno3_1(ji) - zmno3_0(ji)     
287         sour_c13(ji) = zmc13_1(ji) - zmc13_0(ji) 
288      ENDDO
289 
290
291      !--------------------------------------------------------------------
292      ! Begining POC denitrification and NO3- diffusion
293      ! (indice n°5 for couple POC/NO3- ie solcp(:,:,jspoc)/pwcp(:,:,jwno3))
294      !--------------------------------------------------------------------
295
296      nv = 1
297      DO jk = 1, jpksed
298         DO ji = 1, jpoce
299            zundsat(ji,jk,1) = pwcp(ji,jk,jwno3) / srDnit
300         ENDDO
301      ENDDO
302      DO jk = 2, jpksed
303         DO ji = 1, jpoce
304            IF( pwcp(ji,jk,jwoxy) < sthrO2 ) THEN
305               zsolid1 = zvolc(ji,jk,jspoc) * solcp(ji,jk,jspoc)
306               zrearat(ji,jk,1) = ( reac_no3 * dtsed * zsolid1 ) / &
307                  &                    ( 1. + reac_no3 * dtsed * zundsat(ji,jk,1 ) )
308            ELSE
309               zrearat(ji,jk,1) = 0.
310            ENDIF
311         END DO
312      END DO
313
314
315      ! solves tridiagonal system
316      CALL sed_mat( nv, jpoce, jpksed, zrearat, zundsat )
317
318
319      ! New solid concentration values (jk=2 to jksed) for each couple
320      DO jk = 2, jpksed
321         DO ji = 1, jpoce
322            zreasat = zrearat(ji,jk,1) * zundsat(ji,jk,1) / zvolc(ji,jk,jspoc)
323            solcp(ji,jk,jspoc) = solcp(ji,jk,jspoc) - zreasat
324         ENDDO
325      ENDDO
326
327      ! New dissolved concentrations
328      DO jk = 1, jpksed
329         DO ji = 1, jpoce
330            zreasat = zrearat(ji,jk,1) * zundsat(ji,jk,1)   
331            ! For nitrates
332            pwcp(ji,jk,jwno3)  =  zundsat(ji,jk,1) * srDnit
333            ! For DIC
334            pwcp(ji,jk,jwdic)  = pwcp(ji,jk,jwdic) + zreasat
335            ! For Phosphate (in mol/l)
336            pwcp(ji,jk,jwpo4)  = pwcp(ji,jk,jwpo4) + zreasat * spo4r           
337            ! For alkalinity
338            pwcp(ji,jk,jwalk)  = pwcp(ji,jk,jwalk) + zreasat * ( srDnit - 2.* spo4r )           
339            ! For DIC13
340            pwcp(ji,jk,jwc13)  = pwcp(ji,jk,jwc13) + zreasat * rc13P * pdb
341         ENDDO
342      ENDDO
343
344
345      ! Mass of O2 for mass balance check and det. of o2 consomation
346      DO jk = 1, jpksed
347         DO ji = 1, jpoce
348            zvolw = volw3d(ji,jk) * 1.e-3
349            zmno3_2(ji) = zmno3_2(ji) + pwcp(ji,jk ,jwno3) * zvolw
350            zmc13_2(ji) = zmc13_2(ji) + pwcp(ji,jk ,jwc13) * zvolw   
351         ENDDO
352      ENDDO
353
354      DO ji = 1, jpoce
355         cons_no3(ji) = zmno3_1(ji) - zmno3_2(ji) 
356         sour_c13(ji) = sour_c13(ji) + zmc13_2(ji) - zmc13_1(ji)     
357      ENDDO
358
359
360      !---------------------------
361      ! Solves PO4 diffusion
362      !----------------------------
363
364      nv = 1
365      DO jk = 1, jpksed
366         DO ji = 1, jpoce
367            zundsat(ji,jk,1) = pwcp(ji,jk,jwpo4)
368            zrearat(ji,jk,1) = 0.
369         ENDDO
370      ENDDO
371
372
373      ! solves tridiagonal system
374      CALL sed_mat( nv, jpoce, jpksed, zrearat, zundsat )
375
376
377      ! New undsaturation values and dissolved concentrations
378      DO jk = 1, jpksed
379         DO ji = 1, jpoce
380            pwcp(ji,jk,jwpo4) = zundsat(ji,jk,1)
381         ENDDO
382      ENDDO
383
384
385      !---------------------------------------------------------------
386      ! Performs CaCO3 particle deposition and redissolution (indice 9)
387      !--------------------------------------------------------------
388
389      ! computes co3por from the updated pwcp concentrations (note [co3por] = mol/l)
390
391      CALL sed_co3( kt )
392
393
394      nv = 1
395      ! *densSW(l)**2 converts aksps [mol2/kg sol2] into [mol2/l2] to get [undsat] in [mol/l]
396      DO jk = 1, jpksed
397         DO ji = 1, jpoce
398            zundsat(ji,jk,1) = aksps(ji) * densSW(ji) * densSW(ji) / calcon2(ji) &
399               &                     - co3por(ji,jk)
400            ! positive values of undersaturation
401            zundsat(ji,jk,1) = MAX( 0., zundsat(ji,jk,1) )           
402         ENDDO
403      ENDDO
404
405      DO jk = 2, jpksed
406         DO ji = 1, jpoce
407            zsolid1 = zvolc(ji,jk,jscal) * solcp(ji,jk,jscal)
408            zrearat(ji,jk,1) = ( reac_cal * dtsed * zsolid1 ) / &
409                  &               ( 1. + reac_cal * dtsed * zundsat(ji,jk,1) )
410         END DO
411      END DO
412
413
414      ! solves tridiagonal system
415      CALL sed_mat( nv, jpoce, jpksed, zrearat, zundsat )
416
417
418      ! New solid concentration values (jk=2 to jksed) for cacO3
419      DO jk = 2, jpksed
420         DO ji = 1, jpoce
421            zreasat = zrearat(ji,jk,1) * zundsat(ji,jk,1) / zvolc(ji,jk,jscal)
422            solcp(ji,jk,jscal) = solcp(ji,jk,jscal) - zreasat
423         ENDDO
424      ENDDO
425
426      ! New dissolved concentrations
427      DO jk = 1, jpksed
428         DO ji = 1, jpoce
429            zreasat = zrearat(ji,jk,1) * zundsat(ji,jk,1)   
430            ! For DIC
431            pwcp(ji,jk,jwdic)  = pwcp(ji,jk,jwdic) + zreasat
432            ! For alkalinity
433            pwcp(ji,jk,jwalk)  = pwcp(ji,jk,jwalk) + 2.* zreasat 
434            ! For DIC13
435            pwcp(ji,jk,jwc13)  = pwcp(ji,jk,jwc13) + zreasat * rc13Ca * pdb
436         ENDDO
437      ENDDO
438
439      DO jk = 1, jpksed
440         DO ji = 1, jpoce
441            zmc13_3(ji) = zmc13_3(ji) + pwcp(ji,jk,jwc13) * volw3d(ji,jk) * 1.e-3                 
442         ENDDO
443      ENDDO
444
445      DO ji = 1, jpoce     
446         sour_c13(ji) = sour_c13(ji) + zmc13_3(ji) - zmc13_2(ji)   
447      ENDDO
448     
449      !-------------------------------------------------
450      ! Beginning DIC, Alkalinity and DIC13 diffusion
451      !-------------------------------------------------
452     
453      nv = 3
454      DO jk = 1, jpksed
455         DO ji = 1, jpoce     
456            zundsat(ji,jk,1) = pwcp(ji,jk,jwdic)
457            zundsat(ji,jk,2) = pwcp(ji,jk,jwalk)
458            zundsat(ji,jk,3) = pwcp(ji,jk,jwc13)
459     
460            zrearat(ji,jk,1) = 0.
461            zrearat(ji,jk,2) = 0.
462            zrearat(ji,jk,3) = 0.
463     
464         ENDDO
465      ENDDO
466
467
468      ! solves tridiagonal system
469      CALL sed_mat( nv, jpoce, jpksed, zrearat, zundsat )
470
471
472      ! New dissolved concentrations     
473      DO jk = 1, jpksed
474         DO ji = 1, jpoce                     
475            pwcp(ji,jk,jwdic) = zundsat(ji,jk,1)
476            pwcp(ji,jk,jwalk) = zundsat(ji,jk,2)
477            pwcp(ji,jk,jwc13) = zundsat(ji,jk,3)
478         ENDDO
479      ENDDO           
480     
481      !----------------------------------
482      !   Back to initial geometry
483      !-----------------------------
484     
485      !---------------------------------------------------------------------
486      !   1/ Compensation for ajustement of the bottom water concentrations
487      !      (see note n° 1 about *por(2))
488      !--------------------------------------------------------------------
489      DO jw = 1, jpwat
490         DO ji = 1, jpoce
491            pwcp(ji,1,jw) = pwcp(ji,1,jw) + &
492               &            pwcp(ji,2,jw) * dzdep(ji) * por(2) / dzkbot(ji)
493         END DO
494      ENDDO
495     
496      !-----------------------------------------------------------------------
497      !    2/ Det of new rainrg taking account of the new weight fraction obtained
498      !      in dz3d(2) after diffusion/reaction (react/diffu are also in dzdep!)
499      !      This new rain (rgntg rm) will be used in advection/burial routine
500      !------------------------------------------------------------------------
501      DO js = 1, jpsol
502         DO ji = 1, jpoce
503            rainrg(ji,js) = raintg(ji) * solcp(ji,2,js)
504            rainrm(ji,js) = rainrg(ji,js) / mol_wgt(js)
505         END DO
506      ENDDO
507     
508      !  New raintg
509      raintg(:) = 0.
510      DO js = 1, jpsol
511         DO ji = 1, jpoce
512            raintg(ji) = raintg(ji) + rainrg(ji,js)
513         END DO
514      ENDDO
515     
516      !--------------------------------
517      !    3/ back to initial geometry
518      !--------------------------------
519      DO ji = 1, jpoce
520         dz3d  (ji,2) = dz(2)
521         volw3d(ji,2) = dz3d(ji,2) * por(2)
522         vols3d(ji,2) = dz3d(ji,2) * por1(2)
523      ENDDO
524     
525      !----------------------------------------------------------------------
526      !    4/ Saving new amount of material in dzkbot for mass balance check
527      !       tokbot in [mol] (implicit *1cm*1cm for spacial dim)
528      !----------------------------------------------------------------------
529      DO jw = 1, jpwat 
530         DO ji = 1, jpoce
531            tokbot(ji,jw) = pwcp(ji,1,jw) * 1.e-3 * dzkbot(ji)
532         END DO
533      ENDDO
534
535      DEALLOCATE( zmo2_0  ) ;  DEALLOCATE( zmno3_1 )  ;  DEALLOCATE( zmno3_2 ) 
536      DEALLOCATE( zmc13_0 ) ;  DEALLOCATE( zmc13_1 )  ;  DEALLOCATE( zmc13_2 ) ;  DEALLOCATE( zmc13_3 ) 
537     
538      DEALLOCATE( zrearat ) ;  DEALLOCATE( zundsat )  ;  DEALLOCATE( zvolc )   
539     
540   END SUBROUTINE sed_dsr
541#else
542   !!======================================================================
543   !! MODULE seddsr  :   Dummy module
544   !!======================================================================
545CONTAINS
546   SUBROUTINE sed_dsr ( kt )
547     INTEGER, INTENT(in) :: kt
548     WRITE(*,*) 'sed_dsr: You should not have seen this print! error?', kt
549  END SUBROUTINE sed_dsr
550#endif
551   
552END MODULE seddsr
Note: See TracBrowser for help on using the repository browser.