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 2819 for branches/2011/dev_r2787_LOCEAN3_TRA_TRP/NEMOGCM/NEMO/TOP_SRC/PISCES/trcnam_pisces.F90 – NEMO

Ignore:
Timestamp:
2011-08-09T10:29:53+02:00 (13 years ago)
Author:
cetlod
Message:

Improvment of branch dev_r2787_LOCEAN3_TRA_TRP

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/dev_r2787_LOCEAN3_TRA_TRP/NEMOGCM/NEMO/TOP_SRC/PISCES/trcnam_pisces.F90

    r2715 r2819  
    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  
     49      INTEGER :: jl, jn 
     50      TYPE(DIAG), DIMENSION(jp_pisces_2d) :: pisdia2d 
     51      TYPE(DIAG), DIMENSION(jp_pisces_3d) :: pisdia3d 
     52      !! 
    6153      NAMELIST/nampisbio/ part, 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 
     57      NAMELIST/nampisdia/ pisdia3d, pisdia2d     ! additional diagnostics 
    6858      NAMELIST/nampisdmp/ ln_pisdmp, ln_pisclo 
    6959 
     
    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 
     
    10191      xkr_mass_max = 1.       
    10292 
    103       REWIND( numnat )                     ! read natkriest 
    104       READ  ( numnat, nampiskrp ) 
     93      REWIND( numnatp )                     ! read natkriest 
     94      READ  ( numnatp, nampiskrp ) 
    10595 
    10696      IF(lwp) THEN 
     
    120110#endif 
    121111      ! 
    122 #if defined key_diatrc && ! defined key_iomput 
     112      IF( .NOT.lk_iomput .AND. ln_diatrc ) THEN 
     113         ! 
     114         ! Namelist nampisdia 
     115         ! ------------------- 
     116         DO jl = 1, jp_pisces_2d 
     117            WRITE(pisdia2d(jl)%sname,'("2D_",I1)') jl                      ! short name 
     118            WRITE(pisdia2d(jl)%lname,'("2D DIAGNOSTIC NUMBER ",I2)') jl    ! long name 
     119            pisdia2d(jl)%units = ' '                                       ! units 
     120         END DO 
     121         !                                 ! 3D output arrays 
     122         DO jl = 1, jp_pisces_3d 
     123            WRITE(pisdia3d(jl)%sname,'("3D_",I1)') jl                      ! short name 
     124            WRITE(pisdia3d(jl)%lname,'("3D DIAGNOSTIC NUMBER ",I2)') jl    ! long name 
     125            pisdia3d(jl)%units = ' '                                       ! units 
     126         END DO 
    123127 
    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 
     128         REWIND( numnatp )               !  
     129         READ  ( numnatp, nampisdia ) 
    171130 
    172131         DO jl = 1, jp_pisces_2d 
    173132            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)) 
     133            ctrc2d(jn) = pisdia2d(jl)%sname 
     134            ctrc2l(jn) = pisdia2d(jl)%lname 
     135            ctrc2u(jn) = pisdia2d(jl)%units 
     136         END DO 
     137 
     138         DO jl = 1, jp_pisces_3d 
     139            jn = jp_pcs0_3d + jl - 1 
     140            ctrc3d(jn) = pisdia3d(jl)%sname 
     141            ctrc3l(jn) = pisdia3d(jl)%lname 
     142            ctrc3u(jn) = pisdia3d(jl)%units 
     143         END DO 
     144 
     145         IF(lwp) THEN                   ! control print 
     146            WRITE(numout,*) 
     147            WRITE(numout,*) ' Namelist : natadd' 
     148            DO jl = 1, jp_pisces_3d 
     149               jn = jp_pcs0_3d + jl - 1 
     150               WRITE(numout,*) '  3d diag nb : ', jn, '    short name : ', ctrc3d(jn), & 
     151                 &             '  long name  : ', ctrc3l(jn), '   unit : ', ctrc3u(jn) 
     152            END DO 
    178153            WRITE(numout,*) ' ' 
    179          END DO 
     154 
     155            DO jl = 1, jp_pisces_2d 
     156               jn = jp_pcs0_2d + jl - 1 
     157               WRITE(numout,*) '  2d diag nb : ', jn, '    short name : ', ctrc2d(jn), & 
     158                 &             '  long name  : ', ctrc2l(jn), '   unit : ', ctrc2u(jn) 
     159            END DO 
     160            WRITE(numout,*) ' ' 
     161         ENDIF 
     162         ! 
    180163      ENDIF 
    181 #endif 
    182164 
    183       REWIND( numnat ) 
    184       READ  ( numnat, nampisdmp ) 
     165      REWIND( numnatp ) 
     166      READ  ( numnatp, nampisdmp ) 
    185167 
    186168      IF(lwp) THEN                         ! control print 
Note: See TracChangeset for help on using the changeset viewer.