source: trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zsms.F90 @ 4624

Last change on this file since 4624 was 4624, checked in by acc, 7 years ago

#1305. Fix slow start-up problems on some systems by introducing and using lwm logical to restrict output of merged namelists to the first (or only) processor. lwm is true only on the first processor regardless of ln_ctl. Small changes to all flavours of nemogcm.F90 are also required to write namctl and namcfg after the call to mynode which now opens output.namelist.dyn and writes nammpp.

File size: 3.2 KB
Line 
1MODULE p2zsms
2   !!======================================================================
3   !!                         ***  MODULE p2zsms  ***
4   !! TOP :   Time loop of LOBSTER model
5   !!======================================================================
6   !! History :   1.0  !            M. Levy
7   !!             2.0  !  2007-12  (C. Ethe, G. Madec)  revised architecture
8   !!----------------------------------------------------------------------
9#if defined key_pisces_reduced
10   !!----------------------------------------------------------------------
11   !!   'key_pisces_reduced'                              LOBSTER bio-model
12   !!----------------------------------------------------------------------
13   !!   p2zsms        :  Time loop of passive tracers sms
14   !!----------------------------------------------------------------------
15   USE oce_trc          !
16   USE trc
17   USE sms_pisces
18   USE p2zbio
19   USE p2zopt
20   USE p2zsed
21   USE p2zexp
22   USE trdmod_oce
23   USE trdmod_trc_oce
24   USE trdmod_trc
25   USE trdmld_trc
26
27   IMPLICIT NONE
28   PRIVATE
29
30   PUBLIC   p2z_sms    ! called in p2zsms.F90
31
32   !!----------------------------------------------------------------------
33   !! NEMO/TOP 3.3 , NEMO Consortium (2010)
34   !! $Id: p2zsms.F90 3294 2012-01-28 16:44:18Z rblod $
35   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
36   !!----------------------------------------------------------------------
37CONTAINS
38
39   SUBROUTINE p2z_sms( kt )
40      !!---------------------------------------------------------------------
41      !!                     ***  ROUTINE p2z_sms  ***
42      !!
43      !! ** Purpose :  Managment of the call to Biological sources and sinks
44      !!               routines of LOBSTER bio-model
45      !!
46      !! ** Method  : - ???
47      !! --------------------------------------------------------------------
48      !!
49      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index     
50      !
51      INTEGER :: jn
52      !! --------------------------------------------------------------------
53      !
54      IF( nn_timing == 1 )  CALL timing_start('p2z_sms')
55      !
56      CALL p2z_opt( kt )      ! optical model
57      CALL p2z_bio( kt )      ! biological model
58      CALL p2z_sed( kt )      ! sedimentation model
59      CALL p2z_exp( kt )      ! export
60
61      IF( l_trdtrc ) THEN
62         DO jn = jp_pcs0, jp_pcs1
63           CALL trd_mod_trc( tra(:,:,:,jn), jn, jptra_trd_sms, kt )   ! save trends
64         END DO
65      END IF
66
67      IF( lk_trdmld_trc )  CALL trd_mld_bio( kt )   ! trends: Mixed-layer
68      !
69      IF ( lwm .AND. kt == nittrc000 ) CALL FLUSH    ( numonp )     ! flush output namelist PISCES
70      IF( nn_timing == 1 )  CALL timing_stop('p2z_sms')
71      !
72   END SUBROUTINE p2z_sms
73
74#else
75   !!======================================================================
76   !!  Dummy module :                                     No passive tracer
77   !!======================================================================
78CONTAINS
79   SUBROUTINE p2z_sms( kt )                   ! Empty routine
80      INTEGER, INTENT( in ) ::   kt
81      WRITE(*,*) 'p2z_sms: You should not have seen this print! error?', kt
82   END SUBROUTINE p2z_sms
83#endif 
84
85   !!======================================================================
86END MODULE  p2zsms
Note: See TracBrowser for help on using the repository browser.