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 3294 for trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/trcnam_pisces.F90 – NEMO

Ignore:
Timestamp:
2012-01-28T17:44:18+01:00 (12 years ago)
Author:
rblod
Message:

Merge of 3.4beta into the trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/trcnam_pisces.F90

    r2715 r3294  
    1919   USE trc             ! TOP variables 
    2020   USE sms_pisces      ! sms trends 
     21   USE iom             ! I/O manager 
    2122 
    2223 
     
    4647      !!---------------------------------------------------------------------- 
    4748      !! 
    48 #if defined key_diatrc && ! defined key_iomput 
    49       INTEGER ::  jl, jn 
    50       ! definition of additional diagnostic as a structure 
    51       TYPE DIAG 
    52          CHARACTER(len = 20)  :: snamedia   !: short name 
    53          CHARACTER(len = 80 ) :: lnamedia   !: long name 
    54          CHARACTER(len = 20 ) :: unitdia    !: unit 
    55       END TYPE DIAG 
    56  
    57       TYPE(DIAG) , DIMENSION(jp_pisces_2d) :: pisdia2d 
    58       TYPE(DIAG) , DIMENSION(jp_pisces_3d) :: pisdia3d 
    59 #endif 
    60  
    61       NAMELIST/nampisbio/ part, nrdttrc, wsbio, xkmort, ferat3, wsbio2 
     49      INTEGER :: jl, jn 
     50      TYPE(DIAG), DIMENSION(jp_pisces_2d) :: pisdia2d 
     51      TYPE(DIAG), DIMENSION(jp_pisces_3d) :: pisdia3d 
     52      !! 
     53      NAMELIST/nampisbio/ nrdttrc, wsbio, xkmort, ferat3, wsbio2 
    6254#if defined key_kriest 
    6355      NAMELIST/nampiskrp/ xkr_eta, xkr_zeta, xkr_mass_min, xkr_mass_max 
    6456#endif 
    65 #if defined key_diatrc && ! defined key_iomput 
    66       NAMELIST/nampisdia/ nn_writedia, pisdia3d, pisdia2d     ! additional diagnostics 
    67 #endif 
    68       NAMELIST/nampisdmp/ ln_pisdmp, ln_pisclo 
     57      NAMELIST/nampisdia/ pisdia3d, pisdia2d     ! additional diagnostics 
     58      NAMELIST/nampisdmp/ ln_pisdmp, nn_pisdmp, ln_pisclo 
    6959 
    7060      !!---------------------------------------------------------------------- 
     
    7767      !                               ! Open the namelist file 
    7868      !                               ! ---------------------- 
    79       CALL ctl_opn( numnat, 'namelist_pisces', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
     69      CALL ctl_opn( numnatp, 'namelist_pisces', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
    8070 
    81       REWIND( numnat )                     
    82       READ  ( numnat, nampisbio ) 
     71      REWIND( numnatp )                     
     72      READ  ( numnatp, nampisbio ) 
    8373 
    8474      IF(lwp) THEN                         ! control print 
    8575         WRITE(numout,*) ' Namelist : nampisbio' 
    86          WRITE(numout,*) '    part of calcite not dissolved in guts     part      =', part 
    8776         WRITE(numout,*) '    frequence pour la biologie                nrdttrc   =', nrdttrc 
    8877         WRITE(numout,*) '    POC sinking speed                         wsbio     =', wsbio 
     
    10190      xkr_mass_max = 1.       
    10291 
    103       REWIND( numnat )                     ! read natkriest 
    104       READ  ( numnat, nampiskrp ) 
     92      REWIND( numnatp )                     ! read natkriest 
     93      READ  ( numnatp, nampiskrp ) 
    10594 
    10695      IF(lwp) THEN 
     
    120109#endif 
    121110      ! 
    122 #if defined key_diatrc && ! defined key_iomput 
     111      IF( .NOT.lk_iomput .AND. ln_diatrc ) THEN 
     112         ! 
     113         ! Namelist nampisdia 
     114         ! ------------------- 
     115         DO jl = 1, jp_pisces_2d 
     116            WRITE(pisdia2d(jl)%sname,'("2D_",I1)') jl                      ! short name 
     117            WRITE(pisdia2d(jl)%lname,'("2D DIAGNOSTIC NUMBER ",I2)') jl    ! long name 
     118            pisdia2d(jl)%units = ' '                                       ! units 
     119         END DO 
     120         !                                 ! 3D output arrays 
     121         DO jl = 1, jp_pisces_3d 
     122            WRITE(pisdia3d(jl)%sname,'("3D_",I1)') jl                      ! short name 
     123            WRITE(pisdia3d(jl)%lname,'("3D DIAGNOSTIC NUMBER ",I2)') jl    ! long name 
     124            pisdia3d(jl)%units = ' '                                       ! units 
     125         END DO 
    123126 
    124       ! Namelist namlobdia 
    125       ! ------------------- 
    126       nn_writedia = 10                   ! default values 
    127  
    128       DO jl = 1, jp_pisces_2d 
    129          jn = jp_pcs0_2d + jl - 1 
    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 jl = 1, jp_pisces_3d 
    136          jn = jp_pcs0_3d + jl - 1 
    137          WRITE(ctrc3d(jn),'("3D_",I1)') jn                      ! short name 
    138          WRITE(ctrc3l(jn),'("3D DIAGNOSTIC NUMBER ",I2)') jn    ! long name 
    139          ctrc3u(jn) = ' '                                       ! units 
    140       END DO 
    141  
    142       REWIND( numnat )               ! read natrtd 
    143       READ  ( numnat, nampisdia ) 
    144  
    145       DO jl = 1, jp_pisces_2d 
    146          jn = jp_pcs0_2d + jl - 1 
    147          ctrc2d(jn) = pisdia2d(jl)%snamedia 
    148          ctrc2l(jn) = pisdia2d(jl)%lnamedia 
    149          ctrc2u(jn) = pisdia2d(jl)%unitdia 
    150       END DO 
    151  
    152       DO jl = 1, jp_pisces_3d 
    153          jn = jp_pcs0_3d + jl - 1 
    154          ctrc3d(jn) = pisdia3d(jl)%snamedia 
    155          ctrc3l(jn) = pisdia3d(jl)%lnamedia 
    156          ctrc3u(jn) = pisdia3d(jl)%unitdia 
    157       END DO 
    158  
    159       IF(lwp) THEN                   ! control print 
    160          WRITE(numout,*) 
    161          WRITE(numout,*) ' Namelist : natadd' 
    162          WRITE(numout,*) '    frequency of outputs for additional arrays nn_writedia = ', nn_writedia 
    163          DO jl = 1, jp_pisces_3d 
    164             jn = jp_pcs0_3d + jl - 1 
    165             WRITE(numout,*) '   3d output field No : ',jn 
    166             WRITE(numout,*) '   short name         : ', TRIM(ctrc3d(jn)) 
    167             WRITE(numout,*) '   long name          : ', TRIM(ctrc3l(jn)) 
    168             WRITE(numout,*) '   unit               : ', TRIM(ctrc3u(jn)) 
    169             WRITE(numout,*) ' ' 
    170          END DO 
     127         REWIND( numnatp )               !  
     128         READ  ( numnatp, nampisdia ) 
    171129 
    172130         DO jl = 1, jp_pisces_2d 
    173131            jn = jp_pcs0_2d + jl - 1 
    174             WRITE(numout,*) '   2d output field No : ',jn 
    175             WRITE(numout,*) '   short name         : ', TRIM(ctrc2d(jn)) 
    176             WRITE(numout,*) '   long name          : ', TRIM(ctrc2l(jn)) 
    177             WRITE(numout,*) '   unit               : ', TRIM(ctrc2u(jn)) 
     132            ctrc2d(jn) = pisdia2d(jl)%sname 
     133            ctrc2l(jn) = pisdia2d(jl)%lname 
     134            ctrc2u(jn) = pisdia2d(jl)%units 
     135         END DO 
     136 
     137         DO jl = 1, jp_pisces_3d 
     138            jn = jp_pcs0_3d + jl - 1 
     139            ctrc3d(jn) = pisdia3d(jl)%sname 
     140            ctrc3l(jn) = pisdia3d(jl)%lname 
     141            ctrc3u(jn) = pisdia3d(jl)%units 
     142         END DO 
     143 
     144         IF(lwp) THEN                   ! control print 
     145            WRITE(numout,*) 
     146            WRITE(numout,*) ' Namelist : natadd' 
     147            DO jl = 1, jp_pisces_3d 
     148               jn = jp_pcs0_3d + jl - 1 
     149               WRITE(numout,*) '  3d diag nb : ', jn, '    short name : ', ctrc3d(jn), & 
     150                 &             '  long name  : ', ctrc3l(jn), '   unit : ', ctrc3u(jn) 
     151            END DO 
    178152            WRITE(numout,*) ' ' 
    179          END DO 
     153 
     154            DO jl = 1, jp_pisces_2d 
     155               jn = jp_pcs0_2d + jl - 1 
     156               WRITE(numout,*) '  2d diag nb : ', jn, '    short name : ', ctrc2d(jn), & 
     157                 &             '  long name  : ', ctrc2l(jn), '   unit : ', ctrc2u(jn) 
     158            END DO 
     159            WRITE(numout,*) ' ' 
     160         ENDIF 
     161         ! 
    180162      ENDIF 
    181 #endif 
    182163 
    183       REWIND( numnat ) 
    184       READ  ( numnat, nampisdmp ) 
     164      REWIND( numnatp ) 
     165      READ  ( numnatp, nampisdmp ) 
    185166 
    186167      IF(lwp) THEN                         ! control print 
    187168         WRITE(numout,*) 
    188169         WRITE(numout,*) ' Namelist : nampisdmp' 
    189          WRITE(numout,*) '    Relaxation of tracer to glodap mean value            ln_pisdmp      =', ln_pisdmp 
     170         WRITE(numout,*) '    Relaxation of tracer to glodap mean value             ln_pisdmp      =', ln_pisdmp 
     171         WRITE(numout,*) '    Frequency of Relaxation                               nn_pisdmp      =', nn_pisdmp 
    190172         WRITE(numout,*) '    Restoring of tracer to initial value  on closed seas  ln_pisclo      =', ln_pisclo 
    191173         WRITE(numout,*) ' ' 
Note: See TracChangeset for help on using the changeset viewer.