- Timestamp:
- 2016-01-08T10:35:19+01:00 (8 years ago)
- Location:
- branches/2014/dev_r4704_NOC5_MPP_BDY_UPDATE/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4704_NOC5_MPP_BDY_UPDATE/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zbio.F90
- Property svn:keywords set to Id
r4624 r6225 21 21 USE lbclnk ! 22 22 USE prtctl_trc ! Print control for debbuging 23 USE trd mod_oce24 USE trd mod_trc23 USE trd_oce 24 USE trdtrc 25 25 USE iom 26 26 … … 59 59 REAL(wp) :: fdbod ! zooplankton mortality fraction that goes to detritus 60 60 61 !! * Substitution62 # include " top_substitute.h90"61 !! * Substitutions 62 # include "vectopt_loop_substitute.h90" 63 63 !!---------------------------------------------------------------------- 64 64 !! NEMO/TOP 3.3 , NEMO Consortium (2010) 65 !! $Id : p2zbio.F90 3294 2012-01-28 16:44:18Z rblod$65 !! $Id$ 66 66 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 67 67 !!---------------------------------------------------------------------- 68 69 68 CONTAINS 70 69 … … 110 109 IF( nn_timing == 1 ) CALL timing_start('p2z_bio') 111 110 ! 112 IF( ln_diatrc ) THEN111 IF( ln_diatrc .OR. lk_iomput ) THEN 113 112 CALL wrk_alloc( jpi, jpj, 17, zw2d ) 114 113 CALL wrk_alloc( jpi, jpj, jpk, 3, zw3d ) … … 122 121 123 122 xksi(:,:) = 0.e0 ! zooplakton closure ( fbod) 124 IF( ln_diatrc ) THEN123 IF( ln_diatrc .OR. lk_iomput ) THEN 125 124 zw2d (:,:,:) = 0.e0 126 125 zw3d(:,:,:,:) = 0.e0 … … 186 185 ! closure : flux grazing is redistributed below level jpkbio 187 186 zzoobod = tmminz * zzoo * zzoo 188 xksi(ji,jj) = xksi(ji,jj) + (1-fdbod) * zzoobod * fse3t(ji,jj,jk)187 xksi(ji,jj) = xksi(ji,jj) + (1-fdbod) * zzoobod * e3t_n(ji,jj,jk) 189 188 zboddet = fdbod * zzoobod 190 189 … … 239 238 ! trend number 17 in p2zexp 240 239 ENDIF 241 IF( ln_diatrc ) THEN240 IF( ln_diatrc .OR. lk_iomput ) THEN 242 241 ! convert fluxes in per day 243 ze3t = fse3t(ji,jj,jk) * 86400.242 ze3t = e3t_n(ji,jj,jk) * 86400._wp 244 243 zw2d(ji,jj,1) = zw2d(ji,jj,1) + zno3phy * ze3t 245 244 zw2d(ji,jj,2) = zw2d(ji,jj,2) + znh4phy * ze3t … … 360 359 ! trend number 17 in p2zexp 361 360 ENDIF 362 IF( ln_diatrc ) THEN361 IF( ln_diatrc .OR. lk_iomput ) THEN 363 362 ! convert fluxes in per day 364 ze3t = fse3t(ji,jj,jk) * 86400.363 ze3t = e3t_n(ji,jj,jk) * 86400._wp 365 364 zw2d(ji,jj,1) = zw2d(ji,jj,1) + zno3phy * ze3t 366 365 zw2d(ji,jj,2) = zw2d(ji,jj,2) + znh4phy * ze3t … … 381 380 zw2d(ji,jj,17) = zw2d(ji,jj,17) + zdetdom * ze3t 382 381 ! 383 zw3d(ji,jj,jk,1) = zno3phy * 86400 384 zw3d(ji,jj,jk,2) = znh4phy * 86400 385 zw3d(ji,jj,jk,3) = znh4no3 * 86400 382 zw3d(ji,jj,jk,1) = zno3phy * 86400._wp 383 zw3d(ji,jj,jk,2) = znh4phy * 86400._wp 384 zw3d(ji,jj,jk,3) = znh4no3 * 86400._wp 386 385 ! 387 386 ENDIF … … 390 389 END DO 391 390 392 IF( ln_diatrc ) THEN 393 ! 391 IF( ln_diatrc .OR. lk_iomput ) THEN 394 392 DO jl = 1, 17 395 393 CALL lbc_lnk( zw2d(:,:,jl),'T', 1. ) … … 398 396 CALL lbc_lnk( zw3d(:,:,:,jl),'T', 1. ) 399 397 END DO 400 IF( lk_iomput ) THEN 398 ENDIF 399 IF( lk_iomput ) THEN 401 400 ! Save diagnostics 402 CALL iom_put( "TNO3PHY", zw2d(:,:,1) ) 403 CALL iom_put( "TNH4PHY", zw2d(:,:,2) ) 404 CALL iom_put( "TPHYDOM", zw2d(:,:,3) ) 405 CALL iom_put( "TPHYNH4", zw2d(:,:,4) ) 406 CALL iom_put( "TPHYZOO", zw2d(:,:,5) ) 407 CALL iom_put( "TPHYDET", zw2d(:,:,6) ) 408 CALL iom_put( "TDETZOO", zw2d(:,:,7) ) 409 CALL iom_put( "TZOODET", zw2d(:,:,8) ) 410 CALL iom_put( "TZOOBOD", zw2d(:,:,9) ) 411 CALL iom_put( "TZOONH4", zw2d(:,:,10) ) 412 CALL iom_put( "TZOODOM", zw2d(:,:,11) ) 413 CALL iom_put( "TNH4NO3", zw2d(:,:,12) ) 414 CALL iom_put( "TDOMNH4", zw2d(:,:,13) ) 415 CALL iom_put( "TDETNH4", zw2d(:,:,14) ) 416 CALL iom_put( "TPHYTOT", zw2d(:,:,15) ) 417 CALL iom_put( "TZOOTOT", zw2d(:,:,16) ) 418 ! 419 CALL iom_put( "FNO3PHY", zw3d(:,:,:,1) ) 420 CALL iom_put( "FNH4PHY", zw3d(:,:,:,2) ) 421 CALL iom_put( "FNH4NO3", zw3d(:,:,:,3) ) 422 ! 423 ELSE 401 CALL iom_put( "TNO3PHY", zw2d(:,:,1) ) 402 CALL iom_put( "TNH4PHY", zw2d(:,:,2) ) 403 CALL iom_put( "TPHYDOM", zw2d(:,:,3) ) 404 CALL iom_put( "TPHYNH4", zw2d(:,:,4) ) 405 CALL iom_put( "TPHYZOO", zw2d(:,:,5) ) 406 CALL iom_put( "TPHYDET", zw2d(:,:,6) ) 407 CALL iom_put( "TDETZOO", zw2d(:,:,7) ) 408 CALL iom_put( "TZOODET", zw2d(:,:,8) ) 409 CALL iom_put( "TZOOBOD", zw2d(:,:,9) ) 410 CALL iom_put( "TZOONH4", zw2d(:,:,10) ) 411 CALL iom_put( "TZOODOM", zw2d(:,:,11) ) 412 CALL iom_put( "TNH4NO3", zw2d(:,:,12) ) 413 CALL iom_put( "TDOMNH4", zw2d(:,:,13) ) 414 CALL iom_put( "TDETNH4", zw2d(:,:,14) ) 415 CALL iom_put( "TPHYTOT", zw2d(:,:,15) ) 416 CALL iom_put( "TZOOTOT", zw2d(:,:,16) ) 417 ! 418 CALL iom_put( "FNO3PHY", zw3d(:,:,:,1) ) 419 CALL iom_put( "FNH4PHY", zw3d(:,:,:,2) ) 420 CALL iom_put( "FNH4NO3", zw3d(:,:,:,3) ) 421 ! 422 ELSE 423 IF( ln_diatrc ) THEN 424 424 ! 425 425 trc2d(:,:,jp_pcs0_2d ) = zw2d(:,:,1) … … 457 457 IF( l_trdtrc ) THEN 458 458 DO jl = jp_pcs0_trd, jp_pcs1_trd 459 CALL trd_ mod_trc( trbio(:,:,:,jl), jl, kt ) ! handle the trend459 CALL trd_trc( trbio(:,:,:,jl), jl, kt ) ! handle the trend 460 460 END DO 461 461 ENDIF … … 467 467 ENDIF 468 468 ! 469 IF( ln_diatrc ) THEN469 IF( ln_diatrc .OR. lk_iomput ) THEN 470 470 CALL wrk_dealloc( jpi, jpj, 17, zw2d ) 471 471 CALL wrk_dealloc( jpi, jpj, jpk, 3, zw3d ) … … 598 598 599 599 !!====================================================================== 600 END MODULE 600 END MODULE p2zbio -
branches/2014/dev_r4704_NOC5_MPP_BDY_UPDATE/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zexp.F90
- Property svn:keywords set to Id
r3446 r6225 22 22 USE lbclnk 23 23 USE prtctl_trc ! Print control for debbuging 24 USE trd mod_oce25 USE trd mod_trc24 USE trd_oce 25 USE trdtrc 26 26 USE iom 27 27 … … 41 41 REAL(wp) :: areacot !: surface coastal area 42 42 43 !! * Substitution44 # include " top_substitute.h90"43 !! * Substitutions 44 # include "vectopt_loop_substitute.h90" 45 45 !!---------------------------------------------------------------------- 46 46 !! NEMO/TOP 3.3 , NEMO Consortium (2010) 47 !! $Id : trcexp.F90 3294 2012-01-28 16:44:18Z rblod$47 !! $Id$ 48 48 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 49 49 !!---------------------------------------------------------------------- 50 51 50 CONTAINS 52 51 … … 94 93 DO jj = 2, jpjm1 95 94 DO ji = fs_2, fs_jpim1 96 ze3t = 1. / fse3t(ji,jj,jk)95 ze3t = 1. / e3t_n(ji,jj,jk) 97 96 tra(ji,jj,jk,jpno3) = tra(ji,jj,jk,jpno3) + ze3t * dmin3(ji,jj,jk) * xksi(ji,jj) 98 97 END DO … … 109 108 DO ji = fs_2, fs_jpim1 110 109 ikt = mbkt(ji,jj) 111 tra(ji,jj,ikt,jpno3) = tra(ji,jj,ikt,jpno3) + sedlam * sedpocn(ji,jj) / fse3t(ji,jj,ikt)110 tra(ji,jj,ikt,jpno3) = tra(ji,jj,ikt,jpno3) + sedlam * sedpocn(ji,jj) / e3t_n(ji,jj,ikt) 112 111 ! Deposition of organic matter in the sediment 113 112 zwork = vsed * trn(ji,jj,ikt,jpdet) … … 120 119 DO jj = 2, jpjm1 121 120 DO ji = fs_2, fs_jpim1 122 tra(ji,jj,1,jpno3) = tra(ji,jj,1,jpno3) + zgeolpoc * cmask(ji,jj) / areacot / fse3t(ji,jj,1)121 tra(ji,jj,1,jpno3) = tra(ji,jj,1,jpno3) + zgeolpoc * cmask(ji,jj) / areacot / e3t_n(ji,jj,1) 123 122 END DO 124 123 END DO … … 127 126 128 127 ! Oa & Ek: diagnostics depending on jpdia2d ! left as example 129 IF( l n_diatrc ) THEN130 IF( lk_iomput ) THEN ;CALL iom_put( "SEDPOC" , sedpocn )131 ELSE ; trc2d(:,:,jp_pcs0_2d + 18) = sedpocn(:,:)132 ENDIF128 IF( lk_iomput ) THEN 129 CALL iom_put( "SEDPOC" , sedpocn ) 130 ELSE 131 IF( ln_diatrc ) trc2d(:,:,jp_pcs0_2d + 18) = sedpocn(:,:) 133 132 ENDIF 134 133 … … 164 163 ztrbio(:,:,:) = tra(:,:,:,jpno3) - ztrbio(:,:,:) 165 164 jl = jp_pcs0_trd + 16 166 CALL trd_ mod_trc( ztrbio, jl, kt ) ! handle the trend165 CALL trd_trc( ztrbio, jl, kt ) ! handle the trend 167 166 CALL wrk_dealloc( jpi, jpj, jpk, ztrbio ) ! temporary save of trends 168 167 ENDIF … … 211 210 DO jj = 1, jpj 212 211 DO ji = 1, jpi 213 zfluo = ( fsdepw(ji,jj,jk ) / fsdepw(ji,jj,jpkb) )**xhr214 zfluu = ( fsdepw(ji,jj,jk+1) / fsdepw(ji,jj,jpkb) )**xhr212 zfluo = ( gdepw_n(ji,jj,jk ) / gdepw_n(ji,jj,jpkb) )**xhr 213 zfluu = ( gdepw_n(ji,jj,jk+1) / gdepw_n(ji,jj,jpkb) )**xhr 215 214 IF( zfluo.GT.1. ) zfluo = 1._wp 216 215 zdm0(ji,jj,jk) = zfluo - zfluu -
branches/2014/dev_r4704_NOC5_MPP_BDY_UPDATE/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zopt.F90
- Property svn:keywords set to Id
r4624 r6225 40 40 REAL(wp), PUBLIC :: reddom ! redfield ratio (C:N) for DOM 41 41 42 !!* Substitution43 # include "top_substitute.h90"44 42 !!---------------------------------------------------------------------- 45 43 !! NEMO/TOP 3.3 , NEMO Consortium (2010) 46 !! $Id : trcopt.F90 3294 2012-01-28 16:44:18Z rblod$44 !! $Id$ 47 45 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 48 46 !!---------------------------------------------------------------------- 49 50 47 CONTAINS 51 48 … … 89 86 90 87 ! ! surface irradiance 91 zpar0m (:,:) = qsr (:,:) * 0.43 ! ------------------ 88 ! ! ------------------ 89 IF( ln_dm2dc ) THEN ; zpar0m(:,:) = qsr_mean(:,:) * 0.43 90 ELSE ; zpar0m(:,:) = qsr (:,:) * 0.43 91 ENDIF 92 92 zpar100(:,:) = zpar0m(:,:) * 0.01 93 93 zparr (:,:,1) = zpar0m(:,:) * 0.5 … … 102 102 zkr = xkr0 + xkrp * EXP( xlr * zpig ) 103 103 zkg = xkg0 + xkgp * EXP( xlg * zpig ) 104 zparr(ji,jj,jk) = zparr(ji,jj,jk-1) * EXP( -zkr * fse3t(ji,jj,jk-1) )105 zparg(ji,jj,jk) = zparg(ji,jj,jk-1) * EXP( -zkg * fse3t(ji,jj,jk-1) )104 zparr(ji,jj,jk) = zparr(ji,jj,jk-1) * EXP( -zkr * e3t_n(ji,jj,jk-1) ) 105 zparg(ji,jj,jk) = zparg(ji,jj,jk-1) * EXP( -zkg * e3t_n(ji,jj,jk-1) ) 106 106 END DO 107 107 END DO … … 113 113 zkr = xkr0 + xkrp * EXP( xlr * zpig ) 114 114 zkg = xkg0 + xkgp * EXP( xlg * zpig ) 115 zparr(ji,jj,jk) = zparr(ji,jj,jk) / ( zkr * fse3t(ji,jj,jk) ) * ( 1 - EXP( -zkr * fse3t(ji,jj,jk) ) )116 zparg(ji,jj,jk) = zparg(ji,jj,jk) / ( zkg * fse3t(ji,jj,jk) ) * ( 1 - EXP( -zkg * fse3t(ji,jj,jk) ) )115 zparr(ji,jj,jk) = zparr(ji,jj,jk) / ( zkr * e3t_n(ji,jj,jk) ) * ( 1 - EXP( -zkr * e3t_n(ji,jj,jk) ) ) 116 zparg(ji,jj,jk) = zparg(ji,jj,jk) / ( zkg * e3t_n(ji,jj,jk) ) * ( 1 - EXP( -zkg * e3t_n(ji,jj,jk) ) ) 117 117 etot (ji,jj,jk) = MAX( zparr(ji,jj,jk) + zparg(ji,jj,jk), 1.e-15 ) 118 118 END DO … … 128 128 IF( etot(ji,jj,jk) >= zpar100(ji,jj) ) neln(ji,jj) = jk + 1 129 129 ! ! nb. this is to ensure compatibility with 130 ! ! nmld_trc definition in trd_m ld_trc_zint130 ! ! nmld_trc definition in trd_mxl_trc_zint 131 131 END DO 132 132 END DO … … 135 135 DO jj = 1, jpj 136 136 DO ji = 1, jpi 137 heup(ji,jj) = fsdepw(ji,jj,neln(ji,jj))137 heup(ji,jj) = gdepw_n(ji,jj,neln(ji,jj)) 138 138 END DO 139 139 END DO -
branches/2014/dev_r4704_NOC5_MPP_BDY_UPDATE/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zsed.F90
- Property svn:keywords set to Id
r4624 r6225 18 18 USE sms_pisces 19 19 USE lbclnk 20 USE trd mod_oce21 USE trd mod_trc20 USE trd_oce 21 USE trdtrc 22 22 USE iom 23 23 USE prtctl_trc ! Print control for debbuging … … 34 34 REAL(wp), PUBLIC :: xhr ! coeff for martin''s remineralisation profile 35 35 36 !!* Substitution37 # include "top_substitute.h90"38 36 !!---------------------------------------------------------------------- 39 37 !! NEMO/TOP 3.3 , NEMO Consortium (2010) 40 !! $Id : p2z_sed.F90 3294 2012-01-28 16:44:18Z rblod$38 !! $Id$ 41 39 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 42 40 !!---------------------------------------------------------------------- … … 102 100 DO jj = 1, jpj 103 101 DO ji = 1, jpi 104 ztra(ji,jj,jk) = - ( zwork(ji,jj,jk) - zwork(ji,jj,jk+1) ) / fse3t(ji,jj,jk)102 ztra(ji,jj,jk) = - ( zwork(ji,jj,jk) - zwork(ji,jj,jk+1) ) / e3t_n(ji,jj,jk) 105 103 tra(ji,jj,jk,jpdet) = tra(ji,jj,jk,jpdet) + ztra(ji,jj,jk) 106 104 END DO … … 108 106 END DO 109 107 110 IF( ln_diatrc ) THEN 111 CALL wrk_alloc( jpi, jpj, zw2d ) 112 zw2d(:,:) = ztra(:,:,1) * fse3t(:,:,1) * 86400. 113 DO jk = 2, jpkm1 114 zw2d(:,:) = zw2d(:,:) + ztra(:,:,jk) * fse3t(:,:,jk) * 86400. 115 END DO 116 IF( lk_iomput ) THEN 117 CALL iom_put( "TDETSED", zw2d ) 118 ELSE 119 trc2d(:,:,jp_pcs0_2d + 7) = zw2d(:,:) 108 IF( lk_iomput ) THEN 109 IF( iom_use( "TDETSED" ) ) THEN 110 CALL wrk_alloc( jpi, jpj, zw2d ) 111 zw2d(:,:) = ztra(:,:,1) * e3t_n(:,:,1) * 86400._wp 112 DO jk = 2, jpkm1 113 zw2d(:,:) = zw2d(:,:) + ztra(:,:,jk) * e3t_n(:,:,jk) * 86400._wp 114 END DO 115 CALL iom_put( "TDETSED", zw2d ) 116 CALL wrk_dealloc( jpi, jpj, zw2d ) 120 117 ENDIF 121 CALL wrk_dealloc( jpi, jpj, zw2d ) 118 ELSE 119 IF( ln_diatrc ) THEN 120 CALL wrk_alloc( jpi, jpj, zw2d ) 121 zw2d(:,:) = ztra(:,:,1) * e3t_n(:,:,1) * 86400._wp 122 DO jk = 2, jpkm1 123 zw2d(:,:) = zw2d(:,:) + ztra(:,:,jk) * e3t_n(:,:,jk) * 86400._wp 124 END DO 125 trc2d(:,:,jp_pcs0_2d + 7) = zw2d(:,:) 126 CALL wrk_dealloc( jpi, jpj, zw2d ) 127 ENDIF 122 128 ENDIF 123 129 ! … … 128 134 ztrbio(:,:,:) = tra(:,:,:,jpdet) - ztrbio(:,:,:) 129 135 jl = jp_pcs0_trd + 7 130 CALL trd_ mod_trc( ztrbio, jl, kt ) ! handle the trend136 CALL trd_trc( ztrbio, jl, kt ) ! handle the trend 131 137 CALL wrk_dealloc( jpi, jpj, jpk, ztrbio ) 132 138 ENDIF -
branches/2014/dev_r4704_NOC5_MPP_BDY_UPDATE/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zsms.F90
- Property svn:keywords set to Id
r4624 r6225 20 20 USE p2zsed 21 21 USE p2zexp 22 USE trd mod_oce23 USE trd mod_trc_oce24 USE trd mod_trc25 USE trdm ld_trc22 USE trd_oce 23 USE trdtrc_oce 24 USE trdtrc 25 USE trdmxl_trc 26 26 27 27 IMPLICIT NONE … … 32 32 !!---------------------------------------------------------------------- 33 33 !! NEMO/TOP 3.3 , NEMO Consortium (2010) 34 !! $Id : p2zsms.F90 3294 2012-01-28 16:44:18Z rblod$34 !! $Id$ 35 35 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 36 36 !!---------------------------------------------------------------------- … … 61 61 IF( l_trdtrc ) THEN 62 62 DO jn = jp_pcs0, jp_pcs1 63 CALL trd_ mod_trc( tra(:,:,:,jn), jn, jptra_trd_sms, kt ) ! save trends63 CALL trd_trc( tra(:,:,:,jn), jn, jptra_sms, kt ) ! save trends 64 64 END DO 65 65 END IF 66 66 67 IF( lk_trdm ld_trc ) CALL trd_mld_bio( kt ) ! trends: Mixed-layer67 IF( lk_trdmxl_trc ) CALL trd_mxl_bio( kt ) ! trends: Mixed-layer 68 68 ! 69 69 IF ( lwm .AND. kt == nittrc000 ) CALL FLUSH ( numonp ) ! flush output namelist PISCES … … 84 84 85 85 !!====================================================================== 86 END MODULE 86 END MODULE p2zsms
Note: See TracChangeset
for help on using the changeset viewer.