Newer
Older
MODULE sedsfc
!!======================================================================
!! *** MODULE sedsfc ***
!! Sediment : Data at sediment surface
!!=====================================================================
!! * Modules used
USE sed ! sediment global variable
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
USE sedarr
USE seddta
PUBLIC sed_sfc
!! * Substitutions
# include "do_loop_substitute.h90"
# include "domzgr_substitute.h90"
CONTAINS
SUBROUTINE sed_sfc( kt, Kbb )
!!---------------------------------------------------------------------
!! *** ROUTINE sed_sfc ***
!!
!! ** Purpose : Give data from sediment model to tracer model
!!
!!
!! History :
!! ! 06-04 (C. Ethe) Orginal code
!!----------------------------------------------------------------------
!!* Arguments
INTEGER, INTENT(in) :: kt ! time step
INTEGER, INTENT(in) :: Kbb ! time level indices
! * local variables
INTEGER :: ji, jj, ikt ! dummy loop indices
!------------------------------------------------------------------------
! reading variables
IF( ln_timing ) CALL timing_start('sed_sfc')
CALL unpack_arr ( jpoce, trc_data(1:jpi,1:jpj,1), iarroce(1:jpoce), pwcp(1:jpoce,1,jwalk) )
CALL unpack_arr ( jpoce, trc_data(1:jpi,1:jpj,2), iarroce(1:jpoce), pwcp(1:jpoce,1,jwdic) )
CALL unpack_arr ( jpoce, trc_data(1:jpi,1:jpj,3), iarroce(1:jpoce), pwcp(1:jpoce,1,jwno3) )
CALL unpack_arr ( jpoce, trc_data(1:jpi,1:jpj,4), iarroce(1:jpoce), pwcp(1:jpoce,1,jwpo4) )
CALL unpack_arr ( jpoce, trc_data(1:jpi,1:jpj,5), iarroce(1:jpoce), pwcp(1:jpoce,1,jwoxy) )
CALL unpack_arr ( jpoce, trc_data(1:jpi,1:jpj,6), iarroce(1:jpoce), pwcp(1:jpoce,1,jwsil) )
CALL unpack_arr ( jpoce, trc_data(1:jpi,1:jpj,7), iarroce(1:jpoce), pwcp(1:jpoce,1,jwnh4) )
CALL unpack_arr ( jpoce, trc_data(1:jpi,1:jpj,8), iarroce(1:jpoce), pwcp(1:jpoce,1,jwfe2) )
CALL unpack_arr ( jpoce, trc_data(1:jpi,1:jpj,9), iarroce(1:jpoce), pwcp(1:jpoce,1,jwlgw) )
DO_2D( nn_hls, nn_hls, nn_hls, nn_hls )
ikt = mbkt(ji,jj)
IF ( tmask(ji,jj,ikt) == 1 ) THEN
tr(ji,jj,ikt,jptal,Kbb) = trc_data(ji,jj,1)
tr(ji,jj,ikt,jpdic,Kbb) = trc_data(ji,jj,2)
tr(ji,jj,ikt,jpno3,Kbb) = trc_data(ji,jj,3) * redC / redNo3
tr(ji,jj,ikt,jppo4,Kbb) = trc_data(ji,jj,4) * redC
tr(ji,jj,ikt,jpoxy,Kbb) = trc_data(ji,jj,5)
tr(ji,jj,ikt,jpsil,Kbb) = trc_data(ji,jj,6)
tr(ji,jj,ikt,jpnh4,Kbb) = trc_data(ji,jj,7) * redC / redNo3