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 1289 – NEMO

Changeset 1289


Ignore:
Timestamp:
2009-02-03T15:18:40+01:00 (15 years ago)
Author:
cetlod
Message:

change the computation of xnegtr in PISCEs model, see ticket:318

File:
1 edited

Legend:

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

    r1264 r1289  
    5959      INTEGER, INTENT(in) :: kt, jnt 
    6060      INTEGER  ::  ji, jj, jk, jn 
     61      REAL(wp) ::  ztra 
    6162#if defined key_kriest 
    6263      REAL(wp) ::  zcoef1, zcoef2 
     
    6970      !     OF PHYTOPLANKTON AND DETRITUS 
    7071 
    71       xdiss(:,:,:) = 0.01 
    72  
     72      xdiss(:,:,:) = 1. 
    7373!!gm the use of nmld should be better here? 
    74       DO jk = 1, jpkm1 
     74      DO jk = 2, jpkm1 
    7575         DO jj = 1, jpj 
    7676            DO ji = 1, jpi 
    77                IF( fsdepw(ji,jj,jk+1) .le. hmld(ji,jj) )   xdiss(ji,jj,jk) = 1.e0 
     77               IF( fsdepw(ji,jj,jk+1) > hmld(ji,jj) )   xdiss(ji,jj,jk) = 0.01 
    7878            END DO  
    7979         END DO 
     
    9292      CALL p4z_meso ( kt, jnt )           ! mesozooplankton 
    9393 
    94  
    95       !                                                      ! test if tracers concentrations fall below 0. 
     94      !                             ! test if tracers concentrations fall below 0. 
    9695      xnegtr(:,:,:) = 1.e0 
    9796      DO jn = jp_pcs0, jp_pcs1 
     
    9998            DO jj = 1, jpj 
    10099               DO ji = 1, jpi 
    101                   IF( ( trn(ji,jj,jk,jn) + tra(ji,jj,jk,jn) ) < 0.e0 )    xnegtr(ji,jj,jk) = 0.e0 
    102                END DO 
     100                  IF( ( trn(ji,jj,jk,jn) + tra(ji,jj,jk,jn) ) < 0.e0 ) THEN  
     101                     ztra             = ABS(  ( trn(ji,jj,jk,jn) - rtrn ) & 
     102                                            / ( tra(ji,jj,jk,jn) + rtrn ) ) 
     103                     xnegtr(ji,jj,jk) = MIN( xnegtr(ji,jj,jk),  ztra ) 
     104                  ENDIF 
     105              END DO 
    103106            END DO 
    104107         END DO 
    105108      END DO 
    106109      !                                ! where at least 1 tracer concentration becomes negative 
    107       !                                ! all tracer tendancy are set to zero (i.e. trn = trb) 
     110      !                                !  
    108111      DO jn = jp_pcs0, jp_pcs1 
    109112         trn(:,:,:,jn) = trn(:,:,:,jn) + xnegtr(:,:,:) * tra(:,:,:,jn) 
Note: See TracChangeset for help on using the changeset viewer.