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 4152 for branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsms.F90 – NEMO

Ignore:
Timestamp:
2013-11-05T12:59:53+01:00 (10 years ago)
Author:
cetlod
Message:

merge in dev_LOCEAN_2013 the 2nd development branch dev_r3940_CNRS4_IOCRS, see ticket #1169

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsms.F90

    r4148 r4152  
    7676      ENDIF 
    7777      ! 
    78       IF( ln_rsttr .AND. kt == nittrc000 )                         CALL p4z_rst( nittrc000, 'READ' )  !* read or initialize all required fields  
     78      IF( kt == nittrc000 ) THEN 
     79        ! 
     80        CALL p4z_che                              ! initialize the chemical constants 
     81        ! 
     82        IF( .NOT. ln_rsttr ) THEN  ;   CALL p4z_ph_ini   !  set PH at kt=nit000  
     83        ELSE                       ;   CALL p4z_rst( nittrc000, 'READ' )  !* read or initialize all required fields  
     84        ENDIF 
     85        ! 
     86      ENDIF 
     87      ! 
    7988      IF( ln_pisdmp .AND. MOD( kt - nn_dttrc, nn_pisdmp ) == 0 )   CALL p4z_dmp( kt )      ! Relaxation of some tracers 
    8089      ! 
     
    254263   END SUBROUTINE p4z_sms_init 
    255264 
     265   SUBROUTINE p4z_ph_ini 
     266      !!--------------------------------------------------------------------- 
     267      !!                   ***  ROUTINE p4z_ini_ph  *** 
     268      !! 
     269      !!  ** Purpose : Initialization of chemical variables of the carbon cycle 
     270      !!--------------------------------------------------------------------- 
     271      INTEGER  ::  ji, jj, jk 
     272      REAL(wp) ::  zcaralk, zbicarb, zco3 
     273      REAL(wp) ::  ztmas, ztmas1 
     274      !!--------------------------------------------------------------------- 
     275 
     276      ! Set PH from  total alkalinity, borat (???), akb3 (???) and ak23 (???) 
     277      ! -------------------------------------------------------- 
     278      DO jk = 1, jpk 
     279         DO jj = 1, jpj 
     280            DO ji = 1, jpi 
     281               ztmas   = tmask(ji,jj,jk) 
     282               ztmas1  = 1. - tmask(ji,jj,jk) 
     283               zcaralk = trn(ji,jj,jk,jptal) - borat(ji,jj,jk) / (  1. + 1.E-8 / ( rtrn + akb3(ji,jj,jk) )  ) 
     284               zco3    = ( zcaralk - trn(ji,jj,jk,jpdic) ) * ztmas + 0.5e-3 * ztmas1 
     285               zbicarb = ( 2. * trn(ji,jj,jk,jpdic) - zcaralk ) 
     286               hi(ji,jj,jk) = ( ak23(ji,jj,jk) * zbicarb / zco3 ) * ztmas + 1.e-9 * ztmas1 
     287            END DO 
     288         END DO 
     289     END DO 
     290     ! 
     291   END SUBROUTINE p4z_ph_ini 
     292 
     293 
    256294   SUBROUTINE p4z_rst( kt, cdrw ) 
    257295      !!--------------------------------------------------------------------- 
     
    282320         ELSE 
    283321!            hi(:,:,:) = 1.e-9  
    284             ! Set PH from  total alkalinity, borat (???), akb3 (???) and ak23 (???) 
    285             ! -------------------------------------------------------- 
    286             DO jk = 1, jpk 
    287                DO jj = 1, jpj 
    288                   DO ji = 1, jpi 
    289                      ztmas   = tmask(ji,jj,jk) 
    290                      ztmas1  = 1. - tmask(ji,jj,jk) 
    291                      zcaralk = trn(ji,jj,jk,jptal) - borat(ji,jj,jk) / (  1. + 1.E-8 / ( rtrn + akb3(ji,jj,jk) )  ) 
    292                      zco3    = ( zcaralk - trn(ji,jj,jk,jpdic) ) * ztmas + 0.5e-3 * ztmas1 
    293                      zbicarb = ( 2. * trn(ji,jj,jk,jpdic) - zcaralk ) 
    294                      hi(ji,jj,jk) = ( ak23(ji,jj,jk) * zbicarb / zco3 ) * ztmas + 1.e-9 * ztmas1 
    295                   END DO 
    296                END DO 
    297             END DO 
     322           CALL p4z_ph_ini 
    298323         ENDIF 
    299324         CALL iom_get( numrtr, jpdom_autoglo, 'Silicalim', xksi(:,:) ) 
Note: See TracChangeset for help on using the changeset viewer.