New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
trcsms_pisces.F90 in trunk/NEMO/TOP_SRC/PISCES – NEMO

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

Last change on this file since 1185 was 1185, checked in by cetlod, 16 years ago

update PISCES modules to couple with the sediment model, see ticket:249

  • Property svn:executable set to *
  • Property svn:keywords set to Id
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 trc
17   USE sms_pisces
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   USE sedmodel
29
30   IMPLICIT NONE
31   PRIVATE
32
33   PUBLIC   trc_sms_pisces    ! called in trcsms.F90
34
35   !!----------------------------------------------------------------------
36   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)
37   !! $Id$
38   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
39   !!----------------------------------------------------------------------
40
41CONTAINS
42
43   SUBROUTINE trc_sms_pisces( kt )
44      !!---------------------------------------------------------------------
45      !!                     ***  ROUTINE trc_sms_pisces  ***
46      !!
47      !! ** Purpose :   Managment of the call to Biological sources and sinks
48      !!              routines of PISCES bio-model
49      !!
50      !! ** Method  : - at each new day ...
51      !!              - several calls of bio and sed ???
52      !!              - ...
53      !!---------------------------------------------------------------------
54      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index     
55      !!
56      INTEGER ::   jnt, jn
57      !!---------------------------------------------------------------------
58
59      IF( ndayflxtr /= nday ) THEN      ! New days
60         !
61         ndayflxtr = nday
62
63         CALL p4z_che          ! computation of chemical constants
64
65         CALL p4z_int          ! computation of various rates for biogeochemistry
66         !
67      ENDIF
68
69
70      DO jnt = 1, nrdttrc          ! Potential time splitting if requested
71         !
72         CALL p4z_bio (kt, jnt)    ! Compute soft tissue production (POC)
73
74
75         CALL p4z_sed (kt, jnt)    ! compute soft tissue remineralisation
76
77         !
78         trb(:,:,:,:) = trn(:,:,:,:)
79         !
80      END DO
81
82      CALL p4z_lys( kt )             ! Compute CaCO3 saturation
83
84      CALL p4z_flx( kt )             ! Compute surface fluxes
85
86
87      DO jn = jp_pcs0, jp_pcs1
88        CALL lbc_lnk( trn(:,:,:,jn), 'T', 1. )
89        CALL lbc_lnk( trb(:,:,:,jn), 'T', 1. )
90        CALL lbc_lnk( tra(:,:,:,jn), 'T', 1. )
91      END DO
92
93#if defined key_sed
94
95      CALL sed_model( kt )     !  Main program of Sediment model
96
97      DO jn = jp_pcs0, jp_pcs1
98        CALL lbc_lnk( trn(:,:,:,jn), 'T', 1. )
99      END DO
100
101#endif
102
103      !
104   END SUBROUTINE trc_sms_pisces
105
106#else
107   !!======================================================================
108   !!  Dummy module :                                   No PISCES bio-model
109   !!======================================================================
110CONTAINS
111   SUBROUTINE trc_sms_pisces( kt )                   ! Empty routine
112      INTEGER, INTENT( in ) ::   kt
113      WRITE(*,*) 'trc_sms_pisces: You should not have seen this print! error?', kt
114   END SUBROUTINE trc_sms_pisces
115#endif 
116
117   !!======================================================================
118END MODULE trcsms_pisces 
Note: See TracBrowser for help on using the repository browser.