- Timestamp:
- 2018-11-15T17:27:18+01:00 (5 years ago)
- Location:
- NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/C14/trcwri_c14.F90
r10070 r10314 96 96 97 97 IF( iom_use("AtmC14") ) THEN 98 zarea = glob_sum( e1e2t(:,:) ) ! global ocean surface99 ztemp = glob_sum( c14sbc(:,:) * e1e2t(:,:) )98 zarea = glob_sum( 'trcwri_c14', e1e2t(:,:) ) ! global ocean surface 99 ztemp = glob_sum( 'trcwri_c14', c14sbc(:,:) * e1e2t(:,:) ) 100 100 ztemp = ( ztemp / zarea - 1._wp ) * 1000._wp 101 101 CALL iom_put( "AtmC14" , ztemp ) ! Global atmospheric DeltaC14 [permil] 102 102 ENDIF 103 103 IF( iom_use("K_C14") ) THEN 104 ztemp = glob_sum ( exch_c14(:,:) * e1e2t(:,:) )104 ztemp = glob_sum ( 'trcwri_c14', exch_c14(:,:) * e1e2t(:,:) ) 105 105 ztemp = rsiyea * ztemp / zarea 106 106 CALL iom_put( "K_C14" , ztemp ) ! global mean exchange velocity for C14/C ratio [m/yr] 107 107 ENDIF 108 108 IF( iom_use("K_CO2") ) THEN 109 zarea = glob_sum( e1e2t(:,:) ) ! global ocean surface110 ztemp = glob_sum ( exch_co2(:,:) * e1e2t(:,:) )109 zarea = glob_sum( 'trcwri_c14', e1e2t(:,:) ) ! global ocean surface 110 ztemp = glob_sum ( 'trcwri_c14', exch_co2(:,:) * e1e2t(:,:) ) 111 111 ztemp = 360000._wp * ztemp / zarea ! cm/h units: directly comparable with literature 112 112 CALL iom_put( "K_CO2", ztemp ) ! global mean CO2 piston velocity [cm/hr] 113 113 ENDIF 114 114 IF( iom_use("C14Inv") ) THEN 115 ztemp = glob_sum( trn(:,:,:,jp_c14) * cvol(:,:,:) )115 ztemp = glob_sum( 'trcwri_c14', trn(:,:,:,jp_c14) * cvol(:,:,:) ) 116 116 ztemp = atomc14 * xdicsur * ztemp 117 117 CALL iom_put( "C14Inv", ztemp ) ! Radiocarbon ocean inventory [10^26 atoms] -
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/PISCES/P2Z/p2zexp.F90
r10170 r10314 230 230 END DO 231 231 CALL lbc_lnk( 'p2zexp', cmask , 'T', 1. ) ! lateral boundary conditions on cmask (sign unchanged) 232 areacot = glob_sum( e1e2t(:,:) * cmask(:,:) )232 areacot = glob_sum( 'p2zexp', e1e2t(:,:) * cmask(:,:) ) 233 233 ! 234 234 IF( ln_rsttr ) THEN -
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/PISCES/P4Z/p4zflx.F90
r10068 r10314 172 172 END DO 173 173 174 t_oce_co2_flx = glob_sum( oce_co2(:,:) ) ! Total Flux of Carbon174 t_oce_co2_flx = glob_sum( 'p4zflx', oce_co2(:,:) ) ! Total Flux of Carbon 175 175 t_oce_co2_flx_cum = t_oce_co2_flx_cum + t_oce_co2_flx ! Cumulative Total Flux of Carbon 176 ! t_atm_co2_flx = glob_sum( satmco2(:,:) * e1e2t(:,:) ) ! Total atmospheric pCO2176 ! t_atm_co2_flx = glob_sum( 'p4zflx', satmco2(:,:) * e1e2t(:,:) ) ! Total atmospheric pCO2 177 177 t_atm_co2_flx = atcco2 ! Total atmospheric pCO2 178 178 -
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/PISCES/P4Z/p4zprod.F90
r10069 r10314 360 360 ! Total primary production per year 361 361 IF( iom_use( "tintpp" ) .OR. ( ln_check_mass .AND. kt == nitend .AND. knt == nrdttrc ) ) & 362 & tpp = glob_sum( ( zprorcan(:,:,:) + zprorcad(:,:,:) ) * cvol(:,:,:) )362 & tpp = glob_sum( 'p4zprod', ( zprorcan(:,:,:) + zprorcad(:,:,:) ) * cvol(:,:,:) ) 363 363 364 364 IF( lk_iomput ) THEN -
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/PISCES/P4Z/p4zsbc.F90
r10170 r10314 368 368 ztimes_riv = 1._wp / REAL(ntimes_riv, wp) 369 369 DO jm = 1, ntimes_riv 370 rivinput(ifpr) = rivinput(ifpr) + glob_sum( zriver(:,:,jm) * tmask(:,:,1) * ztimes_riv )370 rivinput(ifpr) = rivinput(ifpr) + glob_sum( 'p4zsbc', zriver(:,:,jm) * tmask(:,:,1) * ztimes_riv ) 371 371 END DO 372 372 DEALLOCATE( zriver) -
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/PISCES/P4Z/p4zsink.F90
r10297 r10314 208 208 ! Total carbon export per year 209 209 IF( iom_use( "tcexp" ) .OR. ( ln_check_mass .AND. kt == nitend .AND. knt == nrdttrc ) ) & 210 & t_oce_co2_exp = glob_sum( ( sinking(:,:,ik100) + sinking2(:,:,ik100) ) * e1e2t(:,:) * tmask(:,:,1) )210 & t_oce_co2_exp = glob_sum( 'p4zsink', ( sinking(:,:,ik100) + sinking2(:,:,ik100) ) * e1e2t(:,:) * tmask(:,:,1) ) 211 211 ! 212 212 IF( lk_iomput ) THEN -
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/PISCES/P4Z/p4zsms.F90
r10069 r10314 355 355 ! ! --------------------------- ! 356 356 ! set total alkalinity, phosphate, nitrate & silicate 357 zarea = 1._wp / glob_sum( cvol(:,:,:) ) * 1e6358 359 zalksumn = glob_sum( trn(:,:,:,jptal) * cvol(:,:,:) ) * zarea360 zpo4sumn = glob_sum( trn(:,:,:,jppo4) * cvol(:,:,:) ) * zarea * po4r361 zno3sumn = glob_sum( trn(:,:,:,jpno3) * cvol(:,:,:) ) * zarea * rno3362 zsilsumn = glob_sum( trn(:,:,:,jpsil) * cvol(:,:,:) ) * zarea357 zarea = 1._wp / glob_sum( 'p4zsms', cvol(:,:,:) ) * 1e6 358 359 zalksumn = glob_sum( 'p4zsms', trn(:,:,:,jptal) * cvol(:,:,:) ) * zarea 360 zpo4sumn = glob_sum( 'p4zsms', trn(:,:,:,jppo4) * cvol(:,:,:) ) * zarea * po4r 361 zno3sumn = glob_sum( 'p4zsms', trn(:,:,:,jpno3) * cvol(:,:,:) ) * zarea * rno3 362 zsilsumn = glob_sum( 'p4zsms', trn(:,:,:,jpsil) * cvol(:,:,:) ) * zarea 363 363 364 364 IF(lwp) WRITE(numout,*) ' TALKN mean : ', zalksumn … … 376 376 ! 377 377 IF( .NOT. ln_top_euler ) THEN 378 zalksumb = glob_sum( trb(:,:,:,jptal) * cvol(:,:,:) ) * zarea379 zpo4sumb = glob_sum( trb(:,:,:,jppo4) * cvol(:,:,:) ) * zarea * po4r380 zno3sumb = glob_sum( trb(:,:,:,jpno3) * cvol(:,:,:) ) * zarea * rno3381 zsilsumb = glob_sum( trb(:,:,:,jpsil) * cvol(:,:,:) ) * zarea378 zalksumb = glob_sum( 'p4zsms', trb(:,:,:,jptal) * cvol(:,:,:) ) * zarea 379 zpo4sumb = glob_sum( 'p4zsms', trb(:,:,:,jppo4) * cvol(:,:,:) ) * zarea * po4r 380 zno3sumb = glob_sum( 'p4zsms', trb(:,:,:,jpno3) * cvol(:,:,:) ) * zarea * rno3 381 zsilsumb = glob_sum( 'p4zsms', trb(:,:,:,jpsil) * cvol(:,:,:) ) * zarea 382 382 383 383 IF(lwp) WRITE(numout,*) ' ' … … 442 442 ENDIF 443 443 ! 444 no3budget = glob_sum( zwork(:,:,:) * cvol(:,:,:) )444 no3budget = glob_sum( 'p4zsms', zwork(:,:,:) * cvol(:,:,:) ) 445 445 no3budget = no3budget / areatot 446 446 CALL iom_put( "pno3tot", no3budget ) … … 460 460 ENDIF 461 461 ! 462 po4budget = glob_sum( zwork(:,:,:) * cvol(:,:,:) )462 po4budget = glob_sum( 'p4zsms', zwork(:,:,:) * cvol(:,:,:) ) 463 463 po4budget = po4budget / areatot 464 464 CALL iom_put( "ppo4tot", po4budget ) … … 468 468 zwork(:,:,:) = trn(:,:,:,jpsil) + trn(:,:,:,jpgsi) + trn(:,:,:,jpdsi) 469 469 ! 470 silbudget = glob_sum( zwork(:,:,:) * cvol(:,:,:) )470 silbudget = glob_sum( 'p4zsms', zwork(:,:,:) * cvol(:,:,:) ) 471 471 silbudget = silbudget / areatot 472 472 CALL iom_put( "psiltot", silbudget ) … … 476 476 zwork(:,:,:) = trn(:,:,:,jpno3) * rno3 + trn(:,:,:,jptal) + trn(:,:,:,jpcal) * 2. 477 477 ! 478 alkbudget = glob_sum( zwork(:,:,:) * cvol(:,:,:) ) !478 alkbudget = glob_sum( 'p4zsms', zwork(:,:,:) * cvol(:,:,:) ) ! 479 479 alkbudget = alkbudget / areatot 480 480 CALL iom_put( "palktot", alkbudget ) … … 487 487 IF( ln_ligand) zwork(:,:,:) = zwork(:,:,:) + trn(:,:,:,jpfep) 488 488 ! 489 ferbudget = glob_sum( zwork(:,:,:) * cvol(:,:,:) )489 ferbudget = glob_sum( 'p4zsms', zwork(:,:,:) * cvol(:,:,:) ) 490 490 ferbudget = ferbudget / areatot 491 491 CALL iom_put( "pfertot", ferbudget ) … … 496 496 ! -------------------------------------------------------------------------------- 497 497 IF( iom_use( "tnfix" ) .OR. ( ln_check_mass .AND. kt == nitend ) ) THEN 498 znitrpottot = glob_sum ( nitrpot(:,:,:) * nitrfix * cvol(:,:,:) )498 znitrpottot = glob_sum ( 'p4zsms', nitrpot(:,:,:) * nitrfix * cvol(:,:,:) ) 499 499 CALL iom_put( "tnfix" , znitrpottot * xfact3 ) ! Global nitrogen fixation molC/l to molN/m3 500 500 ENDIF 501 501 ! 502 502 IF( iom_use( "tdenit" ) .OR. ( ln_check_mass .AND. kt == nitend ) ) THEN 503 zrdenittot = glob_sum ( denitr(:,:,:) * rdenit * xnegtr(:,:,:) * cvol(:,:,:) )504 zsdenittot = glob_sum ( sdenit(:,:) * e1e2t(:,:) * tmask(:,:,1) )503 zrdenittot = glob_sum ( 'p4zsms', denitr(:,:,:) * rdenit * xnegtr(:,:,:) * cvol(:,:,:) ) 504 zsdenittot = glob_sum ( 'p4zsms', sdenit(:,:) * e1e2t(:,:) * tmask(:,:,1) ) 505 505 CALL iom_put( "tdenit" , ( zrdenittot + zsdenittot ) * xfact3 ) ! Total denitrification molC/l to molN/m3 506 506 ENDIF 507 507 ! 508 508 IF( ln_check_mass .AND. kt == nitend ) THEN ! Compute the budget of NO3, ALK, Si, Fer 509 t_atm_co2_flx = t_atm_co2_flx / glob_sum( e1e2t(:,:) )509 t_atm_co2_flx = t_atm_co2_flx / glob_sum( 'p4zsms', e1e2t(:,:) ) 510 510 t_oce_co2_flx = t_oce_co2_flx * xfact1 * (-1 ) 511 511 tpp = tpp * 1000. * xfact1 -
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/PISCES/P4Z/p5zprod.F90
r10070 r10314 459 459 ! Total primary production per year 460 460 IF( iom_use( "tintpp" ) .OR. ( ln_check_mass .AND. kt == nitend .AND. knt == nrdttrc ) ) & 461 & tpp = glob_sum( ( zprorcan(:,:,:) + zprorcad(:,:,:) + zprorcap(:,:,:) ) * cvol(:,:,:) )461 & tpp = glob_sum( 'p5zprod', ( zprorcan(:,:,:) + zprorcad(:,:,:) + zprorcap(:,:,:) ) * cvol(:,:,:) ) 462 462 463 463 IF( lk_iomput ) THEN -
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/TRP/trcrad.F90
r10068 r10314 150 150 ENDIF 151 151 ! ! sum over the global domain 152 ztrcorb = glob_sum( MIN( 0., ptrb(:,:,:,jn) ) * cvol(:,:,:) )153 ztrcorn = glob_sum( MIN( 0., ptrn(:,:,:,jn) ) * cvol(:,:,:) )154 ! 155 ztrmasb = glob_sum( MAX( 0., ptrb(:,:,:,jn) ) * cvol(:,:,:) )156 ztrmasn = glob_sum( MAX( 0., ptrn(:,:,:,jn) ) * cvol(:,:,:) )152 ztrcorb = glob_sum( 'trcrad', MIN( 0., ptrb(:,:,:,jn) ) * cvol(:,:,:) ) 153 ztrcorn = glob_sum( 'trcrad', MIN( 0., ptrn(:,:,:,jn) ) * cvol(:,:,:) ) 154 ! 155 ztrmasb = glob_sum( 'trcrad', MAX( 0., ptrb(:,:,:,jn) ) * cvol(:,:,:) ) 156 ztrmasn = glob_sum( 'trcrad', MAX( 0., ptrn(:,:,:,jn) ) * cvol(:,:,:) ) 157 157 ! 158 158 IF( ztrcorb /= 0 ) THEN -
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/trcbdy.F90
r10069 r10314 71 71 END SELECT 72 72 ! Boundary points should be updated 73 CALL lbc_bdy_lnk( tra(:,:,:,jn), 'T', 1., ib_bdy )73 CALL lbc_bdy_lnk( 'trcbdy', tra(:,:,:,jn), 'T', 1., ib_bdy ) 74 74 ! 75 75 END DO -
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/trcini.F90
r10297 r10314 119 119 END DO 120 120 ! ! total volume of the ocean 121 areatot = glob_sum( cvol(:,:,:) )121 areatot = glob_sum( 'trcini', cvol(:,:,:) ) 122 122 ! 123 123 trai(:) = 0._wp ! initial content of all tracers 124 124 DO jn = 1, jptra 125 trai(jn) = trai(jn) + glob_sum( trn(:,:,:,jn) * cvol(:,:,:) )125 trai(jn) = trai(jn) + glob_sum( 'trcini', trn(:,:,:,jn) * cvol(:,:,:) ) 126 126 END DO 127 127 -
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/trcnam.F90
r10297 r10314 23 23 USE trdtrc_oce ! 24 24 USE iom ! I/O manager 25 #if defined key_mpp_mpi 25 26 USE lib_mpp, ONLY: ncom_dttrc 27 #endif 26 28 27 29 IMPLICIT NONE -
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/trcrst.F90
r10297 r10314 316 316 ! 317 317 DO jn = 1, jptra 318 ztraf = glob_sum( trn(:,:,:,jn) * zvol(:,:,:) )318 ztraf = glob_sum( 'trcrst', trn(:,:,:,jn) * zvol(:,:,:) ) 319 319 zmin = MINVAL( trn(:,:,:,jn), mask= ((tmask*SPREAD(tmask_i,DIM=3,NCOPIES=jpk).NE.0.)) ) 320 320 zmax = MAXVAL( trn(:,:,:,jn), mask= ((tmask*SPREAD(tmask_i,DIM=3,NCOPIES=jpk).NE.0.)) ) -
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/trcstp.F90
r10068 r10314 73 73 cvol(:,:,jk) = e1e2t(:,:) * e3t_n(:,:,jk) * tmask(:,:,jk) 74 74 END DO 75 areatot = glob_sum( cvol(:,:,:) )75 areatot = glob_sum( 'trcstp', cvol(:,:,:) ) 76 76 ENDIF 77 77 ! … … 107 107 ztrai = 0._wp ! content of all tracers 108 108 DO jn = 1, jptra 109 ztrai = ztrai + glob_sum( trn(:,:,:,jn) * cvol(:,:,:) )109 ztrai = ztrai + glob_sum( 'trcstp', trn(:,:,:,jn) * cvol(:,:,:) ) 110 110 END DO 111 111 IF( lwp ) WRITE(numstr,9300) kt, ztrai / areatot
Note: See TracChangeset
for help on using the changeset viewer.