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.
trclsm_pisces.F90 in trunk/NEMO/TOP_SRC/PISCES – NEMO

source: trunk/NEMO/TOP_SRC/PISCES/trclsm_pisces.F90 @ 1174

Last change on this file since 1174 was 1146, checked in by rblod, 16 years ago

Add svn Id (first try), see ticket #210

  • Property svn:executable set to *
  • Property svn:keywords set to Id
File size: 7.6 KB
Line 
1MODULE trclsm_pisces
2   !!======================================================================
3   !!                      ***  MODULE trclsm_lobster  ***
4   !! TOP :   initialisation of some run parameters for PISCES bio-model
5   !!======================================================================
6   !! History :    -   !  1999-10 (M.A. Foujols, M. Levy) original code
7   !!              -   !  2000-01 (L. Bopp) hamocc3, p3zd
8   !!             1.0  !  2003-08 (C. Ethe)  module F90
9   !!             2.0  !  2007-12  (C. Ethe, G. Madec) from trclsm.pisces.h90
10   !!----------------------------------------------------------------------
11#if defined key_pisces
12   !!----------------------------------------------------------------------
13   !!   'key_pisces'   :                                   PISCES bio-model
14   !!----------------------------------------------------------------------
15   !! trc_lsm_pisces       : PISCES model namelist read
16   !!----------------------------------------------------------------------
17   USE oce_trc         ! Ocean variables
18   USE par_trc         ! TOP parameters
19   USE trc             ! TOP variables
20   USE sms_pisces      ! sms trends
21
22
23   IMPLICIT NONE
24   PRIVATE
25
26   PUBLIC   trc_lsm_pisces   ! called by trclsm.F90 module
27
28
29   !!----------------------------------------------------------------------
30   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)
31   !! $Id$
32   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
33   !!----------------------------------------------------------------------
34
35CONTAINS
36
37   SUBROUTINE trc_lsm_pisces
38      !!----------------------------------------------------------------------
39      !!                     ***  trc_lsm_pisces  *** 
40      !!
41      !! ** Purpose :   read PISCES namelist
42      !!
43      !! ** input   :   file 'namelist.trc.sms' containing the following
44      !!             namelist: natext, natbio, natsms
45      !!                       natkriest ("key_kriest")
46      !!----------------------------------------------------------------------
47      CHARACTER (len=32) ::  clname
48      INTEGER            ::  jn
49      !!
50#if defined key_trc_diaadd
51      ! definition of additional diagnostic as a structure
52      TYPE DIAG
53         CHARACTER(len = 20)  :: snamedia   !: short name
54         CHARACTER(len = 80 ) :: lnamedia   !: long name
55         CHARACTER(len = 20 ) :: unitdia    !: unit
56      END TYPE DIAG
57
58      TYPE(DIAG) , DIMENSION(jp_pisces_2d) :: pisdia2d
59      TYPE(DIAG) , DIMENSION(jp_pisces_3d) :: pisdia3d
60#endif
61
62      NAMELIST/nampisbio/ part, nrdttrc, wsbio, xkmort, ferat3, wsbio2
63#if defined key_kriest
64      NAMELIST/nampiskrp/xkr_eta, xkr_zeta, xkr_mass_min, xkr_mass_max
65#endif
66#if defined key_trc_diaadd
67      NAMELIST/nampisdia/nwritedia, pisdia3d, pisdia2d     ! additional diagnostics
68#endif
69
70      !!----------------------------------------------------------------------
71
72      IF(lwp) WRITE(numout,*)
73      IF(lwp) WRITE(numout,*) ' trc_lsm_pisces : read PISCES namelists'
74      IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~'
75
76
77      !                               ! Open the namelist file
78      !                               ! ----------------------
79      clname ='namelist_pisces'
80      CALL ctlopn( numnat, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL', 1, numout, .FALSE., 1 )
81
82      REWIND( numnat )                   
83      READ  ( numnat, nampisbio )
84
85      IF(lwp) THEN                         ! control print
86         WRITE(numout,*) ' Namelist : nampisbio'
87         WRITE(numout,*) '    part of calcite not dissolved in guts     part      =', part
88         WRITE(numout,*) '    frequence pour la biologie                nrdttrc   =', nrdttrc
89         WRITE(numout,*) '    POC sinking speed                         wsbio     =', wsbio
90         WRITE(numout,*) '    half saturation constant for mortality    xkmort    =', xkmort
91         WRITE(numout,*) '    Fe/C in zooplankton                       ferat3    =', ferat3
92         WRITE(numout,*) '    Big particles sinking speed               wsbio2    =', wsbio2
93      ENDIF
94
95#if defined key_kriest
96
97      !                               ! nampiskrp : kriest parameters
98      !                               ! -----------------------------
99      xkr_eta      = 0.62       
100      xkr_zeta     = 1.62       
101      xkr_mass_min = 0.0002     
102      xkr_mass_max = 1.     
103
104      REWIND( numnat )                     ! read natkriest
105      READ  ( numnat, nampiskrp )
106
107      IF(lwp) THEN
108         WRITE(numout,*)
109         WRITE(numout,*) ' Namelist : nampiskrp'
110         WRITE(numout,*) '    Sinking  exponent                        xkr_eta      = ', xkr_eta
111         WRITE(numout,*) '    N content exponent                       xkr_zeta     = ', xkr_zeta
112         WRITE(numout,*) '    Minimum mass for Aggregates              xkr_mass_min = ', xkr_mass_min
113         WRITE(numout,*) '    Maximum mass for Aggregates              xkr_mass_max = ', xkr_mass_max
114         WRITE(numout,*)
115     ENDIF
116
117
118     ! Computation of some variables
119     xkr_massp = 5.7E-6 * 7.6 * xkr_mass_min**xkr_zeta
120
121#endif
122      !
123#if defined key_trc_diaadd
124
125      ! Namelist namlobdia
126      ! -------------------
127      nwritedia = 10                   ! default values
128
129      DO jn = jp_pcs0_2d, jp_pcs1_2d
130         WRITE(ctrc2d(jn),'("2D_",I1)') jn                      ! short name
131         WRITE(ctrc2l(jn),'("2D DIAGNOSTIC NUMBER ",I2)') jn    ! long name
132         ctrc2u(jn) = ' '                                       ! units
133      END DO
134      !                                 ! 3D output arrays
135      DO jn = jp_pcs0_3d, jp_pcs1_3d
136         WRITE(ctrc3d(jn),'("3D_",I1)') jn                      ! short name
137         WRITE(ctrc3l(jn),'("3D DIAGNOSTIC NUMBER ",I2)') jn    ! long name
138         ctrc3u(jn) = ' '                                       ! units
139      END DO
140
141      REWIND( numnat )               ! read natrtd
142      READ  ( numnat, nampisdia )
143
144      DO jn = jp_pcs0_2d, jp_pcs1_2d
145         ctrc2d(jn) = pisdia2d(jn)%snamedia
146         ctrc2l(jn) = pisdia2d(jn)%lnamedia
147         ctrc2u(jn) = pisdia2d(jn)%unitdia
148      END DO
149
150      DO jn = jp_pcs0_3d, jp_pcs1_3d
151         ctrc3d(jn) = pisdia3d(jn)%snamedia
152         ctrc3l(jn) = pisdia3d(jn)%lnamedia
153         ctrc3u(jn) = pisdia3d(jn)%unitdia
154      END DO
155
156      IF(lwp) THEN                   ! control print
157         WRITE(numout,*)
158         WRITE(numout,*) ' Namelist : natadd'
159         WRITE(numout,*) '    frequency of outputs for additional arrays nwritedia = ', nwritedia
160         DO jn = jp_pcs0_3d, jp_pcs1_3d
161            WRITE(numout,*) '   3d output field No : ',jn
162            WRITE(numout,*) '   short name         : ', TRIM(ctrc3d(jn))
163            WRITE(numout,*) '   long name          : ', TRIM(ctrc3l(jn))
164            WRITE(numout,*) '   unit               : ', TRIM(ctrc3u(jn))
165            WRITE(numout,*) ' '
166         END DO
167
168         DO jn = jp_pcs0_2d, jp_pcs1_2d
169            WRITE(numout,*) '   2d output field No : ',jn
170            WRITE(numout,*) '   short name         : ', TRIM(ctrc2d(jn))
171            WRITE(numout,*) '   long name          : ', TRIM(ctrc2l(jn))
172            WRITE(numout,*) '   unit               : ', TRIM(ctrc2u(jn))
173            WRITE(numout,*) ' '
174         END DO
175      ENDIF
176#endif
177
178   END SUBROUTINE trc_lsm_pisces
179
180#else
181   !!----------------------------------------------------------------------
182   !!  Dummy module :                                   No PISCES bio-model
183   !!----------------------------------------------------------------------
184CONTAINS
185   SUBROUTINE trc_lsm_pisces                      ! Empty routine
186   END  SUBROUTINE  trc_lsm_pisces
187#endif 
188
189   !!======================================================================
190END MODULE trclsm_pisces
Note: See TracBrowser for help on using the repository browser.