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 1255 for trunk/NEMO/TOP_SRC/PISCES – NEMO

Ignore:
Timestamp:
2009-01-13T11:20:17+01:00 (15 years ago)
Author:
cetlod
Message:

minor modifications in all top models, see ticket:299

Location:
trunk/NEMO/TOP_SRC/PISCES
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/TOP_SRC/PISCES/p4zprod.F90

    r1180 r1255  
    7373      REAL(wp) ::   zmxltst, zmxlday, zlim1 
    7474      REAL(wp) ::   zpislopen  , zpislope2n 
    75       REAL(wp) ::   zrum, zcodel, zargu 
     75      REAL(wp) ::   zrum, zcodel, zargu, zvol 
    7676      REAL(wp), DIMENSION(jpi,jpj)     ::   zmixnano   , zmixdiat, zstrn 
    7777      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zpislopead , zpislopead2 
     
    355355        DO jj = 1, jpj 
    356356          DO ji = 1, jpi 
    357              tpp  = tpp + ( zprorca(ji,jj,jk) + zprorcad(ji,jj,jk) )  & 
     357             zvol = cvol(ji,jj,jk) 
    358358#if defined key_off_degrad 
    359              &              * facvol(ji,jj,jk)   & 
     359             zvol = zvol * facvol(ji,jj,jk) 
    360360#endif 
    361              &              * e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) * tmask_i(ji,jj) 
     361             tpp  = tpp + ( zprorca(ji,jj,jk) + zprorcad(ji,jj,jk) ) * zvol 
    362362          END DO 
    363363        END DO 
    364364      END DO 
     365 
     366      IF( lk_mpp ) CALL mpp_sum( tpp ) 
    365367 
    366368      IF( MOD( kt, nspyr ) == 0 ) THEN 
  • trunk/NEMO/TOP_SRC/PISCES/p4zrem.F90

    r1152 r1255  
    6565      REAL(wp) ::   zkeq  , zfeequi, zsiremin 
    6666      REAL(wp) ::   zsatur, zsatur2, znusil 
    67       REAL(wp) ::   zbactfer, zorem, zorem2, zofer, zofer2 
    68       REAL(wp) ::   zosil, zdenom, zdenom1, zdenom2, zscave, zaggdfe 
     67      REAL(wp) ::   zbactfer, zorem, zorem2, zofer 
     68      REAL(wp) ::   zosil, zdenom1, zscave, zaggdfe 
     69#if ! defined key_kriest 
     70      REAL(wp) ::   zofer2, zdenom, zdenom2 
     71#endif 
    6972      REAL(wp) ::   zlamfac, zstep, zonitr 
    7073      REAL(wp), DIMENSION(jpi,jpj)     ::   ztempbac 
     
    302305 
    303306#if  defined key_kriest 
    304                zdenom1 = trn(ji,jj,jk,jppoc) / & 
     307                zdenom1 = trn(ji,jj,jk,jppoc) / & 
    305308           &           ( trn(ji,jj,jk,jppoc) + trn(ji,jj,jk,jpdsi) + trn(ji,jj,jk,jpcal) + rtrn ) 
    306309#else 
  • trunk/NEMO/TOP_SRC/PISCES/p4zsed.F90

    r1180 r1255  
    269269         DO jj = 1,jpj 
    270270            DO ji = 1,jpi 
    271                zdenitot = zdenitot + denitr(ji,jj,jk) * rdenit * e1t(ji,jj) * e2t(ji,jj)   & 
    272                &        *fse3t(ji,jj,jk) * tmask(ji,jj,jk) * tmask_i(ji,jj) * xnegtr(ji,jj,jk) 
     271               zdenitot = zdenitot + denitr(ji,jj,jk) * rdenit * cvol(ji,jj,jk) * xnegtr(ji,jj,jk) 
    273272            END DO 
    274273         END DO 
     
    302301         DO jj = 1, jpj 
    303302            DO ji = 1, jpi 
    304                znitrpottot = znitrpottot + znitrpot(ji,jj,jk) * e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk)   & 
    305                   &                                           * tmask(ji,jj,jk) * tmask_i(ji,jj)  
     303               znitrpottot = znitrpottot + znitrpot(ji,jj,jk) * cvol(ji,jj,jk) 
    306304            END DO 
    307305         END DO 
     
    596594      DO jj = 2 , jpjm1 
    597595         DO ji = 2, jpim1 
    598             zcoef = e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,1) * tmask(ji,jj,1) * tmask_i(ji,jj) * raass 
     596            zcoef = cvol(ji,jj,1) * raass 
    599597            rivpo4input = rivpo4input + rivinp(ji,jj) * zcoef 
    600598            rivalkinput = rivalkinput + cotdep(ji,jj) * zcoef 
  • trunk/NEMO/TOP_SRC/PISCES/trclsm_pisces.F90

    r1146 r1255  
    4646      !!---------------------------------------------------------------------- 
    4747      CHARACTER (len=32) ::  clname 
    48       INTEGER            ::  jn 
    4948      !! 
    5049#if defined key_trc_diaadd 
     50      INTEGER ::  jl, jn 
    5151      ! definition of additional diagnostic as a structure 
    5252      TYPE DIAG 
     
    127127      nwritedia = 10                   ! default values 
    128128 
    129       DO jn = jp_pcs0_2d, jp_pcs1_2d 
     129      DO jl = 1, jp_pisces_2d 
     130         jn = jp_pcs0_2d + jl - 1 
    130131         WRITE(ctrc2d(jn),'("2D_",I1)') jn                      ! short name 
    131132         WRITE(ctrc2l(jn),'("2D DIAGNOSTIC NUMBER ",I2)') jn    ! long name 
     
    133134      END DO 
    134135      !                                 ! 3D output arrays 
    135       DO jn = jp_pcs0_3d, jp_pcs1_3d 
     136      DO jl = 1, jp_pisces_3d 
     137         jn = jp_pcs0_3d + jl - 1 
    136138         WRITE(ctrc3d(jn),'("3D_",I1)') jn                      ! short name 
    137139         WRITE(ctrc3l(jn),'("3D DIAGNOSTIC NUMBER ",I2)') jn    ! long name 
     
    142144      READ  ( numnat, nampisdia ) 
    143145 
    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 
     146      DO jl = 1, jp_pisces_2d 
     147         jn = jp_pcs0_2d + jl - 1 
     148         ctrc2d(jn) = pisdia2d(jl)%snamedia 
     149         ctrc2l(jn) = pisdia2d(jl)%lnamedia 
     150         ctrc2u(jn) = pisdia2d(jl)%unitdia 
    148151      END DO 
    149152 
    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 
     153      DO jl = 1, jp_pisces_3d 
     154         jn = jp_pcs0_3d + jl - 1 
     155         ctrc3d(jn) = pisdia3d(jl)%snamedia 
     156         ctrc3l(jn) = pisdia3d(jl)%lnamedia 
     157         ctrc3u(jn) = pisdia3d(jl)%unitdia 
    154158      END DO 
    155159 
     
    158162         WRITE(numout,*) ' Namelist : natadd' 
    159163         WRITE(numout,*) '    frequency of outputs for additional arrays nwritedia = ', nwritedia 
    160          DO jn = jp_pcs0_3d, jp_pcs1_3d 
     164         DO jl = 1, jp_pisces_3d 
     165            jn = jp_pcs0_3d + jl - 1 
    161166            WRITE(numout,*) '   3d output field No : ',jn 
    162167            WRITE(numout,*) '   short name         : ', TRIM(ctrc3d(jn)) 
     
    166171         END DO 
    167172 
    168          DO jn = jp_pcs0_2d, jp_pcs1_2d 
     173         DO jl = 1, jp_pisces_2d 
     174            jn = jp_pcs0_2d + jl - 1 
    169175            WRITE(numout,*) '   2d output field No : ',jn 
    170176            WRITE(numout,*) '   short name         : ', TRIM(ctrc2d(jn)) 
  • trunk/NEMO/TOP_SRC/PISCES/trcsms_pisces.F90

    r1185 r1255  
    2525   USE p4zlys          !  
    2626   USE p4zflx          !  
     27 
     28   USE trdmld_trc_oce 
     29   USE trdmld_trc 
    2730 
    2831   USE sedmodel 
     
    5558      !! 
    5659      INTEGER ::   jnt, jn 
     60      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   ztrpis   ! used for pisces sms trends 
    5761      !!--------------------------------------------------------------------- 
    5862 
     
    6266 
    6367         CALL p4z_che          ! computation of chemical constants 
    64  
    6568         CALL p4z_int          ! computation of various rates for biogeochemistry 
    6669         ! 
     
    7174         ! 
    7275         CALL p4z_bio (kt, jnt)    ! Compute soft tissue production (POC) 
    73  
    74  
    7576         CALL p4z_sed (kt, jnt)    ! compute soft tissue remineralisation 
    76  
    7777         ! 
    7878         trb(:,:,:,:) = trn(:,:,:,:) 
     
    8181 
    8282      CALL p4z_lys( kt )             ! Compute CaCO3 saturation 
    83  
    8483      CALL p4z_flx( kt )             ! Compute surface fluxes 
    8584 
     
    9089        CALL lbc_lnk( tra(:,:,:,jn), 'T', 1. ) 
    9190      END DO 
     91 
     92      IF( l_trdtrc ) THEN 
     93          DO jn = jp_pcs0, jp_pcs1 
     94            ztrpis(:,:,:) = tra(:,:,:,jn) 
     95            CALL trd_mod_trc( ztrpis, jn, jptrc_trd_sms, kt )   ! save trends 
     96          END DO 
     97      END IF 
    9298 
    9399#if defined key_sed 
Note: See TracChangeset for help on using the changeset viewer.