source: trunk/NEMO/TOP_SRC/PISCES/trcsms_pisces.F90 @ 935

Last change on this file since 935 was 935, checked in by cetlod, 13 years ago

adding modules for PISCES SMS model, see ticket 141

  • Property svn:executable set to *
File size: 3.8 KB
Line 
1MODULE trcsms_pisces
2   !!======================================================================
3   !!                         ***  MODULE trcsms_pisces  ***
4   !! TOP :   PISCES Source Minus Sink manager
5   !!======================================================================
6   !! History :   1.0  !  2004-03 (O. Aumont) Original code
7   !!             2.0  !  2007-12  (C. Ethe, G. Madec)  F90
8   !!----------------------------------------------------------------------
9#if defined key_pisces
10   !!----------------------------------------------------------------------
11   !!   'key_pisces'                                       PISCES bio-model
12   !!----------------------------------------------------------------------
13   !!   trcsms_pisces        :  Time loop of passive tracers sms
14   !!----------------------------------------------------------------------
15   USE oce_trc         !
16   USE trp_trc
17   USE sms
18   USE lbclnk
19   USE lib_mpp
20   
21   USE p4zint          !
22   USE p4zche          !
23   USE p4zbio          !
24   USE p4zsed          !
25   USE p4zlys          !
26   USE p4zflx          !
27
28   IMPLICIT NONE
29   PRIVATE
30
31   PUBLIC   trc_sms_pisces    ! called in trcsms.F90
32
33   !!----------------------------------------------------------------------
34   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)
35   !! $Header:$
36   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
37   !!----------------------------------------------------------------------
38
39CONTAINS
40
41   SUBROUTINE trc_sms_pisces( kt )
42      !!---------------------------------------------------------------------
43      !!                     ***  ROUTINE trc_sms_pisces  ***
44      !!
45      !! ** Purpose :   Managment of the call to Biological sources and sinks
46      !!              routines of PISCES bio-model
47      !!
48      !! ** Method  : - at each new day ...
49      !!              - several calls of bio and sed ???
50      !!              - ...
51      !!---------------------------------------------------------------------
52      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index     
53      !!
54      INTEGER ::   jnt, jn
55      INTEGER ::   iyy, imm, idd
56
57
58      !!---------------------------------------------------------------------
59
60
61      iyy = ndastp/10000
62      imm = (ndastp - iyy*10000)/100
63      idd = (ndastp - iyy*10000 - imm*100)
64
65      IF( ndayflxtr /= idd) THEN      ! New days
66         !
67         ndayflxtr = idd
68
69         CALL p4z_che          ! computation of chemical constants
70
71         CALL p4z_int          ! computation of various rates for biogeochemistry
72         !
73      ENDIF
74
75
76      DO jnt = 1, nrdttrc          ! Potential time splitting if requested
77         !
78         CALL p4z_bio (kt, jnt)    ! Compute soft tissue production (POC)
79
80
81         CALL p4z_sed (kt, jnt)    ! compute soft tissue remineralisation
82
83         !
84         trb(:,:,:,:) = trn(:,:,:,:)
85         !
86      END DO
87
88      CALL p4z_lys( kt )             ! Compute CaCO3 saturation
89
90      CALL p4z_flx( kt )             ! Compute surface fluxes
91
92
93      DO jn = jp_pcs0, jp_pcs1
94        CALL lbc_lnk( trn(:,:,:,jn), 'T', 1. )
95        CALL lbc_lnk( trb(:,:,:,jn), 'T', 1. )
96        CALL lbc_lnk( tra(:,:,:,jn), 'T', 1. )
97      END DO
98      !
99   END SUBROUTINE trc_sms_pisces
100
101#else
102   !!======================================================================
103   !!  Dummy module :                                   No PISCES bio-model
104   !!======================================================================
105CONTAINS
106   SUBROUTINE trc_sms_pisces( kt )                   ! Empty routine
107      INTEGER, INTENT( in ) ::   kt
108      WRITE(*,*) 'trc_sms_pisces: You should not have seen this print! error?', kt
109   END SUBROUTINE trc_sms_pisces
110#endif 
111
112   !!======================================================================
113END MODULE trcsms_pisces 
Note: See TracBrowser for help on using the repository browser.