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 5612 for branches/UKMO/dev_r5518_CICE_coupling_GSI7/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zflx.F90 – NEMO

Ignore:
Timestamp:
2015-07-20T11:11:11+02:00 (9 years ago)
Author:
dancopsey
Message:

Merged with revision 5518 of the trunk (NEMO3.6_stable).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_CICE_coupling_GSI7/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zflx.F90

    • Property svn:keywords set to Id
    r5234 r5612  
    6868CONTAINS 
    6969 
    70    SUBROUTINE p4z_flx ( kt ) 
     70   SUBROUTINE p4z_flx ( kt, knt ) 
    7171      !!--------------------------------------------------------------------- 
    7272      !!                     ***  ROUTINE p4z_flx  *** 
     
    8181      !!--------------------------------------------------------------------- 
    8282      ! 
    83       INTEGER, INTENT(in) ::   kt   ! 
     83      INTEGER, INTENT(in) ::   kt, knt   ! 
    8484      ! 
    8585      INTEGER  ::   ji, jj, jm, iind, iindm1 
     
    101101      !     IS USED TO COMPUTE AIR-SEA FLUX OF CO2 
    102102 
    103       IF( kt /= nit000 ) CALL p4z_patm( kt )    ! Get sea-level pressure (E&K [1981] climatology) for use in flux calcs 
     103      IF( kt /= nit000 .AND. knt == 1 ) CALL p4z_patm( kt )    ! Get sea-level pressure (E&K [1981] climatology) for use in flux calcs 
    104104 
    105105      IF( ln_co2int ) THEN  
     
    130130               zbot  = borat(ji,jj,1) 
    131131               zfact = rhop(ji,jj,1) / 1000. + rtrn 
    132                zdic  = trn(ji,jj,1,jpdic) / zfact 
     132               zdic  = trb(ji,jj,1,jpdic) / zfact 
    133133               zph   = MAX( hi(ji,jj,1), 1.e-10 ) / zfact 
    134                zalka = trn(ji,jj,1,jptal) / zfact 
     134               zalka = trb(ji,jj,1,jptal) / zfact 
    135135 
    136136               ! CALCULATE [ALK]([CO3--], [HCO3-]) 
     
    184184            zfld = satmco2(ji,jj) * patm(ji,jj) * tmask(ji,jj,1) * chemc(ji,jj,1) * zkgco2(ji,jj)   ! (mol/L) * (m/s) 
    185185            zflu = zh2co3(ji,jj) * tmask(ji,jj,1) * zkgco2(ji,jj)                                   ! (mol/L) (m/s) ? 
    186             oce_co2(ji,jj) = ( zfld - zflu ) * rfact * e1e2t(ji,jj) * tmask(ji,jj,1) * 1000. 
     186            oce_co2(ji,jj) = ( zfld - zflu ) * rfact2 * e1e2t(ji,jj) * tmask(ji,jj,1) * 1000. 
    187187            ! compute the trend 
    188             tra(ji,jj,1,jpdic) = tra(ji,jj,1,jpdic) + ( zfld - zflu ) / fse3t(ji,jj,1) 
     188            tra(ji,jj,1,jpdic) = tra(ji,jj,1,jpdic) + ( zfld - zflu ) * rfact2 / fse3t(ji,jj,1) 
    189189 
    190190            ! Compute O2 flux  
    191191            zfld16 = atcox * patm(ji,jj) * chemc(ji,jj,2) * tmask(ji,jj,1) * zkgo2(ji,jj)          ! (mol/L) * (m/s) 
    192             zflu16 = trn(ji,jj,1,jpoxy) * tmask(ji,jj,1) * zkgo2(ji,jj) 
     192            zflu16 = trb(ji,jj,1,jpoxy) * tmask(ji,jj,1) * zkgo2(ji,jj) 
    193193            zoflx(ji,jj) = zfld16 - zflu16 
    194             tra(ji,jj,1,jpoxy) = tra(ji,jj,1,jpoxy) + zoflx(ji,jj) / fse3t(ji,jj,1) 
     194            tra(ji,jj,1,jpoxy) = tra(ji,jj,1,jpoxy) + zoflx(ji,jj) * rfact2 / fse3t(ji,jj,1) 
    195195         END DO 
    196196      END DO 
     
    207207      ENDIF 
    208208 
    209       IF( lk_iomput ) THEN 
     209      IF( lk_iomput .AND. knt == nrdttrc ) THEN 
    210210         CALL wrk_alloc( jpi, jpj, zw2d )   
    211211         IF( iom_use( "Cflx"  ) )  THEN 
    212             zw2d(:,:) = oce_co2(:,:) / e1e2t(:,:) / rfact 
     212            zw2d(:,:) = oce_co2(:,:) / e1e2t(:,:) * rfact2r 
    213213            CALL iom_put( "Cflx"     , zw2d )  
    214214         ENDIF 
     
    226226         ENDIF 
    227227         IF( iom_use( "Dpo2" ) )  THEN 
    228            zw2d(:,:) = ( atcox * patm(:,:) - trn(:,:,1,jpoxy) / ( chemc(:,:,2) + rtrn ) ) * tmask(:,:,1) 
     228           zw2d(:,:) = ( atcox * patm(:,:) - trb(:,:,1,jpoxy) / ( chemc(:,:,2) + rtrn ) ) * tmask(:,:,1) 
    229229           CALL iom_put( "Dpo2"  , zw2d ) 
    230230         ENDIF 
     
    235235      ELSE 
    236236         IF( ln_diatrc ) THEN 
    237             trc2d(:,:,jp_pcs0_2d    ) = oce_co2(:,:) / e1e2t(:,:) / rfact  
     237            trc2d(:,:,jp_pcs0_2d    ) = oce_co2(:,:) / e1e2t(:,:) * rfact2r  
    238238            trc2d(:,:,jp_pcs0_2d + 1) = zoflx(:,:) * 1000 * tmask(:,:,1)  
    239239            trc2d(:,:,jp_pcs0_2d + 2) = zkgco2(:,:) * tmask(:,:,1)  
Note: See TracChangeset for help on using the changeset viewer.