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.
Changeset 7403 for branches/2016/dev_merge_2016/NEMOGCM/NEMO/TOP_SRC/PISCES/trcnam_pisces.F90 – NEMO

Ignore:
Timestamp:
2016-11-30T17:56:53+01:00 (7 years ago)
Author:
timgraham
Message:

Merge dev_INGV_METO_merge_2016 into branch

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_merge_2016/NEMOGCM/NEMO/TOP_SRC/PISCES/trcnam_pisces.F90

    r4990 r7403  
    88   !!             1.0  !  2003-08 (C. Ethe)  module F90 
    99   !!             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 
    1410   !!---------------------------------------------------------------------- 
    1511   !! trc_nam_pisces       : PISCES model namelist read 
     
    4541      !! ** input   :   file 'namelist.trc.sms' containing the following 
    4642      !!             namelist: natext, natbio, natsms 
    47       !!                       natkriest ("key_kriest") 
    4843      !!---------------------------------------------------------------------- 
    4944      !! 
    5045      INTEGER :: jl, jn 
    51       INTEGER :: ios                 ! Local integer output status for namelist read 
    52       TYPE(DIAG), DIMENSION(jp_pisces_2d)  :: pisdia2d 
    53       TYPE(DIAG), DIMENSION(jp_pisces_3d)  :: pisdia3d 
    54       TYPE(DIAG), DIMENSION(jp_pisces_trd) :: pisdiabio 
     46      INTEGER :: ios, ioptio                 ! Local integer output status for namelist read 
    5547      CHARACTER(LEN=20)   ::   clname 
    5648      !! 
    57       NAMELIST/nampisdia/ pisdia3d, pisdia2d     ! additional diagnostics 
    58 #if defined key_pisces_reduced 
    59       NAMELIST/nampisdbi/ pisdiabio 
    60 #endif 
    61  
     49      NAMELIST/nampismod/ln_p2z, ln_p4z, ln_p5z, ln_ligand 
    6250      !!---------------------------------------------------------------------- 
    6351 
    6452      IF(lwp) WRITE(numout,*) 
    6553      clname = 'namelist_pisces' 
    66 #if defined key_pisces 
     54 
    6755      IF(lwp) WRITE(numout,*) ' trc_nam_pisces : read PISCES namelist' 
    68 #else 
    69       IF(lwp) WRITE(numout,*) ' trc_nam_pisces : read LOBSTER namelist' 
    70 #endif 
    7156      IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~' 
    7257      CALL ctl_opn( numnatp_ref, TRIM( clname )//'_ref', 'OLD'    , 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
     
    7459      IF(lwm) CALL ctl_opn( numonp     , 'output.namelist.pis' , 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
    7560      ! 
    76       IF( .NOT.lk_iomput .AND. ln_diatrc ) THEN 
    77          ! 
    78          ! Namelist nampisdia 
    79          ! ------------------- 
    80          REWIND( numnatp_ref )              ! Namelist nampisdia in reference namelist : Pisces diagnostics 
    81          READ  ( numnatp_ref, nampisdia, IOSTAT = ios, ERR = 901) 
    82 901      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdia in reference namelist', lwp ) 
    8361 
    84          REWIND( numnatp_cfg )              ! Namelist nampisdia in configuration namelist : Pisces diagnostics 
    85          READ  ( numnatp_cfg, nampisdia, IOSTAT = ios, ERR = 902 ) 
    86 902      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdia in configuration namelist', lwp ) 
    87          IF(lwm) WRITE ( numonp, nampisdia ) 
     62      REWIND( numnatp_ref )              ! Namelist nampisbio in reference namelist : Pisces variables 
     63      READ  ( numnatp_ref, nampismod, IOSTAT = ios, ERR = 901) 
     64901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismod in reference namelist', lwp ) 
    8865 
    89          DO jl = 1, jp_pisces_2d 
    90             jn = jp_pcs0_2d + jl - 1 
    91             ctrc2d(jn) = pisdia2d(jl)%sname 
    92             ctrc2l(jn) = pisdia2d(jl)%lname 
    93             ctrc2u(jn) = pisdia2d(jl)%units 
    94          END DO 
     66      REWIND( numnatp_cfg )              ! Namelist nampisbio in configuration namelist : Pisces variables 
     67      READ  ( numnatp_cfg, nampismod, IOSTAT = ios, ERR = 902 ) 
     68902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampismod in configuration namelist', lwp ) 
     69      IF(lwm) WRITE ( numonp, nampismod ) 
    9570 
    96          DO jl = 1, jp_pisces_3d 
    97             jn = jp_pcs0_3d + jl - 1 
    98             ctrc3d(jn) = pisdia3d(jl)%sname 
    99             ctrc3l(jn) = pisdia3d(jl)%lname 
    100             ctrc3u(jn) = pisdia3d(jl)%units 
    101          END DO 
    102  
    103          IF(lwp) THEN                   ! control print 
    104             WRITE(numout,*) 
    105             WRITE(numout,*) ' Namelist : natadd' 
    106             DO jl = 1, jp_pisces_3d 
    107                jn = jp_pcs0_3d + jl - 1 
    108                WRITE(numout,*) '  3d diag nb : ', jn, '    short name : ', ctrc3d(jn), & 
    109                  &             '  long name  : ', ctrc3l(jn), '   unit : ', ctrc3u(jn) 
    110             END DO 
    111             WRITE(numout,*) ' ' 
    112  
    113             DO jl = 1, jp_pisces_2d 
    114                jn = jp_pcs0_2d + jl - 1 
    115                WRITE(numout,*) '  2d diag nb : ', jn, '    short name : ', ctrc2d(jn), & 
    116                  &             '  long name  : ', ctrc2l(jn), '   unit : ', ctrc2u(jn) 
    117             END DO 
    118             WRITE(numout,*) ' ' 
    119          ENDIF 
    120          ! 
     71     IF(lwp) THEN                  ! control print 
     72         WRITE(numout,*) ' ' 
     73         WRITE(numout,*) ' Flag to use LOBSTER model            ln_p2z    = ', ln_p2z 
     74         WRITE(numout,*) ' Flag to use PISCES standard  model   ln_p4z    = ', ln_p4z 
     75         WRITE(numout,*) ' Flag to use PISCES quota     model   ln_p5z    = ', ln_p5z 
     76         WRITE(numout,*) ' Flag to ligand                       ln_ligand = ', ln_ligand 
     77         WRITE(numout,*) ' ' 
    12178      ENDIF 
    12279 
    123 #if defined key_pisces_reduced 
    124  
    125       IF( ( .NOT.lk_iomput .AND. ln_diabio ) .OR. lk_trdmxl_trc ) THEN 
    126          ! 
    127          ! Namelist nampisdbi 
    128          ! ------------------- 
    129          REWIND( numnatp_ref )              ! Namelist nampisdbi in reference namelist : Pisces add. diagnostics 
    130          READ  ( numnatp_ref, nampisdbi, IOSTAT = ios, ERR = 903) 
    131 903      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdbi in reference namelist', lwp ) 
    132  
    133          REWIND( numnatp_cfg )              ! Namelist nampisdbi in configuration namelist : Pisces add. diagnostics 
    134          READ  ( numnatp_cfg, nampisdbi, IOSTAT = ios, ERR = 904 ) 
    135 904      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisdbi in configuration namelist', lwp ) 
    136          IF(lwm) WRITE ( numonp, nampisdbi ) 
    137  
    138          DO jl = 1, jp_pisces_trd 
    139             jn = jp_pcs0_trd + jl - 1 
    140             ctrbio(jl) = pisdiabio(jl)%sname 
    141             ctrbil(jl) = pisdiabio(jl)%lname 
    142             ctrbiu(jl) = pisdiabio(jl)%units 
    143          END DO 
    144  
    145          IF(lwp) THEN                   ! control print 
    146             WRITE(numout,*) 
    147             WRITE(numout,*) ' Namelist : nampisdbi' 
    148             DO jl = 1, jp_pisces_trd 
    149                jn = jp_pcs0_trd + jl - 1 
    150                WRITE(numout,*) '  biological trend No : ', jn, '    short name : ', ctrbio(jn), & 
    151                  &             '  long name  : ', ctrbio(jn), '   unit : ', ctrbio(jn) 
    152             END DO 
    153             WRITE(numout,*) ' ' 
    154          END IF 
    155          ! 
    156       END IF 
    157  
    158 #endif 
    159  
     80      IF(lwp) THEN                         ! control print 
     81         WRITE(numout,*) ' ' 
     82         IF( ln_p5z    )  WRITE(numout,*) '  PISCES QUOTA model is used' 
     83         IF( ln_p4z    )  WRITE(numout,*) '  PISCES STANDARD model is used' 
     84         IF( ln_p2z    )  WRITE(numout,*) '  LOBSTER model is used' 
     85         IF( ln_ligand )  WRITE(numout,*) '  Compute remineralization/dissolution of organic ligands' 
     86         WRITE(numout,*) ' ' 
     87      ENDIF 
     88     
     89      ioptio = 0 
     90      IF( ln_p2z )    ioptio = ioptio + 1 
     91      IF( ln_p4z )    ioptio = ioptio + 1 
     92      IF( ln_p5z )    ioptio = ioptio + 1 
     93      ! 
     94      IF( ioptio /= 1 )   CALL ctl_stop( 'Choose ONE PISCES model namelist nampismod' ) 
     95       ! 
    16096   END SUBROUTINE trc_nam_pisces 
    161  
    162 #else 
    163    !!---------------------------------------------------------------------- 
    164    !!  Dummy module :                                   No PISCES bio-model 
    165    !!---------------------------------------------------------------------- 
    166 CONTAINS 
    167    SUBROUTINE trc_nam_pisces                      ! Empty routine 
    168    END  SUBROUTINE  trc_nam_pisces 
    169 #endif   
    17097 
    17198   !!====================================================================== 
Note: See TracChangeset for help on using the changeset viewer.