123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- MODULE sedbtb
- #if defined key_sed
- !!======================================================================
- !! *** MODULE sedbtb ***
- !! Sediment : bioturbation of the solid components
- !!=====================================================================
- !! * Modules used
- USE sed ! sediment global variable
- USE sedmat ! linear system of equations
- PUBLIC sed_btb
- !! $Id: sedbtb.F90 2355 2015-05-20 07:11:50Z ufla $
- CONTAINS
-
- SUBROUTINE sed_btb( kt )
- !!---------------------------------------------------------------------
- !! *** ROUTINE sed_btb ***
- !!
- !! ** Purpose : performs bioturbation of the solid sediment components
- !!
- !! ** Method : ``diffusion'' of solid sediment components.
- !!
- !! History :
- !! ! 98-08 (E. Maier-Reimer, Christoph Heinze ) Original code
- !! ! 04-10 (N. Emprin, M. Gehlen ) F90
- !! ! 06-04 (C. Ethe) Re-organization
- !!----------------------------------------------------------------------
- !!* Arguments
- INTEGER, INTENT(in) :: kt ! time step
- ! * local variables
- INTEGER :: ji, jk, js
- REAL(wp), DIMENSION(:,:,:) , ALLOCATABLE :: zsol ! solution
- !------------------------------------------------------------------------
- IF( kt == nitsed000 ) THEN
- WRITE(numsed,*) ' sed_btb : Bioturbation '
- WRITE(numsed,*) ' '
- ENDIF
- ! Initializations
- !----------------
- ALLOCATE( zsol(jpoce,jpksedm1,jpsol) )
- zsol(:,:,:) = 0.
- ! right hand side of coefficient matrix
- !--------------------------------------
- DO js = 1, jpsol
- DO jk = 1, jpksedm1
- DO ji = 1, jpoce
- zsol(ji,jk,js) = solcp(ji,jk+1,js)
- ENDDO
- ENDDO
- ENDDO
- CALL sed_mat( jpsol, jpoce, jpksedm1, zsol )
- ! store solution of the tridiagonal system
- !------------------------
- DO js = 1, jpsol
- DO jk = 1, jpksedm1
- DO ji = 1, jpoce
- solcp(ji,jk+1,js) = zsol(ji,jk,js)
- ENDDO
- ENDDO
- ENDDO
-
- DEALLOCATE( zsol )
- END SUBROUTINE sed_btb
- #else
- !!======================================================================
- !! MODULE sedbtb : Dummy module
- !!======================================================================
- !! $Id: sedbtb.F90 2355 2015-05-20 07:11:50Z ufla $
- CONTAINS
- SUBROUTINE sed_btb( kt ) ! Empty routine
- INTEGER, INTENT(in) :: kt
- WRITE(*,*) 'sed_btb: You should not have seen this print! error?', kt
- END SUBROUTINE sed_btb
- !!======================================================================
- #endif
- END MODULE sedbtb
|