source: trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/SED/sedbtb.F90 @ 4528

Last change on this file since 4528 was 3443, checked in by cetlod, 9 years ago

branch:2012/dev_r3438_LOCEAN15_PISLOB : 1st step of the merge, see ticket #972

File size: 2.6 KB
Line 
1MODULE sedbtb
2#if defined key_sed
3   !!======================================================================
4   !!              ***  MODULE  sedbtb  ***
5   !!    Sediment : bioturbation of the solid components
6   !!=====================================================================
7   !! * Modules used
8   USE sed     ! sediment global variable
9   USE sedmat  ! linear system of equations
10
11   PUBLIC sed_btb
12
13
14CONTAINS
15   
16   SUBROUTINE sed_btb( kt )
17      !!---------------------------------------------------------------------
18      !!                  ***  ROUTINE sed_btb  ***
19      !!
20      !! ** Purpose :  performs bioturbation of the solid sediment components
21      !!
22      !! ** Method  :  ``diffusion'' of solid sediment components.
23      !!
24      !!   History :
25      !!        !  98-08 (E. Maier-Reimer, Christoph Heinze )  Original code
26      !!        !  04-10 (N. Emprin, M. Gehlen ) F90
27      !!        !  06-04 (C. Ethe)  Re-organization
28      !!----------------------------------------------------------------------
29      !!* Arguments
30      INTEGER, INTENT(in) ::  kt              ! time step
31
32      ! * local variables
33      INTEGER :: ji, jk, js
34      REAL(wp), DIMENSION(:,:,:) , ALLOCATABLE ::  zsol  !   solution
35      !------------------------------------------------------------------------
36
37      IF( kt == nitsed000 ) THEN
38         WRITE(numsed,*) ' sed_btb : Bioturbation  '
39         WRITE(numsed,*) ' '
40      ENDIF
41
42      ! Initializations
43      !----------------
44      ALLOCATE( zsol(jpoce,jpksedm1,jpsol) )
45
46      zsol(:,:,:) = 0.
47
48
49      ! right hand side of coefficient matrix
50      !--------------------------------------
51      DO js = 1, jpsol
52         DO jk = 1, jpksedm1
53            DO ji = 1, jpoce
54               zsol(ji,jk,js) = solcp(ji,jk+1,js)
55            ENDDO
56         ENDDO
57      ENDDO
58
59      CALL sed_mat( jpsol, jpoce, jpksedm1, zsol )
60
61
62      ! store solution of the tridiagonal system
63      !------------------------
64      DO js = 1, jpsol
65         DO jk = 1, jpksedm1
66            DO ji = 1, jpoce
67               solcp(ji,jk+1,js) = zsol(ji,jk,js)
68            ENDDO
69         ENDDO
70      ENDDO
71     
72      DEALLOCATE( zsol )
73
74   END SUBROUTINE sed_btb
75#else
76   !!======================================================================
77   !! MODULE sedbtb  :   Dummy module
78   !!======================================================================
79CONTAINS
80   SUBROUTINE sed_btb( kt )         ! Empty routine
81      INTEGER, INTENT(in) :: kt
82      WRITE(*,*) 'sed_btb: You should not have seen this print! error?', kt
83   END SUBROUTINE sed_btb
84
85   !!======================================================================
86
87#endif
88END MODULE sedbtb
Note: See TracBrowser for help on using the repository browser.