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 3481 for branches/2012 – NEMO

Changeset 3481 for branches/2012


Ignore:
Timestamp:
2012-10-02T14:38:42+02:00 (12 years ago)
Author:
cetlod
Message:

NEMOGCM_dev_r3438_LOCEAN15_PISLOB: output a text file for carbon budget

Location:
branches/2012/dev_r3438_LOCEAN15_PISLOB/NEMOGCM/NEMO/TOP_SRC/PISCES
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/2012/dev_r3438_LOCEAN15_PISLOB/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zflx.F90

    r3443 r3481  
    5757   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: satmco2   !: atmospheric pco2  
    5858 
    59    REAL(wp) ::  t_oce_co2_flx               !: Total ocean carbon flux  
    60    REAL(wp) ::  t_atm_co2_flx               !: global mean of atmospheric pco2 
    61    REAL(wp) ::  area                        !: ocean surface 
    6259   REAL(wp) ::  xconv  = 0.01_wp / 3600._wp !: coefficients for conversion  
    6360 
     
    200197 
    201198      t_oce_co2_flx = t_oce_co2_flx + glob_sum( oce_co2(:,:) )            ! Cumulative Total Flux of Carbon 
    202       IF( kt == nitend ) THEN 
    203          t_atm_co2_flx = glob_sum( satmco2(:,:) * patm(:,:) * e1e2t(:,:) )            ! Total atmospheric pCO2 
    204          ! 
    205          t_oce_co2_flx = (-1.) * t_oce_co2_flx  * 12. / 1.e15             ! Conversion in PgC ; negative for out of the ocean 
    206          t_atm_co2_flx = t_atm_co2_flx  / area                            ! global mean of atmospheric pCO2 
    207          ! 
    208          IF( lwp) THEN 
    209             WRITE(numout,*) 
    210             WRITE(numout,*) ' Global mean of atmospheric pCO2 (ppm) at it= ', kt, ' date= ', ndastp 
    211             WRITE(numout,*) '------------------------------------------------------- :  ',t_atm_co2_flx 
    212             WRITE(numout,*) 
    213             WRITE(numout,*) ' Cumulative total Flux of Carbon out of the ocean (PgC) :' 
    214             WRITE(numout,*) '-------------------------------------------------------  ',t_oce_co2_flx 
    215          ENDIF 
    216          ! 
    217       ENDIF 
     199      t_atm_co2_flx = glob_sum( satmco2(:,:) * patm(:,:) * e1e2t(:,:) )   ! Total atmospheric pCO2 
    218200 
    219201      IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     
    299281      ENDIF 
    300282      ! 
    301       area = glob_sum( e1e2t(:,:) )        ! interior global domain surface 
    302       ! 
    303283      oce_co2(:,:)  = 0._wp                ! Initialization of Flux of Carbon 
    304284      t_atm_co2_flx = 0._wp 
  • branches/2012/dev_r3438_LOCEAN15_PISLOB/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zprod.F90

    r3475 r3481  
    5252   REAL(wp) :: texcret                !: 1 - excret  
    5353   REAL(wp) :: texcret2               !: 1 - excret2         
    54    REAL(wp) :: tpp                    !: Total primary production 
    5554 
    5655 
     
    409408     ! Total primary production per year 
    410409     tpp = tpp + glob_sum( ( zprorca(:,:,:) + zprorcad(:,:,:) ) * cvol(:,:,:) ) 
    411  
    412      IF( kt == nitend .AND. jnt == nrdttrc ) THEN 
    413         IF (lwp) THEN 
    414            WRITE(numout,*) 'Total PP (Gtc) :' 
    415            WRITE(numout,*) '-------------------- : ',tpp * 12. / 1.E12 
    416            WRITE(numout,*)  
    417         ENDIF 
    418       ENDIF 
    419410 
    420411     IF( ln_diatrc ) THEN 
  • branches/2012/dev_r3438_LOCEAN15_PISLOB/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsink.F90

    r3471 r3481  
    238238      END DO 
    239239 
    240       ! 
    241       IF( ln_diatrc ) THEN 
     240     ! Total primary production per year 
     241     t_oce_co2_exp = t_oce_co2_exp + glob_sum( ( sinking(:,:,iksed+1) + sinking2(:,:,iksed+1) ) * e1e2t(:,:) * tmask(:,:,1) ) 
     242     ! 
     243     IF( ln_diatrc ) THEN 
    242244         zrfact2 = 1.e3 * rfact2r 
    243245         ik1  = iksed + 1 
     
    273275      !!                  ***  ROUTINE p4z_sink_init  *** 
    274276      !!---------------------------------------------------------------------- 
     277 
     278      t_oce_co2_exp = 0._wp 
     279      ! 
    275280   END SUBROUTINE p4z_sink_init 
    276281 
     
    474479      END DO 
    475480 
     481     ! Total primary production per year 
     482     t_oce_co2_exp = t_oce_co2_exp + glob_sum( ( sinking(:,:,:) ) * cvol(:,:,:) ) 
     483     ! 
    476484      IF( ln_diatrc ) THEN 
    477485         ! 
     
    655663      END DO 
    656664      ! 
     665      t_oce_co2_exp = 0._wp 
     666      ! 
    657667      IF( nn_timing == 1 )  CALL timing_stop('p4z_sink_init') 
    658668      ! 
  • branches/2012/dev_r3438_LOCEAN15_PISLOB/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsms.F90

    r3471 r3481  
    4242   INTEGER ::  numsil  !: logical unit for Si budget 
    4343   INTEGER ::  numfer  !: logical unit for Fer budget 
     44   INTEGER ::  numco2  !: logical unit for co2 budget 
    4445 
    4546   !!---------------------------------------------------------------------- 
     
    147148      END IF 
    148149      ! 
     150       ! 
     151       IF( kt == nitend ) THEN 
     152         ! 
     153         t_atm_co2_flx  = t_atm_co2_flx / glob_sum( e1e2t(:,:) ) 
     154         t_oce_co2_flx  = t_oce_co2_flx         * 12. / 1.e15 * (-1 ) 
     155         tpp            = tpp           * 1000. * 12. / 1.E15 
     156         t_oce_co2_exp  = t_oce_co2_exp * 1000. * 12. / 1.E15 
     157         ! 
     158         IF(lwp) WRITE(numco2,9000) ndastp, t_atm_co2_flx, t_oce_co2_flx, tpp, t_oce_co2_exp 
     159         ! 
     160      ENDIF 
     161 
    149162      IF( nn_timing == 1 )  CALL timing_stop('p4z_sms') 
     163      ! 
     164 9000  FORMAT(i8,f10.5,e18.10,f10.5,f10.5) 
    150165      ! 
    151166   END SUBROUTINE p4z_sms 
     
    368383            CALL ctl_opn( numfer, 'iron.budget', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE., narea ) 
    369384         ENDIF 
     385         IF(lwp) CALL ctl_opn( numco2, 'carbon.budget', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE., narea ) 
    370386      ENDIF 
    371387 
     
    401417         ENDIF 
    402418       ENDIF 
     419       ! 
    403420 9500  FORMAT(i10,e18.10)      
    404421       ! 
  • branches/2012/dev_r3438_LOCEAN15_PISLOB/NEMOGCM/NEMO/TOP_SRC/PISCES/sms_pisces.F90

    r3446 r3481  
    4646   REAL(wp) ::   xkmort            !: ??? 
    4747   REAL(wp) ::   ferat3            !: ??? 
     48 
     49   !!*  diagnostic parameters  
     50   REAL(wp) ::  tpp                !: total primary production 
     51   REAL(wp) ::  t_oce_co2_exp      !: total carbon export 
     52   REAL(wp) ::  t_oce_co2_flx      !: Total ocean carbon flux 
     53   REAL(wp) ::  t_atm_co2_flx      !: global mean of atmospheric pco2 
    4854 
    4955   !!* Damping  
Note: See TracChangeset for help on using the changeset viewer.