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 5038 for branches/2014/dev_r4621_NOC4_BDY_VERT_INTERP/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zflx.F90 – NEMO

Ignore:
Timestamp:
2015-01-20T15:26:13+01:00 (9 years ago)
Author:
jamesharle
Message:

Merging branch with HEAD of the trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4621_NOC4_BDY_VERT_INTERP/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zflx.F90

    r4230 r5038  
    8989      REAL(wp) ::   zyr_dec, zdco2dt 
    9090      CHARACTER (len=25) :: charout 
    91       REAL(wp), POINTER, DIMENSION(:,:) :: zkgco2, zkgo2, zh2co3, zoflx  
     91      REAL(wp), POINTER, DIMENSION(:,:) :: zkgco2, zkgo2, zh2co3, zoflx, zw2d  
    9292      !!--------------------------------------------------------------------- 
    9393      ! 
     
    196196      END DO 
    197197 
    198       t_oce_co2_flx = t_oce_co2_flx + glob_sum( oce_co2(:,:) )      ! Cumulative Total Flux of Carbon 
    199       t_atm_co2_flx = glob_sum( satmco2(:,:) * e1e2t(:,:) )         ! Total atmospheric pCO2 
    200  
     198      t_oce_co2_flx     = glob_sum( oce_co2(:,:) )                    !  Total Flux of Carbon 
     199      t_oce_co2_flx_cum = t_oce_co2_flx_cum + t_oce_co2_flx       !  Cumulative Total Flux of Carbon 
     200!      t_atm_co2_flx     = glob_sum( satmco2(:,:) * e1e2t(:,:) )       ! Total atmospheric pCO2 
     201      t_atm_co2_flx     =  atcco2      ! Total atmospheric pCO2 
     202  
    201203      IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
    202204         WRITE(charout, FMT="('flx ')") 
     
    205207      ENDIF 
    206208 
    207       IF( ln_diatrc ) THEN 
    208          IF( lk_iomput ) THEN 
    209             CALL iom_put( "Cflx" , oce_co2(:,:) / e1e2t(:,:) / rfact )  
    210             CALL iom_put( "Oflx" , zoflx(:,:) * 1000 * tmask(:,:,1)  ) 
    211             CALL iom_put( "Kg"   , zkgco2(:,:) * tmask(:,:,1) ) 
    212             CALL iom_put( "Dpco2", ( satmco2(:,:) * patm(:,:) - zh2co3(:,:) / ( chemc(:,:,1) + rtrn ) ) * tmask(:,:,1) ) 
    213             CALL iom_put( "Dpo2" , ( atcox * patm(:,:) - trn(:,:,1,jpoxy) / ( chemc(:,:,2) + rtrn ) ) * tmask(:,:,1) ) 
    214          ELSE 
     209      IF( lk_iomput ) THEN 
     210         CALL wrk_alloc( jpi, jpj, zw2d )   
     211         IF( iom_use( "Cflx"  ) )  THEN 
     212            zw2d(:,:) = oce_co2(:,:) / e1e2t(:,:) / rfact 
     213            CALL iom_put( "Cflx"     , zw2d )  
     214         ENDIF 
     215         IF( iom_use( "Oflx"  ) )  THEN 
     216            zw2d(:,:) =  zoflx(:,:) * 1000 * tmask(:,:,1) 
     217            CALL iom_put( "Oflx" , zw2d ) 
     218         ENDIF 
     219         IF( iom_use( "Kg"    ) )  THEN 
     220            zw2d(:,:) =  zkgco2(:,:) * tmask(:,:,1) 
     221            CALL iom_put( "Kg"   , zw2d ) 
     222         ENDIF 
     223         IF( iom_use( "Dpco2" ) ) THEN 
     224           zw2d(:,:) = ( satmco2(:,:) * patm(:,:) - zh2co3(:,:) / ( chemc(:,:,1) + rtrn ) ) * tmask(:,:,1) 
     225           CALL iom_put( "Dpco2" ,  zw2d ) 
     226         ENDIF 
     227         IF( iom_use( "Dpo2" ) )  THEN 
     228           zw2d(:,:) = ( atcox * patm(:,:) - trn(:,:,1,jpoxy) / ( chemc(:,:,2) + rtrn ) ) * tmask(:,:,1) 
     229           CALL iom_put( "Dpo2"  , zw2d ) 
     230         ENDIF 
     231         IF( iom_use( "tcflx" ) )  CALL iom_put( "tcflx"    , t_oce_co2_flx * rfact2r )   ! molC/s 
     232         CALL iom_put( "tcflxcum" , t_oce_co2_flx_cum )      ! molC 
     233         ! 
     234         CALL wrk_dealloc( jpi, jpj, zw2d ) 
     235      ELSE 
     236         IF( ln_diatrc ) THEN 
    215237            trc2d(:,:,jp_pcs0_2d    ) = oce_co2(:,:) / e1e2t(:,:) / rfact  
    216238            trc2d(:,:,jp_pcs0_2d + 1) = zoflx(:,:) * 1000 * tmask(:,:,1)  
     
    250272      READ  ( numnatp_cfg, nampisext, IOSTAT = ios, ERR = 902 ) 
    251273902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisext in configuration namelist', lwp ) 
    252       WRITE ( numonp, nampisext ) 
     274      IF(lwm) WRITE ( numonp, nampisext ) 
    253275      ! 
    254276      IF(lwp) THEN                         ! control print 
     
    290312      ! 
    291313      oce_co2(:,:)  = 0._wp                ! Initialization of Flux of Carbon 
     314      t_oce_co2_flx = 0._wp 
    292315      t_atm_co2_flx = 0._wp 
    293       t_oce_co2_flx = 0._wp 
    294316      ! 
    295317      CALL p4z_patm( nit000 ) 
     
    326348         READ  ( numnatp_cfg, nampisatm, IOSTAT = ios, ERR = 902 ) 
    327349902      IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampisatm in configuration namelist', lwp ) 
    328          WRITE ( numonp, nampisatm ) 
     350         IF(lwm) WRITE ( numonp, nampisatm ) 
    329351         ! 
    330352         ! 
Note: See TracChangeset for help on using the changeset viewer.