- Timestamp:
- 2016-10-19T12:55:07+02:00 (8 years ago)
- Location:
- branches/2016/dev_r7012_ROBUST5_CNRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/dev_r7012_ROBUST5_CNRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zbio.F90
r6140 r7041 9 9 !! 2.0 ! 2007-12 (C. Deltel, G. Madec) F90 10 10 !!---------------------------------------------------------------------- 11 #if defined key_pisces _reduced11 #if defined key_pisces 12 12 !!---------------------------------------------------------------------- 13 !! 'key_pisces _reduced' LOBSTER bio-model13 !! 'key_pisces' LOBSTER bio-model 14 14 !!---------------------------------------------------------------------- 15 15 !! p2z_bio : … … 86 86 !! source sink 87 87 !! 88 !! IF 'key_diabio' defined , the biogeochemical trends89 !! for passive tracers are saved for futher diagnostics.90 88 !!--------------------------------------------------------------------- 91 89 !! … … 109 107 IF( nn_timing == 1 ) CALL timing_start('p2z_bio') 110 108 ! 111 IF( l n_diatrc .OR. lk_iomput ) THEN109 IF( lk_iomput ) THEN 112 110 CALL wrk_alloc( jpi, jpj, 17, zw2d ) 113 111 CALL wrk_alloc( jpi, jpj, jpk, 3, zw3d ) … … 121 119 122 120 xksi(:,:) = 0.e0 ! zooplakton closure ( fbod) 123 IF( l n_diatrc .OR. lk_iomput ) THEN121 IF( lk_iomput ) THEN 124 122 zw2d (:,:,:) = 0.e0 125 123 zw3d(:,:,:,:) = 0.e0 … … 218 216 tra(ji,jj,jk,jpdom) = tra(ji,jj,jk,jpdom) + zdoma 219 217 220 221 IF( ( ln_diabio .AND. .NOT. lk_iomput ) .OR. l_trdtrc ) THEN 222 trbio(ji,jj,jk,jp_pcs0_trd ) = zno3phy 223 trbio(ji,jj,jk,jp_pcs0_trd + 1) = znh4phy 224 trbio(ji,jj,jk,jp_pcs0_trd + 2) = zphynh4 225 trbio(ji,jj,jk,jp_pcs0_trd + 3) = zphydom 226 trbio(ji,jj,jk,jp_pcs0_trd + 4) = zphyzoo 227 trbio(ji,jj,jk,jp_pcs0_trd + 5) = zphydet 228 trbio(ji,jj,jk,jp_pcs0_trd + 6) = zdetzoo 229 ! trend number 8 in p2zsed 230 trbio(ji,jj,jk,jp_pcs0_trd + 8) = zzoodet 231 trbio(ji,jj,jk,jp_pcs0_trd + 9) = zzoobod 232 trbio(ji,jj,jk,jp_pcs0_trd + 10) = zzoonh4 233 trbio(ji,jj,jk,jp_pcs0_trd + 11) = zzoodom 234 trbio(ji,jj,jk,jp_pcs0_trd + 12) = znh4no3 235 trbio(ji,jj,jk,jp_pcs0_trd + 13) = zdomnh4 236 trbio(ji,jj,jk,jp_pcs0_trd + 14) = zdetnh4 237 trbio(ji,jj,jk,jp_pcs0_trd + 15) = zdetdom 238 ! trend number 17 in p2zexp 239 ENDIF 240 IF( ln_diatrc .OR. lk_iomput ) THEN 218 IF( lk_iomput ) THEN 241 219 ! convert fluxes in per day 242 220 ze3t = e3t_n(ji,jj,jk) * 86400._wp … … 340 318 tra(ji,jj,jk,jpdom) = tra(ji,jj,jk,jpdom) + zdoma 341 319 ! 342 IF( ( ln_diabio .AND. .NOT. lk_iomput ) .OR. l_trdtrc ) THEN 343 trbio(ji,jj,jk,jp_pcs0_trd ) = zno3phy 344 trbio(ji,jj,jk,jp_pcs0_trd + 1) = znh4phy 345 trbio(ji,jj,jk,jp_pcs0_trd + 2) = zphynh4 346 trbio(ji,jj,jk,jp_pcs0_trd + 3) = zphydom 347 trbio(ji,jj,jk,jp_pcs0_trd + 4) = zphyzoo 348 trbio(ji,jj,jk,jp_pcs0_trd + 5) = zphydet 349 trbio(ji,jj,jk,jp_pcs0_trd + 6) = zdetzoo 350 ! trend number 8 in p2zsed 351 trbio(ji,jj,jk,jp_pcs0_trd + 8) = zzoodet 352 trbio(ji,jj,jk,jp_pcs0_trd + 9) = zzoobod 353 trbio(ji,jj,jk,jp_pcs0_trd + 10) = zzoonh4 354 trbio(ji,jj,jk,jp_pcs0_trd + 11) = zzoodom 355 trbio(ji,jj,jk,jp_pcs0_trd + 12) = znh4no3 356 trbio(ji,jj,jk,jp_pcs0_trd + 13) = zdomnh4 357 trbio(ji,jj,jk,jp_pcs0_trd + 14) = zdetnh4 358 trbio(ji,jj,jk,jp_pcs0_trd + 15) = zdetdom 359 ! trend number 17 in p2zexp 360 ENDIF 361 IF( ln_diatrc .OR. lk_iomput ) THEN 320 IF( lk_iomput ) THEN 362 321 ! convert fluxes in per day 363 322 ze3t = e3t_n(ji,jj,jk) * 86400._wp … … 389 348 END DO 390 349 391 IF( l n_diatrc .OR. lk_iomput ) THEN350 IF( lk_iomput ) THEN 392 351 DO jl = 1, 17 393 352 CALL lbc_lnk( zw2d(:,:,jl),'T', 1. ) … … 420 379 CALL iom_put( "FNH4NO3", zw3d(:,:,:,3) ) 421 380 ! 422 ELSE423 IF( ln_diatrc ) THEN424 !425 trc2d(:,:,jp_pcs0_2d ) = zw2d(:,:,1)426 trc2d(:,:,jp_pcs0_2d + 1) = zw2d(:,:,2)427 trc2d(:,:,jp_pcs0_2d + 2) = zw2d(:,:,3)428 trc2d(:,:,jp_pcs0_2d + 3) = zw2d(:,:,4)429 trc2d(:,:,jp_pcs0_2d + 4) = zw2d(:,:,5)430 trc2d(:,:,jp_pcs0_2d + 5) = zw2d(:,:,6)431 trc2d(:,:,jp_pcs0_2d + 6) = zw2d(:,:,7)432 ! trend number 8 is in p2zsed.F433 trc2d(:,:,jp_pcs0_2d + 8) = zw2d(:,:,8)434 trc2d(:,:,jp_pcs0_2d + 9) = zw2d(:,:,9)435 trc2d(:,:,jp_pcs0_2d + 10) = zw2d(:,:,10)436 trc2d(:,:,jp_pcs0_2d + 11) = zw2d(:,:,11)437 trc2d(:,:,jp_pcs0_2d + 12) = zw2d(:,:,12)438 trc2d(:,:,jp_pcs0_2d + 13) = zw2d(:,:,13)439 trc2d(:,:,jp_pcs0_2d + 14) = zw2d(:,:,14)440 trc2d(:,:,jp_pcs0_2d + 15) = zw2d(:,:,15)441 trc2d(:,:,jp_pcs0_2d + 16) = zw2d(:,:,16)442 trc2d(:,:,jp_pcs0_2d + 17) = zw2d(:,:,17)443 ! trend number 19 is in p2zexp.F444 trc3d(:,:,:,jp_pcs0_3d ) = zw3d(:,:,:,1)445 trc3d(:,:,:,jp_pcs0_3d + 1) = zw3d(:,:,:,2)446 trc3d(:,:,:,jp_pcs0_3d + 2) = zw3d(:,:,:,3)447 ENDIF448 !449 ENDIF450 451 IF( ln_diabio .AND. .NOT. lk_iomput ) THEN452 DO jl = jp_pcs0_trd, jp_pcs1_trd453 CALL lbc_lnk( trbio(:,:,1,jl),'T', 1. )454 END DO455 ENDIF456 !457 IF( l_trdtrc ) THEN458 DO jl = jp_pcs0_trd, jp_pcs1_trd459 CALL trd_trc( trbio(:,:,:,jl), jl, kt ) ! handle the trend460 END DO461 381 ENDIF 462 382 … … 467 387 ENDIF 468 388 ! 469 IF( l n_diatrc .OR. lk_iomput ) THEN389 IF( lk_iomput ) THEN 470 390 CALL wrk_dealloc( jpi, jpj, 17, zw2d ) 471 391 CALL wrk_dealloc( jpi, jpj, jpk, 3, zw3d ) -
branches/2016/dev_r7012_ROBUST5_CNRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zexp.F90
r6140 r7041 10 10 !! 3.5 ! 2012-03 (C. Ethe) Merge PISCES-LOBSTER 11 11 !!---------------------------------------------------------------------- 12 #if defined key_pisces _reduced13 !!---------------------------------------------------------------------- 14 !! 'key_pisces _reduced' LOBSTER bio-model12 #if defined key_pisces 13 !!---------------------------------------------------------------------- 14 !! 'key_pisces' LOBSTER bio-model 15 15 !!---------------------------------------------------------------------- 16 16 !! p2z_exp : Compute loss of organic matter in the sediments … … 68 68 INTEGER :: ji, jj, jk, jl, ikt 69 69 REAL(wp) :: zgeolpoc, zfact, zwork, ze3t, zsedpocd, zmaskt 70 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrbio71 70 REAL(wp), POINTER, DIMENSION(:,:) :: zsedpoca 72 71 CHARACTER (len=25) :: charout … … 80 79 zsedpoca(:,:) = 0. 81 80 82 IF( l_trdtrc ) THEN83 CALL wrk_alloc( jpi, jpj, jpk, ztrbio ) ! temporary save of trends84 ztrbio(:,:,:) = tra(:,:,:,jpno3)85 ENDIF86 81 87 82 ! VERTICAL DISTRIBUTION OF NEWLY PRODUCED BIOGENIC … … 126 121 127 122 ! Oa & Ek: diagnostics depending on jpdia2d ! left as example 128 IF( lk_iomput ) THEN 129 CALL iom_put( "SEDPOC" , sedpocn ) 130 ELSE 131 IF( ln_diatrc ) trc2d(:,:,jp_pcs0_2d + 18) = sedpocn(:,:) 132 ENDIF 123 IF( lk_iomput ) CALL iom_put( "SEDPOC" , sedpocn ) 133 124 134 125 … … 160 151 ENDIF 161 152 ! 162 IF( l_trdtrc ) THEN163 ztrbio(:,:,:) = tra(:,:,:,jpno3) - ztrbio(:,:,:)164 jl = jp_pcs0_trd + 16165 CALL trd_trc( ztrbio, jl, kt ) ! handle the trend166 CALL wrk_dealloc( jpi, jpj, jpk, ztrbio ) ! temporary save of trends167 ENDIF168 !169 153 CALL wrk_dealloc( jpi, jpj, zsedpoca) ! temporary save of trends 170 154 -
branches/2016/dev_r7012_ROBUST5_CNRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zopt.F90
r6140 r7041 11 11 !! 3.2 ! 2009-04 (C. Ethe, G. Madec) minor optimisation + style 12 12 !!---------------------------------------------------------------------- 13 #if defined key_pisces _reduced14 !!---------------------------------------------------------------------- 15 !! 'key_pisces _reduced' LOBSTER bio-model13 #if defined key_pisces 14 !!---------------------------------------------------------------------- 15 !! 'key_pisces' LOBSTER bio-model 16 16 !!---------------------------------------------------------------------- 17 17 !! p2z_opt : Compute the light availability in the water column -
branches/2016/dev_r7012_ROBUST5_CNRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zsed.F90
r6140 r7041 8 8 !! 2.0 ! 2007-12 (C. Deltel, G. Madec) F90 + simplifications 9 9 !!---------------------------------------------------------------------- 10 #if defined key_pisces _reduced10 #if defined key_pisces 11 11 !!---------------------------------------------------------------------- 12 !! 'key_pisces _reduced' LOBSTER bio-model12 !! 'key_pisces' LOBSTER bio-model 13 13 !!---------------------------------------------------------------------- 14 14 !! p2z_sed : Compute loss of organic matter in the sediments … … 66 66 CHARACTER (len=25) :: charout 67 67 REAL(wp), POINTER, DIMENSION(:,: ) :: zw2d 68 REAL(wp), POINTER, DIMENSION(:,:,:) :: zwork, ztra , ztrbio68 REAL(wp), POINTER, DIMENSION(:,:,:) :: zwork, ztra 69 69 !!--------------------------------------------------------------------- 70 70 ! … … 79 79 ! Allocate temporary workspace 80 80 CALL wrk_alloc( jpi, jpj, jpk, zwork, ztra ) 81 IF( l_trdtrc ) THEN82 CALL wrk_alloc( jpi, jpj, jpk, ztrbio )83 ztrbio(:,:,:) = tra(:,:,:,jpdet)84 ENDIF85 81 86 82 ! sedimentation of detritus : upstream scheme … … 116 112 CALL wrk_dealloc( jpi, jpj, zw2d ) 117 113 ENDIF 118 ELSE119 IF( ln_diatrc ) THEN120 CALL wrk_alloc( jpi, jpj, zw2d )121 zw2d(:,:) = ztra(:,:,1) * e3t_n(:,:,1) * 86400._wp122 DO jk = 2, jpkm1123 zw2d(:,:) = zw2d(:,:) + ztra(:,:,jk) * e3t_n(:,:,jk) * 86400._wp124 END DO125 trc2d(:,:,jp_pcs0_2d + 7) = zw2d(:,:)126 CALL wrk_dealloc( jpi, jpj, zw2d )127 ENDIF128 114 ENDIF 129 115 ! 130 IF( ln_diabio .AND. .NOT. lk_iomput ) trbio(:,:,:,jp_pcs0_trd + 7) = ztra(:,:,:)131 116 CALL wrk_dealloc( jpi, jpj, jpk, zwork, ztra ) 132 117 ! 133 IF( l_trdtrc ) THEN134 ztrbio(:,:,:) = tra(:,:,:,jpdet) - ztrbio(:,:,:)135 jl = jp_pcs0_trd + 7136 CALL trd_trc( ztrbio, jl, kt ) ! handle the trend137 CALL wrk_dealloc( jpi, jpj, jpk, ztrbio )138 ENDIF139 118 140 119 IF(ln_ctl) THEN ! print mean trends (used for debugging) -
branches/2016/dev_r7012_ROBUST5_CNRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zsms.F90
r5656 r7041 7 7 !! 2.0 ! 2007-12 (C. Ethe, G. Madec) revised architecture 8 8 !!---------------------------------------------------------------------- 9 #if defined key_pisces _reduced9 #if defined key_pisces 10 10 !!---------------------------------------------------------------------- 11 !! 'key_pisces _reduced' LOBSTER bio-model11 !! 'key_pisces' LOBSTER bio-model 12 12 !!---------------------------------------------------------------------- 13 13 !! p2zsms : Time loop of passive tracers sms
Note: See TracChangeset
for help on using the changeset viewer.