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.
trcnam_pisces.F90 in branches/2012/dev_LOCEAN_2012/NEMOGCM/NEMO/TOP_SRC/PISCES – NEMO

source: branches/2012/dev_LOCEAN_2012/NEMOGCM/NEMO/TOP_SRC/PISCES/trcnam_pisces.F90 @ 3584

Last change on this file since 3584 was 3584, checked in by cetlod, 11 years ago

Add in branch 2012/dev_LOCEAN_2012 changes from dev_r3438_LOCEAN15_PISLOB & dev_r3387_LOCEAN6_AGRIF_LIM, see ticket 1000

  • Property svn:keywords set to Id
File size: 7.0 KB
Line 
1MODULE trcnam_pisces
2   !!======================================================================
3   !!                      ***  MODULE trcnam_pisces  ***
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 trcnam.pisces.h90
10   !!----------------------------------------------------------------------
11#if defined key_pisces || defined key_pisces_reduced
12   !!----------------------------------------------------------------------
13   !!   'key_pisces'   :                                   PISCES bio-model
14   !!----------------------------------------------------------------------
15   !! trc_nam_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   USE trdmod_trc_oce
22   USE iom             ! I/O manager
23
24
25   IMPLICIT NONE
26   PRIVATE
27
28   PUBLIC   trc_nam_pisces   ! called by trcnam.F90 module
29
30
31   !!----------------------------------------------------------------------
32   !! NEMO/TOP 3.3 , NEMO Consortium (2010)
33   !! $Id$
34   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
35   !!----------------------------------------------------------------------
36
37CONTAINS
38
39   SUBROUTINE trc_nam_pisces
40      !!----------------------------------------------------------------------
41      !!                     ***  trc_nam_pisces  *** 
42      !!
43      !! ** Purpose :   read PISCES namelist
44      !!
45      !! ** input   :   file 'namelist.trc.sms' containing the following
46      !!             namelist: natext, natbio, natsms
47      !!                       natkriest ("key_kriest")
48      !!----------------------------------------------------------------------
49      !!
50      INTEGER :: jl, jn
51      TYPE(DIAG), DIMENSION(jp_pisces_2d)  :: pisdia2d
52      TYPE(DIAG), DIMENSION(jp_pisces_3d)  :: pisdia3d
53      TYPE(DIAG), DIMENSION(jp_pisces_trd) :: pisdiabio
54      CHARACTER(LEN=20)   ::   clname
55      !!
56      NAMELIST/nampisdia/ pisdia3d, pisdia2d     ! additional diagnostics
57#if defined key_pisces_reduced
58      NAMELIST/nampisdbi/ pisdiabio
59#endif
60
61      !!----------------------------------------------------------------------
62
63      IF(lwp) WRITE(numout,*)
64      clname = 'namelist_pisces'
65#if defined key_pisces
66      IF(lwp) WRITE(numout,*) ' trc_nam_pisces : read PISCES namelist'
67#else
68      IF(lwp) WRITE(numout,*) ' trc_nam_pisces : read LOBSTER namelist'
69#endif
70      IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~'
71      CALL ctl_opn( numnatp, TRIM( clname ), 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. )
72
73      !
74      IF( .NOT.lk_iomput .AND. ln_diatrc ) THEN
75         !
76         ! Namelist nampisdia
77         ! -------------------
78         DO jl = 1, jp_pisces_2d
79            WRITE(pisdia2d(jl)%sname,'("2D_",I1)') jl                      ! short name
80            WRITE(pisdia2d(jl)%lname,'("2D DIAGNOSTIC NUMBER ",I2)') jl    ! long name
81            pisdia2d(jl)%units = ' '                                       ! units
82         END DO
83         !                                 ! 3D output arrays
84         DO jl = 1, jp_pisces_3d
85            WRITE(pisdia3d(jl)%sname,'("3D_",I1)') jl                      ! short name
86            WRITE(pisdia3d(jl)%lname,'("3D DIAGNOSTIC NUMBER ",I2)') jl    ! long name
87            pisdia3d(jl)%units = ' '                                       ! units
88         END DO
89
90         REWIND( numnatp )               !
91         READ  ( numnatp, nampisdia )
92
93         DO jl = 1, jp_pisces_2d
94            jn = jp_pcs0_2d + jl - 1
95            ctrc2d(jn) = pisdia2d(jl)%sname
96            ctrc2l(jn) = pisdia2d(jl)%lname
97            ctrc2u(jn) = pisdia2d(jl)%units
98         END DO
99
100         DO jl = 1, jp_pisces_3d
101            jn = jp_pcs0_3d + jl - 1
102            ctrc3d(jn) = pisdia3d(jl)%sname
103            ctrc3l(jn) = pisdia3d(jl)%lname
104            ctrc3u(jn) = pisdia3d(jl)%units
105         END DO
106
107         IF(lwp) THEN                   ! control print
108            WRITE(numout,*)
109            WRITE(numout,*) ' Namelist : natadd'
110            DO jl = 1, jp_pisces_3d
111               jn = jp_pcs0_3d + jl - 1
112               WRITE(numout,*) '  3d diag nb : ', jn, '    short name : ', ctrc3d(jn), &
113                 &             '  long name  : ', ctrc3l(jn), '   unit : ', ctrc3u(jn)
114            END DO
115            WRITE(numout,*) ' '
116
117            DO jl = 1, jp_pisces_2d
118               jn = jp_pcs0_2d + jl - 1
119               WRITE(numout,*) '  2d diag nb : ', jn, '    short name : ', ctrc2d(jn), &
120                 &             '  long name  : ', ctrc2l(jn), '   unit : ', ctrc2u(jn)
121            END DO
122            WRITE(numout,*) ' '
123         ENDIF
124         !
125      ENDIF
126
127#if defined key_pisces_reduced
128
129      IF( ( .NOT.lk_iomput .AND. ln_diabio ) .OR. lk_trdmld_trc ) THEN
130         !
131         ! Namelist nampisdbi
132         ! -------------------
133         DO jl = 1, jp_pisces_trd
134            IF(     jl <  10 ) THEN   ;   WRITE (pisdiabio(jl)%sname,'("BIO_",I1)') jl      ! short name
135            ELSEIF (jl < 100 ) THEN   ;   WRITE (pisdiabio(jl)%sname,'("BIO_",I2)') jl
136            ELSE                      ;   WRITE (pisdiabio(jl)%sname,'("BIO_",I3)') jl
137            ENDIF
138            WRITE(pisdiabio(jl)%lname,'("BIOLOGICAL TREND NUMBER ",I2)') jl                 ! long name
139            pisdiabio(jl)%units = 'mmoleN/m3/s '                                            ! units
140         END DO
141
142         REWIND( numnatp )
143         READ  ( numnatp, nampisdbi )
144
145         DO jl = 1, jp_pisces_trd
146            jn = jp_pcs0_trd + jl - 1
147            ctrbio(jl) = pisdiabio(jl)%sname
148            ctrbil(jl) = pisdiabio(jl)%lname
149            ctrbiu(jl) = pisdiabio(jl)%units
150         END DO
151
152         IF(lwp) THEN                   ! control print
153            WRITE(numout,*)
154            WRITE(numout,*) ' Namelist : nampisdbi'
155            DO jl = 1, jp_pisces_trd
156               jn = jp_pcs0_trd + jl - 1
157               WRITE(numout,*) '  biological trend No : ', jn, '    short name : ', ctrbio(jn), &
158                 &             '  long name  : ', ctrbio(jn), '   unit : ', ctrbio(jn)
159            END DO
160            WRITE(numout,*) ' '
161         END IF
162         !
163      END IF
164
165#endif
166
167   END SUBROUTINE trc_nam_pisces
168
169#else
170   !!----------------------------------------------------------------------
171   !!  Dummy module :                                   No PISCES bio-model
172   !!----------------------------------------------------------------------
173CONTAINS
174   SUBROUTINE trc_nam_pisces                      ! Empty routine
175   END  SUBROUTINE  trc_nam_pisces
176#endif 
177
178   !!======================================================================
179END MODULE trcnam_pisces
Note: See TracBrowser for help on using the repository browser.