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 4800 for trunk/NEMOGCM/NEMO/TOP_SRC – NEMO

Ignore:
Timestamp:
2014-10-01T12:50:35+02:00 (10 years ago)
Author:
cetlod
Message:

bugfixes on PISCES, see ticket #1397

Location:
trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90

    r4624 r4800  
    244244               ztrc   = ( trn(ji,jj,jk,jppoc) + trn(ji,jj,jk,jpgoc) + trn(ji,jj,jk,jpcal) + trn(ji,jj,jk,jpgsi) ) * 1.e6  
    245245#endif 
    246                IF( ln_dust )  zdust  = dust(ji,jj) / ( wdust * rday ) * tmask(ji,jj,jk) ! dust in kg/m2/s 
     246               IF( ln_dust )  zdust  = dust(ji,jj) / ( wdust / rday ) * tmask(ji,jj,jk) ! dust in kg/m2/s 
    247247               zlam1b = 3.e-5 + xlamdust * zdust + xlam1 * ztrc 
    248248               zscave = zfeequi * zlam1b * zstep 
  • trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmeso.F90

    r4624 r4800  
    163163              zfrac     = zproport * grazflux  * zstep * wsbio4(ji,jj,jk)      & 
    164164               &          * trn(ji,jj,jk,jpgoc) * trn(ji,jj,jk,jpmes)          & 
    165                &          * ( 0.1 + 3.9 * zratio2 / ( 1.**2 + zratio2 ) ) 
     165               &          * ( 0.2 + 3.8 * zratio2 / ( 1.**2 + zratio2 ) ) 
    166166              zfracfe   = zfrac * trn(ji,jj,jk,jpbfe) / (trn(ji,jj,jk,jpgoc) + rtrn) 
    167167 
  • trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90

    r4624 r4800  
    137137               !    Various remineralization and excretion terms 
    138138               !    -------------------------------------------- 
    139                zgrasrat  = zgraztotf / ( zgraztot + rtrn ) 
    140                zgrasratn = zgraztotn / ( zgraztot + rtrn ) 
     139               zgrasrat  = ( zgraztotf + rtrn ) / ( zgraztot + rtrn ) 
     140               zgrasratn = ( zgraztotn + rtrn ) / ( zgraztot + rtrn ) 
    141141               zepshert  =  MIN( 1., zgrasratn, zgrasrat / ferat3) 
    142142               zepsherv  = zepshert * MIN( epsher, (1. - unass) * zgrasrat / ferat3, (1. - unass) * zgrasratn ) 
  • trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsed.F90

    r4641 r4800  
    3535   REAL(wp) :: ryyss                    !: number of seconds per year  
    3636   REAL(wp) :: r1_ryyss                 !: inverse of ryyss 
    37    REAL(wp) :: rmtss                    !: number of seconds per month 
    3837   REAL(wp) :: r1_rday                  !: inverse of rday 
    3938 
     
    8584      IF( kt == nittrc000 .AND. jnt == 1 )  THEN 
    8685         ryyss    = nyear_len(1) * rday    ! number of seconds per year and per month 
    87          rmtss    = ryyss / raamo 
    8886         r1_rday  = 1. / rday 
    8987         r1_ryyss = 1. / ryyss 
     
    9997      zdenit2d(:,:) = 0.e0 
    10098      zbureff (:,:) = 0.e0 
     99      zwork1  (:,:) = 0.e0 
     100      zwork2  (:,:) = 0.e0 
     101      zwork3  (:,:) = 0.e0 
     102      zwork4  (:,:) = 0.e0 
    101103 
    102104      ! Iron input/uptake due to sea ice : Crude parameterization based on Lancelot et al. 
     
    132134         !                                              ! Iron and Si deposition at the surface 
    133135         IF( ln_solub ) THEN 
    134             zirondep(:,:,1) = solub(:,:) * dust(:,:) * mfrac * rfact2 / fse3t(:,:,1) / ( 55.85 * rmtss ) + 3.e-10 * r1_ryyss  
     136            zirondep(:,:,1) = solub(:,:) * dust(:,:) * mfrac * rfact2 / fse3t(:,:,1) / 55.85 + 3.e-10 * r1_ryyss  
    135137         ELSE 
    136             zirondep(:,:,1) = dustsolub  * dust(:,:) * mfrac * rfact2 / fse3t(:,:,1) / ( 55.85 * rmtss ) + 3.e-10 * r1_ryyss  
     138            zirondep(:,:,1) = dustsolub  * dust(:,:) * mfrac * rfact2 / fse3t(:,:,1) / 55.85 + 3.e-10 * r1_ryyss  
    137139         ENDIF 
    138          zsidep(:,:) = 8.8 * 0.075 * dust(:,:) * mfrac * rfact2 / fse3t(:,:,1) / ( 28.1  * rmtss ) 
    139          zpdep (:,:) = 0.1 * 0.021 * dust(:,:) * mfrac * rfact2 / fse3t(:,:,1) / ( 31.   * rmtss ) / po4r  
     140         zsidep(:,:) = 8.8 * 0.075 * dust(:,:) * mfrac * rfact2 / fse3t(:,:,1) / 28.1  
     141         zpdep (:,:) = 0.1 * 0.021 * dust(:,:) * mfrac * rfact2 / fse3t(:,:,1) / 31. / po4r  
    140142         !                                              ! Iron solubilization of particles in the water column 
    141143         !                                              ! dust in kg/m2/s ---> 1/55.85 to put in mol/Fe ;  wdust in m/j 
     
    250252      DO jj = 1, jpj 
    251253         DO ji = 1, jpi 
    252             ikt = mbkt(ji,jj)  
     254            IF( tmask(ji,jj,1) == 1 ) THEN 
     255               ikt = mbkt(ji,jj)  
    253256# if defined key_kriest 
    254             zwork1(ji,jj) = trn(ji,jj,ikt,jpgsi) * zwscal (ji,jj) 
    255             zwork2(ji,jj) = trn(ji,jj,ikt,jppoc) * zwsbio3(ji,jj) 
     257               zwork1(ji,jj) = trn(ji,jj,ikt,jpgsi) * zwscal (ji,jj) 
     258               zwork2(ji,jj) = trn(ji,jj,ikt,jppoc) * zwsbio3(ji,jj) 
    256259# else 
    257             zwork1(ji,jj) = trn(ji,jj,ikt,jpgsi) * zwsbio4(ji,jj) 
    258             zwork2(ji,jj) = trn(ji,jj,ikt,jpgoc) * zwsbio4(ji,jj) + trn(ji,jj,ikt,jppoc) * zwsbio3(ji,jj)  
     260               zwork1(ji,jj) = trn(ji,jj,ikt,jpgsi) * zwsbio4(ji,jj) 
     261               zwork2(ji,jj) = trn(ji,jj,ikt,jpgoc) * zwsbio4(ji,jj) + trn(ji,jj,ikt,jppoc) * zwsbio3(ji,jj)  
    259262# endif 
    260             ! For calcite, burial efficiency is made a function of saturation 
    261             zfactcal      = MIN( excess(ji,jj,ikt), 0.2 ) 
    262             zfactcal      = MIN( 1., 1.3 * ( 0.2 - zfactcal ) / ( 0.4 - zfactcal ) ) 
    263             zwork3(ji,jj) = trn(ji,jj,ikt,jpcal) * zwscal(ji,jj) * 2.e0 * zfactcal 
     263               ! For calcite, burial efficiency is made a function of saturation 
     264               zfactcal      = MIN( excess(ji,jj,ikt), 0.2 ) 
     265               zfactcal      = MIN( 1., 1.3 * ( 0.2 - zfactcal ) / ( 0.4 - zfactcal ) ) 
     266               zwork3(ji,jj) = trn(ji,jj,ikt,jpcal) * zwscal(ji,jj) * 2.e0 * zfactcal 
     267            ENDIF 
    264268         END DO 
    265269      END DO 
Note: See TracChangeset for help on using the changeset viewer.