source: branches/2015/dev_r5021_UKMO1_CICE_coupling/NEMOGCM/NEMO/TOP_SRC/PISCES/SED/sedbtb.F90 @ 5443

Last change on this file since 5443 was 5443, checked in by davestorkey, 5 years ago

Update 2015/dev_r5021_UKMO1_CICE_coupling branch to revision 5442 of the trunk.

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