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

Changeset 3448


Ignore:
Timestamp:
2012-08-10T15:18:09+02:00 (12 years ago)
Author:
cetlod
Message:

ranch:2012/dev_r3438_LOCEAN15_PISLOB : minor bug corrections, see ticket #972

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2012/dev_r3438_LOCEAN15_PISLOB/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90

    r3446 r3448  
    8585      ! 
    8686      ! Allocate temporary workspace 
    87                                           CALL wrk_alloc( jpi, jpj, jpk, zFe3, zTL1, ztotlig ) 
    88       IF( ln_diatrc .AND. lk_iomput )     CALL wrk_alloc( jpi, jpj, jpk, zFeL1 ) 
    89       ! 
    90       IF( ln_fechem ) THEN 
    91                                           CALL wrk_alloc( jpi, jpj, jpk, zTL2, zFeP ) 
    92          IF( ln_diatrc .AND. lk_iomput )  CALL wrk_alloc( jpi, jpj, jpk, zFe2, zFeL2 ) 
    93       ENDIF 
     87                       CALL wrk_alloc( jpi, jpj, jpk, zFe3, zFeL1, zTL1, ztotlig ) 
     88      IF( ln_fechem )  CALL wrk_alloc( jpi, jpj, jpk, zFe2, zFeL2, zTL2, zFeP ) 
    9489      ! Total ligand concentration : Ligands can be chosen to be constant or variable 
    9590      ! Parameterization from Tagliabue and Voelker (2011) 
     
    179174                  zFe3(ji,jj,jk) = MAX( 0., zxs )  
    180175                  zFep(ji,jj,jk) = MAX( 0., ( ks * zFe3(ji,jj,jk) / kpr ) ) 
    181                   IF( ln_diatrc .AND. lk_iomput ) THEN 
    182                      zkappa2 = ( kb2 + zkph2 ) / kl2 
    183                      zFeL2(ji,jj,jk) = MAX( 0., ( zFe3(ji,jj,jk) * zTL2(ji,jj,jk) ) / ( zkappa2 + zFe3(ji,jj,jk) ) ) 
    184                      zFeL1(ji,jj,jk) = MAX( 0., ( ztfe / zb - za / zb * zFe3(ji,jj,jk) - zc / zb * zFeL2(ji,jj,jk) ) ) 
    185                      zFe2 (ji,jj,jk) = MAX( 0., ( ( zkph1 * zFeL1(ji,jj,jk) + zkph2 * zFeL2(ji,jj,jk) ) / zkox ) ) 
    186                   ENDIF  
     176                  zkappa2 = ( kb2 + zkph2 ) / kl2 
     177                  zFeL2(ji,jj,jk) = MAX( 0., ( zFe3(ji,jj,jk) * zTL2(ji,jj,jk) ) / ( zkappa2 + zFe3(ji,jj,jk) ) ) 
     178                  zFeL1(ji,jj,jk) = MAX( 0., ( ztfe / zb - za / zb * zFe3(ji,jj,jk) - zc / zb * zFeL2(ji,jj,jk) ) ) 
     179                  zFe2 (ji,jj,jk) = MAX( 0., ( ( zkph1 * zFeL1(ji,jj,jk) + zkph2 * zFeL2(ji,jj,jk) ) / zkox ) ) 
    187180               END DO 
    188181            END DO 
     
    202195                  ztfe           = trn(ji,jj,jk,jpfer)  
    203196                  ! Fe' is the root of a 2nd order polynom 
    204                   zFe3(ji,jj,jk) = ( -( 1. + zfesatur * zkeq - zkeq * ztfe )               & 
     197                  zFe3 (ji,jj,jk) = ( -( 1. + zfesatur * zkeq - zkeq * ztfe )               & 
    205198                     &             + SQRT( ( 1. + zfesatur * zkeq - zkeq * ztfe )**2       & 
    206199                     &               + 4. * ztfe * zkeq) ) / ( 2. * zkeq ) 
    207                   zFe3(ji,jj,jk) = zFe3(ji,jj,jk) * 1E9 
     200                  zFe3 (ji,jj,jk) = zFe3(ji,jj,jk) * 1E9 
     201                  zFeL1(ji,jj,jk) = MAX( 0., trn(ji,jj,jk,jpfer) * 1E9 - zFe3(ji,jj,jk) ) 
    208202              END DO 
    209203            END DO 
    210204         END DO 
    211          IF( ln_diatrc .AND. lk_iomput )   & 
    212             &  zFeL1(:,:,1:jpkm1) = MAX( 0., trn(:,:,1:jpkm1,jpfer) * 1E9 - zFe3(:,:,1:jpkm1) ) 
    213205         ! 
    214206      ENDIF 
     
    328320      ENDIF 
    329321      ! 
    330                                          CALL wrk_dealloc( jpi, jpj, jpk, zFe3, zTL1, ztotlig ) 
    331       IF( ln_diatrc .AND. lk_iomput )    CALL wrk_dealloc( jpi, jpj, jpk, zFeL1 ) 
    332       IF( ln_fechem ) THEN 
    333                                          CALL wrk_dealloc( jpi, jpj, jpk, zTL2, zFeP ) 
    334          IF( ln_diatrc .AND. lk_iomput ) CALL wrk_dealloc( jpi, jpj, jpk, zFe2, zFeL2 ) 
    335       ENDIF 
     322                       CALL wrk_dealloc( jpi, jpj, jpk, zFe3, zFeL1, zTL1, ztotlig ) 
     323      IF( ln_fechem )  CALL wrk_dealloc( jpi, jpj, jpk, zFe2, zFeL2, zTL2, zFeP ) 
    336324      ! 
    337325      IF( nn_timing == 1 )  CALL timing_stop('p4z_fechem') 
Note: See TracChangeset for help on using the changeset viewer.