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 7607 for branches/2015/nemo_v3_6_STABLE/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsms.F90 – NEMO

Ignore:
Timestamp:
2017-01-25T16:37:31+01:00 (7 years ago)
Author:
cetlod
Message:

v3.6 stable : add missing features for CMIP6 exercise, see ticket #1834

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/nemo_v3_6_STABLE/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsms.F90

    r6420 r7607  
    8585        CALL p4z_che                              ! initialize the chemical constants 
    8686        ! 
    87         IF( .NOT. ln_rsttr ) THEN  ;   CALL p4z_ph_ini   !  set PH at kt=nit000  
     87        IF( .NOT. ln_rsttr ) THEN  ;   CALL p4z_che_ahini( hi )   !  set PH at kt=nit000 
    8888        ELSE                       ;   CALL p4z_rst( nittrc000, 'READ' )  !* read or initialize all required fields  
    8989        ENDIF 
     
    310310   END SUBROUTINE p4z_sms_init 
    311311 
    312    SUBROUTINE p4z_ph_ini 
    313       !!--------------------------------------------------------------------- 
    314       !!                   ***  ROUTINE p4z_ini_ph  *** 
    315       !! 
    316       !!  ** Purpose : Initialization of chemical variables of the carbon cycle 
    317       !!--------------------------------------------------------------------- 
    318       INTEGER  ::  ji, jj, jk 
    319       REAL(wp) ::  zcaralk, zbicarb, zco3 
    320       REAL(wp) ::  ztmas, ztmas1 
    321       !!--------------------------------------------------------------------- 
    322  
    323       ! Set PH from  total alkalinity, borat (???), akb3 (???) and ak23 (???) 
    324       ! -------------------------------------------------------- 
    325       DO jk = 1, jpk 
    326          DO jj = 1, jpj 
    327             DO ji = 1, jpi 
    328                ztmas   = tmask(ji,jj,jk) 
    329                ztmas1  = 1. - tmask(ji,jj,jk) 
    330                zcaralk = trb(ji,jj,jk,jptal) - borat(ji,jj,jk) / (  1. + 1.E-8 / ( rtrn + akb3(ji,jj,jk) )  ) 
    331                zco3    = ( zcaralk - trb(ji,jj,jk,jpdic) ) * ztmas + 0.5e-3 * ztmas1 
    332                zbicarb = ( 2. * trb(ji,jj,jk,jpdic) - zcaralk ) 
    333                hi(ji,jj,jk) = ( ak23(ji,jj,jk) * zbicarb / zco3 ) * ztmas + 1.e-9 * ztmas1 
    334             END DO 
    335          END DO 
    336      END DO 
    337      ! 
    338    END SUBROUTINE p4z_ph_ini 
    339  
    340312   SUBROUTINE p4z_rst( kt, cdrw ) 
    341313      !!--------------------------------------------------------------------- 
     
    350322      INTEGER         , INTENT(in) ::   kt         ! ocean time-step 
    351323      CHARACTER(len=*), INTENT(in) ::   cdrw       ! "READ"/"WRITE" flag 
    352       ! 
    353       INTEGER  ::  ji, jj, jk 
    354       REAL(wp) ::  zcaralk, zbicarb, zco3 
    355       REAL(wp) ::  ztmas, ztmas1 
    356324      !!--------------------------------------------------------------------- 
    357325 
     
    365333            CALL iom_get( numrtr, jpdom_autoglo, 'PH' , hi(:,:,:)  ) 
    366334         ELSE 
    367 !            hi(:,:,:) = 1.e-9  
    368             CALL p4z_ph_ini 
     335            CALL p4z_che_ahini( hi ) 
    369336         ENDIF 
    370337         CALL iom_get( numrtr, jpdom_autoglo, 'Silicalim', xksi(:,:) ) 
Note: See TracChangeset for help on using the changeset viewer.