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 3028 for branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcsed.F90 – NEMO

Ignore:
Timestamp:
2011-10-31T09:42:39+01:00 (12 years ago)
Author:
cetlod
Message:

branch dev_LOCEAN_2011 : minor changes in TOP component relative to the management of additional diagnostics

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcsed.F90

    r2977 r3028  
    5757      !!--------------------------------------------------------------------- 
    5858      USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    59       USE wrk_nemo, ONLY: zw2d  => wrk_2d_1, zwork => wrk_3d_2 
     59      USE wrk_nemo, ONLY: zwork => wrk_3d_2, ztra => wrk_3d_3 
     60      USE wrk_nemo, ONLY: zw2d  => wrk_2d_1 
    6061      !! 
    6162      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index       
    6263      !! 
    6364      INTEGER  ::   ji, jj, jk, jl, ierr 
    64       REAL(wp) ::   ztra, ze3t 
    6565      REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::  ztrbio 
    6666      CHARACTER (len=25) :: charout 
     
    7373      ENDIF 
    7474 
    75       IF( wrk_in_use(2, 1) .OR. wrk_in_use(3, 2) ) THEN 
     75      IF( wrk_in_use(2, 1) .OR. wrk_in_use(3, 2,3) ) THEN 
    7676         CALL ctl_stop('trc_sed : requested workspace arrays unavailable.')  ;  RETURN 
    7777      END IF 
     
    8585      ENDIF 
    8686 
    87       IF( ln_diatrc .AND. lk_iomput )  zw2d(:,:) = 0. 
     87      IF( ln_diatrc )  zw2d(:,:) = 0. 
    8888 
    8989      ! sedimentation of detritus  : upstream scheme 
     
    103103         DO jj = 1, jpj 
    104104            DO ji = 1, jpi 
    105                ztra  = - ( zwork(ji,jj,jk) - zwork(ji,jj,jk+1) ) / fse3t(ji,jj,jk) 
    106                tra(ji,jj,jk,jp_lob_det) = tra(ji,jj,jk,jp_lob_det) + ztra 
    107                ! 
    108                IF( ln_diabio )  trbio(ji,jj,jk,jp_lob0_trd + 7) = ztra 
    109                IF( ln_diatrc ) THEN 
    110                   ze3t = ztra * fse3t(ji,jj,jk) * 86400. 
    111                   IF( lk_iomput ) THEN   ;  zw2d(ji,jj) = zw2d(ji,jj) + ze3t  
    112                   ELSE                   ;  trc2d(ji,jj,jp_lob0_2d + 7) = trc2d(ji,jj,jp_lob0_2d + 7) + ze3t 
    113                   ENDIF 
    114                ENDIF 
    115                ! 
     105               ztra(ji,jj,jk)  = - ( zwork(ji,jj,jk) - zwork(ji,jj,jk+1) ) / fse3t(ji,jj,jk) 
     106               tra(ji,jj,jk,jp_lob_det) = tra(ji,jj,jk,jp_lob_det) + ztra(ji,jj,jk)  
    116107            END DO 
    117108         END DO 
    118109      END DO 
    119110 
    120       IF( ln_diatrc .AND. lk_iomput )  CALL iom_put( "TDETSED", zw2d ) 
    121  
     111      IF( ln_diatrc ) THEN  
     112         zw2d(:,:) = 0. 
     113         DO jk = 1, jpkm1 
     114            DO jj = 1, jpj 
     115               DO ji = 1, jpi 
     116                  zw2d(ji,jj) = zw2d(ji,jj) + ztra(ji,jj,jk) * fse3t(ji,jj,jk) * 86400. 
     117               END DO 
     118            END DO 
     119         END DO 
     120         IF( lk_iomput )  THEN 
     121           CALL iom_put( "TDETSED", zw2d ) 
     122         ELSE 
     123           trc2d(:,:,jp_lob0_2d + 7) = zw2d(:,:) 
     124         ENDIF 
     125      ENDIF 
     126      ! 
     127      IF( ln_diabio )  trbio(:,:,:,jp_lob0_trd + 7) = ztra(:,:,:) 
     128      ! 
    122129      IF( l_trdtrc ) THEN 
    123130         ztrbio(:,:,:) = tra(:,:,:,jp_lob_det) - ztrbio(:,:,:) 
     
    133140      ENDIF 
    134141 
    135       IF( ( wrk_not_released(2, 1) ) .OR. ( wrk_not_released(3, 2) ) )  & 
     142      IF( ( wrk_not_released(2, 1) ) .OR. ( wrk_not_released(3, 2,3) ) )  & 
    136143       &         CALL ctl_stop('trc_sed : failed to release workspace arrays.') 
    137144 
Note: See TracChangeset for help on using the changeset viewer.